Дом для SMS Или что такое сервис смс-рассылки и как с ним бороться

""

Дом для SMS.
Или что такое сервис смс-рассылки и как с ним бороться



Вступление
Несмотря на то что СМС пророчат скорую смерть, в связи с приходом WhatsApp’ов и прочих интернет-приложений, она таки еще далековато. Идет не спеша и будет идти еще лет, эдак, 10. И дойдет она только тогда, когда интернет в мобильных устройствах будет у 99% населения земного шара и будет работать без сна и отдыха 7/24/365 (а иногда и 366). Поэтому еще есть смысл об этом говорить, писать и читать.
И речь здесь пойдет о том, как построить такую систему, в которой смскам будет комфортно жить и работать.
Система эта предназначена для работы на уровне агрегатора, коллектора (в хорошем смысле этого слова. Не путать с долговыми коллекторами!).
По сути, даже не важно рассылка чего планируется, SMS или почтовых писем, все подобные системы похожи. Можно брать за основу одну и строить другую, со своими целями и задачами.
В данной статье речь пойдет о тех трудностях, которые обязательно будут встречаться по ходу строительства этого «Дома».
Читать дальше →

Как работает Android, часть 3


В этой статье я расскажу о компонентах, из которых состоят приложения под Android, и об идеях, которые стоят за этой архитектурой.

Читать дальше →

Рекомендации на Avito

В этой статье пойдет речь о том, как строятся персональные рекомендации на Avito. Исторически бизнес-модель Avito устроена так, что выдача объявлений в поиске происходит по времени их размещения. При этом пользователь может покупать дополнительные услуги для того, чтобы поднять свое объявление в поиске в том случае, если со временем объявление опустилось далеко в поисковой выдаче и перестало набирать просмотры и контакты.


В контексте данной бизнес-модели не очевидно, зачем нужны персональные рекомендации. Ведь они как раз нарушают логику сортировки по времени и те пользователи, которые платят за поднятие объявления, могут обидеться за то, что чье-то другое объявление мы «поднимаем» и показываем пользователю совершенно бесплатно только потому, что наша рекомендательная модель посчитала это объявление более релевантным для какого-то пользователя.


Однако сейчас персональные рекомендации становятся “must have” для классифайдов (и не только) по всему миру. Мы хотим помогать пользователю в поиске того, что ему нужно. Уже сейчас всё более значительная доля просмотров объявлений на Avito производится с рекомендаций на главной странице приложений или рекомендаций похожих объявлений на карточке товара. В этом посте я расскажу, какие именно задачи решает наша команда в Avito.


Читать дальше →

Redmine, который вы захотите попробовать

Лет 8 тому назад я, начинающий менеджер проектов, начал работать в Redmine. Перед друзьями я хвалился, что все мои проекты хранятся в интернете! И это было круто!

Произошло это благодаря тому, что мой руководитель не на шутку увлекся Redmine, настроил всем доступ, раздал права, а сам принялся докручивать его всеми днями и ночами. Он постоянно спрашивал: «Чего тебе не хватает?», выслушивал, а на следующее утро презентовал «фичу» как «новый айфон» со словами «Really amazing».

Задачи, которые я решаю с помощью Redmine, характерны для многих продуктовых команд. Поэтому я хочу показать вам Redmine таким, каким вы его еще не видели!

image

Читать дальше →

[Перевод] Коннектор Azure Container Instances для Kubernetes

Несколько месяцев назад я рассказывал вам о выходе новой службы экземпляров контейнеров Azure (Azure Container Instances, ACI), которая максимально упрощает развёртывание контейнеров. Сегодня речь пойдёт о коннекторе Azure Container Instances для Kubernetes, который позволяет развертывать экземпляры службы контейнеров Azure в кластерах Kubernetes.

Этот коннектор является экспериментальным и его не следует использовать для реальных проектов.


Читать дальше →

Используем PubNub: эмоциональный говорящий чат своими руками

image

