• Заполнение БД тестовыми данными при помощи Populator и Faker

      Часто возникает необходимость протестировать приложение на предмет работы с реальными данными. Причём, данные должны быть максимально приближены к реальным как с качественной стороны, так и с количественной. Работу по наполнению базы такими данными значительно упрощают гемы Populator и Faker.
      Читать дальше →
    • Раскрась свои теги. CSSL

             Я иногда сталкивался с тем, когда web-программист не знал CSS или, скорее, не хотел заниматься облагораживанием своего HTML, который являлся результатом работы разрабатываемого им скрипта. Это натолкнуло меня на мысль, что ему (программисту) не помешало бы иметь при себе некоторое средство для создания «красивых» страниц. Средство должно было бы включать в себя некоторый CSS, возможно, картинки, и подключаться к любому HTML (очевидно, созданному по некоторым определённым правилам). При этом смена CSS (и картинок) на альтернативные не должна была бы приводить к семантически некорректному отображению.
             Вышеобозначенные требования очень похожи на требования к составлению скина для какой-либо системы (в частности, CMS). Но, в отличие от скина, который заточен под конкретный HTML, в нашем случае хотелось бы максимально упростить правила написания HTML, чтобы разработчикам не нужно было держать в голове много сложных правил.
             Таким образом, оговаривая некоторые (небольшие) ограничения на HTML, мы с одной стороны гарантируем программисту, что его код, генерируемый с учётом этих правил, будет корректно оформлен любым сделанным для этих целей CSS, а с другой стороны, оговариваем шаблон изготовления самих этих CSS.
        Читать дальше →
      • Румикс.ру. Через полгода после запуска

          Полгода назад я публиковал здесь статью о своём стартапеroomix.ru, который позволяет расставлять реальную мебель по виртуальной комнате, прямо на сайте.

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

          image

          Читать дальше →
        • Подробности о взломе алгоритма A5/1

            Вчера поздним вечером появилась информация, что немецкий криптолог Карстен Нол (Karsten Nohl) продемонстрировал способ взлома 64-битного алгоритма A5/1, который используется во всех системах мобильной связи GSM. Этому алгоритму шифрования уже 21 год, и в последнее время было несколько заявлений о его компрометации, но до сегодняшнего дня ни одна хакерская группировка не публиковала полную информацию о процессе взлома, так что факты оставались не подтверждёнными. Сейчас же состоялась публичная демонстрация на конференции Chaos Communication Congress в Берлине. Вся информация по проекту взлома A5/1 опубликована здесь. Таблицы для кодовых книг A5/1 можно найти в торрентах.
            Читать дальше →
          • Десять смертных грехов в оценке трудоёмкости разработки программного обеспечения

              Введение


              В этом топике я хочу представить вам, дорогие читатели, пересказ вебинара от человека, чьё имя не нуждается в представлении. Для того, чтобы изложить часовой вебинар в виде небольшого топика, мне пришлось значительно ужать комментарии автора, поэтому я сознательно не помечаю топик как «перевод». В этот раз Стив МакКоннелл решил поделиться с нами своим опытом в виде коротких тезисов, в которых он отражает самые страшные ошибки при оценке трудоёмкости разработки программного обеспечения. В 1998 году читатели журнала Software Development назвали Стива одним из самых влиятельных людей в индустрии разработки программного обеспечения на равне с Биллом Гейтсом и Линусом Торвальдсом. Стив — автор книги «Software Estimation. Demystifying The Black Art» — одной из самых популярных книг в области оценки трудоёмкости разработки ПО. Надо признаться, что вебинар был проведён относительно давно (июнь 2009 года), но информация, представленная там, совсем не устарела. Сам топик будет построен следующим образом. Заголовки будут достаточно точно переведены из презентации, которую показывал Стив, а в остальном я постараюсь отразить только основные мысли, чтобы не перегружать топик. Если кто-то посчитает, что ту или иную мысль я излагаю неправильно — милости прошу в комментарии, можно будет меня поправить.

              Итак, поехали...
            • Continuous integration and code metrics

                В этой статье рассматривается настройка continuous integration процесса с метриками кода. Предполагается работа с java кодом и библиотеками: junit, cobertura, findbugs. В качестве системы сборки используем ant, а сам процесс будет управляться из cruise control. В качестве scm будет немного git'а.

                Что мы получим в итоге? Ява проект с ant'овским сценарием сборки. Итогом сборки будет откомпилированный проект и набор метрик: отчеты по junit тестам, процент покрытия кода тестами и отчет о потенциальных ошибках. В дополнение, весь процесс сборки будет проходить ежедневно в автоматическом режиме и вся история метрик сохраняется для групповых отчетов.
                image
                Читать дальше →
                • +18
                • 7,3k
                • 8
              • Самые глупые вещи, которые я сделал будучи программистом

                • Перевод
                Оригинальное название статьи: «The * stupidest things I’ve done in my programming job», поэтому перевод названия статьи не очень точен, однако то, что автор имел ввиду под "*" мы опустим — мы ведь не знаем наверняка :)

                Я больше не стыжусь своих грешков, так что — вперед:

                1. ORM


                Глупость

                Создал собственную ORM (Object Relational Mapping) библиотеку

                Следствие

                Неразбериха в проекте после двух лет поддержки, в следствие хаков-обходов моей ORM библиотеки для запуска прямых SQL запросов

                Что я должен был сделать

                Использовать Hibernate, iBATIS, Cayenne или нечто подобное.

                Читать дальше →
              • Практика разговорного американского

                  По мотивам предыдущих постов: "Практика разговорного английского языка" и "Как учить английские слова".

                  imageВ современном мире многие сталкиваются с необходимостью изучить иностранный язык. Чаще всего этим языком является английский. Методов изучения иностранного языка, и английского в том числе, существует много: заучивание слов по карточкам; расклеивание стикеров с названиями предметов по всему дому; метод 25-го кадра (хотя лично я в него не верю); штудирование грамматики,– как с репетитором/в школе/в университете/на курсах, так и самостоятельно; метод погружения, наконец. В общем, есть из чего выбрать. Благо, на просторах Интернета материалов можно найти великое множество.

                  Выбор конкретного метода, а может быть, и нескольких, зависит от мотивации. Прежде чем остановиться на каком-то из них, задайте себе вопрос: «Для чего я учу язык?». Кому-то будет вполне достаточно базовых знаний грамматики и словаря, — просто потому, что язык нужен только для чтения статей, например. А кому-то этого будет мало. Да, грамматика и лексика – это, конечно, хорошо. Они – основа языка, его фундамент и стены. Но как быть с живой речью? Ведь понимание иностранной речи, а потом и возможность говорить на иностранном языке – немаловажная составляющая.
                  Читать дальше →
                • Ищу сервисы/платформы для нэйминга и/или мозгового штурма

                    Здравствуйте.

                    Так как я «начинающий стартапер», и чем больше мой проект обретает свои окончательные черты, тем насущнее дает о себе знать проблема наименования, т.е нейминга. Я бы хотел в этом посте собрать ссылки на онлайн-сервисы для нэйминга, ну или для мозгового штурма. Буду очень благодарен, если мне расскажут про то, чего я не знаю или не обратил еще внимания. Думаю, созданный таким образом каталог просто так не пропадет, а будет востребован (хотя бы для поиска идей или импульсов). Интересуют сервисы в зоне .ru, .de, .com, .org, .net, .info итд.

                    Вот список, собранный на данный момент
                  • Атака на WPA: подробности

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