Pull to refresh
23
0
Александр Белецкий @alexbeletsky

User

Send message

Безопасное развертывание ElasticSearch сервера

Reading time 5 min
Views 22K
После успешного перехода c MongoDB полнотекстового поиска на ElasticSearch, мы успели запустить несколько новых сервисов работающих на Elastic'е, расширение для браузера и в общем и целом, я был крайне доволен миграцией.

Но в бочке меда, оказалась одна ложка дегтя — примерно через месяц после конфигурации и успешной работы, LogEntries / NewRelic в один голос закричали о том, что сервер поиска не отвечает. После логина на дешбоард Digital Ocean'a, я увидел письмо от поддержки, что сервер был приостановлен в связи с большим исходящим UDP трафиком, что скорее всего свидетельствовало о том, что сервер скомрометирован.
Читать дальше →
Total votes 35: ↑27 and ↓8 +19
Comments 12

Разработка кросс-браузерных расширений

Reading time 5 min
Views 10K
В своей прошлой статье, я упомянул о выпуске браузерного расширения для Google Chrome, который способен повысить эффективность поиска, за счет предоставления релевантной информации из статей понравившихся вам в социальных сетях.

На сегодня мы поддерживаем 3 главных браузера Chrome, Firefox и Safari, причем, не смотря на разницу платформ, все собираются из одной кодовой базы. Я расскажу, как это было сделано и как упростить себе жизнь разрабатывая браузерные расширения.
Читать дальше →
Total votes 27: ↑24 and ↓3 +21
Comments 9

Переходим от MongoDB Full Text к ElasticSearch

Reading time 6 min
Views 30K
В своем прошлом посте, с анонсом Google Chrome расширения для Likeastore, я упомянул тот факт, что в качестве поискового индекса мы начали использовать ElasticSeach. Именно ElasticSeach дал достаточно хорошую производительность и качество поиска, после которого было принято решение, выпустить расширение к хрому.

В этом посте, я расскажу о том, что использование связки MongoDB + ElasticSeach, есть крайне эффективное NoSQL решение, и о том, как перейти на ElasticSearch, если у вас уже есть MongoDB.
Читать дальше →
Total votes 31: ↑28 and ↓3 +25
Comments 22

Расширение к Google Chrome способное улучшить качество поиска

Reading time 2 min
Views 11K
Почти 4 месяца назад, я сделал свой первый пост на Хабре, о том, как сделать социальные лайки полезными для программиста. Уже много воды утекло, пользовательская база перешагнула 10.000 аккаунтов, но поиск, как одна из основных функции приложения, оставался маловостребованным.

И на это было несколько причин — техническая и не-техническая. Техническая проблема состояла в том, что поиск (основанный на MongoDB full text search) был довольно медленным и не давал высокой точности (особенно по русскому языку). Но больше влияла не-техническая составляющая, а именно проблема UX.
Читать дальше →
Total votes 16: ↑9 and ↓7 +2
Comments 8

Собираем лучшее в коллекции и делимся с другими

Reading time 1 min
Views 2.6K
Одно из самых последних изменений, которые мы добавили в Likeastore — коллекции. Коллекции это простой способ объединения «лайков» в логическую группу. Что у нас получилось и что мы планируем с этим делать, читаем дальше.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Comments 0

Собрать миллион «лайков» или очереди задач в Node.js

Reading time 6 min
Views 15K
На прошлой неделе мы отметили одну круглую дату — в базе данных Likeastore скопилось, ни много, ни мало — один миллион пользовательских «лайков».

Мы используем JavaScript, все текущие сервисы написаны на JavaScript/Node.js. В общем и целом, я не жалею о использовании Node.js в нашем проекте, он отлично зарекомендовал себя как лучшее средство реализации HTTP API. Но для сбора «лайков», это должен быть daemon, который работает постоянно. Наверно, не самая типичная задача для Node.js — про специфику реализации и некоторые подводные камни, читаем далее.
Читать дальше →
Total votes 42: ↑33 and ↓9 +24
Comments 12

Почему у нас нет поддержки ВКонтакте

Reading time 4 min
Views 33K
После нашего первого анонса на Хабре к нам пришло много новых пользователей из России и одна из самых часто запрашиваемых фич была — поддержка Вконтакте. Почему нет, ведь пользователей сети Вконтакте очень много и наконец с «лайками» из этой соц. сети можно сделать что-то полезное для работы.

У нас уже накопился приличный опыт интеграции с различными API: Twitter, Facebook, Github, Behance и т.д. плюс у нас уже выделился некий boilerplate код, с помощью которого новые интреграции делаются в кратчайшие сроки. Поставив себе цель, порадовать наших пользователей на этой неделе, я вынуждуен признать — это оказалось невыполнимой задачей.

Про причины и то, каким недостатком обладает Вконтакте API, читаем далее.
Читать дальше →
Total votes 42: ↑27 and ↓15 +12
Comments 20

Советы стартапам или важность опыта

Reading time 2 min
Views 7.6K
Я слушал выступления людей, которые рассказывали, что они выучили в процессе построения компаний, инвестирования в компании, покупки компаний, продаж компаний и создания продуктов. Спустя пять лет, я слушал подобных докладчиков, с подобными докладами, на подобной конференции, для подобной аудитории. Разницей лишь было то, что годами позже, моя интерпретация всего этого была иной.

Поначалу, посещая стартап мероприятия, все казалось до банальности очевидным. Они говорят — слушай своих пользователей. Они говорят — ищите лучших людей. Они говорят — фокусируйтесь на росте. Советы для стартапов кажутся такими расплывчатыми. Мне казалось, это не те вещи на которых следует заострять внимание. Но тот небольшой опыт, который сейчас есть за плечами, дает возможность читать между строк этих стереотипных советов, и правильней интерпретировать то, что на поверхности кажется несущественным.
Читать дальше →
Total votes 4: ↑3 and ↓1 +2
Comments 0

Открываем новое и интересное с Likeastore

Reading time 1 min
Views 3K
На прошлой неделе мы добавили новую возможность, которая не только делает социальные «лайки» полезными для программиста, но также позволят открывать для себя важную и полезную информацию. Мы назвали эту возможность звучным английским словом Discover.

Философия продукта основана на том, что мы классифицируем информацию на интересную или нет через социальный «лайк». Если Ваш коллега, друг или человек с близкими интересами «лайкает» какую нибудь статью, возможно она понравится и Вам. Исходя из этого, мы решили попробовать добавить что-то на подобии «френдов» или «фолловеров» из социальных сетей и дать возможность другим людям видеть, что интересно Вам.
Читать дальше →
Total votes 21: ↑17 and ↓4 +13
Comments 9

Карманный PaaS c Dokku

Reading time 5 min
Views 19K
В своей прошлой статье я упомянул Dokku, как важную составляющую нашей инфраструктуры и сегодня хочу раскрыть эту тему подробнее.

Dokku это средство простого трансформирования Ubuntu сервера, в мини-Heroku. После установки dokku, вы получаете возможность делать:

$ git push production master

для могих популярных платформ (Node.js, Java, PHP, Python etc). Результатом процесса развертования, есть запущенное приложение, к которому сразу можно получить доступ по http/https.

Как это работает?


Если открыть репозиторий проекта, то в описании можно увидеть строчку - «Docker powered mini-Heroku in around 100 lines of Bash» — около 100 строчек баш кода, который иммитирует работу Heroku. Это довольно «легкая» реализация, как для такой большой проблемы, которую он решает.

Все объясняется тем, что Dokku стоит на плечах таких технологий как: Docker, Heroku Buildpacks, Nginx, Git.
Читать дальше →
Total votes 39: ↑36 and ↓3 +33
Comments 13

Взгляд изнутри или инфраструктура проекта Likeastore

Reading time 6 min
Views 8.6K
За относительно небольшое время, мы успели попробовать и поменять много решений, прямо или косвенно влияющих на продукт. Сегодня, я бы хотел сделать обзор инфаструктуры вокруг проекта Likeastore. Это может быть интересно многими разработчикам думающим о своем запуске.

Я пойду от железа к софту, от низких инфрастуктурных уровней к более высоким. Для всех сервисов, которые мы используем по подписке, я укажу цены. Для каждого из пункта будет небольшой комментарий, но в перспективе каждый из них может быть открыт более глубоко, в последующих постах. Поехали…
Читать дальше →
Total votes 28: ↑27 and ↓1 +26
Comments 20

Как сделать социальные «лайки» полезными в работе программиста?

Reading time 2 min
Views 19K
Для того чтобы быть крутым программистом нужно много программировать.

Но еще и важно пополнять свои знания через чтение интересного и нового. Получать информацию можно из многих источников, раньше для меня это были блоги и RSS канал. Но с течением времени, я пришел к выводу, что почти что всю самое интересное я получаю из 3 мест: twitter, github, stackoverflow.

Все эти сайты имеют одну общую фичу, контент который кажется вам интресным, легко отметить как понравившийся. Если я вижу ссылку на интересный блог пост в твиттере, новый фреймворк на гитхаб или вопрос на стековерфлоу, я обязательно ставлю «лайк». Тем самым, я показываю свою благодарность автору контента. Но можно ли получить от «лайков» что-то большее?
Читать дальше →
Total votes 62: ↑49 and ↓13 +36
Comments 59

Information

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