Programming

Programming and software developing.

  • List of freely available programming books

    Теги: Documentation, Free

    Список книг по программированию доступных бесплатно. Этот список собирается пользователями ресурса stackoverflow.com и в него уже включено огромное количество книжек по многим языкам программирования.

    27 ноября 2011
  • CPAN Hubble

    Теги:

    Поисковик, который ищет одновременно и в Cpan и на GitHub.

    15 апреля 2010
  • Как фанаты одного языка программирования видят фанатов других языков

    Теги: Humor

    Старая картинка, но на этот раз в матрицу добавлен Haskell.

    27 декабря 2009
  • 20 Useful Visualization Libraries

    Коллекция библиотек для программистов имеющих дело с инфографикой и визуализацией данных. Тут собраны библиотеки для различных языков программирования. Спектр областей применения - самый широкий.

    14 сентября 2008
  • MarkMail.org - поиск по архивам списков рассылок

    Теги: Webdev: Perl, Documentation

    Очень продуктивный инструмент поиска по архивам списков рассылок, принадлежащим различным программным проектам. Выборка проектов весьма широка, сейчас в базе более 750 списков рассылки.
    От других систем поиска данная отличается весьма эффективной системой последовательного уточнения критериев поиска. Также удобно то, что можно изначально начинать поиск по разделу, который является срезом по определённой технологии, например по perl.

    04 июля 2008
  • Как быстро преодолеть тупую ошибку, над которой бьёшься уже второй час?

    Теги:

    Очень практичный подход к исправлению ошибок определённого типа. Если держать этот метод в оперативной памяти, можно сэкономить приличное количество времени.

    07 июня 2008
  • Об эффективных багрепортах

    Теги:

    Доступно и компетентно, рекомендуется к прочтению для всех, кому когда-либо сообщать о проблемах... то есть абсолютно всех.

    06 июня 2008
  • Natural Docs

    Теги: Webdev: Documentation, Tools

    Генерилка HTML-документации на основе комментариев в коде. Специальная разметка комментариев практически не нужна - используется "natural syntax", что позволяет коментариям оставаться легкочитаемыми внутри исходного кода. Впрочем также поддерживается и Javadoc-разметка.

    В комплекте есть несколько готовых очень приличных CSS-стилей, структура HTML и используемых стилей хорошо документирована, что позволяет легко кастомизировать внешний вид документации.

    Поддерживается 19 языков программирования (в т.ч. JavaScript). Реализована на Perl. Выходит под GPL-лицензией.

    21 мая 2008
  • Литературное программирование Доналда Кнута

    Небольшой пример использования literate programming с обсуждениями. Познавательно.

    30 апреля 2008
  • Ремонт нельзя закончить, его можно только остановить

    Грамотная статья о рефакторинге:

    • какие виды рефакторинга существуют:
    • когда какой выбирать:
    • как не попасть при этом в традиционную ловушку типа "лучшее враг хорошего".

    17 февраля 2008
  • О технических интервью

    Теги: IT: Employment

    "Одна из самых больших проблем технических интервью (на позицию разработчика) заключается в том, что, фактически, человек тестируется по критериям, которые потом не являются основными для работы". Автор рассуждает о данной проблеме, и предлагает критерии, которые позволят более адекватно оценить квалификацию разработчика.

    02 февраля 2008
  • Работаем с Bluetooth в Perl

    Теги: bluetooth, Perl

    Простой пример взаимодействия с bluetooth-устройствами с помощью perl.

    26 января 2008
  • spiraling quine

    Теги: Perl, Humor

    Очень забавный пример само воспроизводящегося кода, печатающий спираль заполненную своим же кодом.

    22 января 2008
  • Optimize Perl. Squeeze the most from your code.

    Теги: Perl, Optimization

    Обзорная статья по некоторым методам оптимизации perl-кода для достижения наибольшей производительности. В статье описаны следующие приёмы:

    • правильная конкатенация строк;
    • использование ссылок для передачи параметров функций;
    • оптимизация за счёт избавления от лишней интерполяции строк;
    • оптимизация циклов, в частности перенос циклов внутрь функций, вместо многократного вызова функций;
    • оптимизация сортировок - заблоговременная единовременная подготовка данных для сортировки, вместо многократной подготовки в процессе сортировки;
    • оптимизация условий за счёт использования логического оператора '||';
    • использование модуля AutoLoader для сокращения стадии начальной загрузки и компиляции;
    • использование байткода и компилятора;
      а также некоторых другие.

    15 декабря 2007
  • Better Code Through Destruction

    Теги: Perl

    Статья о том как улучшить perl-код с помощью использования правильных способ уничтожения (destruction) переменных.

    15 декабря 2007
  • Google custom search: Perl

    Теги: Google, Perl

    Поиск по perl-ресурсам.

    25 ноября 2007
  • FastCGI, mod_perl и прочие

    Теги: Webdev: Perl

    Эссе на тему выбора между fastcgi или mod_perl при разработке backend web-системы. Приведён краткий обзор менеджеров fastcgi-процессов для perl и "черновики" кода демонстрирующие их использование.

    23 ноября 2007
  • Российский программист Петр Митричев - дважды лучший в мире

    Московский студент Петр Митричев первенствовал в категории Algorithm на мировом чемпионате мира по программированию TopCoder-2007. Он повторил свой прошлогодний успех. В категории проектирования прикладных программ победу одержал еще один студент российского происхождения – Николай Арчак из Нью-Йорка. Ребята получили по $25 тыс. призовых. Петр Митричев после своей победы уверенно возглавляет мировой рейтинг TopCoder.

    17 ноября 2007
  • Библиотека IBM: анатомия сетевого стека в Linux

    Теги: Linux: Networking

    Описание структуры сетевого стека Linux с точки зрения его уровней, отдельно и относительно подробно внимание обращается также на некоторые из основных структур в привязке к реализующим их исходным кодам системы. Статья может быть полезна в качестве отправной точки для программистов, которые намерены создавать связанные с этой темой проекты – например, самостоятельно разрабатывать драйверы устройств. Традиционный обширный список ссылок на дополнительные материалы прилагается.

    06 ноября 2007
  • Шесть советов по написанию более понятного программного кода

    Теги:

    В статье приведены шесть советов, призванные помочь создавать программы, которые будет легко поддерживать в будущем. Это сэкономит массу времени и позволит избежать разочарований: одна минута, потраченная на написание комментариев, способна потом избавить множество людей от длительных мучений.
    В качестве примеров в статье используется c++ код.

    10 августа 2007
  • Why Perl sucks?

    Теги: Perl

    Список проблем в perl, составленный большим поклонником этого языка. Список составлен с целью быть памяткой для создателей языков программирования - возможно эти проблемы не попадут в другие языки.

    Затронутые проблемы:

    1. Нет наследования объектов. "ОО в Perl это на самом деле не более чем bless-нутые ссылки и немного синтаксического сахара."
    2. Счётчик ссылок. Рассказано о проблемах механизма счётчика ссылок. Дана ссылка на дополнительную информацию по теме.
    3. Не интуитивное API - некоторый бардак в программах использующих perlapi.
    4. Не интуитивное поведение массивов/списков в скалярном контексте.
    5. Форматы - устаревший, слабо используемый, артефакт, который незачем таскать с собой.
    6. Нет констант или макросов в привычном (для других языков) понимании, а то что есть вовсе не способствует оптимизации.
    7. Нет информации о типе.
    8. Autovivification - автоматическое создание ключей в хешах очень часто бывает большим злом.

    09 июня 2007
  • Семь привычек эффективного редактирования текстов

    "Если вы проводите достаточно много времени набирая обычные текстовые файлы, например, программы или HTML-код, вы могли бы сэкономить значительную часть этого времени используя хороший текстовый редактор и используя его эффективно. Эта статья знакомит с принципами и даёт подсказки, как выполнять эту работу быстрее и с меньшим количеством ошибок."

    Автор - Bram Moolenaar - один из разработчиков Vim.

    04 мая 2007
  • How To Write Unmaintainable Code

    Теги:

    Своеобразные вредные советы для программистов - как писать код, которые неовзможно будет обслуживать и развивать.

    21 декабря 2005
  • The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

    Теги:

    Очередная статья Джоела Спольски. Необходимый минимум знаний о Unicode.

    06 июня 2004

