Как стать автором
Обновить
14
0
Владимир Лучанинов @how

Пользователь

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

Профессионализм и TDD

Время на прочтение3 мин
Количество просмотров7.9K
Uncle BobПеревод статьи "Дяди Боба". Оригинал

В последнее время меня критикуют за то, что я связываю TDD с профессионализмом. Я признаю себя виновным и утверждаю, что связь существует.
Читать дальше →
Всего голосов 14: ↑7 и ↓70
Комментарии41

Upgrade до Middle PHP-разработчика за 3 месяца

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

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


Читать дальше →
Всего голосов 94: ↑55 и ↓39+16
Комментарии190

Яндекс выпустил антивирус для сайтов — Manul

Время на прочтение4 мин
Количество просмотров116K
Поиск Яндекса ежесуточно показывает людям больше восьми миллионов предупреждений о том, что страница, на которую они хотят перейти, заражена. Часто владелец сайта вспоминает о том, что его сайт может быть взломан и на нём может быть размещен вредоносный код, только тогда, когда худшее уже случилось, трафик упал, и пользователи успели заразиться.

Чтобы вебмастера могли как можно быстрее реагировать на проблемы, мы уже несколько лет рассылаем предупреждения о заражении в Яндекс.Вебмастере. В них мы даём подробные инструкции, что нужно делать, а в самых сложных случаях вебмастерам помогает наша служба поддержки.



Однако всегда хочется лучшего. Одна из главных проблем, с которыми мы сталкиваемся при общении с владельцами зараженных сайтов, — это поиск источника заражения на стороне сервера. У Яндекса, который каждые сутки размечает тысячи сайтов как зараженные вирусом и опасные для устройств человека, есть регулярно обновляемая база вирусов. И у нашей команды появилась идея, выросшая в большой проект, – антивирус для сайтов. Так мы создали Manul, который решили выложить в open source. Это утилита, которая поможет вебмастеру понять, что произошло с сайтом и вылечить его. Под катом я расскажу подробнее о том, как он устроен и какие проблемы решает.
Читать дальше →
Всего голосов 117: ↑110 и ↓7+103
Комментарии161

Facebook признала, что 83 млн. учётных записей — фейковые

Время на прочтение2 мин
Количество просмотров2.8K
В квартальном отчёте, опубликованном компанией 30 июня, говорится, что 8,7% из 955 млн. активных учётных записей нарушают правила Facebook.

Тип профиля Доля от общей численности Описание
Дубликаты 4,8% учётные записи, которые пользователь поддерживает в дополнение к основной учётной записи
Неправильные 2,4% профили организаций, домашних животных и других нечеловеческих существ
Нежелательные 1,5% поддельные имена; предназначены для использования в целях запрещённых условиями предоставления услуг, таких как спам

Подробности
Всего голосов 24: ↑20 и ↓4+16
Комментарии27

Домашняя инвентаризация средствами Яндекс.Маркет

Время на прочтение1 мин
Количество просмотров2K
Наверное многие, как и я, время от времени сталкиваются с проблемой, когда нужно срочно найти какую-либо информацию о домашнем девайсе (характеристику, инструкцию, дату покупки, драйвер и т.д.). Но в памяти нет не только этой информации, но и само название модели давно позабыто. Всё усугубляется, если устройство уже не у Вас, а, например, подарено родителям, и нет возможности подойти и посмотреть название. А бывает, что и в собственной квартире доступ к названию очень затруднен (например, название 50-дюймовой и 50-килограмовой плазмы на обратной ее стороне).
Чтобы не вставать каждый раз, при необходимости посмотреть модель своего утюга или пылесоса я поступил так.
Читать дальше →
Всего голосов 156: ↑95 и ↓61+34
Комментарии40

Утечка документов Google помогла узнать, как много большие бренды тратят на поисковую рекламу

