Pull to refresh
44
0
Игорь Щербин @ischerbin

*nix админ, увлекающийся программированием

Send message

Пример реализации autocomplete с использованием FTS движка PostgreSQL tsearch2

Reading time 4 min
Views 8.7K

Введение


Когда-то давно я написал для себя ежедневник для ведения дел, заметок и фиксации движения по разным задачам. Сделан он был изначально на связке PHP + Kohana 2 + PostgreSQL. Со временем я переписал все на Yii (первой и тогда единственной версии). Для полнотекстового поиска был задействован встроенный в PostgreSQL движок tsearch2. Много лет я пользовался системой, понемногу ее развивал и пришел к тому, что объем текстов в ней накопился приличный. Поиском приходится пользоваться весьма часто и для повышения его удобства я задумал прикрутить к нему autocomplete из состава пакета JQuery UI.
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Comments 23

Тестовое задание. Проверка вхождения точки в произвольный полигон

Reading time 5 min
Views 34K


Вводная


Сразу оговорюсь кому может быть интересна данная публикация. Это начинающие Django + JQuery программисты, интересующиеся векторной графикой в браузере с использованием canvas. Или просто люди, получившие подобное задание.
Итак, находясь в постоянном сканировании рынка труда своего региона, наткнулся на весьма интересную вакансию web-разработчика в достаточно известной местной компании. В описании вакансии было сказано, что нужен python+django разработчик. После отправки резюме получил тестовое задание которое гласило:
Читать дальше →
Total votes 21: ↑17 and ↓4 +13
Comments 52

REST клиент и сервер на Yii

Reading time 12 min
Views 34K

Введение


Все, кто использует Yii framework в разработке знают, что в качестве доступа к базам данных чаще всего в нем используется встроенный ORM компонент ActiveRecord. Однако в один прекрасный момент я столкнулся с тем, что необходимо было работать с данными, физически находящимися на нескольких удаленных серверах. Это была разработка системы централизованного управления FTP и Radius пользователями в распределенной сети компании, где я работаю, объединяющей филиалы с центральным офисом.

На самом деле ситуаций, когда может потребоваться работа с данными, расположенными на серверах в разных сетях, может быть множество. Недолгие раздумья привели к решению использовать протокол HTTP и основанный на нем подход REST. Причин было две, первая и главная — научиться разрабатывать как серверную, так и клиентскую части, использующие REST. Вторая — удобство использования HTTP протокола, а в моем случае то, что он открыт на подавляющем большинстве firewall-ов, а также может использовать proxy сервера.

Часть исходников пришлось вставить в тело статьи, потому получилось достаточно объемно.
Читать дальше →
Total votes 15: ↑9 and ↓6 +3
Comments 8

Внешние правила доступа в Postfix на примере front-end к GLD

Reading time 5 min
Views 5.3K
Так получилось, что в организации, где я работаю, в качестве почтового сервера используется Postfix. В связке с ним используются средства для фильтрации спама и вирусов Spamassassin, Amavisd-new и ClamAV. В дополнение ко всему этому реализован greylisting с использованием GLD. Последний прост в настройке «легок» в работе, но из этого вытекает один недостаток — недостаточно гибок. Дабы побороть это я обратил взор на интересную фичу Postfix — Postfix SMTP Access Policy Delegation. Информации на великом и могучем по этой теме мало. Кому интересно как добавить свои проверки до передачи данных к GLD или как реализовать свои «внешние» правила в Postfix с использованием любимых или просто привычных языков и средств — прошу под кат.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Comments 0

RESTful API для сервера – делаем правильно (Часть 2)

Reading time 9 min
Views 85K
В первой части статьи я кратко описал принципы RESTful и объяснил каким образом следует проектировать архитектуру вашего сервера так, чтобы можно было легко выпускать новые и прекращать поддержку устаревших версий вашего API. В этой части я кратко расскажу о HATEOAS и Hypermedia, а затем расскажу о роли, которую они могут сыграть при разработке нативных приложений для мобильных устройств. Но главной темой этой статьи будет реализация кэширования (точнее поддержка кэширования на стороне сервера). Целевая аудитория включает разработчиков серверного ПО и, в какой то мере, разработчиков под iOS или под другие мобильные платформы.

