Уже несколько лет как Google выпустила модуль для Web-серверов Apache и Nginx, который представляет из себя набор фильтров и позволяет значительно повысить производительность сайта. В данном посте речь пойдет не о технологии и описании модуля, а о его установке и базовой настройке. Описание установки будет проведено только для Nginx. Установка модуля на Apache проста до безобразия и в данной статье не затрагивается.
Дмитрий Беляев @CuamckuyKot
веб-разработчик
Пошаговый алгоритм создания архитектуры PHP-сайта
5 min
73KTutorial
Дисклеймер: этот текст меня заставило написать практически полное отсутствие вменяемых материалов по данной теме на русском языке. Этому плохо учат в вузах, об этом молчат самоучители PHP и официальный мануал, хотя это самый важный момент при разработке программы — создание архитектуры. Плохая архитектура может убить ваш проект, так что он никогда не увидит свет. Хорошая архитектура даже при плохом коде, а кто из новичков пишет хороший код, способна творить чудеса.
Разработка архитектуры должна начинаться в тот момент, когда вам в голову пришла идея «хочу сайт такой-то» или кто-то вложил идею «нужен сайт такой-то». К сожалению, большинство разработчиков сразу приступают к написанию кода, причём даже не того, какого нужно.
Прежде чем писать код, вооружитесь листочком с ручкой, вордпадом, вордом, райтером или даже вашим редактором кода и выполните пару шагов.
Разработка архитектуры должна начинаться в тот момент, когда вам в голову пришла идея «хочу сайт такой-то» или кто-то вложил идею «нужен сайт такой-то». К сожалению, большинство разработчиков сразу приступают к написанию кода, причём даже не того, какого нужно.
Прежде чем писать код, вооружитесь листочком с ручкой, вордпадом, вордом, райтером или даже вашим редактором кода и выполните пару шагов.
-56
Интеграция Fail2ban с CSF для противодействия DDoS на nginx
12 min
34KTutorial

+24
58 признаков хорошего интерфейса
16 min
382KTranslation
У хорошего интерфейса пользователя высокая конверсия и его просто использовать. То есть, он хорош и для бизнеса, и для использующих его людей. Вот список опробованных нами идей.
Один столбец точнее отражает то, что вы хотите донести. Пользователи проходят сверху вниз по более предсказуемому пути. В дизайне с несколькими колонками есть риск отвлечения пользователя от основной задачи страницы.

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

+138
MR шаблон для написания сервисов на Node.js
3 min
4.8KRecovery Mode

Суть такова: node.js не дает готового решения для создания проекта. Первый мой проект на node.js состоял из одного coffeescript файла и run.js для запуска из IDE. Когда роутов было пять штук, все было замечательно, но когда проект оброс моделями и роутами, это превратилось в ад. Решают эту проблему разными способами, кто-то используй hub, кто-то global, кто-то все в один файл заносит.
+9
Что нужно знать, чтобы хорошо рисовать?
5 min
267KTutorial
Translation

Давид Ревуа — прекрасный художник, работающий со свободным программным обеспечением, постоянный член сообществ Krita Foundation и Blender Institute, концепт-художник анимационных проектов Gooseberry Open Movie Project, Mango Open Movie Project (Tears of Steel) и Durian Open Movie Project (Sintel). В этой статье он делится с начинающими художниками списком знаний, которые необходимо приобрести, чтобы работы получались реалистичными. Он обращает внимание, что для рисования «в цифре» следует обзавестись теми же навыками, что и в традиционной технике. Итак, приобщимся к его опыту.
+122
Дайджест полезных статьей для начинающих предпринимателей
2 min
40K
В нашу кампанию часто обращаются начинающие предприниматели. Помимо автоматизации торговли их часто волнуют и прочие вопросы связанные со стартом бизнеса. Специально для них мы подготовили этот материал, в котором собрали наши 10 лучших бизнес-статьей уходящего года. Многие публикации снабжены доступной инфографикой. Приятного чтения!
+27
Одностраничный магазин на Phalcon PHP + AngularJS. Работа над ошибками
9 min
39K
Введение
Всем привет! Не так давно я написал публикацию «Одностраничный магазин с корзиной на Phalcon + AngularJS + Zurb Foundation», которая имела неоднозначный эффект мягко говоря. А точнее получила много отрицательных комментариев, какие-то были объективные и конструктивные, какие-то нет, и они меня заставили задуматься, почему так произошло, ведь я хотел сделать полезный мануал, который пригодиться мне и другим, начинающим писать на AngularJS.
Исповедь
Да, мануал был полезен для меня, для меня старого, того, кому в 2009 году отказали в работе в местной веб-студии, и он по сей день ни разу ни работал в команде, ни разу не работал на наёмной работе, а полагался только на себя, и главным критерием эффективности реализации проектов был один — главное, что работает. Но это я — старый, после написания той статьи, и множества комментариев, я впервые решил попробовать сделать всё по правилам хорошего тона, хотя бы ради интереса.
+23
Как собрать собственный фреймворк для iOS
9 min
16KTutorial
Среди задач мобильного разработчика, помимо самой частой (написания, собственно, приложений) периодически появляется и такая, как создание sdk.
Примерами такой задачи может быть создание sdk, использующего REST API какого-либо сервиса (реклама, аналитика, погода), библиотека реализаций алгоритмов, обработка изображений… Список практически неограничен.
Ошибки, допущенные в таком продукте, исправлять гораздо сложнее, чем при разработке приложений. В случае с приложением достаточно обновить его в AppStore, дождаться прохождения модерации и обновления пользователем. В случае же с sdk цепочка прирастает дополнительным шагом — дождаться его обновления разработчиком.
Для некоторых типов задач ситуация может усугубляться ещё и тем, что не все разработчики приложений использующие наш sdk могут быть достаточно квалифицированы. В связи с этим интеграция должна вызывать минимум сложностей. В особенности это касается рекламных sdk и аналитики, так как зачастую они встраиваются гораздо позднее основного этапа создания приложения и не всегда первоначальным разработчиком.
Любой подобный sdk обычно состоит из многих компонент: библиотеки, тестового приложения, документации, плагинов к другим инструментам. В этой статье я расскажу о сборке библиотеки в виде фреймворка, некоторых приёмах и особенностях разработки.

Примерами такой задачи может быть создание sdk, использующего REST API какого-либо сервиса (реклама, аналитика, погода), библиотека реализаций алгоритмов, обработка изображений… Список практически неограничен.
Ошибки, допущенные в таком продукте, исправлять гораздо сложнее, чем при разработке приложений. В случае с приложением достаточно обновить его в AppStore, дождаться прохождения модерации и обновления пользователем. В случае же с sdk цепочка прирастает дополнительным шагом — дождаться его обновления разработчиком.
Для некоторых типов задач ситуация может усугубляться ещё и тем, что не все разработчики приложений использующие наш sdk могут быть достаточно квалифицированы. В связи с этим интеграция должна вызывать минимум сложностей. В особенности это касается рекламных sdk и аналитики, так как зачастую они встраиваются гораздо позднее основного этапа создания приложения и не всегда первоначальным разработчиком.
Любой подобный sdk обычно состоит из многих компонент: библиотеки, тестового приложения, документации, плагинов к другим инструментам. В этой статье я расскажу о сборке библиотеки в виде фреймворка, некоторых приёмах и особенностях разработки.

+11
Подключаем NTFS на запись в Mac OS X Yosemite 10.10
2 min
117KС недавних пор по воле судеб стал обладателем Mac OS X Yosemite 10.10 и столкнулся с неприятной особенностью, что не могу записывать на внешний диск отформатированный под ntfs. Написал небольшую инструкцию, вдруг кому пригодится. Если интересно, прошу под кат.
0
Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №139 (15 — 21 декабря 2014)
5 min
32KПредлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