Время на прочтение2 мин
Количество просмотров2K
Ad Age получил внутренний документ Google, в котором освещены некоторые из крупнейших покупателей AdWords за июнь 2010. Согласно этому документу, крупнейшими клиентами AdWords в июне были AT&T Mobility, Amazon, eBay и BP. Большинство из этих компаний постоянно тратят много денег на рекламу, но BP — новичок в списке. Расходы BP на рекламу из-за разлива нефти составили 3,59 миллиона долларов, тогда как за два предшествующих месяца компания потратила всего 57 тысяч долларов.

Больше всего на поисковую рекламу в июне потратила AT&T Mobility — 8,08 миллиона долларов — что совпало с выходом iPhone 4. Согласно Ad Age, компания AT&T вообще занимает третье место в США по объёму покупаемой рекламы. Среди других много потративших компаний:
  • Apollo Group (University of Phoenix) — 6,67 миллиона долларов;
  • Expedia — 5,95 миллиона долларов;
  • Amazon — 5,85 миллиона долларов;
  • eBay — 4,25 миллиона долларов;
  • Hotels.com — 3,30 миллиона долларов;
  • JC Penney — 2,46 миллиона долларов;
  • Living Social — 2,29 миллиона долларов;
  • ADT Security — 2,19 миллиона долларов.
Читать дальше →
Всего голосов 26: ↑19 и ↓7+12
Комментарии14

Простая автоматизация резервного копирования под Windows

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

Читать дальше →
Всего голосов 21: ↑17 и ↓4+13
Комментарии21

Контент-генераторы по ключевым словам

Время на прочтение2 мин
Количество просмотров15K
На фотографии — 40-летний Ричард Розенблатт (Richard Rosenblatt), исполнительный директор компании Demand Media, которая сейчас планирует IPO с ориентировочной оценкой $1,5 млрд. Ричард основал компанию в 2006 году, примерно через шесть месяцев после того, как продал MySpace медиамагнату Руперту Мердоку.

Ричард Розенблатт придумал проект, который за четыре прошедших года совершил тихую революцию в интернет-медиа и поставил генерацию контента на конвейер. Эксперты называют его детище «симбиозом Форда и Гутенберга».

Demand Media занимается созданием эксклюзивного контента в огромном количестве специально для привлечения поискового трафика по редким, но дорогим ключевым запросам. Компания генерирует 180 000 статей и видеороликов в месяц — все они размещаются на принадлежащих фирме сайтах (eHow.com и др.), а также на YouTube. На сегодня Demand Media является крупнейшим генератором видеоконтента на YouTube, впятеро превосходя ближайшего конкурента.
Читать дальше →
Всего голосов 90: ↑73 и ↓17+56
Комментарии88

Исследование американского игрового рынка. Демография, объемы продаж и прочие любопытные факты

Время на прочтение2 мин
Количество просмотров1.2K
Ассоциация Entertainment Software Association опубликовала недавнее исследование американского рынка компьютерных и видео игр. Согласно отчету средний возраст геймера составляет 34 года!

image

Остальные не менее интересные цифры и факты
Всего голосов 50: ↑46 и ↓4+42
Комментарии59

Автоматизация веб-сервера FreeBSD8 Apache2+Mysql5 Часть 1

Время на прочтение3 мин
Количество просмотров1.3K
Так уж сложилось, что я жутко ленивый. Два года назад когда я приобрел себе VDS и встретился с FreeBSD 7.1 первый раз, убил две недели на настройку всего, что мне нужно было. Сейчас у меня 2*Pentium III 1GHz / RAM 1Гб / 2*SCSI 17Гб, под мои задачи он вполне подходит.

  1. Создание хостов
  2. Ротация логов Apache2
  3. Архивация логов Apache2 и удаление старых логов.
  4. Создание базы данных и добавление нового пользователя с правами только к одной базе, с генерацией нового пароля.


Мой любимый редактор vi. Если кто не знает как с ним работать можно везде где я указал vi заменять на свой ee,mcedit и т.д

