Search
Write a publication
Pull to refresh
4
0
Lev Lybin @lybin

Разработчик Python / Team Lead Ведущий (Lead)

Send message

Автоматизация работы интернет-радио на Linux

Reading time18 min
Views33K
Привет, `whoami`.

В этом посте я расскажу тебе об одном из методов автоматизации интернет-вещания – не самом надежном, но самом бюджетном. Сразу предупреждаю, что эта система заточена на использование ее под Linux, хотя с помощью знакомого многим «столярного инструмента», можно и под Windows реализовать. Эта статья расчитана на начинающих IT-шников, поэтому многие моменты я постарался «разжевать». Как у меня это получилось, решать тебе, мой дорогой читатель, но если мне удалось заинтересовать тебя, прошу под кат.
Читать дальше →

Кеширующий прокси-сервер на nginx. Хитрая конфигурация

Reading time7 min
Views40K
На Хабре уже есть несколько описаний Nginx, но, думаю, моя конфигурация тоже будет интересна.
Ситуация выглядит следующим образом: есть размещённый на нескольких серверах IIS сайт (интернет-магазин), перед ним расположен балансировщик. Между ними решено установить nginx для уменьшения нагрузки на IIS.

Основная масса динамического контента отображается Ajax-ом, так что кеширование страниц каталога товаров вполне безопасно. Однако на них могут быть отзывы о товаре, за которые можно проголосовать — совсем как на Хабре, что тоже надо учесть.

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

Jelastic Cloud PaaS — статистика использования баз данных MySQL, MariaDB, PostgreSQL и MongoDB

Reading time1 min
Views3.6K
По просьбам наших пользователей выкладываем первую статистику использования баз данных в платформе Jelastic. Статистика собиралась самым простым способом. Мы подсчитали количество указанных баз данных во всех пользовательских окружениях. В статистической выборке учтено более 1000 окружений.



Исходя из статистики, на сегодняшний день лидирует MySQL, тем не менее другие базы данных тоже довольно популярны.

Распределение баз данных по регионам
Читать дальше →

Стратегия оптимизации веб-проекта с использованием MySQL

Reading time5 min
Views8.3K

Введение


В жизни любого крупного веб-проекта, особенно на PHP, но, в целом, это касается любого серверного ЯП, пригодного для веб-разработки, обычно наступает понимание, что «так дальше жить нельзя», и что настал момент, когда нужно провести оптимизацию работы сайта, чтобы он перестал тормозить (хотя бы на production).

Интересно, что, как правило, даже тяжелые фреймворки (вроде Symfony или RoR) на «медленных» языках, в production-окружении работают достаточно сносно по скорости, а основные «тормоза» вызываются SQL-запросами и неграмотным кешированием (к примеру, инициализация достаточно сложной и большой конфигурации проекта на Symfony занимает около 80 мс, а времена исполнения страницы, при этом, иногда достигают секунды и более).

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

Хочется взять и расстрелять, или ликбез о том, почему не стоит использовать make install

Reading time5 min
Views177K
К написанию сей заметки меня сподвигло то, что я устал делать развёрнутые замечания на эту тему в комментариях к статьям, где в качестве части инструкции по сборке и настройке чего-либо для конкретного дистра предлагают выполнить make install.
Суть сводится к тому, что эту команду в виде «make install» или «sudo make install» использовать в современных дистрибутивах нельзя.

Но ведь авторы программ в руководствах по установке пишут, что нужно использовать эту команду, возможно, скажете вы. Да, пишут. Но это лишь означает, что они не знают, какой у вас дистрибутив, и дистрибутив ли это вообще, может, вы вступили в секту и обкурилисьчитались LFS и теперь решили под свою хтоническую систему скомпилять их творение. А make install является универсальным, хоть и зачастую неправильным способом это сделать.

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

Firewalls — немного теории для начинающих или что надо знать перед покупкой

Reading time5 min
Views38K
Несколько лет назад мне пришлось окунуться в мир firewall-ов и найти нужный вариант. Платный/бесплатный, открытый/закрытый, железо или софт. Опций предостаточно. Сегодня все это позади и у меня уже давно есть любимый firewall, который я ставлю за считанные минуты, но тем, кто только начинает работать в этой области, хотелось бы помочь внеся хоть какую-то ясность. Надеюсь, что поможет.
Читать дальше →

Единая авторизация пользователей с поддержкой нескольких сервисов

Reading time6 min
Views68K
Yii EAuth extension При реализации одного из проектов на Yii framework у меня возникла задача сделать регистрацию и авторизацию пользователей через сторонние сервисы (Google, Facebook, Twitter, etc).

У данной задачи есть два пути решения:
  • Использовать сервис авторизации, например Loginza;
  • Реализовывать функции авторизации самостоятельно для каждого сервиса.
UPDATE: Актуальная версия и инструкция по настройке доступны на github.com. Инструкция в данной статье подходит для EAuth версии <= 1.1.3.
Я выбрал второй вариант...

Микроэлектроника – мотивации псто

Reading time8 min
Views50K
image

Дисклаймер


Мне нравится заниматься микроэлектроникой. Причем я даже не уверен, что я правильно использую слово «микроэлектроника» — может быть, я занимаюсь совсем не ей. Может быть я занимаюсь схемотехникой. Или программированием. Или программированием микроконтроллеров. Или сборкой электронных устройств. Или еще бог знает чем. Но для себя то, что я делаю, я называю микроэлектроникой – мне лень пойти почитать определение и сопоставить с тем, что я делаю — да простят меня сведущие и, возможно, обидевшиеся.
Несмотря на то, что я занимаюсь микроэлектроникой и уделяю этому занятию достаточно много времени на протяжении почти трех лет – я все еще начинающий с массой больших пробелов в знаниях. Но кое-что у меня получается и я стараюсь разобраться в вопросах, в которых все еще не разбираюсь.
Решил я написать этот пост потому, что вижу с одной стороны большой интерес к «ардуино-постам», трепет при виде мигающего светодиода, а с другой стороны какой-то непонятный мне страх самостоятельно взять и сделать что-то. Ребята, от страхов нам надо избавляться.
Читать дальше →

VRRP в Linux

Reading time4 min
Views36K
У одного молодого развивающегося провайдера на заре становления организации доступа для физ. лиц была принята следующая архитектура для сети:
  • IPoE
  • привязка порт-ip
  • выдача адресов по DHCP (опция 82)
  • маршрутизирующий сервер на Linux (CentOS)

По мере роста абонентской базы все проблемы из первых трех пунктов решались успешно. А с последним прогнозировались небольшие проблемы:
Читать дальше →

Определение кодировки текста в PHP, часть 2 — биграммы

Reading time3 min
Views8.2K
В прошлой статье был реализован алгоритм автоматического определения кодировки текста на основе частот распределения символов. В комментариях отметили: если использовать биграммы (триграммы), результат будет более точный. Тогда я отмахнулся, мол, и на одиночных символах неплохой результат получается. Но сейчас подумал, что неплохо было бы добавить надежности и точности в алгоритм, тем более использование биграмм вместо одиночных символов сильно кушать не просит.

Под катом — пример реализации алгоритма на биграммах, исходники и результаты его работы.
Читать дальше →

На высоте

Reading time2 min
Views2.2K


В городе Челябинске есть замечательный трубоэлектросварочный цех «Высота 239» принадлежащий ОАО «Челябинский Трубопрокатный Завод» и уже не раз засветившийся в объективах фотокамер пользователей Интернета.

Но мало кто знает о том, что компания IBM помогала создать систему управления основными активами, техническим обслуживанием и ремонтом, задействованную на заводе. Эта система была построена на базе IBM Maximo Asset Management.
Читать дальше →

OpenCL: универсальность и высокая производительность или не так все просто?

Reading time5 min
Views10K
На Хабре уже были статьи об OpenCL, CUDA и GPGPU со сравнениями производительности, базовыми понятиями и примерами, поэтому рассказывать об основах и принципах работы я тут не буду, даже код не покажу. Но я хочу описать в чем заключаются реальные трудности при использовании GPU (про ограничения и их последствия), почему нельзя сравнивать производительность CPU и GPU, а также про то насколько “универсален” OpenCL на самом деле.
Читать дальше →

Утечка конфиденциальных данных глазами 96%

Reading time1 min
Views1.5K
Ретроспектива сюжетов Первого канала, посвященная утечке информации через поисковики. В сюжетах можно услышать официальные точки зрения от представителей участвующих в драме компаний.


UPD Добавил еще один ролик, про секретные и ДСП документы.

еще шесть сюжетов

Chosen: сделай выпадающие списки более дружественными

Reading time1 min
Views55K
Плагин Chosen создан для оформления красивых и удобных выпадающих списков с помощью jQuery и Prototype. Для установки плагина достаточно просто скачать файлы и прописать одну строчку:

$(".chzn-select").chosen()
(версия для jQuery)

По умолчанию в Chosen вместо длинного текстового списка предлагается поле, по нажатию на которое появляется список. Поддерживается автодополнение ввода, выбор нескольких пунктов меню, элемент optgroup и др. Выглядит вполне нативно. В общем, лучше один раз увидеть.

Поскольку Chosen заменяет стандартный элемент HTML, то не нужно беспокоиться, как он работает с браузерами без поддержки JavaScript. Также не нужно ничего менять в бэкенде: формы сабмиттятся как обычно, изменения только в пользовательском интерфейсе.

Некоторые форки:
Chosen для MooTools
Модуль Chosen для Drupal 7

Imperavi: удобный и действительно красивый JS WYSIWYG редактор

Reading time1 min
Views22K
В продолжение темы о красивой и удобной JS визуализации (http://habrahabr.ru/blogs/javascript/124899/) хочу рассказать вам о WYSIWYG редакторе, на который сегодня случайно наткнулся.

Вы наверное часто используете различные WYSIWYG редакторы в ваших проектах. Я их тоже часто использую, так уж получается, что они очень нравятся секретаршам и т.д. нашим пользователям.

Таких редакторов существуют десятки, но все они мне почему-то не нравилисись: то выглядит уж очень топорно, то работает совершенно криво. В конце концов я остановился на TinyMCE. Он хоть и ужасен на вид, но рабоет стабильно.

И вот сегодня я совершенно случано наткнулся на редактор, который мне полностью подходит:
  • работает стабильно
  • выглядит очень стильно
  • написан на jQuery

Имя этому чуду – Imperavi.
Попробуйте сами и думаю, что вам понравится.

Скриншот:
image

UPD
Более новая версия редактора: http://imperavi.ru/redactor/.

Решение проблемы часовых поясов в веб-приложении

Reading time2 min
Views31K


Запуская наш проект в регионе, где часовой пояс был отличен от московского, мы столкнулись с проблемой разницы местного времени и времени сервера (московский часовой пояс). Надо сказать, что логика работы проекта сильно привязана к датам и времени и оставлять дату в московском времени было нельзя. Практически все даты у нас хранились в MySQL базе в формате DATETIME, что, как в последствии оказалось, не лучшим образом подходит для организации работы приложения в нескольких часовых поясах.
Читать дальше →

Азы IP-телефонии от Cisco или знакомство с Cisco CallManager Express

Reading time5 min
Views152K
Совсем недавно на нашу организацию вышел клиент, который попросил настроить IP-AТС на основе платформы Cisco 2921 и софта Cisco CallManager Express (CME). Клиентами разбрасываться не прилично в наше время, посему решили данную услугу оказать.

Взялся я за это дело не столько с целью срубить бабла для компании, сколько с целью ознакомиться как у этой самой Cisco устроена Ip-телефония, с целью саморазвития то бишь.

Ознакомился. Тема приятная; для меня как для цискаря работать гораздо удобнее нежели чем с Asterisk.

Писать про возможности CME можно много. Сегодня расскажу про самые его основы.
Попробуем решить простую задачу: есть пара телефонов — один работает по SIP, другой по SCCP, надо заставить их звонить друг на друга. Как это сделать — под катом.
Читать дальше →

Интересный прогресс-бар

Reading time5 min
Views39K
В данном обзоре я хочу показать как можно расширить возможности компонента Progressbar плагина jQuery UI. Для начала поставим перед собой задачи, которые мы и будем решать:
  • прогресс-бар должен быть динамическим, т.е. «бежать вперед» (заполняться) с течением времени
  • возможность задавать параметры «бега» бара
  • удобство визуального использования. К примеру отображение текущего процента заполнения прогресс-бара

Остановимся подробнее на параметрах «бега». Бар можно параметризовать различными образами: задавая время запуска, шаг и период; время финиша, шаг и период; время старта, время финиша и шаг. Я остановился на последнем, т.е. для инициализации нашего прогресс-бара достаточно указать время старта, время финиша и шаг.
Читать дальше →

Защита персональных данных — как быть и что делать?

Reading time3 min
Views21K
Многие уже в курсе, что 1 июля окончательно вступили в силу положения закона ФЗ-152 «О персональных данных». Федеральный закон, регулирующий деятельность по обработке (использованию) персональных данных, претерпел значительные изменения, которые могут сильно подпортить бизнес большинству компаний.

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

В связи с тем, что на данный момент менее 5% компаний готовы соблюдать эти требования, на рынке появилось множество системных интеграторов и специалистов в области информационной безопасности, готовых помочь компании продолжить работать в штатном режиме за N-ую сумму (от 10 000 рублей до unlim рублей).

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

Ну что же, «судный день» настал, и я хочу поделиться собранной информацией по этой теме. Надеюсь, эта информация поможет многим сэкономить десятки, а то и сотни тысяч рублей.
Читать дальше →

Сохраняем безопасно свои данные: p2p файловая система с шифрованием в облаке

Reading time5 min
Views5.8K
Сегодня идея облачного хранения файлов популярна у всех. О данной технологии пишут в интернете, говорят по телевидению. Однако не все готовы доверять свои личные данные чужим серверам и чужим администраторам сервера, ведь как бы не шифровали (проприентарные) программы, все равно возможно существует возможность прочесть ваши данные. Поэтому для безопасного хранения личных данных стоит задуматься об использования открытых технологий с шифрованием.

Для шифрования была выбрана распределенная файловая система Tahoe-Lafs, построенная на технологии p2p. Достоинство данной технологии, что файлы шифруются и записываются на ноды в виде кусочков (подобно bittorrent). А сохранять данные будем в программу wuala (облачную проприентарную файловую систему, аналог dropbox).
Читать дальше →

Information

Rating
Does not participate
Location
Бангкок, Таиланд, Таиланд
Registered
Activity