Search
Write a publication
Pull to refresh
82
0
Евгений Романенко @FessAectan

Founder of ViStep.RU

Send message

Понимая Docker

Reading time7 min
Views1.1M
Уже несколько месяцев использую docker для структуризации процесса разработки/доставки веб-проектов. Предлагаю читателям «Хабрахабра» перевод вводной статьи о docker — «Understanding docker».

Что такое докер?


Докер — это открытая платформа для разработки, доставки и эксплуатации приложений. Docker разработан для более быстрого выкладывания ваших приложений. С помощью docker вы можете отделить ваше приложение от вашей инфраструктуры и обращаться с инфраструктурой как управляемым приложением. Docker помогает выкладывать ваш код быстрее, быстрее тестировать, быстрее выкладывать приложения и уменьшить время между написанием кода и запуска кода. Docker делает это с помощью легковесной платформы контейнерной виртуализации, используя процессы и утилиты, которые помогают управлять и выкладывать ваши приложения.
Читать дальше →

Отдаем файлы эффективно с помощью PHP

Reading time3 min
Views286K
Если Вам потребовалось отдавать файлы не напрямую веб сервером, а с помощью PHP (например для сбора статистики скачиваний), прошу под кат.
Три способа отправить пользователю файл и не повесить сервер

Обзор Asterisk REST Interface (ARI)

Reading time7 min
Views68K

В начале времен единственным "поставщиком" функционала Asterisk были модули, многие из которых расширяли арсенал приложений и функций плана набора.


Тогда, в начале времен, все эти команды и функции далеко опережали свое время, и благодаря им Asterisk "уделывал" по функционалу многие коммерческие продукты.


Если возникала какая-нибудь необходимость в выходе за пределы имеющихся приложений и функций, можно было написать свой собственный модуль на языке С, и это был единственный способ расширения функционала и выхода из имеющейся "клетки", какой бы просторной она ни была.


Но разработку модуля Астериск на языке С сложно назвать тривиальной задачей. Это весьма тернистый путь, к тому же весьма рискованный, ведь критическая ошибка в своем модуле запросто приводила к полному падению Asterisk в core.


Нужны были более "мягкие" и простые способы для расширения функций и интеграции с другими системами.


Так появились интерфейсы AGI и AMI.


Читать дальше →

Прекратите проверять Email с помощью регулярных выражений!

Reading time4 min
Views318K
Серьезно, прекратите. Это пустая трата времени и сил. Поищите регулярку для проверки Email в Google, взгляните на нее — и захочется отойти подышать свежим воздухом. Вспоминается одна очень известная цитата:

Некоторые люди, сталкиваясь с проблемой, думают: «О, я воспользуюсь регулярными выражениями».
Теперь у них две проблемы.

Джэйми Завински, regex.info
Читать дальше →

30 легковесных JavaScript плагинов и библиотек

Reading time5 min
Views112K
В это обзоре мы познакомимся с 30 бесплатными JavaScript плагинами и библиотеками, которые сфокусированы на определенных задачах. Это простые, полезные и легкие решения, которые помогут сделать процесс веб-дизайна и разработки гораздо проще и быстрее.

Как и следовало ожидать ниже вы найдете много плагинов для создания ползунков, галерей с изображениями, адаптивных меню, а также много других полезных плагинов и библиотек. Также в списке представлены плагины, которые предлагают действительно уникальные функциональные возможности. Давайте взглянем на список!
Читать дальше →

N+5 полезных книг

Reading time5 min
Views58K


Привет! Это пятый с 2010 года список полезных книг. Набралась всего дюжина за два года. Смотрите, что можно скачать в дорогу или просто почитать, когда будет время, и делитесь, пожалуйста, в комментариях своими (я буду поднимать их в пост). В этой подборке довольно много социнжиниринга, точнее, тем около него. Поехали.

Конструкции, или почему не ломаются вещи, Дж. Гордон
Прекрасная, хоть и очень длинная штука, которая рассказывает про сопромат простыми словами и почти для детей. Но на уровне жёсткого хардкора. По своей полезности для осознания физики вокруг может сравниться с не менее прекрасной современной «Квантовая вселенная. Как устроено то, что мы не можем увидеть» Брайана Кокса и Джеффа Форшоу. Рекомендую обе. Будет, что почитать в дороге, если вдруг почувствуете, что играть на планшете надоело. И о чём подумать, когда выяснится, что вся та фигня, которую вам давали на уроках химии, физики и прочего в школе и университете вдруг начинает выстраиваться в стройную теорию.

Evil by Design, Крис Ноддер
Один из лучших подходов к проектированию чего-то хорошего — это спроектировать сначала самое ужасное из возможного. Пользователь обычно не скажет, как сделать ему хорошо, но точно знает, как бывает плохо. Например, юзер не говорит «я хочу, когда нажимаю на ссылку напоминания пароля, там в поле уже была введена почта», зато вполне способен сказать: «слушай, меня дико бесит, когда логинишься, тебе показывают новую страницу про то, что пароль не подошёл, и, чтобы его восстановить, надо ещё один долбанный раз вводить почту». Вся книга Криса состоит из таких «тёмных» шаблонов, когда какие-то гады намеренно вводят вас в заблуждение. Он там очень переживает за этику, поэтому вступления лучше пропустить. Единственная в этом обзоре книга на английском, но довольно простом.
Читать дальше →

Frontend-разработчики должны быть в теме всего

Reading time7 min
Views207K

Мысли Криса Койера


Одна из мыслей, которая поселилась в моей голове: должен ли frontend-разработчик быть в курсе всего? В общем смысле, frontend-разработчик может использоваться и на других рабочих местах. Вся команда разработчиков заканчивает разговор на frontend-разработчике. В этом смысл моей идеи. Frontend-разработчики создают те вещи, с которыми будут взаимодействовать люди. Все этапы разработки проходят вместе с frontend-разработчиком. Возможно, именно поэтому это такая забавная работа! Поскольку frontend-разработчик занимает центральное место в цепочке разработки, и при этом мы имеем дело с большим количеством разных специалистов, мы должны понимать их работу и иногда подсказывать, что и как сделать лучше.

От переводчика


Всем привет, с вами Максим Иванов, и сегодня мы поговорим на довольно острую тему в сфере веб-разработки. Как утверждает Крис Койер, frontend-разработчик должен разбираться в очень многих вещах, о которых не все даже и задумываются. Конечно, мы должны понимать, что frontend-разработчик не главный в процессе разработки любого онлайн-сервиса или ПО в целом. На ту же позицию frontend-разработчика вы найдете больше откликов на вакансию, чем на позицию backend-разработчиком. Но почему же тогда Крис Койер считает, что работать frontend-разработчиком сложнее, ибо ты должен специализироваться во всем. Конечно, ситуаций в жизни очень много, разные компании по-разному используют своих специалистов, но в чем наверняка должен разбираться frontend-разработчик? Об этом мы сегодня и поговорим. Жду комментариев на эту тему, а сейчас приступим.
Читать дальше →

Zabbix vs графики

Reading time5 min
Views58K
New!
Zabbix позволяет легко и удобно настроить мониторинг большого количества разных счетчиков со множества устройств. Он был открыт под GPL в 2001г, и за последние 15 лет в нем безусловно было сделано множество улучшений, позволяющих еще лучше собирать еще больше данных.
Но почему же все улучшения обошли стороной навигацию по такому большому количеству собранных графиков и их отображение?
Скандалы. Интриги. Расследования.

Как думать на SQL?

Reading time8 min
Views625K
Надо “SELECT * WHERE a=b FROM c” или “SELECT WHERE a=b FROM c ON *” ?

Если вы похожи на меня, то согласитесь: SQL — это одна из тех штук, которые на первый взгляд кажутся легкими (читается как будто по-английски!), но почему-то приходится гуглить каждый простой запрос, чтобы найти правильный синтаксис.


А потом начинаются джойны, агрегирование, подзапросы, и получается совсем белиберда. Вроде такой:


SELECT members.firstname || ' ' || members.lastname
AS "Full Name"
FROM borrowings
INNER JOIN members
ON members.memberid=borrowings.memberid
INNER JOIN books
ON books.bookid=borrowings.bookid
WHERE borrowings.bookid IN (SELECT bookid
  FROM books
  WHERE stock>(SELECT avg(stock)
    FROM books))
GROUP BY members.firstname, members.lastname;

Буэ! Такое спугнет любого новичка, или даже разработчика среднего уровня, если он видит SQL впервые. Но не все так плохо.


Легко запомнить то, что интуитивно понятно, и с помощью этого руководства я надеюсь снизить порог входа в SQL для новичков, а уже опытным предложить по-новому взглянуть на SQL.

Читать дальше →

Продвижение в социальных сетях. Часть 1 — ВКонтакте и как здесь всё устроено?

Reading time8 min
Views24K
Как правило, упоминания о рекламных возможностях Вконтакте на просторах Хабра связанны с веселыми, и порой очень прибыльными багами (например, здесь можно почитать о том, как ВК разрешал пользователям откручивать бесплатную рекламу с оплатой за клики; этот баг, кстати, до конца так и не пофиксен).

image

Нередко многие программисты появляются в комментариях к публикациям с «разоблачениями» жутких сммщиков, которые берут баснословные деньги за настройку рекламы, не давая при этом никаких гарантий. Например, в этой публикации, которая стала основным посылом к написанию данного цикла, уважаемый Drizzly утверждает, что:
Очень нелогично настройки таргетинга продавать за дополнительную цену. Наоборот нужно мотивировать рекламодателей как можно активнее пользоваться инструментами гео и соцдем таргетинга и как можно точнее нацеливать свои объявления на ЦА. В этом случае выигрывают все три стороны — у рекла выше конверсия, у площадки больше свободных площадей, меньше размазанных по тематикам реклов, выше CTR, пользователь получает рекламу релевантную его интересом. Продавать настройки таргетинга — это безумство.

Будучи человеком, который продает настройки таргетинга и услуги по продвижению как во Вконтакте, Фейсбуке, Инстаграмме, Youtube и немножечко SEO, я с ним полностью согласен. Более того, уверен, что это занятие доступно абсолютно любому человеку, имеющему хоть небольшие аналитические способности. И если у вас они есть (раз уж читаете Хабр, то с большой вероятностью есть), добро пожаловать под кат. Возможно, однажды вам придется самостоятельно разместить рекламу в соц сетях, или, как минимум, оценить адекватность работы того, кто попросит у вас за эту настройку деньги. И я искренне надеюсь, что вам пригодится эта серия публикаций. Итак, поехали!
Читать дальше →

Yum, шпаргалка

Reading time4 min
Views794K


Шпаргалка по работе с пакетным менеджером Yum (Yellowdog Updater, Modified), который используется в популярных Linux дистрибутивах: RedHat, CentOS, Scientific Linux (и других). В целях экономии места вывод команд не представлен.

Оглавление


Команды
Опции Yum
Пакет Yum-Utils
Конфигурационные файлы
Плагины
Работа через прокси
Читать дальше →

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

Reading time4 min
Views165K
image

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

Итак, приступим. Будем считать, что у вы уже зарегистрировались на StartSsl, прошли персональную проверку и получили вожделенный сертификат. Для начала опубликую итоговый конфиг, а после этого разберу его.
Читать дальше →

Мультифон от Мегафона — используем альтернативный SIP клиент

Reading time4 min
Views91K
Не хочу обсуждать целесообразность услуги как таковой — это уже обсуждалось в других топиках (#1, #2). В любом случае, услуга может быть полезна конечному пользователю, за что и выражаю благодарность Мегафону.

Также хочу восхититься сотрудниками Мегафона, готовившими продукт к выпуску — ведь кажется, что это совершенно закрытый продукт,… но даже поверхностное исследование позволяет понять, что основной функционал «Мультифона» мы можем использовать при помощи любого SIP клиента и обычного WEB браузера.
Читать дальше →

Как перезагрузить сервер?

Reading time6 min
Views135K
Abstract: описание видов ребута, рассказ про sysrq, ipt_SYSRQ, ipmi, psu.

Как перезагрузить сервер? — Это вопрос, который обычно задают ну очень начинающим пользователям, которые путаются между halt, shutdown -r, reboot, init 6 и т.д.

Опытный администратор уточнит вопрос: «а что с сервером не так?» Разные виды отказов серверов требуют разных видов ребута — и неверно выбранный вариант приведёт к тяжелейшим последствиям, из которых визит в веб-морду IPMI/DRAC/iLO с целью «доперезагрузить» будет самым лёгким. Самым тяжёлым в моей личной практике была командировка эникейщика в соседний город. С целью «нажать ребут» на одиноко стоящем сервере.

В этой статье: что мешает серверу перезагрузиться и как ему помочь.

Начнём с теории ребута.

При выключении или перезагрузке сервера менеджер инициализации (в большинстве современных дистрибутивов — systemd, в эксцентричной Ubuntu 14.04 до сих пор upstart, в архаичном хламе — sysv-init) в определённом порядке посылает всем демонам команду «выключись». И большинство демонов (например, СУБД, вроде mysql) знают, как выключаться правильно. Например, закончить все транзакции, сохранить все несохранённые данные на диск и т.д. Для in-memory СУБД, наподобие redis, это и вовсе может быть критичным: не сохранил — потерял.

Старые системы иницализации ждали неограниченно долго каждый из инит-скриптов. Например, если «шутник» добавил вам в «stop» веточку «sleep 3600», то ваш сервер будет перезагружаться час с хвостиком. А если там цифра поболе, или просто программа, которая не хочет завершаться, то и ребут никогда не закончится.
Читать дальше →

PHP-Дайджест № 80 – интересные новости, материалы и инструменты (14 – 28 февраля 2016)

Reading time3 min
Views20K


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!
Читать дальше →

Я хочу, чтобы сайты открывались мгновенно

Reading time10 min
Views140K
Здравствуйте, меня зовут Александр Зеленин и я веб-разработчик. Я расскажу, как сделать так, чтобы ваш сайт открывался быстро. Очень быстро.


Я хочу, чтобы мой сайт открывался быстро

Сервис от компании Percona для создания оптимальной конфигурации MySQL серверов и анализа SQL-запросов

Reading time2 min
Views17K
Предлагаю ознакомиться с сервисом от компании Percona, который позволяет правильно настроить конфигурацию MySQL сервера на основе конкретных условий использования и проанализировать используемые SQL-запросы на наличие ошибок и недочетов.



Анализ запросов в данном сервисе — не является заменой команде EXPLAIN, которая ориентирована на анализ производительности запроса, а является скорее дополнением, которое анализирует запрос с точки зрения его синтаксиса.

Читать дальше →

Большой ликбез: распределённые системы хранения данных в практической привязке для админов среднего и крупного бизнеса

Reading time14 min
Views59K
Современные сети и дата-центры бодро шагают к полной и тотальной программно-определяемой схеме, когда фактически неважно, какое железо вы напихаете внутрь, всё будет на софте. У сотовых операторов это началось с того, что им не хотелось ставить по 20 антенн на дом (у них узлы переконфигурируются, меняют частоты и параметры просто обновлением конфига), а в дата-центрах сначала с виртуализации серверов, которая теперь мастхэв, а потом продолжилось и виртуализацией хранилищ.

Но вернёмся в Россию 2015 года. Ниже я покажу, как «из подручных средств» (x86 машин и любых «хранилок») сэкономить денег, повысить надёжность и решить ещё ряд типовых для сисадминов среднего и крупного бизнеса задач.


На этой схеме видны обе архитектуры, о которых пойдет речь. SDS — два красных контроллера в центре с любым бекэндом, от внутренних дисков до FC полок и облаков. И виртуальный SAN, на схеме Hyper-converged storage.

Самое главное:
  • Вам плевать, что за железо стоит: диски, SSD, зоопарк производителей, старые и новые модели… — всё это отдаётся оркестирующему софту, и он приводит это к той виртуальной архитектуре, которая вам нужна в итоге. Грубо говоря, объединяет в один том или позволяет нарезать как вам удобно.
  • Вам плевать, какие интерфейсы у этих систем. SDS построится сверху.
  • Вам плевать, какие функции ваши хранилки могли, а какие не могли (опять же, теперь они могут то, что надо: решает софт сверху).

Заодно рассмотрим пару типовых задач с конкретным железом и ценами.
Читать дальше →

Видео докладов Badoo с конференции Highload 2015

Reading time1 min
Views13K
Наконец-то у нас появились видео выступления наших спикеров на Highload 2015, которые мы с удовольствием выкладываем.

Если у вас появятся вопросы к докладчикам, задавайте их в комментариях. Ребята на них обязательно ответят.

1. «Near-realtime аналитика событий в высоконагруженном проекте», доклад Александра Крашенинникова



Еще 3 отличных доклада

MongoDB как средство мониторинга LOG-файлов

Reading time9 min
Views21K
В этой статье я расскажу об использовании нереляционной базы MongoDB для мониторинга журнальных файлов. Для мониторинга log-файлов существует множество инструментов, от мониторинга shell-скриптами, завязанными на cron, до кластера apache hadoop.



Подход с мониторингом скриптами текстовых файлов удобен только в простейших случаях, когда, например, проблемы выявляются наличием в журнальном файле строк «ERROR», «FAILURE», «SEVERE» и т.п. Для мониторинга больших файлов удобно использовать систему Zabbix, где Zabbix Agent (active) будет считывать только новые данные и с определённой периодичностью отправлять их на сервер.
Читать дальше →

Information

Rating
Does not participate
Location
Новокузнецк, Кемеровская обл., Россия
Date of birth
Registered
Activity