Как стать автором
Поиск
Написать публикацию
Обновить
17
0
Andrewus @Andrewus

Head of platform & devops lead

Отправить сообщение

Переписываем проект с Zend Framework на Rails

Время на прочтение9 мин
Количество просмотров7.9K
Около пяти месяцев назад я завязал с zend framework и пересел на рельсы. Тогда же начал переписывать свой проект www.okinfo.ru. Сейчас он уже закончен и sloccount показал что количество строк в проекте уменьшилось с 15000 до 4000. Мои знакомые php разработчики попросили success story и в итоге родилась эта статья. В ней я опишу как оно было, а так же немного расскажу о своем переходе на ruby.
Читать дальше →

Стремимся к минимализму (подборка сайтов, где можно черпать вдохновение)

Время на прочтение1 мин
Количество просмотров33K
image
Ни для кого не секрет, что в настоящее время многие стремятся к минимализму в дизайне чего бы то ни было. Действительно, когда нет ничего лишнего, то повышается и восприимчивость информации. Но это все лирика. Сказано было это еще до меня и много. Предлагаю вашему вниманию подборку сайтов, посещение которых может направить ваши мысли по поводу разрабатываемого дизайна в нужное русло.
Читать дальше →

Украшаем списки

Время на прочтение5 мин
Количество просмотров24K
В 2002 году Марк Ньюхаус (Mark Newhouse) опубликовал статью «Укрощение списков» ("Taming Lists"), довольно-таки интересную часть которой он посвятил объяснению того, как создавать собственные списки, украшенные псевдо-элементами. Почти десять лет спустя Николас Галлахер (Nicolas Gallagher) изобрел технику, которая использует псевдо-элементы из спрайтов, для создания фоновых изображений.
Сегондя, основываясь на опыте гигантов, мы постараемся развить эту тему. Мы обсудим, как можно украсить элементы без дополнительной разметки, используя только технику CSS-спрайтов. Результат будет работать также в Internet Explorer 6 и 7 версии.
Читать дальше →

Что такое проектирование сайта и почему его нужно делать

Время на прочтение5 мин
Количество просмотров79K
Проектирование — этот, возможно, ключевой этап создания интернет-сайта, отвечает нам на следующие вопросы:
  1. Каковы наши цели — зачем мы делаем сайт? Как мы реализуем поставленные цели?
  2. Как сайт будет выглядеть и работать?
Читать дальше →

Лесная братва

Время на прочтение2 мин
Количество просмотров6.4K
Давайте представим, что дизайн — это лес, а дизайнеры — его обитатели. Какими они могут быть?

Бобер

image
Бобер — трудяга. Кропотливо строит хатки и плотины. Может построить всё, что угодно — только скажите ему что, как это должно быть устроено, как должно выглядеть. Бобер — дизайнер, который не боится рутины, делает всё отлично, но по каким-то внутренним причинам не способен придумать что-то новое.

Остальные звери

Применение алгоритмов нечеткого поиска в PHP

Время на прочтение7 мин
Количество просмотров31K
Вдохновленный топиками о нечетком поиске и фонетических алгоритмах, захотел попытаться реализовать нечто подобное похожее на гугловское «Возможно, вы имели в виду: ...» средствами PHP.

Для исправления опечаток в словах понадобится:
Расстояние Левенштейна (или расстояние Дамерау-Левенштейна — разница будет незначительной) — levenshtein()
Metaphonemetaphone()
Алгоритм Оливера — similar_text()
База русских слов (с падежами, учетом времен и т.д.).
Читать дальше →

Особенности Firewall в Windows 7

Время на прочтение5 мин
Количество просмотров79K
В этом году Windows XP исполняется 10 лет. Возраст встроенного в ОС firewall можно считать по разному. Сейчас уже, наверное, далеко не каждый вспомнит, что в исходной версии Windows XP прообраз нынешнего брандмауэра назывался Internet Connection Firewall (ICF), имел весьма ограниченный функционал и настраивался вручную в свойствах конкретного сетевого интерфейса. Тем не менее, уже тогда один из самых частых вопросов, который мы получали от корпоративных заказчиков, звучал примерно так: «Почему вы не включили ICF по умолчанию?». Забавно, да?

Собственно Windows Firewall появился с выходом SP2 для Windows XP, содержал ряд существенных улучшений по сравнению с ICF и был включен в ОС по умолчанию. Последний факт первое время частенько приводил к неработоспособности многих устаревших приложений, необходимости задания в Windows дополнительных настроек и, естественно, критике в адрес MS. А сколько было написано по поводу отсутствия исходящей фильтрации… Но уже прогремели Nimda, Slammer, Blaster, другие приятные слуху названия, и для многих было очевидно, что наличие встроенного брандмауэра является далеко не лишним.

