Jenkins + PHP по-русски: непрерывная интеграция для php-проектов

Jenkins? Сборка? PHP? – спросите вы и сделаете удивлённые глаза О_о. Какое отношение сборка проектов, естественная для большинства компилируемых языков типа C или Java, имеет отношение к проектам на PHP? Они же не компилируются и не “собираются”.

Когда я искал материалы по непрерывной интеграции (continuous integration), мне так и не удалось найти ни одной простой статьи, где простым русским языком объяснялось бы – зачем (нафига) всё это надо применительно к PHP. Поэтому в посте я расскажу, во-первых, что к чему, а во-вторых – как это использовать в повседневной жизни. Continue reading “Jenkins + PHP по-русски: непрерывная интеграция для php-проектов”

Трудное детство русских готовых сайтов

В России при разработке сайтов сравнительно
мало используются готовые шаблоны дизайна..

Этот пост написан как отклик на статью в журнале CMS Magazine о практике разработки мобильных сайтов (адаптивная вёрстка и все дела), в которой меня зацепила фраза, вынесенная здесь в эпиграф. На сайте CMS Magazine я откликнулся в комментариях, дескать потому что рунетовские готовые шаблоны дизайна – пардон, это говно. Но как всегда, когда говоришь “говно”, желательно обосновать.

В этом посте, что не очень типично для моего блога, будет мало текста и много картинок. Continue reading “Трудное детство русских готовых сайтов”

Чтобы сайт не упал: практическое руководство

Ответ на вопрос “что сделать, чтобы сайт не упал” – один: пользоваться мониторингом. Если вы технический специалист и отвечаете за техническую сторону проекта – то пользоваться самому, если вы менеджер или предприниматель – настроить отправку уведомлений в вашу техслужбу (сисадмину).

Как мы выяснили в прошлом посте, банально мониторить “открываемость” главной страницы – скучно. И бесполезно для бизнеса. Если главная страница перестала открываться – это уже всё, финиш, всё так глубоко упало что вы можете даже не попасть на сервер в шелл. И придётся перезагружать его физически (кнопкой reset в датацентре, хорошо если у вас такая возможность есть). Continue reading “Чтобы сайт не упал: практическое руководство”

5 мифов и 5 фактов о мониторинге сайтов и серверов

Есть два типа людей – которые уже делают мониторинг
своего веб-сервиса, и которые скоро начнут это делать.

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

Миф 1: Нам не нужен мониторинг, у нас и так всё работает.

Вам пока везёт. У вас ещё ни разу не падал сайт во время вашего выступления на конференции. У вас нерадивые сотрудники случайно не удаляли важный контент. У вас не пропадал файл главной презентации продукта, о чём вы узнавали через неделю от своих инвесторов. У вас не возникало ошибок программного обеспечения (“движка”) сайта, в результате которых на экран высыпались диагностические сообщения и всё переставало работать. Continue reading “5 мифов и 5 фактов о мониторинге сайтов и серверов”

Образ VM для UMI.CMS, настройка сервера под Юми

Многие спрашивают: где достать готовый образ виртуальной машины – образ VM для UMI.CMS, чтобы настройка сервера под Юми не занимала слишком много времени у начинающих разработчиков.

На самом деле всё гораздо проще. Выкиньте из головы всю эту возню с “готовыми окружениями” и прочей ерундой. Чтобы стать профессионалом, надо разбираться в технологиях, а не пользоваться готовыми решениями от какого-нибудь доброго дяди. Поставьте убунту-сервер (установка не сложнее винды), при установке из доп.софта выберите только OpenSSH. После установки выполните эти команды: Continue reading “Образ VM для UMI.CMS, настройка сервера под Юми”

RAID на LVM

Вечер субботы омрачился тем, что на сервере из-за физического сбоя побился LVM-образ с виртуалкой под kvm. После рестарта всего железного сервера она просто перестала пинговаться. Просмотр её рабочего экрана через vnc показал, что ubuntu падает на initramfs – помирает на первых же секундах загрузки с кучей специальных букв и слов.

Во-первых о том, чего делать не надо: Continue reading “RAID на LVM”

100 000 файлов в одном каталоге

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

Для тех, кто не хочет / не может поставить эксперимент и поверить своим глазам, я привожу результаты из реальной практики: Continue reading “100 000 файлов в одном каталоге”

Плагин полнотекстового поиска по Mantis для Firefox

Многие из вас, как и я, пользуются багтрекером Mantis. Поиск по нему в штатном интерфейсе ужасен: нужно выбирать “Все проекты”, нажимать “Просмотр обращений”, листать вниз, включать соответствующие режимы (назначено, не скрывать, все категории и т.д.) и только затем вводить поисковую фразу в маленькое окошечко.

Это издевательство. Поэтому я написал небольшой плагин для Firefox, который позволяет вводить нужную фразу прямо в интерфейсе браузера. Continue reading “Плагин полнотекстового поиска по Mantis для Firefox”

Витание в облаках: разрушение мифов о технологиях Cloud

В последнее время всё больше и больше вроде бы вменяемых людей начинают молиться на облачные решения как на следующий шаг развития цивилизации. Любые новости в этой теме преподносят как исключительные инновации, к выпуску которых были привлечены огромнейшие инвестиции. Люди превозносят шаги Google и Apple как флагманов этой индустрии.

Я решил написать эту небольшую заметку, чтобы собрать в одном месте основную информацию по технологиям клауда и виртуализации, чтобы тыкать носом всех кто будет меня агитировать за облачные технологии в будущем. Continue reading “Витание в облаках: разрушение мифов о технологиях Cloud”