Как стать автором
Обновить
42
0
Юрий @YuriPikin

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

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

Генерирование изображений-заглушек

Время на прочтение3 мин
Количество просмотров57K
Сегодня мне кинули ссылку на прикольный сервис для быстрого генерирования изображений-заглушек. Может пригодиться для html-верстки. На мой взгляд, это удобно тем, кто и так использует заглушки — экономит время при вёрстке, т.к. сами заглушки уже готовы. Можно цвета/размеры подбирать, меняя только числа/буквы в коде, не отвлекаясь на сам файл картинки — и сразу видеть эффект. И сами размеры видеть написанными, если нужно, чтоб к коду не возвращаться для проверки. Или вместо размеров можно текст добавить, чтоб всегда знать, для чего эта заглушка (типа «Бан(н)ер» или там «Лого», или «Фотография»).

На сервисе не нужна регистрация — и вообще на сайт можно не заходить, чтобы его использовать. Пишете сразу у себя в коде, например:
<img src="http://placehold.it/350x50" />
и получаете:


Update. Благодаря усилиям k0rv1n, найден вариант этого сервиса, только лучше :)
Во-первых, там поддерживается кириллица. Во-вторых, там даны ссылки на исходники для разных языков.
Автор dummyimage.com — тот же Russell Heimlich, что и у placehold.it. У placehold.it есть ещё один автор, но будем считать, что он делал дизайн (дизайн там правда круче, но видимо как раз из-за понтового шрифта Unicode и не выходил).

Примеры (см. под хабракатом) я поменял с placehold.it на dummyimage.com, раз уж он функциональнее…
Ещё насколько примеров под катом
Всего голосов 287: ↑276 и ↓11+265
Комментарии119

Named scope для Zend Framework

Время на прочтение3 мин
Количество просмотров1.4K
Работая с базой, постоянно приходится писать множество методов поиска. Вот типичный сценарий:

Предположим, что нам надо выводить список пользователей на сайте. Вначале это может быть так — $user_table->fetchAll(). А если нужно выводить только девушек? Напишем метод getFemaleUsers(). А только тех, кто не забанен и имеет аватарку? А вывод в админке только девушек, но без учета статуса пользователя?

В конце концов мы получим вагон методов, которые частично друг друга перекрывают или вообще делают одно и тоже, а различается только сортировка. А ведь их еще нужно тестировать…

Читать дальше →
Всего голосов 51: ↑44 и ↓7+37
Комментарии77

Делаем твёрдый переплёт для любимых книжек

Время на прочтение6 мин
Количество просмотров532K
Небольшое вступление

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

В своей статье мне хотелось бы поподробнее остановиться на вопросах собственно печати (как сделать этот процесс быстрым и удобным) и изготовления книги из доступных материалов.

Большое вступление

Некоторое время назад мне захотелось прочитать цикл Дугласа Адамса «Автостопом по галактике». Я попробовал почитать несколько переводов и не один меня не устроил. Поэтому было принято решение — читать на английском! Найти эти книги в оригинале в наших книжных магазинах довольно сложно. А если и есть, то только первая часть цикла. В электронном виде найти несколько проще. Но я предпочитаю читать с бумаги (читалку на E-ink куплю обязательно — очень нравятся), поэтому книги я распечатываю.

Первые две книги выглядели так:
image

Я их прочитал с огромным удовольствием, но выглядели они не очень хорошо. И я решил, что «Life, the Universe, and Everything» нужно делать книжкой.

Процесс с картинками и комментариями под катом. Осторожно, действительно много картинок.
Читать дальше →
Всего голосов 348: ↑337 и ↓11+326
Комментарии142

Ваш RSS-канал в новостях Яндекс, Рамблер, Google и LI

Время на прочтение5 мин
Количество просмотров69K
Новостные сайты и RSSВсем известны системы обработки новостей Яндекс.Новости, Новости Рамблера и Google.News, многие используют именно эти порталы для поиска и чтения новостей.

Ваш сайт тоже может стать источником для этих новостных сайтов.

Речь в статье пойдёт не о технической стороне публикации RSS-каналов (многие CMS уже имеют все необходимые средства), а о том, как получить возможность экспорта своих материалов на крупнейшие новостные сайты по опыту компании, не являющейся средством массовой информации.
Читать дальше →
Всего голосов 27: ↑24 и ↓3+21
Комментарии19

Обеспечение качества программного продукта

Время на прочтение4 мин
Количество просмотров11K
Дисциплина «Метрология программного обеспечения» входит в учебный план подготовки дипломированных специалистов по направлению 654600 — «Информатика и вычислительная техника» по специальности 220400 — «Программное обеспечение вычислительной техники и автоматизированных систем». Дисциплина изучает проблемы оценки метрических характеристик качества ПО на этапах от разработки спецификаций до завершения отладки и тестирования программного продукта. В курсе рассматриваются критерии, характеристики и метрики качества ПО; особый упор делается на характеристики корректности, надежности и сложности программ. Изучаются формальные модели и методы оценки как статических, так и динамических характеристик качества ПО, позволяющие на различных стадиях разработки выявлять просчеты и дефекты программного изделия. Рассматриваются инструментальные средства поддержки и автоматизации измерения характеристик ПО.
Далее по тексту будет находится краткий обзор инструментов с помощью которых можно анализировать различные характиристики в приложениях созданных на PHP. Данный материал появился на свет в результате некоторых экспериментов в области непрерывной интеграции, и должен был являться частью статьи про непрерывную интеграцию (спойлерить пока не буду, боюсь сглазить) все в том же РНР, но я решил все-таки выделить его в самостоятельный обзор, так как возможно, в последующих статьях я буду ссылаться на него, а так же надеюсь узнать об аналогичных инструментах еще не попавших мне на глаза. Некоторые инструменты уже были рассмотрены достаточно подробно, но тем не менее полного списка всех доступных еще не было.
Читать дальше →
Всего голосов 127: ↑115 и ↓12+103
Комментарии43

Хакинг и модинг ASUS WL500G Premium

Время на прочтение3 мин
Количество просмотров65K
Вот появилось время, и сделал давно задуманное. Надо ли говорить, что данный роутер просто легендарный и в интернетах сложились большие сообщества любителей этой железки. В данной доработке мне очень помогла Паяльная станция Lukey702.

image
Читать дальше →
Всего голосов 170: ↑166 и ↓4+162
Комментарии177

МГТУ им. Баумана, Компьютерные системы и сети

Время на прочтение9 мин
Количество просмотров89K
Предлагаю вашему вниманию заметку про кафедру «Компьютерные системы и сети» (ИУ6) МГТУ им. Баумана, которую я закончил три года назад. Прокомментировал основные предметы и учебный процесс в целом. Рассказал то, о чем не говорят в приемной комиссии. Бесспорно, что в Бауманке есть очень сильные преподаватели, идущие в ногу со временем, на лекциях которых по-настоящему интересно. Но, к сожалению, для кафедры ИУ6 это редкость…
Если интересно, то добро пожаловать
Всего голосов 103: ↑85 и ↓18+67
Комментарии145

Почему 9 женщин не могут родить ребёнка за 1 месяц или О применении имитационного моделирования в управлении проектами

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

Введение


Думаю, многие из вас слышали выражение «9 женщин не могут родить ребёнка за 1 месяц!». Контекст этого выражения очевиден — в разработке ПО его применяют в качестве аллегории, когда протестуют против совершенно неприемлемого сжатия сроков. Здесь под сжатием понимают сокращение сроков разработки путём расширения команды при сохранении общей трудоёмкости разработки.
image

Совершенно очевидно, что сжимать сроки до бесконечности невозможно. Существует определённый предел. Например, известным экспертом в области оценки трудоёмкости разработки ПО Стивом Макконнеллом (Steve McConnell) этот порог определён как 25% от исходных оценок (см. мою предыдущую статью).
Но этот топик не об оценках трудоёмкости…
Вот я выше написал «совершенно очевидно...». Думаете, это действительно очевидно? Всем?
Мой недавний опыт показал, что это очевидно далеко не всем. Проект был очень крупный и срок сдачи неумолимо приближался. Было принято решение резко расширять команду, чтобы успеть. Довод про «9 женщин» никто не принял. Команда была расширена и в срок мы всё равно не успели. Можно ли было как-то, кроме как на словах, показать, как будут развиваться события? Вот о том, как смоделировать такую ситуацию, и будет моя статья.
Читать дальше →
Всего голосов 85: ↑76 и ↓9+67
Комментарии42

Google выпускает skipfish — сканер безопасности сетевых приложений

Время на прочтение1 мин
Количество просмотров410
imageПолностью автоматизированный инструмент проверки безопасности ваших веб приложений от Google. Основные возможности:

высочайшая скорость: написан на C, оптимизированные HTTP запросы, минимальные требования к CPU — скорость запросов легко достигает 2000 в секунду.

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

отличная логика безопасности: высокое качество работы, различные способы проверки безопасности.

Поддерживаются операционные системы — Linux, FreeBSD, MacOS X и Windows (требуется Cygwin).

Google skipfish
Всего голосов 77: ↑77 и ↓0+77
Комментарии71

Профилактика SQL-инъекций

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


SQL-инъекции (также известные как «Нарушение в целостности структуры SQL-запроса») являются одними из самых распространённых и наиболее опасных уязвимостей в вопросе безопасности. SQL-инъекции очень опасны, потому что они открывают двери хакерам в вашу систему через веб-интерфейс, и позволяют получить неограниченный доступ: например удалять таблицы, изменять базу данных, и даже получить доступ к внутренней корпоративной сети. SQL-инъекции это чисто программная ошибка, и не имеет ничего общего с хост-провайдером. Итак, вы занимались поисками безопасного JSP хостинга, PHP хостинга, или любого другого, вы должны знать, что за профилактику SQL-инъекций несут ответственность только разработчики, а не хост провайдер.

Почему же происходят SQL-инъекции


SQL-инъекции это очень распространённая проблема, но по иронии судьбы, их также легко предотвратить. SQL-инъекции так распространены, поскольку очень много мест, где может присутствовать уязвимость, и в случае успешной инъекции, хакер может получить хорошую награду (например полный доступ к данным в базе).
Читать дальше →
Всего голосов 94: ↑69 и ↓25+44
Комментарии95

Как FriendFeed использует MySQL для хранения данных без схемы

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

Условия


Мы используем MySQL для хранения любых данных FriendFeed. Наша база данных растёт вместе с числом пользователей. Сейчас у нас более 250 миллионов записей, это записи пользователей (post'ы), комментарии, оценки («likes»)

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

В частности, изменение схемы базы данных или добавление индексов к существующим 10-20 миллионов записей приводили к полной блокировке сервера на несколько часов. Удаление старых индексов требовало времени, а не удаление ударяло по производительности, так как база данных продолжала использовать их на каждом INSERT. Существуют сложные процедуры с помощью которых можно обойти эти проблемы (например создание нового индекса на slave-сервере, и последующий обмен местами master'a и slave), однако эти процедуры настолько тяжелые и опасные, что они окончательно лишили нас желания добавлять что-то новое, требующее изменение схемы или индекса. А так как наши базы сильно распределены, реляционные вещи MySQL как например JOIN никогда не работали для нас. Тогда мы решили поискать решение проблем, лежащее вне реляционных баз данных.

Существует множество проектов, призванных решить проблему хранения данных с гибкой схемой и построением индексов на лету (например CouchDB). Однако, по-видимому ни один из них не используется крупными сайтами. В тестах о которых мы читали и прогоняли сами, ни один из проектов не показал себя стабильным, достаточно зрелым для наших целей (см. this somewhat outdated article on CouchDB, например). А все это время MySQL работал. Он не портил данные. Репликация работала. Мы уже в достаточной мере понимали все его узкие места. Нам нравился MySQL именно как хранилище, вне реляционных шаблонов.

Все взвесив, мы решили создать систему хранения данных без схемы поверх MySQL, вместо использования полностью нового решения. В этой статье я попытаюсь описать основные детали системы. Так же нам любопытно как другие сайты решили эти проблемы. Ну и мы думаем, что наша работа будет полезна другим разработчикам.
Читать дальше →
Всего голосов 116: ↑110 и ↓6+104
Комментарии60

Увеличиваем скорость загрузки сайта используя lazy-load изображений

Время на прочтение1 мин
Количество просмотров70K
Сейчас многие сайты насыщены графикой в разных видах: аватары, иллюстрации к постам, галереи и тп.

Читатели блога «Клиентская оптимизация» как никто другой знают цену лишних запросов к серверу.

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

Читать дальше →
Всего голосов 68: ↑62 и ↓6+56
Комментарии75

Договор на абонентское обслуживание сайта

Время на прочтение6 мин
Количество просмотров47K
Несколько месяцев назад я уже выкладывал типовой договор на техническое обслуживание и поддержку сайта. В том топике, я получил много замечаний и комментариев. Мы постарались учесть все комментарии и замечания при составлении нового договора, им я и спешу поделиться.

image

Читать дальше →
Всего голосов 147: ↑141 и ↓6+135
Комментарии20

Рост продаж после повышения юзабилити и улучшения user experience сервиса PosterXXL.ru

Время на прочтение7 мин
Количество просмотров2.7K
Улучшение user experience и повышение юзабилити сервиса posterxxl.ru привело к росту чиcтой прибыли на 133%.
Чистая прибыль за 2008  и 2009 год

Для большого количества отечественных e-commerce сайтов и интернет-магазинов рост прибыли возможен без дополнительных затрат на рекламу и продвижение, за счёт улучшения пользовательских качеств сайта. О том, как это было сделано на примере сервиса posterxxl.ru вы узнаете из этой статьи.
Читать дальше →
Всего голосов 103: ↑85 и ↓18+67
Комментарии58

Установка nginx + php-fpm + memcache + eaccelerator на FreeBSD

Время на прочтение3 мин
Количество просмотров49K
Зачем всё это? — спросите вы. Да просто захотелось поделиться с общественностью некоторым опытом, полученным в процессе оптимизации vds под нужды одного общеизвестного блого-социального движка, который на обычном хостинге чувствует себя, мягко скажем, некомфортно.

Началось всё с того, что я ушёл от firstvds, где уже ничто не спасёт от тормозов. Ушел на ганди.нет, взял одну шару (1 share), которую дали на месяц бесплатно. Кстати, акция эта (This summer, your server is free!) вроде еще не закончилась. ;) И начал на этой шаре проводить зверские эксперименты с установкой разного ПО. Тестировал результаты с помощью siege.

В итоге конфигурация из сабжа оказалась самая быстрая. Опытом её установки и настройки я и хотел бы с вами поделиться.

Поехали!
Всего голосов 90: ↑74 и ↓16+58
Комментарии48

7+ превосходных инструментов для оптимизации изображений

Время на прочтение5 мин
Количество просмотров105K
Перевод статьи 8 Excellent Tools for Optimizing Your Images
К сожалению на момент перевода один из сервисов перестал работать. Но хабровчане предложили еще много хороших решений!

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

Есть несколько бесплатных инструментов помогающих уменьшить и оптимизировать изображения. В этой статье вы найдете удобные инструменты для создания картинок для веба настолько маленьких по весу, насколько это возможно.
Обзор инструментов — под катом.
Читать дальше →
Всего голосов 86: ↑78 и ↓8+70
Комментарии72

Доставка видеоконтента пользователям

Время на прочтение7 мин
Количество просмотров11K
[ Часть I. Доставка видеоконтента ] [ Часть II. CDN своими руками ]

Что такое «контент» для видеохостинга? Во-первых, контент видеохостинга – это просто видео, которое представляет собой набор файлов в различных форматах, в частности, в формате FLV для просмотра пользователем через Flash Player. Эти файлы статичны, видеохостинг при загрузке пользователем видеоролика осуществляет конвертацию во все требуемые форматы с необходимым битрейтом. Хранение такого контента — это хранение обычных файлов, только довольно большого размера. Отдача контента — это, по сути, организация скачивания файлов.
Во-вторых, контент видеохостинга — это «живые» потоки или вещания. Вещания не записываются на диск, не происходит их конвертация, потоки раздаются клиентам с учетом пропускной способности каналов (происходит пропуск пакетов, если канал клиента недостаточен для получения потока вещания в полном качестве). Отдача контента в данной ситуации — это раздача потока на большое количество подключенных пользователей (тысячи смотрящих).
Читать дальше →
Всего голосов 44: ↑44 и ↓0+44
Комментарии79

7 шагов для систематизации процесса дизайна и разработки

Время на прочтение6 мин
Количество просмотров4.2K
Систематизация означает создание процессов или предопределенного набора мер, которые предназначены для ускорения выполнения трудоемких и повторяющихся задач.

Итак, как же можно систематизировать процесс создания дизайна и веб-сайтов в целом? Ниже приведены 7 шагов, которым вы должны будете следовать для создания системы, для выполнения повторяющихся и скучных задач, тем самым сэкономив время для креативной работы.
Читаем дальше...
Всего голосов 54: ↑37 и ↓17+20
Комментарии19

Готовимся к Хабра-эффекту

Время на прочтение3 мин
Количество просмотров13K
Наплыв посетителейЗаметка посвящена не столько возможным методам защиты (о них уже было много написано), сколько обзору небольшого списка для быстрой проверки при подготовке к возможных скачкам посещаемости. Судя по статистике нагрузки на электронные магазины на прошлой неделе (когда начался рождественский сезон продаж на Западе), даже для крупных магазинов время ответа может колебаться на 20%, что же говорить о менее крупных веб-сайтах?

Такую проверку обязательно нужно проводить перед выпусками новых продуктов, а также перед сезоном массовых покупок (для России это время в канун Нового Года и Рождества). Итак, с чего начать?
Читать дальше →
Всего голосов 118: ↑104 и ↓14+90
Комментарии60

Browser persistence

Время на прочтение2 мин
Количество просмотров1.7K
Browser persistence — техника, позволяющая хранить в браузере довольно большие объемы данных, которые в отличие от cookie не отсылаются на сервер при каждом запросе.

Все уже написано до меня, но на хабре никаких более-менее подробных упоминаний не нашел, поэтому написал краткий обзор — как это работает и собрал ссылки для более подробного изучения.
Читать дальше →
Всего голосов 63: ↑53 и ↓10+43
Комментарии20

Информация

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