Скрипт создания хостов.
Структура на моем сервере следующая, у каждого пользователя в хомдир лежит папка www, выглядит это так.
/home/user/www.
Скрипт внутри папки www создает каталоги с именем хоста.

Пример mk_host.sh domen.ru user
в каталоге /home/user/www будет создана папка domen.ru с директориями

  • cgi-bin
  • html
  • logs
  • shadow


Также будет создан хост в директории Apache2. По моей схеме, для каждого виртуального хоста создается отдельный конфиг.

Смотрим сам скрипт.
Читать дальше →
Всего голосов 27: ↑21 и ↓6+15
Комментарии9

Apple начала прием заявок на расширения для Safari 5 в Extensions Gallery

Время на прочтение1 мин
Количество просмотров452
Вскоре после выхода Safari 5 с поддержкой расширений, первые из них уже были доступны в течении нескольких часов. Однако Apple ничего не упоминала про официальный репозиторий для этих расширений.

se5_submit

Сегодня Apple начала официальный прием заявок от разработчиков на созданные ими расширения для добавления их в свой официальный Extensions Gallery. Сделать это можно из своего аккаунта в Safari Dev Center через эту форму.

Обычных пользователей Extensions Gallery будут ждать следующие типы расширений:
Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии11

FoneMonkey — первый инструмент для автоматизированного тестирования приложений под iPhone

Время на прочтение2 мин
Количество просмотров1.8K
Привет, хабрасообщество.

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

Этот инструмент — приложение FoneMonkey от фирмы Gorilla Logic. Как ни странно, не нашла упоминаний о нем в рунете. Хотя приложение может оказаться очень и очень полезным для многих разработчиков/тестировщиков/etc.
далее..
Всего голосов 11: ↑10 и ↓1+9
Комментарии4

MongoDB Is Web Scale

Время на прочтение4 мин
Количество просмотров32K
Внимание: тег «юмор».

И в заключение. Мы пришли к выводу, что MySQL — это прекрасная база данных для нашего сайта. Вопросы?

Да, у меня есть вопрос. Почему вы не использовали MongoDB? MongoDB — это горизонтально масштабируемая база данных, она не использует SQL или JOINы, поэтому обладает высокой производительностью.

Это прекрасный вопрос. Мы изучили несколько NoSQL баз данных и поняли, что все варианты пока ещё незрелы для применения на работающих проектах. MySQL — это проверенная база данных, которая используется во всём мире и имеет все необходимые нам функции.

Но она не масштабируется. Все знают, что реляционные базы данных не масштабируются, потому что они используют JOINы и записывают на диск.
Читать дальше →
Всего голосов 149: ↑106 и ↓43+63
Комментарии46

jQuery-сниппеты и плагины для iPad

Время на прочтение6 мин
Количество просмотров26K
Подборка простых jQuery-сниппетов и плагинов, которые помогут адаптировать сайт для отображения на iPad. Некоторые подойдут и для других тач-устройств.

Читать дальше →
Всего голосов 50: ↑39 и ↓11+28
Комментарии6

AzaThread — многопоточность для PHP с блэкджеком

Время на прочтение6 мин
Количество просмотров18K
В сети гуляет довольно много решений для эмуляции многопоточности в php. Чаще всего они основываются на форках, но есть и вариации на тему с использованием curl, proc_open и т.п.

Все встреченные варианты по тем или иным причинам меня не устроили и пришлось написать свое решение.
Набор требований у меня был следующий:
  • Использование форков;
  • Синхронный режим с сохранением интерфейса при отсутствии необходимых расширений;
  • Многократное использование дочерних процессов;
  • Полноценный обмен данными между процессами. Т.е. запуск с аргументами и получение результата по завершении;
  • Возможность обмена событиями между дочерним процессом-«потоком» и основным процессом во время работы;
  • Работа с пулом потоков с сохранением многократного использования, передачи аргументов и получения результатов;
  • Обработка ошибок выполнения;
  • Таймауты на выполнение работы, ожидание работы потоком, инициализацию;
  • Максимум производительности;