+30
Несколько интересностей и полезностей для веб-разработчика #35
7 min
51KДоброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.
Репозиторий с самыми актуальными вопросами на собеседовании на позицию фронтенд разработчика. Проект от команды знаменитого HTML5 Boilerplate и набрал уже более 7500 звезд на GitHub.

В «Америках» почему-то часто критикуют веб-стандарты и работу консорциума W3C в целом. Но не знаю как вас, а меня современные возможности очень даже радуют, особенно когда я вижу их реализацию. Встречайте P2P сервис для передачи файлов, основанный на технологии WebRTC и Firebase. Это веб аналог яблочного AirDrop. Лично я открыл оффлайновый учебник «Постройка.ру» по HTML лет 7-8 назад и по сравнению с тем, что мы видим сейчас — это небо и земля. Даже невзирая на объем и некоторую путаницу в спецификациях.
Front-end Job Interview Questions
Репозиторий с самыми актуальными вопросами на собеседовании на позицию фронтенд разработчика. Проект от команды знаменитого HTML5 Boilerplate и набрал уже более 7500 звезд на GitHub.
ShareDrop

В «Америках» почему-то часто критикуют веб-стандарты и работу консорциума W3C в целом. Но не знаю как вас, а меня современные возможности очень даже радуют, особенно когда я вижу их реализацию. Встречайте P2P сервис для передачи файлов, основанный на технологии WebRTC и Firebase. Это веб аналог яблочного AirDrop. Лично я открыл оффлайновый учебник «Постройка.ру» по HTML лет 7-8 назад и по сравнению с тем, что мы видим сейчас — это небо и земля. Даже невзирая на объем и некоторую путаницу в спецификациях.
+57
Я — сертифицированный PHP-специалист
4 min
33KДа, наверное, возможность применения данного выражения — греет кому-то душу, но я немного о другом.
Разрешите поделиться опытом прохождения сертификации по PHP 5.5 от компании Zend Technologies.
Моя цель:
4 года — ровно столько времени потребовалось от простого «Да, не плохо было бы получить сертификат» до «Девушка, смотрите, а я сдал»
Если у вас появится такая мысль, то открывая в очередной раз Америку, скажу — вам помогут: правильно и ясно поставленная цель; четко разграниченные сроки; план действий.
Записывать поставленные цели — старо как мир, однако, о ведении записей и планировании жизни как таковой я раньше не задумывался. «Стать десятым ZCE в Казахстане» — одна из первых записанных на бумаге и достигнутых целей.
В этом плане намтехнарям не нужно стесняться учиться и перенимать опыт у тимлидов, руководителей проектов и топ-менеджеров. Жизнь — это не только код, фичи и багфиксы.
Разрешите поделиться опытом прохождения сертификации по PHP 5.5 от компании Zend Technologies.
Моя цель:
- показать на примере, что это не так сложно, как кажется;
- не так легко, как может показаться;
- показать еще один весьма субъективный метод подготовки к тесту;
- вдохновить тех из коллег, которые возможно планировали сертификацию, но все не решались это сделать.
Путь от «да, я хочу получить статус ZCE» до покупки ваучера
4 года — ровно столько времени потребовалось от простого «Да, не плохо было бы получить сертификат» до «Девушка, смотрите, а я сдал»
Если у вас появится такая мысль, то открывая в очередной раз Америку, скажу — вам помогут: правильно и ясно поставленная цель; четко разграниченные сроки; план действий.
Цель
Записывать поставленные цели — старо как мир, однако, о ведении записей и планировании жизни как таковой я раньше не задумывался. «Стать десятым ZCE в Казахстане» — одна из первых записанных на бумаге и достигнутых целей.
В этом плане нам
+14
Yeoman для новичков
3 min
86KTutorial