Читать дальше →
Total votes 27: ↑24 and ↓3 +21
Comments 14

RESTful API для сервера – делаем правильно (Часть 1)

Reading time 13 min
Views 331K
В 2007-м Стив Джобс представил iPhone, который произвел революцию в высокотехнологичной индустрии и изменил наш подход к работе и ведению бизнеса. Сейчас 2012-й и все больше и больше сайтов предлагают нативные iOS и Android клиенты для своих сервисов. Между тем не все стартапы обладают финансами для разработки приложений в дополнение к основному продукту. Для увеличения популярности своего продукта эти компании предлагают открытые API, которыми могут воспользоваться сторонние разработчики. Пожалуй Twitter был первым в этой сфере и теперь число компаний, последовавших этой стратегии, растет стремительно. Это действительно отличный способ создать привлекательную экосистему вокруг своего продукта.

Читать дальше →
Total votes 73: ↑70 and ↓3 +67
Comments 57

Гость из 90-х, ноут Fujitsu Milan

Reading time 1 min
Views 3.4K
С данным аппаратом меня лично ничего не связывает, он мне достался недавно от родственника, которому посчастливилось в 90-х пожить/поучиться в США. Родственник просто хотел его выбросить и спросил меня, как ближайшего айтишника, а не может ли «это» на что либо еще сгодится.
Я с ностальгией вспомнил времена, когда производители процессоров и чипсетов не делали специальных продуктов для ноутов. Тогда вопросы энергопотребления, компоновки и охлаждения ложились на хрупкие плечи инженеров компаний производителей ноутбуков и каждая модель была в своем роде произведением инженерного искусства.
Всех, кто осмелится пройти под кат предупреждаю — картинки/трафик!!! Также предупреждаю что фотограф я просто никакой.
Читать дальше →
Total votes 41: ↑38 and ↓3 +35
Comments 32

Nginx как Reverse Proxy для сайта, использующего SSL

Reading time 3 min
Views 125K

Введение


Как настроить nginx в качестве frontend к apache и зачем это нужно — написано неоднократно, в том числе и на Хабре. Мой случай немного отличается от классического. Начиналось все как обычно, проект на apache, увеличение количества посетителей и, связанная с ним, недостаточность ресурсов сервера. Но проект использовал SSL для защиты обмена данными с клиентами. С чем я столкнулся и как решил проблемы я расскажу под катом.
Читать дальше →
Total votes 16: ↑10 and ↓6 +4
Comments 12

Справочник email адресов компании или репликация данных в нестабильной сети

Reading time 12 min
Views 3.7K

Введение


Довелось мне работать админом в крупной компании, имеющей более 10-ти филиалов в разных городах, объединенных достаточно нестабильными и медленными каналами. Как и во многих других, основу обмена информацией в компании представляла электронная почта. Следует отметить что на каждом филиале, как и в головной конторе имеется свой почтовый сервер, управление почтовыми аккаунтами производится местным админом. Все почтовые сервера работают под управлением FreeBSD + Postfix + SpamAssassin + amavisd-new + Courier-IMAP.
Задача основная — поддержка актуального справочника email адресов всех пользователей компании для внутреннего использования, второстепенная — список имеющихся email адресов для основного почтового сервера, дабы он проверял есть ли такой адрес в компании перед тем как переслать письмо на нужный филиал.
Каналы нестабильны, частенько «падают», скорость их работы вообще непредсказуема. Кому интересно как была решена задача приглашаю под кат.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Comments 17

Как подружить Yii (ActiveDataProvider) и Text Search в PostgreSQL

Reading time 5 min
Views 3.2K

Использование PostgreSQL tsearch2 в проекте на Yii


Любой сайт — это прежде всего тексты. Для того, чтобы тексты было удобно редактировать их часто хранят в БД. При этом появляются дополнительные возможности, такие как удобный поиск по содержимому текстового поля. Старый добрый LIKE хорош, но не всегда. Есть более продвинутые вещи, такие как tsearch2 в PostgreSQL. Как им воспользоваться в Yii Framework я расскажу под катом.
Читать дальше →
Total votes 7: ↑5 and ↓2 +3
Comments 3

Information

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