Pull to refresh

Мастер-класс: 26-27 Апреля — экстремальное программирование. Разработка через тестирование(TDD) и гибкие методики разработки ПО

Reading time 1 min
Views 3.4K
Website development *
Экстремальное программирование в PHPCenter.ruПрактика создания модульных и приемочных тестов для web-приложений, использование SimpleTest и Selenium, практики ООП, облегчающие тестирование и способствующие формированию хорошей архитектуры приложений, использование мок-объектов и многое другое.

Мастер класс посвящен практическим аспектам внедрения разработки через тестирование (TDD), постоянной сборки (Continues Integration) и приемочному тестированию (Acceptance Testing) приложений, выполненных при помощи PHP.

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

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

Дата и место проведения:
26-27 апр. 2007 Москва, оборудованный компьютерный центр
Прошлые мастер-классы проводились в рамках PHPConf 2005,2006 и собрали более 40 разработчиков из ведущих ИТ компаний

P.S. В отличии от предыдущих мастер-классов ноутбуки уже не нужны ;-)
Total votes 21: ↑14 and ↓7 +7
Comments 17

Терминологические войны: анализ дисциплин, подходов и методологий в рамках «юзабилити»

Reading time 1 min
Views 684
Interfaces *
Опубликован пятый (и предпоследний) эпизод сериала «Терминологические войны». В серии статей подробно разобраны различные понятия в рамках проектирования компьютерных средств деятельности, выделены классы понятий и даны достаточно подробные их описания и рекомендации по их применению.
В первом эпизоде рассказано о том, зачем нам, собственно, нужно разобраться в терминологии.
Во втором эпизоде выделены различные классы понятий.
В третьем эпизоде разобраны различные понятия, претендующие на то, чтобы охватить всю область проектирования компьютерных средств деятельности и в качестве такового выбран User Experience Design.
В четвертом эпизоде описано то, из каких дисциплин состоит UXD и какова его структура.
В пятом эпизоде рассказано о подходах, а в шестом (готовится к выходу) — о конкретных методологиях проектирования.

После публикации последней части будет также представлен единый pdf-документ.
Total votes 23: ↑22 and ↓1 +21
Comments 8

Как отформатировать мозг под установку другого языка?

Reading time 4 min
Views 13K
GTD *
      Почти каждый компьютерщик в своей жизни пробовал установить на свой компьютер принципиально другую операционную систему, и прекрасно знает последовательность действий для достижения этой цели:
  1. Осознать необходимость в этом процессе.  Мотивацию может создать или острая необходимость — наезд проверяющих органов, или острый интерес — попробовать, что же это такое.
  2. Купить или одолжить дистрибутив устанавливаемой системы.
  3. Найти хороший мануал по работе с новой системой и, самое главное, мануал по ее установке.
  4. Создать на винчестере новый раздел и отформатировать его  в формате, нужном для новой операционной системы.
  5. Установить в этот раздел операционную  систему согласно мануалу.
  6. Установить необходимые программы, пользоваться и наслаждаться :)

   Для нашего мозга аналогом операционной системы является язык, на котором мы общаемся и рассуждаем, поэтому логично продолжить аналогию и рассмотреть процедуру изучения иностранного языка  с точки зрения ее оптимизации.
Читать дальше →
Total votes 25: ↑17 and ↓8 +9
Comments 259

Игровое программирование в Light Bot

Reading time 1 min
Views 2.7K
Programming *
Light Bot — забавная браузерная игра на флеше, где вам необходимо запрограммировать своего бота на выполнение простой задачи: дойти до цели минуя все препятствия.
Читать дальше →
Total votes 153: ↑124 and ↓29 +95
Comments 113

Метод Виолы-Джонса (Viola-Jones) как основа для распознавания лиц

Reading time 15 min
Views 173K
Algorithms *
Хотя метод был разработан и представлен в 2001 году Полом Виолой и Майклом Джонсом [1, 2], он до сих пор на момент написания моего поста является основополагающим для поиска объектов на изображении в реальном времени [2]. По следам топика хабраюзера Indalo о данном методе, я попытался сам написать программу, которая распознает эмоцию на моём лице, но, к сожалению, не увидел на Хабре недостающей теории и описания работы некоторых алгоритмов, кроме указания их названий. Я решил собрать всё воедино, в одном месте. Сразу скажу, что свою программу успешно написал по данным алгоритмам. Как получилось рассказать о них ниже, решать Вам, уважаемые Хабрачитатели!
Добро пожаловать под кат!
Total votes 123: ↑121 and ↓2 +119
Comments 17

Upgrade Viola Jones

Reading time 12 min
Views 18K
Algorithms *
В моём предыдущем топике я старался показать, как метод Viola Jones работает, с помощью каких технологий и внутренних алгоритмов. В данном посте, дабы не прерывать цепочку, будет также много теории, будет показано за счет чего можно улучшить и до того прекрасный метод. Если здесь описать еще и программную реализацию, то будет огромное полотно, которое читать будет очень неудобно, и смотреться это никак не будет — решено разбить объем информации на два отдельных поста. Ниже — теория, мало картинок, но много полезного.
Заинтересованных прошу под кат
Total votes 37: ↑34 and ↓3 +31
Comments 11

Viola Jones на собственной шкуре, часть 2. — Emotion? — OMG, Yes!!!

Reading time 16 min
Views 40K
Algorithms *
Привет всем еще раз! Я решил сразу попробовать выпустить две статьи, практически в одно время, чтобы не прерывать цепь повествования, т.к. начало данной статьи очень важно!
Итак, многие ждали примеры моей программы и объяснения ее работы с точки зрения написания кода. Я же рассказываю последовательно, чтобы каждый смог ее повторить у себя на компьютере. Обращайте внимание побольше на обильные комментарии в коде, в них сила! И не бойтесь мега-мелкого скролла, т.к. информации много. Передислоцируйтесь в место с хорошим интернетом, в статье много схем и фотографий!
Let's get it started!
Total votes 40: ↑26 and ↓14 +12
Comments 10

Viola Jones на собственной шкуре, часть 1. Настройка проекта под OpenCV

Reading time 8 min
Views 27K
Image processing *
Привет, друзья мои! Дорогие Хабраюзеры и Хабрачитатели, предлагаю Вам окунуться в дебри разработки программы распознавания эмоций по материалам предыдущих моих статей.
Поехали!
Total votes 19: ↑15 and ↓4 +11
Comments 9

Метод построения удобочитаемых текстов

Reading time 6 min
Views 7.8K
Algorithms *
Sandbox
Некоторые пояснения:
В мае 2012 года меня посетила идея систематизации процесса написания технических текстов (в основном, отчётов и статей). Взяв за основу некоторые предположения из области эргономики, я ввел несложные допущения и сделал попытку «на лету» составить текст, который бы описывал сам себя как метод построения текстов. Привожу результат такой попытки.
Читать дальше →
Total votes 12: ↑7 and ↓5 +2
Comments 8

Современные технологии проектирования ПО в контексте теории коммуникации и метода декомпозиции

Reading time 8 min
Views 9.4K
Programming *
Sandbox
Использование родного языка для начинающих изучать программирование является традиционной практикой в процессе обучения информатики. Ей оппонирует профессиональная и научная разработка ПО, в которой Английский язык является «лингво франка». Где формальный английский — это тщательным образом выбранные имена ключевых слов и переменных, обращённые к ассоциативному и творческому мышлению на языке оригинала.
Читать дальше →
Total votes 9: ↑6 and ↓3 +3
Comments 9

Частное решение общей задачи электростатики

Reading time 4 min
Views 12K
Programming *Mathematics *
Sandbox
image

Со школы мы помним решение задачи о распределении электрического заряда по бесконечной проводящей плоскости в присутствии точечного электрического заряда над плоскостью. Только некоторые вспомнят как аналитически решается задача о распределении электрического заряда по проводящей сфере, если точечный заряд покоится где-то в пространстве. Но, я уверен, никто не сможет решить аналогичную задачу о распределении заряда по бутылке Клейна. Если к такой системе добавить внешнее электростатическое поле и другие проводники, об аналитическом решении глупо будет даже мечтать.
Читать дальше →
Total votes 26: ↑21 and ↓5 +16
Comments 9

Частотный метод идентификации линейных динамических систем: теория и практика

Reading time 5 min
Views 6.3K
Mathematics *
Sandbox
В практиктических приложениях ТАУ часто необходимо точно и качественно идентифицировать объект управления. В этой статье речь пойдет об идентификации объекта управления частотным методом. Данный метод применим, когда есть возможность физически протестировать объект управления синусоидальным входным воздействиямем, изменяя частоту в широком диапазоне. Если это условие соблюдено, то результат, как правило, оправдывает самые оптимистичные ожидания.
Полюса передаточной функции
Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Comments 8

HR-аналитика: как правильно применять метод 360

Reading time 8 min
Views 7.1K
X5 Tech corporate blog Big Data *Research and forecasts in IT *Personnel Management *
Сегодня свыше 90 процентов компаний из Fortune 500 используют 360 performance review (обзор качества работы) для оценки компетенций сотрудников. Этот метод анализа завоевал популярность, так как позволяет получить сбалансированное понимание о человеке, избегая субъективных мнений (насколько это вообще возможно в такой непростой сфере, как работа с людьми). Результаты исследования базируются на мнениях руководителя, коллег, подчиненных, а также на самооценке самого сотрудника. Важно понимать, что анализ 360 проводится на основе ценностей и компетенций компании, то есть затрагивает не бизнес-результаты (что и сколько было достигнуто), а то, как это было сделано.

Метод 360 performance review используется и в Х5 Retail Group. Сегодня мы расскажем о практических наработках BigData X5 для углубленной HR-аналитики.


Читать дальше →
Total votes 12: ↑6 and ↓6 0
Comments 2

Факторизация чисел и методы решета. Часть II

Reading time 11 min
Views 3.9K
Information Security *Cryptography *Algorithms *Mathematics *Popular science



Задается N — большое составное нечетное натуральное число (СННЧ), которое требуется факторизовать. Математическая теория метода решета числового поля (NFS) строится на основе теории делимости в алгебраических числовых полях. Перед любым автором, как и передо мной, возникает трудность сжатого изложения весьма обширного материала, касающегося методов SNFS и GNFS. Так как 2-й возник из 1-го я не привожу их отличий, хотя об этом много сказано.

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

Можно сказать читатели принудили меня доносить до них чужие идеи, которые я не разделяю, так как свои считаю более обоснованными и прогрессивными, более здравыми. Они пока не получили завершенного вида, но время еще есть. Хочу изменить у читателей отношение к своим идеям и получить поддержку, а не минусы в комментариях, не подкрепляемые доводами. Личную неприязнь или «ничего не понял» доводом для минусования публикации считать не могу.

Неоправданное усложнение (матрица СЛАУ для $N=2^{512} +1$ имеет размер 6000000×6000000) задачи факторизации больших чисел (ЗФБЧ) подвигло меня серьезно заняться этой проблемой. Уже удалось вскрыть закон распределения делителей СННЧ в НРЧ, т.е. понять где и как прячутся делители в натуральном ряде чисел, что конечно же упростит их поиск и обнаружение.
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Comments 4

Метод ветвей и границ. Задача коммивояжера

Reading time 27 min
Views 46K
Information Security *Cryptography *Algorithms *Mathematics *Popular science

Среди методов, привлекаемых к решению задач исследования операций (ИО) особое место занимает метод ветвей и границ (МВГ), который внес оригинальный взгляд в целом на проблемы оптимизации и позволил по другому воспринимать смысл оптимальности решений. Авторы разработанного метода предложили оценивать целевую функцию (ЦФ) задачи нижней границей целевой функции (НГЦФ) всего множества решений конкретной задачи, не получая ни всех решений, ни одного из них. Располагая такой оценкой, можно формировать решения задачи последовательно их улучшая не сильно уклоняясь от НГЦФ. В статье предлагается детальный разбор этого метода решения на числовом примере с подробными комментариями выполняемых действий при поиске оптимального решения.

Читать далее
Total votes 1: ↑1 and ↓0 +1
Comments 3

Cимплексный метод решения ЗЛП. Пример

Reading time 6 min
Views 3.2K
Information Security *Cryptography *Algorithms *Mathematics *Popular science

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

Читать далее
Rating 0
Comments 1

Двойственная задача линейного программирования

Reading time 9 min
Views 23K
Information Security *Cryptography *Algorithms *Mathematics *Popular science

Обычно с ЗЛП связана другая линейная задача, называемая двойственной. Обе эти задачи можно считать двойственными одну по отношению к другой, считать равносильными. Первая задача называется обычно исходной, или прямой. Переменные, используемые в двойственной задаче называются двойственными или множителями Лагранжа. На них не накладывается ограничений по знаку. Рассматриваются двойственные критерии оптимальности. Специальные случаи называют симметричными двойственными задачами линейного программирования. Связь между оптимальными решениями двойственных задач устанавливается теоремой двойственности.

Читать далее
Total votes 3: ↑2 and ↓1 +1
Comments 0