На удивление, в русскоязычном сегменте интернета (и на Хабре в том числе) до сих пор крайне мало информации о PubNub. Между тем, основанный в 2010-м году калифорнийский стартап успел за последние семь лет вырасти в то, что сама компания называет Global Data Stream Network (DSN), а по факту – IaaS-решение, направленное на удовлетворение нужд в области передачи сообщений в реальном времени. Наша компания – Distillery – является одним из на данный момент четырех development-партнеров PubNub, но сказано это не пустого бахвальства ради, а чтобы поделиться с сообществом вариантом использования PubNub на примере demo-проекта, который требовалось создать для получение оного статуса.

Те, кому не терпится посмотреть на код (C# + JavaScript), могут сразу пройти в репозиторий на GitHub. Тех же, кому интересно, что умеет PubNub, и как это работает, прошу под кат.
Читать дальше →

Суперкомпьютер Cray XC40 построит карту нейронов в мозге

Исследователи из Аргоннской национальной лаборатории используют суперкомпьютер Cray XC40, чтобы построить схему взаимодействия нейронов в мозге — так называемый коннектом. В XX веке ученые составили коннектом червя-нематоды — на это ушло 12 лет. Нынешние технологии позволяют систематизировать большие объемы информации гораздо быстрее.

Читать дальше →

Наш рецепт отказоустойчивого VPN-сервера на базе tinc, OpenVPN, Linux



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

  • обеспечивать отказоустойчивость и избыточность;
  • легко масштабироваться;
  • просто и быстро решать задачу добавления и блокировки пользователей VPN;
  • балансировать нагрузку между входными нодами;
  • одинаково хорошо работать для клиентов на GNU/Linux, Mac OS X и Windows;
  • поддерживать клиентов, которые находятся за NAT.

Готовых решений, удовлетворяющих всем поставленным условиям, не нашлось. Поэтому мы собрали его на базе популярных Open Source-продуктов, а теперь с удовольствием делимся полученным результатом в этой статье. Читать дальше →

Как мы отмечали 256 день года и рисовали пиксели через API

13 сентября в Контуре отмечали День программиста. В самом большом офисе разработки играли в Pac-Man и пытались съесть 280 коробок с пиццей. Одновременно полторы тысячи человек рисовали пиксели в онлайне. В этом посте четыре разработчика рассказывают, как делали праздник.



Часть 1. Рассказывает Игорь green_hippo, который стырил идею на Reddit


День программиста у нас отмечает вся компания, а не только разработчики. Поэтому была нужна идея для онлайновой игры, в которой могут участвовать все желающие. Я вспомнил, что в апреле прошёл Reddit Place — социальный эксперимент по коллективному рисованию на холсте 1000×1000 пикселей, в котором участвовал миллион человек.


Я решил, что надо сделать свой Place, с таймлапсом и API.

Читать дальше →

Своя система сборки на Linux

image

Здравствуйте! Я давно не появлялся здесь в качестве оратора, но в этот раз я решил поделится кое-чем, что сделал сам, а также узнать — нужно это, не нужно, как можно доработать и вообще услышать любые отзывы о моих деяниях.

Мотивация



Проблема сборки и запуска проекта на разных машинах преследовала меня всегда. Для того, чтобы реалистично смоделировать работу разрабатываемого сайта на локальной машине нужно установить Web-сервер, Application-сервер, возможно, к ним присоединится какой-нибудь ещё промежуточный сервер, установить базу данных, настроить базу данных. Для того, чтобы установить тестовый сайт на тестовый сервер, нужно проделать такую же работу. И позже тоже самое с рабочим сервером.
Кажется, что проблема решается легко — напиши все команды в файл и просто запускай его везде. Решение относительно хорошее, но не идеальное, и вот почему. К примеру, на одном из серверов уже установлены нужные пакеты и база данных там готова. Но не до конца, к ней не применены последние миграции. Придётся открывать файл с командами и вытаскивать оттуда нужные, дабы не получить ошибку или чтобы что-то не сломать.
Читать дальше →


Последние посты