В результате получилась библиотека AzaThread (старое название — CThread).
Подробности
Всего голосов 156: ↑146 и ↓10+136
Комментарии66

Определение части речи слова на PHP одной функцией

Время на прочтение3 мин
Количество просмотров40K
Прочитав пост http://toster.ru/2410/, я написал функцию, которая определяет из строки слов их части речи. Определение, конечно не 100%, но можно легко дорабатывать.

Функция возвращает массив значений групп:
  • 1. прилагательное
  • 2. причастие
  • 3. глагол
  • 4. существительное
  • 5. наречие
  • 6. числительное
  • 7. союз
  • 8. предлог


Пример вызова функции:
print_r(chastrechiRUS('В небе летит красивый сверкающий самолёт'));


Результат работы функции (массив):
Array ( [0] => 8 [1] => 4 [2] => 3 [3] => 1 [4] => 2 [5] => 4 )


Читать дальше →
Всего голосов 109: ↑77 и ↓32+45
Комментарии89

Отдаем файлы эффективно с помощью PHP

Время на прочтение3 мин
Количество просмотров282K
Если Вам потребовалось отдавать файлы не напрямую веб сервером, а с помощью PHP (например для сбора статистики скачиваний), прошу под кат.
Три способа отправить пользователю файл и не повесить сервер
Всего голосов 132: ↑108 и ↓24+84
Комментарии59

PuperGrep — логи в браузере в реальном времени

Время на прочтение2 мин
Количество просмотров13K
Вы не любите смотреть логи в консоли или вам не позволяют их любить, а следить за ходом дел как-то нужно?

PuperGrep — просмотрщик логов в браузере, который работает как tail -F, grep и подсвечивает самое интересное в вашем браузере. Или даже на вашем android, iPhone или iPad.

Скриншот PuperGrep

Возможности и демо
Всего голосов 82: ↑76 и ↓6+70
Комментарии29

Полезные метрики для оценки проектов

Время на прочтение7 мин
Количество просмотров46K
В октябре я уже рассказывала о способах оценки тестирования, все страждующие и сочувствующие могут посмотреть запись здесь. А сегодня мне захотелось затронуть тему метрик проекта в целом, причём метрик не «длягалочных», а метрик «пользуприносящих» и «проектыулучшающих». Именно поэтому, вместо сухих формул и перечня метрик, я расскажу 3 истории из опыта о внедрении и использовании строго определённых метрик в строго определённых условиях — и о результатах, которые с их помощью удалось достичь.

Зачем что-либо измерять?


Есть проект. Ваш любимый, родной, которому вы желаете расти и процветать.
Но как вы оцените его процветание, если нет критериев этого самого процветания?
Как вы сможете оперативно среагировать на проблемы до того, как они стали неисправимыми, если не будете использовать «датчик грядущей Ж»?
Как вы поймёте, что именно следует улучшать, если вам неизвестен источник проблем?

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

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

А если не приходят, значит метрику можно смело выбросить ;)
Читать дальше →
Всего голосов 89: ↑79 и ↓10+69
Комментарии34

Начала отладки и профилирования веб-приложений

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

Вступление


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

Особенности веб-приложения делают его разделенным на две части: клиентскую и серверную. На стороне клиента работает код на JavaScript (может быть, где-то можно найти и VBScript, но мы, пожалуй, не будем рассматривать этот случай), на серверной же — много что, в принципе, но мы рассмотрим PHP, наиболее популярный язык для серверной части веб-приложений. Так же интересно было бы поговорить об отладке и профилировании Flash-приложений на клиентской стороне, но затронутая тема и так обширна, так что пока оставим это.

Так же можно отнести к задачам отладки клиентского кода анализ и валидацию HTML кода. Это, вроде бы, задача не совсем из области программирования, но также немаловажная.

Некоторые части рассмотренных задач уже рассматривались в других статьях, и я предоставил на них ссылки.
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии26
1

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Зарегистрирован
Активность