Есть такие программы и утилиты, воспользовавшись которыми, пользователь возопит: «Не знаю, как я мог жить без этого инструмента раньше!». На мой взгляд, консольная утилита Yeoman, написанная на Node.JS, относится как раз к разряду таких незаменимых инструментов. Почему?
+36
WordPress для параноиков, часть 1
9 min
63KИтак, если вы счастливый владелец nginx, знатный параноик и за каким-то чертом решили поставить wordpress, то… Первое, что пришло в голову — это «надо ограничить сему творению свободу!».
Настройки учетной записи, как и настройки php5-fpm, я опущу, так как у каждого свои тараканы, а кто-то вообще на apache запускает. Но вот общие для Wordpress я опишу в этой части. Напишу о том, что сделал, что получилось и почему.
Настройки учетной записи, как и настройки php5-fpm, я опущу, так как у каждого свои тараканы, а кто-то вообще на apache запускает. Но вот общие для Wordpress я опишу в этой части. Напишу о том, что сделал, что получилось и почему.
+43
Самый простой deploy приложения на Ruby on Rails
5 min
31KTutorial

Полгода назад я написал пост Deploy приложения на RoR 4 с помощью Capistrano 3. Прошло время, я получил много положительных отзывов, но были и отрицательные. Из них можно было понять следующее:
- Инструкция слишком сложная для новичка
- Очень много всего приходится делать «руками»
Я подумал и написал gem 'capistrano3-ubuntu-server-config', который полностью настраивает Ваш «чистый» Ubuntu сервер. Всё, что Вам нужно сделать руками — создать нового пользователя и дать ему права visudo (причем давать ему права на passwordless sudo ему не надо). Он может:
- Настроить SSH (Добавить настройки 'PermitRootLogin no', 'UseDNS no', 'AllowUsers username')
- Создать и настроить swap (размер запрашивается)
- Сделать
иsudo apt-get update
sudo apt-get upgrade
- Установить из исходников и настроить как чистый Nginx, так и с модулем Pagespeed
- Установить PostgreSQL из репозитория, затем создать суперпользователя БД (имя пользователя и пароль запрашиваются)
- Установить из исходников и настроить Redis
- Установить RVM с последней версией Ruby и gem'ами Rails, Bundler
- Скопировать Ваш приватный ssh ключ (например для доступа к приватному git репозиторию) с локальной машины на сервер и добавить его в ~/.ssh/config
- Установить imagemagick из репозитория (Необходим для Paperclip, постоянно его забываю ставить)
- Установить любые дополнительные пакеты из репозитория (Запрашивает какие именно)
Можно запустить конфигурационный wizard, который узнает, что именно из вышеперечисленного необходимо сделать и заранее спросит все настройки, чтобы можно было потом пойти попить кофе, а можно запустить отдельные таски. Данный gem будет полезен не только Rails разработчикам, а всем, кто использует Capistrano для деплоя.
Эта статья раскроет следующие темы:
- Использование gem'a capistrano3-ubuntu-server-config
- Использование gem'а capistrano3-git-push
- Моя текущая миниатюрная конфигурация Capistrano
+13
AppCode 3.1 и Swift: быстрое исполнение ваших блестящих идей
4 min
15KПривет, Хабр!
У нас для вас отличные новости — в новой версии нашей IDE для разработчиков под iOS/OS X — AppCode 3.1 — появилась долгожданная поддержка языка Swift, и даже Rename refactoring для кода на этом языке.

У нас для вас отличные новости — в новой версии нашей IDE для разработчиков под iOS/OS X — AppCode 3.1 — появилась долгожданная поддержка языка Swift, и даже Rename refactoring для кода на этом языке.

+12
Дайджест интересных материалов для мобильного разработчика #83 (8-14 декабря)
4 min
21KВ новом дайджесте интересная статья про создание World of Tanks Blitz, первый взгляд на Apple Watch SDK, выход Android Studio 1.0, несколько новостей о Google Cardboard, навигация в помещениях с iBeacon и множество других полезных материалов.


+9
Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №138 (8 — 14 декабря 2014)
6 min
44KПредлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


+43
Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №137 (1 — 7 декабря 2014)
5 min
38KПредлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


+34
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity