Как стать автором
Обновить

Компания Likeastore временно не ведёт блог на Хабре

Сначала показывать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Истории

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Время на прочтение5 мин
Количество просмотров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.
Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии13

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

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

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

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

Время на прочтение2 мин
Количество просмотров19K
Для того чтобы быть крутым программистом нужно много программировать.

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

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