Привет, хочу сказать, что мне очень нравится делать подборки для хабры. Много положительных отзывов, много комментариев, а значит моя работа полезная и я ее делаю не зря. Поэтому сегодня я хочу представить вам собрание различных ресурсов, на которых любой дизайнер сможет найти много полезного и интересного. Кому интересно, прошу под кат.
Jevgenijs Ratobilskis @jevgenyr
User
Оптимизация связки Nginx, Apache, PHP, MySql
9 min
80KНеожиданно поступила задача разобраться почему определенный сайт не работает столь быстро сколь хочется. В основе его CakePHP, в связке с Apache и MySQL. В статье описание процесса поиска узких мест и приведение в порядок на столько, на сколько это возможно.
Название сайта светить не буду — думаю, программисты сами узнают. Скажу лишь, что это приложение для социальной сети нагрузкой 70-150 тысяч посетителей в обычное время. Все усложняется тем, что периодически производится рекламная рассылка, которая привлекает около 200-300 тысяч посетителей за пару часов.
Итак, под катом описание всей борьбы на протяжении 4 дней.
Название сайта светить не буду — думаю, программисты сами узнают. Скажу лишь, что это приложение для социальной сети нагрузкой 70-150 тысяч посетителей в обычное время. Все усложняется тем, что периодически производится рекламная рассылка, которая привлекает около 200-300 тысяч посетителей за пару часов.
Итак, под катом описание всей борьбы на протяжении 4 дней.
+63
Отладка сложных веб-приложений — эффективная багодробилка на production-серверах
12 min
26KВсем привет!
Сегодня расскажу, как на боевых серверах во время нагрузки, в пыли и грязи, эффективно отлавливать узкие места в производительности больших веб-приложений на PHP, а также искать и устранять «нестандартные» ошибки. Многие из описанных техник мы с успехом применяем на нашем облачном сервисе «Битрикс24».
Информация, надеюсь, пригодится системным администраторам и разработчикам, обслуживающим сложные веб-проекты, а также менеджерам, которые хотят выстроить эффективный и быстрый процесс поиска и устранения узких мест и ошибок проектов на PHP.

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

+73
116 сайтов для продвижения iPhone/iPad приложений
3 min
12KПродвижение приложений – это всегда целый комплекс действий, где важна каждая мелочь. Главная задача – это, конечно, «засветиться» везде, где только можно. Предлагаем список сайтов, на которых можно попытаться получить обзор.
Лучше всего будет, если вы выберете из этого списка те порталы, которые делают обзоры приложений нужной вам тематики. При этом имейте в виду, что у сайтов с рейтингом Alexa выше 50 000, как правило, очень высокая посещаемость.
Лучше всего будет, если вы выберете из этого списка те порталы, которые делают обзоры приложений нужной вам тематики. При этом имейте в виду, что у сайтов с рейтингом Alexa выше 50 000, как правило, очень высокая посещаемость.
+3
Сообщество или социальная сеть?
5 min
13KTranslation
От переводчика. Данный текст является вступительным текстом к минисерии из 4 публикаций, посвященных социальным сетям и сообществам, их сходствам и различиям, а также их взаимосвязи друг с другом.
Я хочу поделиться с вами своим недавними исследованиями, посвященными взаимосвязи между социальными сетями и сообществами.
С 2008 года социальные медиа становятся широко используемым и модным понятием в корпоративном мире. Вопрос в том, что такое социальные медиа? Одни, похоже, отождествляют это понятие с сайтами, называющимися социальными сетями, вроде Facebook. Другие думают, что социальные медиа — это блоги, микроблоги (вроде Twitter), Flickr, Youtube или любые другие аналогичные вебдванольные сервисы, основанные на коллективном обмене информацией между пользователями. Указывают на разные типы социальных медиа, начиная с сервисов социального взаимодействия (вроде Wikipedia, Delicious или Digg), и заканчивая онлайн-сообществами (вроде тех сообществ, которые мы создаем вокруг брендов или же таких как Yahoo! Answer).
Все эти определения в некоторой степени верны, если мы классифицируем социальные медиа по их функциональным признакам. С другой стороны, писатель и блоггер Брайан Солис (Brian Solis) предложил иную классификацию социальных медиа, основанную на способах общения между людьми. Он назвал свою классифиацию «Призмой общения» (conversation prism). Однако, если мы хотим понимать социальные медиа с точки зрения выстраивания связей между людьми в рамках социальной антропологии, мы обнаружим, что существует всего два основных типа социальных медиа:
- Сообщество или социальная сеть?
- Как люди образуют связи
- От слабых связей к сильным
- Поддержание сильных связей
Я хочу поделиться с вами своим недавними исследованиями, посвященными взаимосвязи между социальными сетями и сообществами.
С 2008 года социальные медиа становятся широко используемым и модным понятием в корпоративном мире. Вопрос в том, что такое социальные медиа? Одни, похоже, отождествляют это понятие с сайтами, называющимися социальными сетями, вроде Facebook. Другие думают, что социальные медиа — это блоги, микроблоги (вроде Twitter), Flickr, Youtube или любые другие аналогичные вебдванольные сервисы, основанные на коллективном обмене информацией между пользователями. Указывают на разные типы социальных медиа, начиная с сервисов социального взаимодействия (вроде Wikipedia, Delicious или Digg), и заканчивая онлайн-сообществами (вроде тех сообществ, которые мы создаем вокруг брендов или же таких как Yahoo! Answer).
Все эти определения в некоторой степени верны, если мы классифицируем социальные медиа по их функциональным признакам. С другой стороны, писатель и блоггер Брайан Солис (Brian Solis) предложил иную классификацию социальных медиа, основанную на способах общения между людьми. Он назвал свою классифиацию «Призмой общения» (conversation prism). Однако, если мы хотим понимать социальные медиа с точки зрения выстраивания связей между людьми в рамках социальной антропологии, мы обнаружим, что существует всего два основных типа социальных медиа:
- Социальные сети
- Онлайн сообщества
+47
Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое
16 min
40K
Введение
С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Статья большая, так что будет поделена на логические блоки:
0. Зачем вообще что-то оптимизировать? 1. Оптимизация ОС (FreeBSD) 1.1 Переход на 7.х 1.2 Переход на 7.2 1.3 Переход на amd64 1.4 Разгрузка сетевой подсистемы 1.5 FreeBSD и большое кол-во файлов 1.6 Softupdates, gjournal и mount options 2. Оптимизация фронтенда (nginx) 2.1 Accept Filters 2.2 Кеширование 2.3 AIO 3. Оптимизация бэкенда 3.1 APC 3.1.1 APC locking 3.1.2 APC hints 3.1.3 APC fragmentation 3.2 PHP 5.3 4. Оптимизация базы данных 4.1 MySQL 4.1.1 Переход на 5.1 4.1.2 Переход на InnoDB 4.1.3 Встроеный кеш MySQL - Query Cache 4.1.4 Индексы 4.2 PostgreSQL 4.2.1 Индексы 4.2.2 pgBouncer и другие. 4.2.3 pgFouine 4.3 Разгрузка базы данных 4.3.1 SphinxQL 4.3.2 Не-RDBMS хранилище 4.4 Кодировки 4.5 Асинхронность Приложение. Мелочи. 1. SSHGuard или альтернатива. 2. xtrabackup 3. Перенос почты на другой хост 4. Интеграция со сторонним ПО 5. Мониторинг 6. Минусы оптимизации
+361
TOP'ай сюда
5 min
184KОбзор практически всех *top утилит под linux (atop, iotop, htop, foobartop и т.д.).

Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.
В отличие от top отлично знает про существование блочных устройств и сетевых интерфейса, способен показывать их загрузку в процентах (на 10G, правда, процентов не получается, но хотя бы показывается количество мегабит).
Незаменимое средство для поиска источников лагов на сервере, так как сохраняет не только статистику загрузки системы, но и показатели каждого процесса — то есть «долистав» до нужного момента времени можно увидеть, кто этот счастливый момент с LA > 30 создал. И что именно было причиной — IO программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.
top
Все мы знаем top — самую простую и самую распространённую утилиту из этого списка. Показывает примерно то же, что утилита vmstat, плюс рейтинг процессов по потреблению памяти или процессора. Совсем ничего не знает про загрузку сети или дисков. Позволяет минимальный набор операций с процессом: renice, kill (в смысле отправки сигнала, убийство — частный случай). По имени top суффикс "-top" получили и все остальные подобные утилиты в этом обзоре.atop

Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.
В отличие от top отлично знает про существование блочных устройств и сетевых интерфейса, способен показывать их загрузку в процентах (на 10G, правда, процентов не получается, но хотя бы показывается количество мегабит).
Незаменимое средство для поиска источников лагов на сервере, так как сохраняет не только статистику загрузки системы, но и показатели каждого процесса — то есть «долистав» до нужного момента времени можно увидеть, кто этот счастливый момент с LA > 30 создал. И что именно было причиной — IO программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.
+377
iPhone-приложение LinguaLeo опубликовали в AppStore
2 min
57K
Случился горячо долгожданный релиз iPhone-приложения LinguaLeo. Теперь счастливые обладатели айфонов смогут оценить удобство мобильного совершенствования английского языка, установив приложение на официальной страничке в AppStore. Внимание обладателям Android: приложение LinguaLeo для Android выйдет в ближайшие 2-3 месяца, пожалуйста, не переходите пока на iPhone!
О том, что умеет приложение и как им пользоваться, чтобы приятно и полезно развивать навыки владения английским языком,
+76
Droider Show #25. А ты не воруй!
1 min
1.2KЗдравствуйте, друзья!
У нас сегодня юбилейный, 25-ый, выпуск Droider Show, поэтому передача будет несколько необычной. Мы, конечно, поговорим о переезде В контакте на новый домен, человеческой зарядке для смартфонов, свежих слухах об iPhone 5 и даже распутаем одну криминальую историю. А еще проведем тест работы свежеустановленных веб-камер на избирательных участках с нашим гостем:
Кроме этого вы узнаете, что такое утилизатор смартфонов, когда появятся компьютеры с Kinnect и кого собирается забанить Twitter. Так что, гарантируем, скучно не будет!
У нас сегодня юбилейный, 25-ый, выпуск Droider Show, поэтому передача будет несколько необычной. Мы, конечно, поговорим о переезде В контакте на новый домен, человеческой зарядке для смартфонов, свежих слухах об iPhone 5 и даже распутаем одну криминальую историю. А еще проведем тест работы свежеустановленных веб-камер на избирательных участках с нашим гостем:
Кроме этого вы узнаете, что такое утилизатор смартфонов, когда появятся компьютеры с Kinnect и кого собирается забанить Twitter. Так что, гарантируем, скучно не будет!
-1
Bootstrap 2.0 – HTML+CSS+JS UI фреймворк
1 min
60K
Вышла новая версия офигительного UI фреймворка от Twitter — Bootstrap 2.0 Для тех кто не в курсе что это, настоятельно рекомендую ознакомиться. Этот набор позволяет создавать отличные шаблоны сайтов за считанные часы (проверено на собственном опыте) на основе готовых элементов и экономить килотонны нервов на адаптации кода под разные браузеры.
Особенности Bootstrap:
- Полный набор компонентов в виде стилей и анимаций поведения для элементов интерфейса
- Поддержка возможностей HTML5, CSS3 (но при этом работает и в IE7!)
- Поддержка идеологии 940-пиксельной сетки
- Поддержка идеологии fluid-grid
- Кросплатформенность — наборы стилей для десктопных и мобильных браузеров
- Возможность кастомизации и добавления собственных стилей
- Возможность добавлять jQuery плагины
Мастхэв для верстальщиков и проектировщиков интерфейсов!
+172
Нагрузочное тестирование «по-быстренькому»
3 min
212KМожет кому будет интересно как «по-быстрому» провести нагрузочное тестирование своего веб-приложения.
Подробности под катом
Подробности под катом
+78
Оптимизация JavaScript для ускорения загрузки веб-страниц
2 min
16KИнженер из компании Google, автор трёх книг по веб-производительности и оптимизации, Стив Содерс (Steve Souders) опубликовал презентацию "JavaScript Perfomance" о том, какие методы нужно применять, чтобы скрипты меньше тормозили загрузку страниц.
По статистике WebPagetest, блокировка загрузки файлов .js на сайтах из Alexa Top 100 снижает среднее по медиане время загрузки страницы c 3,65 с до 2,487 с, то есть на 31%. Если вы видите медленную загрузку веб-страниц и хотите улучшить этот показатель, то, по мнению Стива Содерса, первым делом нужно посмотреть на JavaScript.
По статистике WebPagetest, блокировка загрузки файлов .js на сайтах из Alexa Top 100 снижает среднее по медиане время загрузки страницы c 3,65 с до 2,487 с, то есть на 31%. Если вы видите медленную загрузку веб-страниц и хотите улучшить этот показатель, то, по мнению Стива Содерса, первым делом нужно посмотреть на JavaScript.
+22
Как улучшить выбор страны из списка
6 min
14KTutorial
Translation
Представляю вашему вниманию перевод статьи под названием "Redesigning The Country Selector" от Christian Holst. Перевели в компании UXDepot специально для пользователей Хабрахабра с одобрением издания Smashing Magazine.
Выбор страны. Обычно он встречается тогда, когда вы регистрируетесь на новом веб-сервисе, оформляете заказ в интернет-магазине, или же оформляете участие в конференции. Что обычно представляет из себя выбор страны? Выпадающий список с перечнем всех доступных стран.

Однажды, проводя масштабные юзабилити-тестирования (о которых мы писали на Smashing Magazine в апреле 2011. Примечание переводчиков: мы перевели и эту статью тоже. Обязательно ознакомьтесь :), мы последовательно столкнулись с несколькими проблемами, связанными с выбором страны. Якоб Нильсен сообщал о похожих моментах в 2000 и 2007 годах, когда он тестировал выпадающие списки с большим количеством внутренних элементов, к примеру, таких, как перечни штатов или стран.
+87
Принципы дизайна страниц оплаты для интернет-магазинов
14 min
22KTutorial
Translation
Представляю вашему вниманию перевод статьи под названием "Fundamental Guidelines Of E-Commerce Checkout Design" от Christian Holst. Перевели в компании UXDepot специально для пользователей Хабрахабра с одобрением издания Smashing Magazine.
Грустная статистика систем электронной коммерции — согласно последним исследованиям, по крайней мере 59,8% потенциальных покупателей покидают сайт на этапе оформления заказа и его оплаты (у разных исследований разные показатели — от 59,8% у MarketingSherpa до 83% у SeeWhy).
Основной вопрос заключается в том, почему пользователи так часто и массово покидают свою корзину, не закончив оформление заказа? Причина заключена в какой-то фундаментальной ошибке дизайнеров, создающих интернет-магазины? А быть может есть какие-то формальные правила, которые усложняют жизнь простым пользователям и мешают им покупать продукты? Существует ли какая-то возможность улучшить ситуацию и повысить конверсию электронных магазинов?
+162
Идеальная голосовалка
3 min
7.6KЧасто на разнообразных сайтах пользователям предлагают оценить (проголосовать за) тот или иной объект — анекдот, цитату, пост, автора, человека и т. д. При этом, к сожалению, почти всегда совершается одна или несколько ошибок.
Я буду говорить только о тех случаях, когда пользователям предлагают оценить объект положительно или отрицательно. Голосования с выбором одного из нескольких вариантов ответа здесь не рассматриваются.
Я буду говорить только о тех случаях, когда пользователям предлагают оценить объект положительно или отрицательно. Голосования с выбором одного из нескольких вариантов ответа здесь не рассматриваются.
+14
http://(Любое_слово).jpg.to
1 min
2.5KНачал работу сайт jpg.to, с помощью которого удобно на лету получать иллюстрации по ключевому слову. Указываете слово в URL на любом языке — и получаете нужную картинку. Картинки берутся с Google Image Search, в URL можно использовать кириллицу. Например, котята.jpg.to.
Это может пригодиться для быстрого постинга картинок в чате/почте, а также для автоматического иллюстрирования контента. Можно сделать скрипт, который будет подгружать картинки по контексту страницы или по тексту во время набора пользователем. Jpg.to — минималистическая альтернатива гугловским API, которые запланированы к закрытию.
Автор обещает в ближайшее время добавить дополнительный функционал, в том числе парсинг условий поиска картинок:
Это может пригодиться для быстрого постинга картинок в чате/почте, а также для автоматического иллюстрирования контента. Можно сделать скрипт, который будет подгружать картинки по контексту страницы или по тексту во время набора пользователем. Jpg.to — минималистическая альтернатива гугловским API, которые запланированы к закрытию.
Автор обещает в ближайшее время добавить дополнительный функционал, в том числе парсинг условий поиска картинок:
- размер: keyword.jpg.to/large, keyword.jpg.to/medium
- цветовая гамма: keyword.jpg.to/red, keyword.jpg.to/green, keyword.jpg.to/white
- тип картинки фото/клипарт: keyword.jpg.to/photo, keyword.jpg.to/clipart
- выбор случайной картинки (keyword.jpg.to/random.jpg) или по номеру в результатах поиска (keyword.jpg.to/301.jpg)
- информация об авторе и возможность удаления картинки из выдачи по требованию автора
+116
LAMP +Nginx на VPS стабильно и без лишней головной боли
14 min
42KЗадача — на минимальных ресурсах VPS развернуть хостинг нескольких не нагруженных сайтов. Сделать это быстро и удобно с минимальными проблемами в будущем и не падать на пиковых нагрузках.
1. ОС — Centos-6 86_x64 потому что стабильно, удобно и легко обновляемо.
2. Никакого самосборного софта. А то как говорится «командой make && make install любой дистрибутив превращается в Slackware.»
Основные принципы:
1. ОС — Centos-6 86_x64 потому что стабильно, удобно и легко обновляемо.
2. Никакого самосборного софта. А то как говорится «командой make && make install любой дистрибутив превращается в Slackware.»
+16
Прогрессивные технологии, как способ выжать из сервера максимум
5 min
12KВступление