Vista и Windows Server 2008 привнесли еще большие изменения в Windows Firewall: фактически появилась новая платформа фильтрации, на основе которой работал firewall и могли создаваться сторонние решения, с настройками брандмауэра были объединены политики IPsec, таки появилась фильтрация исходящего трафика.

В рамках этого поста я хотел бы остановиться на особенностях Windows Firewall в «семерке» и R2. Эти особенности, конечно, уже перечислены в различных статьях на том же TechNet, но, как правило, настолько кратко, что суть усовершенствований может ускользнуть и остаться недооцененной.
Читать дальше →

JS1k — пишем отличное веб приложение в 1024 байт

Время на прочтение7 мин
Количество просмотров3.5K


Уже второй год я участвую в JS1k, в прошлом году был пробный скрипт, сейчас я решил подойти основательно. Приложения я уже написал и отправил. В статье я хочу поделиться своим опытом: как стоит писать приложение для JS1k, чем сжимать, как сократить код в 4 раза и вообще как впихнуть что-то интересное в 1 Кб.

Тема текущего JS1k "Oregon Trail" — классическая игра для Apple II (что это можно нагуглить). Поэтому рекомендуется написать что-то в этом духе, но это не обязательно.

Начало


Вам необходимо придумать небольшое приложение или демку, которое по вашему мнению может влезть в 1кб (продумать детали и управление). Если вы сомневаетесь в своих прикидках, то можно посмотреть, что впихнули в прошлом году: Legend Of The Bouncing Beholder, Tiny chess. Прочитайте правила и используйте html шаблон — тогда ваше приложение будет 100% работать в демо среде.
Начните писать скрипт, без каких-либо оптимизаций, но следите за его размером. Если он стал больше 4-5Кб — вам стоит придумать другую тему или в будущем придется попотеть (у меня было 4393 байт).
Читать дальше →

Как оценить задачу до начала разработки сайта

Время на прочтение5 мин
Количество просмотров29K
Постановка задачи — ключ к успеху любой работы. Если задача не поставлена чётко, то невозможно даже понять, решена ли она.

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

Читать дальше →

Тесты разные важны, а иные не нужны

Время на прочтение5 мин
Количество просмотров3.1K
Зачем писать тесты? Когда их писать? Когда их не писать? Хабр был и остается неравнодушен к этим и другим вечным вопросам, и не один хабровчанин провел бессонную ночь, придумывая убедительные на них ответы (чтобы оппоненты, наконец, заткнулись).

Я решил взять противника не умением, а числом, и поэтому вот вам 19 причин, по которым писать тесты все-таки стоит (в хронологическом порядке). Итак, тесты
Читать дальше →

Нечёткий поиск в тексте и словаре

Время на прочтение13 мин
Количество просмотров270K

Введение


Алгоритмы нечеткого поиска (также известного как поиск по сходству или fuzzy string search) являются основой систем проверки орфографии и полноценных поисковых систем вроде Google или Yandex. Например, такие алгоритмы используются для функций наподобие «Возможно вы имели в виду …» в тех же поисковых системах.

В этой обзорной статье я рассмотрю следующие понятия, методы и алгоритмы:
  • Расстояние Левенштейна
  • Расстояние Дамерау-Левенштейна
  • Алгоритм Bitap с модификациями от Wu и Manber
  • Алгоритм расширения выборки
  • Метод N-грамм
  • Хеширование по сигнатуре
  • BK-деревья
А также проведу сравнительное тестирование качества и производительности алгоритмов.
Читать дальше →

OAuth 2.0 простым и понятным языком

Время на прочтение7 мин
Количество просмотров891K
Логотип OAuth 2.0

На хабре уже писали про OAuth 1.0, но понятного объяснения того, что такое OAuth 2.0 не было. Ниже я расскажу, в чем отличия и преимущества OAuth 2.0 и, как его лучше использовать на сайтах, в мобильных и desktop-приложениях.

Что такое OAuth 2.0


OAuth 2.0 — протокол авторизации, позволяющий выдать одному сервису (приложению) права на доступ к ресурсам пользователя на другом сервисе. Протокол избавляет от необходимости доверять приложению логин и пароль, а также позволяет выдавать ограниченный набор прав, а не все сразу.

Читать дальше →

