Безпечне розгортання ElasticSearch сервера

    Після успішного переходу c MongoDB повнотекстового пошуку на ElasticSearch, ми встигли запустити декілька нових сервісів працюють на Elastic'е, розширення для браузера і в загальному і цілому, я був украй задоволений міграцією.
 
Але в бочці меду, виявилася одна ложка дьогтю — приблизно через місяць після конфігурації та успішної роботи, LogEntries / NewRelic в один голос закричали про те, що сервер пошуку не відповідає. Після логіна на дешбоард Digital Ocean'a, я побачив лист від підтримки, що сервер був припинений у зв'язку з великим вихідним UPD трафіком, що швидше за все свідчило про те, що сервер скомрометірован.
 
Читати далі →

Розробка крос-браузерних розширень

    У своїй минулій статті, я згадав про випуску браузерного розширення для Google Chrome, який здатний підвищити ефективність пошуку, за рахунок надання релевантної інформації зі статей вподобаних вам в соціальних мережах.
 
На сьогодні ми підтримуємо 3 головних браузера Chrome, Firefox і Safari, причому, не дивлячись на різницю платформ, всі збираються з однієї кодової бази. Я розповім, як це було зроблено і як спростити собі життя розробляючи браузерні розширення.
 
Читати далі →

Розширення до Google Chrome здатне поліпшити якість пошуку

  Майже 4 місяці тому, я зробив свій перший пост на Хабре, про те, як зробити соціальні лайки корисними для програміста. Вже багато води витекло, користувача база переступила 10.000 акаунтів, але пошук, як одна з основних функції програми, залишався малозатребуваним.
 
І на це було кілька причин — технічна і не-технічна. Технічна проблема полягала в тому, що пошук (заснований на MongoDB full text search) був досить повільним і не давав високої точності (особливо з російської мови). Але більше впливає не-технічна складова, а саме проблема UX.
 
Читати далі →

Збираємо найкраще в колекції і ділимося з іншими

  Одне з самих останніх змін, які ми додали в Likeastore — колекції. Колекції це простий спосіб об'єднання «лайків» в логічну групу. Що у нас вийшло і що ми плануємо з цим робити, читаємо далі.
 
Читати далі →