Забавно, но когда программист разрабатывает какой-либо продукт, он редко задумывается над вопросом могут ли на одну кнопку в один момент времени нажать одновременно 2000 человек. А зря. Оказывается могут. Как ни странно но большинство движков, написанных такими программистами, очень плохо ведут себя под большими нагрузками. Кто бы подумал, а всего один лишний INSERT, не проставленный index, или кривая рекурсивная функция могут поднять load averages чуть ли не на порядок.
В этой статье я опишу как мы, разработчики проекта, сумели выжать из одного сервера с Pentium 4 HT / 512Mb RAM, максимум, держа одновременно 700+ пользователей на форуме и 120,000 на трекере. Да, проект этот — торрент трекер. Предлагаю сразу оставить в стороне разговоры о копирайтах и правах, мне это не интересно, что действительно интересно — это HighLoad.
+310
7 причин для перехода с Drupal на Yii
6 min
41KПо мотивам За что я люблю Drupal.
Опубликовано по просьбе JiLiZART (перевод, как я понял, тоже его).
Оригинал: erickennedy.org.
Опубликовано по просьбе JiLiZART (перевод, как я понял, тоже его).
Оригинал: erickennedy.org.
+38
Flattr: Новая система онлайн-платежей от создателя The Pirate Bay
1 min
2.5KПетер Сунде, один из основателей всем известного торрент-трекера The Pirate Bay, занялся созданием новой системы, призванной переосмыслить оплату цифрового контента.
Flattr (игра слов flatter — угождать, льстить — и flat rate — равная стоимость) представляет собой систему так называемых социальных микроплатежей: пользователь оценивает понравившийся ему контент одним нажатием. Схема работы очень похожа на Digg — создатели и распространители контента смогут поместить на свой сайт кнопку со счетчиком нажатий, каждое из которых — небольшая часть регулярно пополняемого баланса пользовательского Flattr-аккаунта.
Flattr (игра слов flatter — угождать, льстить — и flat rate — равная стоимость) представляет собой систему так называемых социальных микроплатежей: пользователь оценивает понравившийся ему контент одним нажатием. Схема работы очень похожа на Digg — создатели и распространители контента смогут поместить на свой сайт кнопку со счетчиком нажатий, каждое из которых — небольшая часть регулярно пополняемого баланса пользовательского Flattr-аккаунта.
+81
Information
- Rating
- Does not participate
- Location
- Рига, Латвия, Латвия
- Date of birth
- Registered
- Activity