Конфигурация Mercurial+Nginx для управления большим количеством репозиториев

Время на прочтение9 мин
Количество просмотров6.2K
Под катом описан пример конфигурации связки mercurial+nginx и приведен скрипт автоматизации всего вышеперечисленного.
Читать дальше →

Примеры xpath-запросов к html

Время на прочтение4 мин
Количество просмотров532K
Xpath — это язык запросов к элементам xml или xhtml документа. Также как SQL, xpath является декларативным языком запросов. Чтобы получить интересующие данные, необходимо всего лишь создать запрос, описывающий эти данные. Всю «черную» работу за вас выполнит интерпретатор языка xpath.
Очень удобно, не правда ли? Давайте посмотри какие возможности предлагает xpath для доступа к узлам веб-страниц.
Читать дальше →

Организация и оптимизация стилей

Время на прочтение9 мин
Количество просмотров24K
В этом посте я приведу пример организации стилей на типичном проекте.

Небольшое вступление, попробую объяснить актуальность проблемы и зачем это нужно.
Рассмотрим такую ситуацию. Разработчику ставят задачу, реализовать очередной функционал на сайте. Это допустим включает добавление новых разделов, блоков, элементов. Разработчики зачастую не доверяют чужому коду, и когда доходят до верстки, находят css-файл с названием типа main.css и дописывают в конец свои новые стили.
Проходит некоторое время, приходит новый разработчик, ему ставят подобную задачу, он если и пытается разобраться в стилях, то видит, что там нет никакой закономерности, и повторяет то же, что делали предыдущие.
Руководство ставит сроки, разрабатывается все новый и новый функционал, проект растет. В итоге css файлы превращаются в мусорку, сайт грузится дольше, появляется больше дефектов и т.д..
Я думаю, многим это знакомо.

Читать дальше →

Взгляд на аудит сквозь призму стандарта PCI DSS

Время на прочтение21 мин
Количество просмотров32K
Взгляд на аудит сквозь призму стандарта PCI DSS

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

12 навыков создания защищенных веб-приложений

Время на прочтение8 мин
Количество просмотров22K
Данная статья не содержит никаких откровений. В первую очередь информация о типовых уязвимостях и методах их решения будет полезна начинающим. Опытные разработчики все это знают, или должны знать, если считают себя таковыми.

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

Итак, поехали.

Читать дальше →

Верстка e-mail рассылок — «подводные камни». Часть вторая

Время на прочтение4 мин
Количество просмотров32K
Верстка e-mail рассылок — «подводные камни». Часть вторая
Здравствуйте, уважаемые хабравчане!
Буквально пару дней назад мы опубликовали первую часть топика, посвященного верстке e-mail рассылок, а конкретнее — использованию изображений. Вторая часть посвящена ещё четырем «подводным камням» верстки, которые нам удалось обнаружить.

Второй камень — «Якоря»


Если рассылка большого объема на несколько страниц, появляется необходимость навигации внутри рассылки. Как известно, для такой навигации на html-странице используются «якоря».
Читать дальше →

Полнотекстовый поиск в InnoDB

Время на прочтение12 мин
Количество просмотров37K
Привет, Хабрачитатель!
Полнотекстовый поиск данных в InnoDB – это известная головная боль многих разработчиков под MySQL / InnoDB. Для тех, кто не в курсе дела я объясню. В типе таблиц MyISAM есть полноценный полнотекстовый поиск данных, однако сама таблица исторически имеет ограничения, которые являются принципиальными в отдельных проектах. В более «продвинутом» типе таблиц InnoDB полнотекстового поиска нет. Вот и приходится мириться бедным разработчикам либо с ограничениями MyISAM, либо с отсутствием поиска в InnoDB. Я хочу рассказать о том, какие есть способы организовать полноценный поиск в InnoDB без магии и исключительно штатными средствами. Также будет интересно сравнить скоростные характеристики каждого способа.
Читать дальше →

«Как доводить начатое до конца, если я …» или GTD и DISC для «нечайников»

Время на прочтение8 мин
Количество просмотров5.9K
image
В одном из предыдущих своих постов я пообещал продолжить тему о теории DISC для «нечайников». Сегодня очередной пост в эту сторону.
Наверное одним из ключевых моментов работы программиста, прожект-менеджера, да и вообще любого человека, как связанного с IT так и не связанного – это привычка, навык или умение доводить до конца начатые дела.
В этом посте мы разберёмся с этим вопросом.
Читать дальше →

Информация

В рейтинге
2 911-й
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность