Pull to refresh
-1
0

User

Send message

Настройка окружения для PHP разработчиков

Reading time9 min
Views45K
В данной статье мы рассмотрим настройку окружения для PHP разработчиков с использованием Vagrant, Docker, Xdebug, PHPUnit, и интеграцию с IDE PHPStorm.

+

Требования


  • Окружение должно развертываться на Windows, MacOS, Linux
  • Установка должна быть максимально простой
  • Быстрая работа с файловой системой
  • Интеграция с IDE PHPStorm
  • Несколько версии PHP интерпретаторов (5.6, 7.0)

Читать дальше →
Total votes 38: ↑33 and ↓5+28
Comments62

Верстка: отображаем пользовательский контент

Reading time8 min
Views33K
Под пользовательским контентом в этой статье мы понимаем любой текст на странице, автором которого является пользователь. Чаще всего это комментарии, пользовательские записи «на стене» в микроблоге, информация «о себе» в профиле и все в таком роде. Задача не то чтобы очень сложная, но требует внимательности и хорошего понимания основ верстки. В этой статье сделана попытка собрать воедино то наиболее важное, что нужно знать о верстке, включающей пользовательский текст.


Читать дальше →
Total votes 57: ↑53 and ↓4+49
Comments18

Автоматизированная установка WordPress на VPS с помощью Ansible

Reading time6 min
Views15K
Добрый день, Хабр.

Не так давно я начал разбираться с замечательным инструментом для любого DevOps — Ansible. Сегодня хочу представить на ваш взыскательный суд небольшую вводную статью по использованию этого, во многом прекрасного, инструмента. Итак, начнем.

Что такое Ansible


Ansible — это инструмент для автоматизации задач системного администратора и не только. Если своими словами — это та штука, которая позволяет автоматически настраивать сервера пачками.

Кто-то скажет, что он не нужен, т.к. есть Chef, Puppet, etc. Я с этими людьми абсолютно соглашусь. Если вы можете использовать эти инструменты — отлично. Я же пишу эту статью для тех, кто хочет немного понять как работает Ansible и как с его помощью можно многое автоматизировать.

Если вы до этого не сталкивались с Ansible вообще, то советую почитать статью компании Селектел. Отличная статья.

Максимум автоматизации


Давайте определимся, что нам нужно, чтоб запустить Wordpress на VPS сервере с установленной Ubuntu:
  • Nginx
  • Mysql
  • PHP5
  • Memcached для использования W3Total Cache плагина
  • Wordpress

Вот в таком порядке мы и будем писать роли для настройки сервера.
Читать дальше →
Total votes 9: ↑6 and ↓3+3
Comments3

Пишем форум с нуля на Ruby on Rails и AngularJS

Reading time27 min
Views39K
Не так давно я рассказывал о геме Oxymoron, позволяющем очень просто и быстро строить современные Single Page Application на AngularJS и Ruby on Rails. Статья была встречена весьма позитивно, поэтому пришло время написать более-менее сложное приложение, чтобы показать все возможности гема.
Читать дальше →
Total votes 36: ↑29 and ↓7+22
Comments31

На пути к созданию собственного движка интернет магазина

Reading time4 min
Views17K
Моя статья не открывает каких-либо технологических новшеств и скорее преследует цель узнать мнения Хабравчан. Возможно ваши соображения помогут остановиться и выбрать правильный путь.

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

Выбор тогда пал на два движка ImageCMS и HostCMS. Сейчас пройден уже достаточно немалый путь, но чем дальше я иду, тем больше сомневаюсь, правильный ли выбираю путь.
Читать дальше →
Total votes 16: ↑10 and ↓6+4
Comments72

Nginx и https. Получаем класс А+

Reading time4 min
Views163K
image

Недавно вспомнилось мне, что есть такой сервис — StartSsl, который совершенно бесплатно раздаёт trusted сертификаты владельцам доменов для личного использования. Да и выходные попались свободные. В общем сейчас напишу, как в nginx настроить HTTPS, чтобы при проверке в SSL Labs получить рейтинг А+ и обезопасить себя от последних багов с помощью выпиливания SSL.

Итак, приступим. Будем считать, что у вы уже зарегистрировались на StartSsl, прошли персональную проверку и получили вожделенный сертификат. Для начала опубликую итоговый конфиг, а после этого разберу его.
Читать дальше →
Total votes 61: ↑52 and ↓9+43
Comments85

Очень шустрый блог на WordPress при помощи связки nginx + PHP-FPM + MariaDB + Varnish

Reading time13 min
Views92K
В данной статье я расскажу о том, как я заставил свой блог на WordPress летать за счёт грамотного кэширования, сжатия и другой оптимизации серверной и клиентской сторон. На момент написания статьи характеристики VDS следующие:
CPU: 1 x 2GHz
HDD: 10Gb
RAM: 512Mb
OS: Debian 8 x64

Схема работы системы выглядит следующим образом:

image
Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments49

Правила хорошего тона при написании плагина на jQuery

Reading time7 min
Views32K
Правила хорошего тона при написании плагина на jQueryЯ написал уйму плагинов на jQuery. Если посмотреть код всех плагинов, сортируя их по дате публикации на github, то можно проследить эволюцию кода. Ни в одном из этих плагинов не соблюдены все рекомендации, которые будут описаны ниже. Все что будет описано, лишь мой личный опыт, накопленный от проекта к проекту.
Писать расширения на jQuery довольно просто, но если хотите узнать как написать их так, чтобы потом их было просто поддерживать и расширять, добро пожаловать под кат.
Читать дальше →
Total votes 31: ↑27 and ↓4+23
Comments36

collectd + front-end

Reading time3 min
Views11K


Как показывает практика — бoльшая часть клиентов никак не мониторит используемые ресурсы, арендуемых ими услуг (особенно это заметно на дешевых услугах VPS от 3$).То есть, после установки системы и настройки необходимого для проекта софта, дальнейшая судьба сервера отдается на откуп случаю. И, когда появляются проблемы с работоспособностью сервера, информации для анализа не слишком много.

Кроме установленного и настроенного логирования в atop (который так же встречается не часто), логов системы, хотелось бы иметь больше информации с которой можно работать.

В данной статье будет описана процедура установки и настройки collectd и collectd-web на примере ОС семейства Debian.
Читать дальше
Total votes 20: ↑18 and ↓2+16
Comments14

Библиотека, облегчающая разработку форм на сайтах

Reading time7 min
Views30K
Привет, Хабр!

Хочу поделиться с общественностью своей небольшой (всего 6 Кбайт) js-библиотекой, которая сильно облегчает мне работу с формами при разработке сайтов, и позволяет сократить написание кода.
Читать дальше →
Total votes 30: ↑23 and ↓7+16
Comments18

Favicons, Touch Icons, Tile Icons и т. д. Что выбрать?

Reading time6 min
Views154K
От переводчика.
Это перевод статьи Филипа Бернарда с сайта css-tricks.com. Часть статьи, содержащую описание работы с созданным им сервисом, я позволил себе опустить. Если вы найдете ошибки, просьба сообщить о них в личном сообщении.

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


Фавикон был представлен в 1999 году, в Internet Explorer 5 (источник) и стандартизирован W3C несколько месяцев спустя. Это была маленькая иконка, представляющая сайт.



С тех пор большинство настольных браузеров следуют тенденции и используют фавикон тем или иным способом. Это очень просто, не так ли? Создать маленькую картинку и добавить в любой интернет-проект, чтобы сделать его «завершённым». Ничего сложного.
Или нет?
Total votes 73: ↑71 and ↓2+69
Comments44

Простой парсинг сайтов с помощью SlimerJS

Reading time2 min
Views68K
В виду отсутствия хорошего материала по парсингу с помощью скриптового браузера SlimerJS и наличия свободного времени решил написать небольшую статью.


Читать дальше →
Total votes 47: ↑41 and ↓6+35
Comments15

Облака — ещё дешевле

Reading time5 min
Views115K
Наверняка вы слышали о сервисах Amazon EC2, Rackspace и им подобным. Может быть даже пользовались. Лично мне бывает нужен иногда личный VPN-сервер. Для этих целей я уже давно держал микро-инстанс на Амазоне, предоставляемый им в течении первого года бесплатно. Плюс использовал для архивов Amazon Glacier, который с его ценой «1 цент за гигабайт в месяц» можно считать тоже почти бесплатным. Но вот год закончился и за EC2 стало нужно платить. Архивы мои тоже разрослись прилично и затраты на Glacier аналогично перестали радовать.

Случайно пробежавший мимо обзор сервиса DigitalOcean по-началу оставил меня равнодушным. Ну, облачный сервис, ну виртуалки. Ну да, чуть-чуть дешевле (но не так чтобы уж очень), чего-то аналогичного Glacier вроде бы нет да и вообще оно того не стоит.

