Pull to refresh
12
0
Владимир Лучанинов @how

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

Send message

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

Reading time 3 min
Views 7.8K
Uncle BobПеревод статьи "Дяди Боба". Оригинал

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

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

Reading time 2 min
Views 193K

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


Читать дальше →
Total votes 94: ↑55 and ↓39 +16
Comments 190

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

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

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



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

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

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

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

Подробности
Total votes 24: ↑20 and ↓4 +16
Comments 27

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

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

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

Reading time 2 min
Views 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 миллиона долларов.
Читать дальше →
Total votes 26: ↑19 and ↓7 +12
Comments 14

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

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

Читать дальше →
Total votes 21: ↑17 and ↓4 +13
Comments 21

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

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

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

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

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

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

image

Остальные не менее интересные цифры и факты
Total votes 50: ↑46 and ↓4 +42
Comments 59

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

Reading time 3 min
Views 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. По моей схеме, для каждого виртуального хоста создается отдельный конфиг.

Смотрим сам скрипт.
Читать дальше →
Total votes 27: ↑21 and ↓6 +15
Comments 9

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

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

se5_submit

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

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

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

Reading time 2 min
Views 1.8K
Привет, хабрасообщество.

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

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

MongoDB Is Web Scale

Reading time 4 min
Views 32K
Внимание: тег «юмор».

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

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

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

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

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

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

Читать дальше →
Total votes 50: ↑39 and ↓11 +28
Comments 6

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

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

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

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

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

Reading time 3 min
Views 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 )


Читать дальше →
Total votes 109: ↑77 and ↓32 +45
Comments 89

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

Reading time 3 min
Views 280K
Если Вам потребовалось отдавать файлы не напрямую веб сервером, а с помощью PHP (например для сбора статистики скачиваний), прошу под кат.
Три способа отправить пользователю файл и не повесить сервер
Total votes 132: ↑108 and ↓24 +84
Comments 59

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

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

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

Скриншот PuperGrep

Возможности и демо
Total votes 82: ↑76 and ↓6 +70
Comments 29

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

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

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


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

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

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

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

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

Reading time 8 min
Views 18K

Вступление


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

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

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

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

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity