• 50 цитат о программировании всех времён

    • Перевод
    Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

    50. Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы больше и с лучшей идиотоустойчивостью, и вселенной, которая пытается создавать больших и лучших идиотов. Пока вселенная побеждает.
    — Rick Cook

    49. Lisp — это не язык, а строительный материал.
    — Alan Kay

    48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
    — Edward V Berard
    Читать дальше →
  • Какой Java поток нагружает мой процессор

    Что Вы делаете, когда Ваше Java приложение потребляет 100% ЦП? Оказывается Вы легко можете найти проблемные потоки, используя встроенные Unix и JDK утилиты. Никакие инструменты профилирования не потребуются.
    С целью тестирования мы будем использовать простую программу:
    Читать дальше →
  • Debian Lenny 5 «закончился». Переходим на Debian Squeeze 6!

      Как известно, полтора месяца назад (в феврале) закончилась поддержка 5-го Дебиана и он официально канул в лету, т.е. в архив archive.debian.org.
      Что делать дальше? — Задумались многие хостеры. Ведь перейти на 6-ой Дебиан не так уж и просто в связи с несколькими факторами:

      1) Его не поддерживают некоторые панели управления (как минимум, ISP Manager имеет свои странности, хотя разработчики и локализовали почти все проблемы)

      2) Из коробки доступен PHP 5.3 вместо уже привычного нам 5.2, а это чревато тем, что перестанет работать много сайтов. Одним из самых неприятных моментов является отсутствие функции ereg, которая используется огромным количеством народа в скриптах, в неофициальных модулях к популярным CMS (свежие версии самих CMS уже совместимы с ним).
      Но никто не стоит на месте, а тем более не смотрит назад, и в любом случае переходить на 6-ой нужно, поэтому приступим.
      Читать дальше →
    • Flyway: управление миграциями баз данных

        В этой статье я расскажу об одном из средств обеспечения версионности схем и управления миграциями БД — библиотеке Flyway. С поблемой версионности схемы базы данных рано или поздно приходится сталкиваться разработчикам любого приложения, опирающегося на СУБД. Увы, иногда эта проблема принимается в рассмотрение слишком поздно — например, если вопрос о внесении изменений в структуру базы встаёт, когда приложение уже находится в эксплуатации. Но и на этапе разработки контроль схемы базы данных причиняет не меньше проблем, чем все прочие аспекты версионности приложения: в отсутствие чёткой системы управления миграциями локальная, стендовая и эксплуатационная базы могут быстро «разъехаться», не предоставляя при этом никакой информации относительно своего текущего состояния.

        Читать дальше →
      • Конкурс по труднорешаемым задачам для программистов

          Здравствуй, хабрачитатель.

          С недавних пор мне нравится проводить конкурсы для программистов-математиков, но эти конкурсы несколько отличаются от олимпиад по программированию, хотя бы тем, что я предлагаю задачи, не имеющие эффективного алгоритма решения. Кроме того, предлагаются задачи, которые либо вообще никто раньше не решал, либо решали очень мало, но серьёзных успехов не добились. Последняя особенность этих задач в том, что они так или иначе связаны с перечислительной комбинаторикой, той областью математики, которая в России была похоронена вместе с другими полезными областями науки «сами знаете когда». Но это менее важно.

          Читать дальше →
        • Правила эффективного использования jQuery

            Здесь приведен ряд очень простых правил, следуя которым, ваше сотрудничество с jQuery не будет омрачено скрежетом напрягшегося браузера. Конечно, не так часто случается, что скорость работы javascript’а оказывается критичной, однако такое все же может произойти, и произойти в самый неподходящий момент. Поэтому, лучше держать эти правила в голове и не пренебрегать ими.
            Читать дальше →
          • Требования к html-верстке

              1. Верстка, аутсорсинг и технические задания


              Верстка — относительно независимый этап веб-разработки и, к примеру, в маленьких веб-студиях часто — это первый кандидат на аутсорсинг в условиях ограниченных трудовых ресурсов.
              Так сложилось, что мне часто приходилось отдавать эту работу субподрядчикам и, несмотря на предполагаемую однозначность результата, иногда верстальщики меня очень удивляли. Причем чаще — в негативном смысле.

              Чтобы сэкономить трудовые ресурсы штатных верстальщиков, недостаточно просто переложить эту работу на плечи первого приглянувшегося фрилансера. Все намного проще, если вы постоянно отдаете работу на аутсорсинг одним и тем же исполнителям — в процессе длительного сотрудничества всегда складывается какой-то негласный свод стандартов и требований, выполнение которых входит в привычку. Но если вы работаете с человеком впервые — самое хорошее портфолио и рекомендации не гарантируют получения нужного результата и более того — даже не предполагают, что исполнитель вообще вас правильно поймет. Потому нужны детальные технические задания по верстке.
              Читать дальше →
            • Настройка и масштабирование PostgreSQL

                Написал небольшой мануал по настройке и масштабированию PostgreSQL. Сподвигло меня на это то, что материала по этой теме мало, он устарел или его просто нет.

                Скачать можно здесь:
                http://github.com/le0pard/postgresql_book/raw/master/postgresql.pdf
                Исходники:
                http://github.com/le0pard/postgresql_book/

                Страница:
                http://postgresql.leopard.in.ua/
              • 5 галочек: чеклист юзабилити

                  Мы выделили 5 основных пунктов, по которым можно определить юзабилити сайта. Список спорный и в основном касается продающих сайтов. И да, эти пять пунктов — среднее арифметическое опыта, полученного при обработке заявок на конкурс «Юзабельный вебпроект». Думаете, мы раздали слонов и забыли?


                  оригинал картинки

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

                  Ошибки, само собой, повторялись. Голова пухла, а мы продолжали писать одинаковые комменты. Результатом марафона стал ниже приведенный чеклист.

                  Сразу оговоримся, что мы не оцениваем юзабилити в вакууме, нам важно, чтобы сайт работал, т.е. «продавал». Товары, услуги, идеи — не важно. Речь может идти о бесплатном веб-сервисе, для которого транзакцией станет регистрация посетителя.
                  Читать дальше →
                • Шортлист дьявольского конкурса по юзабилити

                    Здравствуй, хабрачеловек!

                    Ты, наверное, уже и не помнишь, как мы анонсировали «дьявольский конкурс» по юзабилити. За такое хабравчане надавали нам минусов, но и на заявки также не поскупились.

                    Всего пришло 166 заявок: с нашего блога, с Хабра, с ЖЖ и по почте.

                    Картинка для привлечения внимания

                    Каждому, кто к нам обратился, мы выдали рекомендации по улучшению юзабилити.

                    C трудом мы смогли отобрать 15 сайтов.

                    Вот эти сайты:
                    Читать дальше →