Текущие тэги

  • Вопросы трудоусройства всегда были важны и ответственны. Причём и выбор работодателя и подбор сотрудников, одинаково, являются сложнейшими задачами.

  • Google - известнейшая американская IT-компания, которая за несколько лет из простой поисковой системы выросла в крупнейшую компанию с огромным размахом деятельности.

  • Vim (Vi imporved) ведёт свою историю от редактора vi. Унаследовав идеологию работы, vim обладает большим количеством дополнительных возможностей и удобств и кроме того позволяет использовать простой скриптовый язык для написания своих расширений.

    Vim имеет исключительно текстовый интерфейс. Никаких графически изысков даже в версиях для графических сред (Xserver, Windows, Mac OS X). Но благодаря этому он не даёт отвлекаться от своей основной задачи - редактирования текста.

    Vim не дружественен к новичкам и имеет интерфейс отличный от интерфейса де-факто современных текстовых редакторов. Сложные многосимвольные команды, режимы могут ввести в ступор и опытного пользователя компьютера. Но в этих же мнимых сложностях и сила Vim. Команды и режимы со временем откладываются "на кончиках пальцев" и выполняются не задумываясь, при этом позволяя делать сложные манипуляции с текстом нажатием всего лишь нескольких клавиш.

    Интерфейс Vim рассчитан на использование только основной клавиатуры и клавиши Ctrl (Рекомендую переназначить Ctrl вместо клавиши CapsLock). Благодаря этому, если Вы пользуетесь слепым десятипальцевым методом набора, Вам не нужно сбивать руки с основной позиции (asdf-jkl;) и вообще, движения рук сводятся к минимуму. Как следствие: повышение скорости работы и меньшая усталость рук.

    Vim поддерживает тесную интеграцию с командной оболочкой, и позволяет легко обрабатывать текст с помощью внешних команд. К примеру команда :%!gzip -c | uuenpipe заменит существующий текст его упакованной и UUE закодированной версией. Или :%!sort отсортирует строки текста. Всё это работа внешних команд операционной системы.

    С помощью расширений vim легко и непринуждённо превращается в более чем полноценную IDE.