Я сильно ошибался. Ниже будет рассказано как на базе DigitalOcean сделать себе VPN-сервер в пару десятков раз дешевле такого же на Амазоне и сервис хранения архивов, в бесконечность раз дешевле Glacier.
Читать дальше →
Total votes 120: ↑102 and ↓18+84
Comments87

Оптимизируем VPS за 5$ (512MB RAM / 1 CPU) так, что сайт на wordpress выдерживает нагрузку в 42,735,587 хитов в день

Reading time9 min
Views96K
Когда вы приобретаете сервер VPS с 256MB или 512MB оперативной памяти на борту и лишь часть мощности процессора, то использовать для таких сервисов как MySQL/PHP/Apache настройки по умолчанию является очень плохой идеей. В настоящее время у меня запущено 3 сайта на самом дешевом тарифном плане с 512MB RAM/1 CPU. Не уверен полностью, но посещаемость составляет порядка 5-10 тысяч посетителей в день. Далее я хочу поделиться инструкцией как оптимизировать LAMP используя всего лишь 512 MB и при этом не уходя в swap. Обычно при такой настройки используется 256 – 378Mb памяти и все работает довольно быстро.

Определяем доступную память и активность swap.

Перед началом оптимизации давайте взглянем на количество используемой памяти. Для этого необходимо выполнить следующую команду:

$ free -m

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

$ ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -r | less


Настраиваем LAMP сервер для потребления малого количества оперативной памяти. Останавливаем, отключаем ненужные сервисы

Первый и очевидный вопрос, который необходимо задать — это «какие сервисы мне не нужны в использовании?». Недавно, я обнаружил очень удобную утилиту для управления сервисами. Она называется "sysv-rc-conf" и управляет сервисами при помощи псевдографики и флажками. Выгдялит вот так:



Здесь представлен список сервисов, которые я изменил.

  • Postfix. Этот сервис позволяет отправлять и получать почтовые email сообщения для домена. Я использую для этих целей Google Apps для отправки почты и mailchimp для новостных подписчиков. Таким образом я остановил и отключил этот сервис.
  • Bind9. Он нужен для управления DNS записями Вашего домена. Его можно отключить, так как все DNS записи хранятся у хостера.
  • SSHD. Имеются и другие реализации, которые используют гораздо меньше памяти, но они не поддерживают sftp, поэтому данный сервис я оставил без изменений.


Не запускайте X-сервер, выключите все ненужные сервисы и настройте Apache, MySQL, PHP только с базовой необходимой функциональностью.
Читать дальше →
Total votes 131: ↑81 and ↓50+31
Comments85

Установка Windows 7/8 на Mac без использования оптического привода

Reading time4 min
Views399K
На многих компьютера Mac сегодня отсутствует оптический привод: он просто не идет в комплекте на macbook air и mac mini, на некоторых MacBook/iMac заменен на дополнительный 2.5-дюймовый диск, а некоторых компьютерах привод может просто не работать.

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

Я перепробовал много способов — пытался установить с USB флешки/диска, все было тщетно (далеко не каждый mac загружается с флешки или внешнего диска). Refit также ничего не дал — был темный экран. Данный способ был просто спасением.
Читать дальше →
Total votes 67: ↑48 and ↓19+29
Comments64

N900: жизнь без Nokia

Reading time5 min
Views12K
Ещё когда Nokia и Intel объявили о создании MeeGo стало ясно, что перспективы Nokia N900 и её Maemo 5 операционной системы не очень хороши. В скоре стало известно, что MeeGo официально не поддерживает N900, то есть сборку этой ОС для девайса делают добровольцы, не имея доступа к закрытым драйверам Nokia (что ведет к ряду проблем, как видно и из работы NITDroid).

Однако прошивка PR1.3 в итоге не стала последней, прошивки выходят каждую неделю! Также и нехватка игр перестала быть проблемой. Всё это произошло буквально за последние 2-3 месяца, и за хабракатом я расскажу, какие же возможности дало устройству сообщество.
Читать дальше →
Total votes 66: ↑62 and ↓4+58
Comments85

Обзор программ для прекрасных дам

Reading time5 min
Views41K
Привет хабр, вот тебе пост на первый день весны.
Стремительно приближается красный день календаря8 марта, им его и посвятим.

Купил я жене новый ноутбук, а в старом жила у неё программа для учёта месячных.
«Очень нужная штука» — сказала мне жена, — «не хочу с ней расставаться».
Нормальный мужик возьми бы, да и поставь её на новый компьютер и забудь, но это не про меня. Решил я разобраться, до чего дошёл прогресс в этой области программирования, и выбрать самое лучшее. Оказалось, что пригодных русскоязычных программ не так уж и много, а точнее, всего 5.
Вот и расскажу о них по порядку, авось кому пригодится такой обзор.
Очень надеюсь, что столь интимная тема здесь никого не смутит. Такова уж физиология Homo Sapiens.

Итак, список претендентов на поселение в новом супружеском ноуте выглядел так:

· 4WomenOnly (Версия 7)
· Женский Календарь FeminaSoft (Версия 2.7/3.0) «Total Ovulation Control»
· Овуляшки (Версия 1.6.5) — в девичестве Woman calendar Слесарева Э.В. (Версия 1.1b)
· WoCa (Женский календарь) Alyamkin Ilya (Версия 1.3.2)
· BlooDays (Версии 3.01 или 3.2.1 — разницы, как оказалось, никакой)

Я сразу расположил их по степени навороченности и в этом же порядке опишу основные фишки.
Читать дальше →
Total votes 113: ↑68 and ↓45+23
Comments54

Монтируем диски NTFS для записи в MacOS X 10.9 Mavericks

Reading time2 min
Views34K
Понадобилось мне на днях сделать бэкап (около 75 гигабайт разных файлов) на внешний жесткий диск, да вот незадача — отформатирован он в файловую систему NTFS — вроде бы другие операционные системы давно пишут на нее без проблем, а в MacOS пришлось использовать «свое решение».

И так, изучив, то что мне предлагает google, выяснилось что надо купить либо Paragon NTFS, либо Tuxera NTFS, либо использовать бесплатное решение.

После ряда экспериментов, выяснилось, что наиболее простой способ — это поставить пакет ntfs-3g из MacPorts и подменить /sbin/mount_ntfs

Система портов MacPorts была у меня давно установлен (я ставил из него mc, wget и другие полезные утилиты, к которым привык в ОС Linux, такие как pwgen, например).

На чистой системе его нет — следовательно его необходимо установить согласно инструкциям на www.macports.org — скачать и запустить скрипт установки.

Далее, установим osxfuse и ntfs-3g

sudo port install osxfuse ntfs-3g

И чтобы была полная автоматизация, то есть автоматически монтировался носитель (а не вручную) подменяем mount_ntfs

sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.orig
sudo vi /sbin/mount_ntfs
Читать дальше →
Total votes 27: ↑21 and ↓6+15
Comments32

Планктонная Windows

Reading time4 min
Views11K
Короткая заметка об опыте автоматизации восстановления Windows.

Введение


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

Постановка задачи


Вполне понятно, что все это хозяйство разрушается со временем различными троянами и вирусами, самый мощный, беспощадный и непредсказуемый из которых имеет ДНК мало отличающуюся от вашей или моей. Запуск EXE прямо из почты с пометкой СПАМ одно из наиболее безобидных занятий. Все сидят в Интернете понятное дело (кроме касс). Уговоры и показательные порки никакие не помогают, разъяснение термина офисный планктон не возымело ни малейшего эффекта. Некоторые дамы особенно ядреные. Что-то нужно предпринимать кардинальное, не ездить же в самом деле по каждому факту для ручного восстановления ОС. Причем бюджета как такового практически нет, весь бюджет — экономия на возможном отказе от подписки KAV. Да и от основной работы отвлекаться нельзя категорически, это подработка же всего лишь.

Принятые меры


Дальнейшее во-многом очевидно. Для рядовых пользователей Windows заморожена с помощью купленной в нужном количестве Deep Freeze (утилита уже описывалась на Хабре), что позволяет после перезагрузки получить девственно чистую ОС и главное позволяет сэкономить на антивирусах, файерволах и обновлении железа. Можно использовать аналогичную программу — это дело вкуса. Для серверов же выполняются регулярные образы диска с системой. Почту загнал в Google Apps, клиент trayos.com — все-таки GMail от вирусов сам по себе уже весьма неплохо защищает. Однако с рабочими станциями имеем целый ряд проблем. Далее в порядке возрастания сложностей.
Читать дальше →
Total votes 109: ↑94 and ↓15+79
Comments55

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity