Как стать автором
Обновить
5
0
Алексей @Aleksey3a

Пользователь

Отправить сообщение

Отчет с конференции Lucene Revolution

Время на прочтение5 мин
Количество просмотров3.9K
В начале октября мне удалось побывать на конференции Lucene Revolution, которая проходила в городе-герое Бостоне. Эта конференция была посвящена открытым поисковым технологиям Apache Lucene и Apache Solr. Мне кажется, что на хабре в частности и в рунете в целом этим технологиям уделяется незаслуженно мало внимания. Давайте исправим это упущение.

Читать дальше →
Всего голосов 41: ↑38 и ↓3+35
Комментарии10

Быстрый полнотекстовый поиск ElasticSearch

Время на прочтение6 мин
Количество просмотров219K
image
При разработке высоконагруженных сайтов или корпоративных систем частенько возникает проблема с разработкой быстрого и удобного поискового движка. Ниже перечислены наиболее важные, на мой взгляд, требования к такому движку:

  • Скорость
  • Простота установки и настройки
  • Цена (желательно бесплатно и с открытым кодом)
  • Обмен информацией в формате JSON (по HTTP)
  • Масштабируемость (возможность распределения на несколько серверов)
  • Индексация в режиме реального времени
  • Multi-tenancy (гибкость в настройках под индивидуального пользователя)
  • Возможность переноса системы в облако

Хочу рассказать вам о новом поисковом движке Elasticsearch, который полностью удовлетворяет всем этим требованиям. В статье будет краткое описание, ссылка на авторитетную презентацию, а также описание установки и работы с ним.
Читать дальше →
Всего голосов 69: ↑63 и ↓6+57
Комментарии61

Экстремальная сестра Земли. Прошлое и будущее «Утренней Звезды»

Время на прочтение10 мин
Количество просмотров163K


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

Ниже под катом мы постараемся разобраться какие космические и геологические процессы предопределили столь большую разницу между Венерой и ее сестрой Землей. А так же, какие действия человечества в будущем могут вернуть «утренней звезде» статус тропического рая.
Читать дальше →
Всего голосов 151: ↑147 и ↓4+143
Комментарии87

Под капотом Redis: Строки

Время на прочтение9 мин
Количество просмотров32K
Если вы знаете, почему простая строка `strings` в Redis займёт в оперативной памяти 56 байт — вам, думаю, статья не будет интересна. Всем остальным я попробую рассказать, что такое строки в Redis и почему использующему эту базу данных разработчику важно понимать, как они устроены и работают. Это знание особенно важно, если вы пытаетесь рассчитать фактическое потребление памяти вашим приложением или планируете строить высоко нагруженные системы статистики или учёта данных. Или, как часто бывает, пытаетесь срочно понять, почему вдруг ваш экземпляр redis стал потреблять неожиданно много памяти.
Читать дальше →
Всего голосов 55: ↑54 и ↓1+53
Комментарии3

Первая программа для OS X своими руками — менеджер буфера обмена

Время на прочтение6 мин
Количество просмотров27K
Больше года прошло с тех пор, как я увлекся программированием под платформу iOS. Наконец-то я нашел свободное время попробовать свои силы на платформе OS X. Если вы давно испытываете интерес к платформе OS X, но никак не соберетесь начать, эта статья для вас! Под катом подробное описание процесса создания приложения — менеджера буфера обмена. Все исходники можно найти на github.com/k06a/Clipshare


Читать дальше →
Всего голосов 97: ↑84 и ↓13+71
Комментарии45

Расширяем возможности PHPMailer

Время на прочтение11 мин
Количество просмотров42K
Добрый день!
Наверное все, кому приходилось отправлять почту из кода на PHP через SMTP, знакомы с классом PHPMailer.
В статье я расскажу о том, как можно в несколько строк кода научить PHPMailer принимать в качестве дополнительного параметра IP адрес сетевого интерфейса, с которого мы хотим осуществить отправку. Естественно, что эта возможность будет полезна только на серверах с несколькими белыми IP адресами. А в качестве небольшого дополнения мы отловим достаточно неприятного жучка из кода PHPMailer`а.
Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии9

Краткий список WYSIWYG редакторов от Марка Андреева

Время на прочтение4 мин
Количество просмотров358K

Однажды мне потребовался WYSIWYG редактор, я помнил как он выглядит, его функции, но не помнил названия. Через 45 минут я все же его нашел… Тогда я поставил перед собой задачу помочь многим, в том числе и себе: сделать сводный список всех чуть более известных WYSIWYG редакторов.
Читать дальше →
Всего голосов 201: ↑178 и ↓23+155
Комментарии89

Денвер в кармане.

Время на прочтение1 мин
Количество просмотров19K
Ставим денвер на флэшку.

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

Решил попробовать поставить на флэшку и не мучиться. Вставил в комп, запустил run.exe и работаешь, закончил, вставляешь в другой комп работаешь дальше. При этом все изменения сразу делаются на флэшке.
Читать дальше →
Всего голосов 10: ↑5 и ↓50
Комментарии24

jQuery для JavaScript-программистов

Время на прочтение12 мин
Количество просмотров71K
Примечание: ниже расположен перевод статьи «jQuery for JavaScript programmers», в которой автор высказывает свое мнение об этой библиотеке, ориентируясь, в первую очередь, на продвинутых программистов, и приводит несколько десятков примеров ее использования.

Когда jQuery увидела свет в январе 2006, я подумал: «очередная красивая игрушка». Выбор CSS-селекторов в качестве базиса было, конечно, изящной идеей (подробнее о ней в моей заметке getElementsBySelector), но использование цепочек преобразований выглядело немного замысловато, и сама библиотека, по-видимому, не покрывала всех возможных случаев. Я расценивал тогда jQuery только как временное и проходящее решение.

Только несколько месяцев спустя понял я, насколько же ошибался по отношению к ней. jQuery является просто произведением инженерного искусства. Она умело покрывает достаточно широкой диапазон повседневных функций и предоставляет при этом удобный API для расширений, с помощью которых можно добавить любую другую функциональность. Абстрактность в ней заложена на уровне ядра — речь идет о выборе DOM-элементов — и она извлекает из него максимум пользы. И что важнее всего, использование этой библиотеки подразумевает следование хорошему стилю в программировании и хорошо сочетается с другими частями JavaScript-кода.

Большинство современных обзоров jQuery делают упор на дизайнеров и неопытных разработчиков. Я попытаюсь объяснить, почему она также нужна и опытным программистам.

Читать дальше →
Всего голосов 47: ↑46 и ↓1+45
Комментарии121

АльфаCтрахование Мобайл. Как мы объединили несколько ИТ-систем в одном приложении: кейс

Время на прочтение10 мин
Количество просмотров14K
image
Практически все в нашей жизни — будь то здоровье, имущество или турпоездка — может быть застраховано. Более сотни страховых продуктов с индивидуальными процессами по оформлению страховых случаев и возмещению убытков, а также — несколько ИТ-систем. Это ровно то, что мы увидели, когда начали работать над проектом сервисного мобильного приложения «АльфаСтрахование Мобайл». Суть приложения сводилась к нетривиальной задаче объединить все страховые продукты и процессы «АльфаСтрахование» — сделать для мобильного пользователя единый канал коммуникации со страховой компанией на все случаи жизни.

Примем как аксиому, что клиентам нужен мобильный доступ к страховым сервисам. Дальше теоретически есть два варианта: иметь несколько отдельных приложений по каждому виду страхования или все-таки делать единое приложение для управления всеми полисами. Первый вариант более простой с точки зрения разработки, второй — значительно сложнее, но куда удобнее для пользователя. Мы пошли вторым путем.
И вот что получилось
Всего голосов 16: ↑14 и ↓2+12
Комментарии8

Амнезия FreeBSD

Время на прочтение4 мин
Количество просмотров26K
Я никогда не понимал как работает распределение памяти во FreeBSD. Из всего многообразия документации полезное помнилось, лишь

An urban myth has circulated for years that Linux did a better job avoiding swapouts than FreeBSD, but this in fact is not true. What was actually occurring was that FreeBSD was proactively paging out unused pages in order to make room for more disk cache while Linux was keeping unused pages in core and leaving less memory available for cache and process pages.


Ну лучше чем Linux, да и пусть. Я не против. Но хуже самого непонимая процесса выделения памяти меня убивала Inactive память. Что это такое и можно ли «это» безболезненно использовать? Считать ли эту память доступной для использования приложением?

Под cut'ом больше вопросов чем ответов.
Читать дальше →
Всего голосов 31: ↑23 и ↓8+15
Комментарии19

PHP-Дайджест № 77 – интересные новости, материалы и инструменты (1 – 17 января 2016)

Время на прочтение4 мин
Количество просмотров21K


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

Приятного чтения!
Читать дальше →
Всего голосов 60: ↑55 и ↓5+50
Комментарии4

Чистим интернет от назойливой рекламы (AD Blocker для MikroTik)

Время на прочтение6 мин
Количество просмотров145K


Данная статья является логическим завершением небольшой дискуссии с тов. vvzvlad, которая развернулась под топиком "Чистим домашний интернет от очень назойливой рекламы (Ad's blocker для OpenWRT)", где автор с помощью wget, sed и cron на OpenWRT успешно сливает файлы рекламных хостов, парсит и подсовывает dns-серверу dnsmasq.

Переадресовывая клиента при запросе «рекламного» домена, например, на loopback (127.0.0.1 — 127.255.255.255), вместо котента рекламы клиент получит благодатное «ничего» (разумеется, при условии, что у нас не работает локальный веб-сервер который слушает локалхост). Механизм фильтрации довольно старый и не лишен недостатков. Например, нельзя указать маски хостов (*.ad-domain.tld) или «вырезать» рекламу, баннеры которой хостятся на запрашиваемых ресурсах. Но зато не привязан к какому-то либо протоколу и довольно прост в эксплуатации. Более того, если его использовать, например, на домашнем или офисном маршрутизаторе, который используется в качестве DNS сервера, реклама успешно порежется на всех гаджетах, где IP нашей железки прописан первым в качестве DNS сервера.

Но что если у нас вместо роутера с кастомной прошивкой используется… MikroTik (RouterOS), функционал которого накладывает некоторые ограничения? Под катом вы узнаете каким образом удалось успешно "сконвертировать" файл хостов в пригодный для него формат, как автоматизировать это дело и что для хабралюдей в качестве бонуса был создан небольшой сервис как раз для автоматизации этого процесса (маленький, абсолютно бесплатный и с открытыми исходниками).
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии63

Node.js и новый фронтенд в вебе

Время на прочтение5 мин
Количество просмотров46K
(Дата оригинала — 7.10.2013. У оригинала — очень оживлённая дискуссия в комментариях)

Фронтенд-разработчики имеют довольно долгую и сложную историю в программировании. Долгое время отправляемое в браузер было так легко отобразить, что не было настоящей потребности в этой специализации. Многие считали, что они были просто графическими дизайнерами с немного другими выразительными средствами. Мысль о том, что они могли в один прекрасный день специализироваться в веб-технологиях, HTML, CSS, Javascript — была смехотворной; в лучшем случае — пользовательский интерфейс их удел или, в конце концов, кто-то мог специализироваться на том и другом и иметь эту работу.
Читать дальше →
Всего голосов 75: ↑59 и ↓16+43
Комментарии40

ntop вернулся. Релиз нового поколения — ntopng

Время на прочтение2 мин
Количество просмотров61K
ntop это сетевой зонд, который показывает использование сети подобно *nix приложениям top и processes.
Спустя 15 лет с момента представления оригинального ntop, пришло время создать новый, современный ntop. Мы называем его ntopng, ntop next generation (ntop следующее поколение). Цели преследуемые этим приложением многогранны:

  1. Публикация под GNU GPLv3
  2. Представление современного, основанного на HTML5 и Ajax веб интерфейса (предостережение: вам нужен современный браузер для использования ntopng)
  3. Небольшой движок приложения, разумное потребление памяти и отказоустойчивость
  4. Возможность определить протокол приложения с помощью nDP, DPI (Deep Packet Inspection) фреймворка ntop'a c открытым исходным кодом

Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии27

Mikrotik. Failover. Load Balancing

Время на прочтение12 мин
Количество просмотров291K
Когда у меня встала необходимость разобраться, как сделать failover или load balancing, имея два и более каналов в мир, я нашел множество статей и инструкций, в которых описывались рабочие конфигурации. Но почти нигде не нашел разъяснения, как все работает, и описания отличий разных вариантов. Хочу исправить эту несправедливость и собрать простейшие варианты построения failover и load balancing конфигураций в одной статье.

Итак, у нас есть роутер, который соединяет нашу локальную сеть и два канала в интернет (основной ISP1 и резервный ISP2).

Давайте рассмотрим что же мы можем сделать:

Сразу предупрежу: несмотря на то, что в этой статье буду все описывать для mikrotik, не буду касаться темы скриптов
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии45

Big Data от А до Я. Часть 1: Принципы работы с большими данными, парадигма MapReduce

Время на прочтение6 мин
Количество просмотров518K

Привет, Хабр! Этой статьёй я открываю цикл материалов, посвящённых работе с большими данными. Зачем? Хочется сохранить накопленный опыт, свой и команды, так скажем, в энциклопедическом формате – наверняка кому-то он будет полезен.



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



Начинать надо от простого к сложному, поэтому первая статья – о принципах работы с большими данными и парадигме MapReduce.


Читать дальше →
Всего голосов 58: ↑51 и ↓7+44
Комментарии35

Big Data от А до Я. Часть 2: Hadoop

Время на прочтение9 мин
Количество просмотров231K
Привет, Хабр! В предыдущей статье мы рассмотрели парадигму параллельных вычислений MapReduce. В этой статье мы перейдём от теории к практике и рассмотрим Hadoop – мощный инструментарий для работы с большими данными от Apache foundation.

В статье описано, какие инструменты и средства включает в себя Hadoop, каким образом установить Hadoop у себя, приведены инструкции и примеры разработки MapReduce-программ под Hadoop.


Читать дальше →
Всего голосов 44: ↑38 и ↓6+32
Комментарии8

Дайджест интересных материалов для мобильного разработчика #118 (24-30 августа)

Время на прочтение3 мин
Количество просмотров11K
Новая подборка с интересными материалами о разработке, дизайне и монетизации мобильных приложений — Urho3D, отказ Apple от работы со Сбербанком, разрешения Android, эксперименты с рекламой и многое другое!

Читать дальше →
Всего голосов 19: ↑14 и ↓5+9
Комментарии0

Cloudify и его использование в OpenStack. Первый шаг

Время на прочтение9 мин
Количество просмотров6.3K

Общее


В этой статье я хочу рассказать о системе оркестрации и автоматизации Cloudify и привести пример установки её внутрь облака OpenStack, текущей версии IceHouse и последующего разворота тестового приложения.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии0

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность

Специализация

1C Developer