Pull to refresh
4
0
bimcom @bimcom

User

Send message

Mandrill всё? Как я искал замену и нашел 2 прекрасные альтернативы Мандрилу

Reading time4 min
Views59K
TL;DR: Mandrill захотел поднять цены в 4 раза. Они нашли способ через интеграцию с MailChimp.

В феврале этого года, как гром среди ясного неба, пришло письмо от Mandrill о том, что с 27го апреля он перестаёт существовать как независимый сервис и теперь чтобы им пользоваться нужно будет интегрировать свой Mandrill аккаунт в платный аккаунт MailChimp. Именно платный, пусть даже и самый дешевый. Вот как выглядит ценник MailChimp:



Напомню, что раньше Mandrill был бесплатным для небольших проектов до 12.000 писем в месяц (около 400 в день). Сейчас же как минимум $20 + сколько напосылаешь писем.
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments69

Делаем свое популярное СМИ: 5 минут и 3 простых шага. Часть I — философия и фактография

Reading time3 min
Views3.8K
Сейчас термин «персональное СМИ» предполагает некое приложение, собирающее для вас ленты из нескольких источников. Это уже в прошлом. Теперь акцент переносится на «персональное», то есть лично ваш канал распространения контента, а СМИ из «Средства Массовой Информации» можно расшифровывать и как «Система Медийной Информации».

Для того, чтобы четче понимать, какие шаги следут сделать, чтобы создать свое персональное популярное СМИ и видеть направления стратегии развития, важно сначала оглянуться и посмотреть назад — как создавались, развивались и почему умирали прежние формы доставки и потребления информации.



Немного философии развития:

— Тысячи лет информация распространялась «ногами и устами»: глашатай, бард, акын или торговец перемещался по дорогам и странам, рассказывая на площадях, рынках и трактирах новости, указы, сказания и байки — тот же самый «стандартный медийный набор», которым потчуют нас и сегодня…
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments3

1 000 000 жилых домов России

Reading time2 min
Views68K
Есть прекрасный сайт www.reformagkh.ru. На нём можно найти, управляющую компанию, закреплённую за домом, сколько денег, на что тратится и всё такое. Но кроме этого можно узнать разные интересные вещи о нашей стране в целом, например, для каждого дома на сайте указана дата его постройки, поэтому можно посмотреть, как строилась Москва с 1900 года:



Ещё более эпичная картинка получается, если посмотреть на Россию целиком:


Читать дальше →
Total votes 86: ↑78 and ↓8+70
Comments118

Асинхронное параллельное исполнение в PHP

Reading time14 min
Views61K
Много пик сломано в мире на тему того, можно ли и как создавать многопоточность в PHP. Чаще всего все сводится к тому, что так делать нельзя или дискуссия материализуется в какие-то ужасные костыли (ох, сколько я их уже повидал). Я хочу изложить свою точку зрения на этот вопрос. Легко догадаться, что если бы моя позиция была “так нельзя” или “это зло”, то я бы не писал эту статью. Вот только погодите, не спешите доставать тухлые яйца и вооружаться мелкими бытовыми предметами для рукопашной схватки. Я постараюсь дипломатично изложить тему и максимально объективно раскрыть ситуацию. Так что самые смелые из моих читателей могут прочитать молитву от ереси и открыть статью.


Читать дальше →
Total votes 25: ↑13 and ↓12+1
Comments23

Эмулятор Android от Microsoft, охлаждение пива с IoT и Windows 10 и The Maker Show для тех, кто любит паять

Reading time2 min
Views24K
Всем привет! В эти праздничные выходные мы решили поделиться с вами несколькими свежими материалами, полезными, как для работы, так и для организации вашего собственного кружка «очумелых ручек». :)

Standalone Android-эмулятор от Microsoft


Начнем с «простого» — года полтора назад мы включили в состав Visual Studio 2015 эмулятор для Android'а. Для тех, кто следит за развитием VS, это не новость, но, как показывает наш опыт, многие не в курсе. Вкратце, история такая: x86, Hyper-V, симуляция сенсоров, различные версии Android… и, — о чем многие не догадываются, — он может работать без Visual Studio (и вообще ставиться отдельно), интегрируясь с Android Studio, Eclipse и другими инструментами, поддерживающими ADB.



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

Читать дальше →
Total votes 22: ↑17 and ↓5+12
Comments19

Реализуем свой dropDown ViewController (aka iOS 8 Mail app) в 200 строк

Reading time7 min
Views13K
Еще с beta версии iOS 8 мне очень понравилась эта новая фича приложения почты: при создании нового письма можно просто смахнуть это окно вниз и продолжить работу на предыдущем экране. Не уверен, насколько эта фича оказалась полезной конкретно в этом приложении, но идея то отличная! В тот же вечер я сел делать подобную штуку, и таки сделал свой велосипед, и на время забыл об этом.

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

image
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments13

Рекламные сети 3.0: как разработчику перестать раздражать пользователей и при этом заработать больше

Reading time12 min
Views36K
image
Широкий выбор мобильной рекламы: от мешающей до ужасающей. Во всяком случае до 2016 года.
Читать дальше →
Total votes 36: ↑30 and ↓6+24
Comments16

Художественный подход к загрузке изображений

Reading time7 min
Views7.7K
У меня, как у художницы и web-разработчика, со временем появилась необходимость в собственной галерее. Обычно, у галерей две основные функции: показ витрины — всех (или некоторых) картин — и детальный показ одной. Реализация обеих функций есть практически в любой готовой галерее. Но «заношенный» внешний вид готовых галерей и, ставший стандартом, пользовательский интерфейс не годятся для художника :). А нестандартный — требует особой архитектуры и реализации кода, осуществляющего загрузку и показ картин. Сам показ и пользовательский интерфейс я в этой статье опущу. Основное внимание будет отдано загрузке картин с сервера. Об итоговой организации контролируемой загрузки с использованием очередей, асинхронного загрузчика, обработки блоб-объектов, каскадов выполнения обещаний и с возможностью приостановки и пойдет речь.



Примеры кода записаны на coffeeScript
Читать дальше →
Total votes 17: ↑11 and ↓6+5
Comments7

Критически опасные уязвимости в популярных 3G- и 4G-модемах или как построить Большого Брата

Reading time12 min
Views23K


Данный отчет является логическим продолжением исследования «#root via SMS», завершенного в 2014 году командой SCADA Strangelove. Исследование затрагивало уязвимости модемов лишь частично, в рамках более широкого описания уязвимостей оборудования телеком-операторов. В настоящем документе представлено описание всех найденных и использованных уязвимостей в 8 популярных моделях 3G- и 4G-модемов, доступных в России и по всему миру. Найденные уязвимости позволяют проводить удаленное выполнение кода в веб-сценариях (RCE), произвольную модификацию прошивки, межсайтовую подделку запросов (CSRF) и межсайтовое выполнение сценариев (XSS).

В исследовании также описан наиболее полный набор векторов атак на клиентов телекома, использующих данные модемы — это может быть идентификация устройств, внедрение кода, заражение пользовательского компьютера, к которому подключен модем, подделка SIM-карты и перехват данных, определение местоположения абонента и доступ к его личному кабинету на портале оператора, а также целевые атаки (APT). Слайды презентации данного исследования с ZeroNights 2015 представлены здесь.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments6

Установка неподписанных программ на устройства с iOS 9 без Jailbreak

Reading time3 min
Views118K
Дорого дня, уважаемые хабражители!

Сегодня я расскажу вам о том, как можно установить неподписанное (или плохо подписанное) приложение на устройство с iOS 9. Да, без Jailbreak. Да, бесплатно. Нужен лишь компьютер с OS X и Apple ID. Как такое возможно? Читаем под катом.



Осторожно! Много картинок!
Читать дальше →
Total votes 40: ↑33 and ↓7+26
Comments33

Отправка Nginx-логов в Google Analytics

Reading time5 min
Views20K
image

С наших Download-серверов каждый день скачивается несколько миллионов драйверов (статичных .exe и .zip файлов). Для анализа поведения пользователей перед нами встала задача посчитать следующие параметры: когда, сколько, как часто и даже кто именно скачивает драйверы.

Самым очевидным решением было бы использовать инструменты типа AWstat, GoAccess, ELK stack или Splunk, а в крайнем случае собирать логи Nginx.

Но у каждого варианта есть свои минусы: неудобный интерфейс, скудность данных, сложность настройки и, самое главное, отсутствие возможности строить сегменты в пользовательских отчётах.

И тогда мы решили заставить Nginx самостоятельно отправлять события в Google Analytics сразу же после скачивания файла. Мы также смогли передать в GA уникальный идентификатор пользователя ClientID.
В результате мы получили аналитику по статичным файлам, к которым раньше невозможно было привязать счетчик GA.

Под катом готовый конфиг и примеры работы нашей системы.
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments14

PushAll может отправлять уведомления в браузер Chrome без установки приложений и дополнений

Reading time3 min
Views24K

Каким образом?


Google Chrome начиная с версии 42 поддерживает Push API через сервера Google, используя GCM Вы наверняка уже видели эти запросы для доступа к уведомлениям. Если разрешить доступ, сайт сможет отправлять вам уведомления. Эта функция совсем новая, и о ней мало кто знает, однако, по моему мнению, у нее уже есть большие недостатки:
  • Каждый сайт запрашивает разрешения в браузере, сложно контролировать, сколько источников сейчас могут присылать тебе уведомления, у каждого висит свой фоновый процесс, который отдельно просыпается, нет никакой истории полученных уведомлений или фильтрации, нет никакой синхронизации подписок между устройствами
  • Сайтам необходимо отправлять уведомления напрямую на устройства, следить за актуальностью базы устройств, следить за каждым устройством пользователя в отдельности
  • Данная возможность работает лишь на сайтах с SSL


Промежуточный сервис, который берет на себя все эти функции, может решить возникающие проблемы.




Читать дальше →
Total votes 8: ↑6 and ↓2+4
Comments13

Сенолитики — новый подход к вопросам старения и регенерации тканей

Reading time5 min
Views20K


В процессе обсуждения статьи Японские учёные, возможно, нашли выключатель старения клеток человека переросшего в обсуждение и споры о механизмах биологического старения в целом (см. комментарии), наткнулся на необычный подход к омоложению/регенерации живых тканей о котором раньше не слышал. Думаю как и большинство читателей ГТ, т.к. тематика довольно новая и будет интересно с ней ознакомиться. Суть метода сводится к попытке целенаправленного избирательного уничтожения «стареющих» клеток организма, что приводит к их естественному замещению молодыми.
Так как это работает?
Total votes 27: ↑27 and ↓0+27
Comments225

Поиск взаимосвязей на примере Нефть-Рубль

Reading time2 min
Views136K
Одна из базовых задач анализа данных — поиск взаимосвязи двух величин. Здесь я хочу показать пример поиска связи между ценой нефти и курсом рубля.

image

Во-первых надо определить, имеет ли вообще задача смысл. Почему нефть и рубль должны/могут быть взаимосвязаны? Вкратце, модель такая: экспортёры продают нефть за доллары, а затем продают доллары, чтобы получить рубли для расчётов внутри страны. Механизм крайне упрощён, надо учитывать объёмы добычи-продажи, что эскортируют не только нефть, не всегда экспортёры продают доллары, на курс валют влияет ЦБ интервенциями и т.д. И тем не менее, будем считать, что модель более-менее рабочая, то есть, что существуют фундаментальные причины для взаимосвязи цены нефти и курса рубля.
Читать дальше →
Total votes 90: ↑80 and ↓10+70
Comments87

30 чудных библиотек для PHP программистов

Reading time6 min
Views105K
Предлагаю читателям «Хабрахабра» перевод публикации «30 Amazing PHP Libraries for Programmers and Developers». Авторы собрали несколько удивительных PHP-библиотек, которые помогут реализовать некоторые классные вещи, не прилагая много усилий. Цель обзора состоит в том, чтобы преподнести что-то новое, поэтому список не включает популярные библиотеки.
Читать дальше →
Total votes 71: ↑60 and ↓11+49
Comments18

Бесплатные SSL-сертификаты на 2 года от WoSign

Reading time1 min
Views117K
Доброго времени суток, уважаемые товарищи Хабра.
На написание статьи заметки, меня побудила статья: «Мигрируем на HTTPS».

Напоминаю, что китайцы в лице компании WoSign до сих пор раздают бесплатно сертификаты и теперь не обязательно знать китайский язык для того, чтобы его получить. Метод по статье «Бесплатные SSL-сертификаты на 2 года с поддержкой до 100 доменов» на данный момент не работает и за сертификат китайцы хотят от ¥488.

Читать дальше →
Total votes 39: ↑34 and ↓5+29
Comments85

Сага о геолокации и как сделать гео-вебсервис на NGINX без движка базы данных и без программирования

Reading time6 min
Views18K
Сегодня мы поднимем довольно старую тему про геолокацию по IP-адресу и новую про быстрые веб-сервисы без «языков программирования» . Также мы опубликуем готовый образ контейнера, чтобы вы за 5 минут могли развернуть такой веб-сервис у себя.

Наша компания занимается созданием Интернет-магазинов запчастей на собственной SaaS-платформе (ABCP.RU), а также у нас есть несколько связанных проектов, например, сервис поиска запчастей 4MyCar.ru.
Как и многие другие веб-проекты, мы в своё время пришли к пониманию необходимости геолокации по IP-адресу. Например, сейчас она используется на 4MyCar.ru для определения региона (при первом входе на сайт регион автоматически устанавливается именно так).



Аналогично производится выбор ближайшего к клиенту филиала магазина на сайтах клиентов платформы ABCP.

какие этапы мы прошли, как сделали свой веб-сервис и что в итоге получилось
Total votes 17: ↑12 and ↓5+7
Comments51

API в реальной жизни: Как облегчить задачу создания сайтов для поиска и покупки автозапчастей

Reading time6 min
Views36K
image

В ходе работы над платформой для создания интернет-магазинов автозапчастей abcp.ru мы столкнулись с необходимостью разработки API.

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

Наших ресурсов на одновременное ведение нескольких таких проектов могло не хватить. Поэтому мы создали API для внешних разработчиков, которых клиенты могли бы привлекать для работы над своими сайтами. Сегодня мы подробнее расскажем о том, что у нас в итоге получилось.
Читать дальше →
Total votes 19: ↑15 and ↓4+11
Comments5

Information

Rating
Does not participate
Registered
Activity