Pull to refresh
53
0
Алексей Алексеевич Осипенко @aratak

CTO at Cimon.io

Отслеживаем действия пользователя с помощью CSS

Reading time 4 min
Views 26K

В этом посте вы сможете узнать, почему даже с выключенным JavaScript и без плагинов, вы все равно можете отсылать поведенческие данные на сторонний сервер.


Также здесь мы рассмотрим метод, как получить поведенческую информацию от пользователей используя только HTML и CSS.


Возможно, после прочтения поста, вам покажется что я "изобрел колесо". Так и есть, методы описанные в этом посте не новы, и используют спецификации которые поддерживают практически все браузеры.


Так или иначе, эта информация поможет вам понять один нестандартный метод отслеживания поведения пользователей, который на данный момент нельзя "отключить" (в настройках) или заблокировать (плагинами вроде AdBlock или Ghostery).

Читать дальше →
Total votes 41: ↑40 and ↓1 +39
Comments 49

Эффективное внедрение зависимостей при масштабировании Ruby-приложений

Reading time 5 min
Views 12K


В нашем блоге на Хабре мы не только рассказываем о развитии своего продукта — биллинга для операторов связи «Гидра», но и публикуем материалы о работе с инфраструктурой и использовании технологий из опыта других компаний. Программист и один из руководителей австралийской студии разработки Icelab Тим Райли написал в корпоративном блоге статью о внедрении зависимостей Ruby — мы представляем вашему вниманию адаптированную версию этого материала.
Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Comments 33

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

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

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



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

Умные беспроводные наушники Bragi Dash появятся уже в марте

Reading time 2 min
Views 8.2K


Компания Bragi не обманула — наушники Bragi Dash должны появиться в продаже уже в марте этого года. Из чисто концептуального проекта устройство стало реальным гаджетом, системой, которая может оказаться полезной очень многим. Напомню, что изначально проект получил финансирование на Kickstarter — пользователи платформы выделили $3.39 млн вместо $260 тысяч, которые запрашивали разработчики. Голосование рублем (или долларом в данном случае) прошло более, чем успешно.

Работающие наушники уже были показаны на CES в этом году, где их и опробовала команда Medgadgets. О том, что собой представляют наушники, можно посмотреть в продолжении.
Читать дальше →
Total votes 16: ↑13 and ↓3 +10
Comments 15

Звезда с «мегаструктурой» на орбите: и всё-таки это не кометы

Reading time 3 min
Views 22K
image

Звезда KIC 8462852, колебания яркости которой ранее объясняли находящимся на её орбите огромным облаком комет, снова преподнесла астрономам сюрприз. Оказалось, что её яркость со временем значительно падает – это было установлено путём изучения исторических снимков неба за последние сто лет. Учёные опровергают кометную версию, но пока не знают, что предложить взамен.

В октябре 2015 года звезда с каталожным номером KIC 8462852 ворвалась в заголовки СМИ благодаря своим необычным свойствам, и почти таким же необычным объяснением этих свойств. Периодические изменения в яркости звезды привлекли к ней внимание учёных. Звезду открыли в рамках проекта Кеплер – телескоп сканировал небо на предмет звёзд, периодически меняющих яркость. Эти изменения вызваны транзитом (прохождением) планет по диску звезды – таким способом Кеплер ищет экзопланеты.

image
Данные по угасанию яркости звезды

Однако у звезды KIC 8462852 периодические затемнения составляли 15% и 22% от яркости, что слишком много для проходящей по её диску планеты. По периоду падения яркости можно прикинуть диаметр орбиты, по которой вокруг звезды движется планета. Даже если бы вокруг неё летал наш Юпитер, то он вызвал бы уменьшение яркости не более чем на 4%.
Читать дальше →
Total votes 26: ↑23 and ↓3 +20
Comments 95

Подальше от обыденной реальности: фантастические романы, которые стоит прочитать

Reading time 4 min
Views 141K
image

Фантастика как жанр заставляет читателей и писателей выйти за пределы разумного, дать волю своему воображению и отправиться в неизведанные миры. За это мы и любим этот жанр. RoboHunter этой осенью предлагает с головой погрузиться в мир научной фантастики.
Читать дальше →
Total votes 63: ↑59 and ↓4 +55
Comments 273

Roccat Kone Pure Optical 2015. Черный минимализм

Reading time 14 min
Views 14K
image

Фирма Roccat уже достаточное время занимается производством удобных девайсов, конек компании – эргономичные кошки мышки. С выходом Roccat Kone Pure Optical 2015 компания объединила все свои улучшения и наработки в совокупности с материалами в одном продукте.

На данный момент рассматриваемая мышь – одно из самых интересных творений в компании. Линейка Kone Pure включает в себя множество продуктов, включая различные вариации по установленным сенсорам, материалам мышки и цветовым решениям, но все самое лучшее объединено именно в этой мышке.

Личные ощущения, опыт использования, подробности по техчасти – под катом. В обзоре 22 фотографии и 3 видео.

Читать дальше →
Total votes 9: ↑6 and ↓3 +3
Comments 0

Выбираем мультиплатформенный движок для разработки мобильных игр (часть 1)

Reading time 4 min
Views 52K
imageРазработка мобильных приложений это весьма перспективное и выгодное занятие. Одним из самых интересных направлений являются игры. Однако, игры — это довольно сложные приложения, а учитывая, что на рынке существует как минимум две мобильные платформы, на которые стоит ориентироваться, сложность возрастает вдвойне. По этому, нам надо как то облегчить свой и без того нелегкий труд.
Читать дальше →
Total votes 63: ↑58 and ↓5 +53
Comments 66

Научно-популярные фильмы о физике

Reading time 1 min
Views 81K
Всем привет!

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

Недавно случайно наткнулся на ютубе на фильм с Брайаном Грином «Тайны мироздания» и удивился, что у видео так мало просмотров.

Не сказать, чтобы такая подача материала мне очень нравилась, но все равно, местами довольно интересно :) Может быть, будет интересно не только мне.

Сами видео под катом.
Читать дальше →
Total votes 81: ↑76 and ↓5 +71
Comments 35

Kefir.js — новая библиотека для функционального реактивного программирования (FRP) в JavaScript

Reading time 4 min
Views 22K
Наверняка многие уже слышали о подходе FRP для организации асинхронного кода. На хабре уже писали об FRP (Реактивное программирование в Haskell, FRP на Bacon.js) и есть хорошие доклады на эту тему (Программировние UI с помощью FRP и Bacon.js, Functional Reactive Programming & ClojureScript, О Bacon.js от Juha Paananen — автора бекона)

Если коротко, FRP это подход похожий на Promise, но с неограниченным количеством возвращаемых значений, и бОльшим количеством методов для комбинирования / модифицирования потоков событий. Другими словами, если Promise позволяют работать со значением, которого у вас еще нет, так, будто оно у вас уже есть, то FRP позволяет работать со значением, меняющимся во времени, так, будто оно не меняется.

Вот что это дает по сравнению с обратными вызовами:

1) Поток событий (Event stream) и значение меняющаяся во времени (Property / Behavior) становятся объектами первого класса. Это значит что их можно передавать в функции и возвращать из функций.

Например, можно создать объект содержащий клики на кнопку (поток событий), и дальше делать с ним всё, что можно делать с обычной переменной — передавать в функцию, возвращать из функции, сохранять как свойство другого обекта и т.д. Или можно создать объект отражающий текущий размер окна браузера (значение меняющаяся во времени).

Это позволяет гораздо лучше разделять ответственности в коде, разделять его на модули, и писать более гибкий, короткий и управляемый код.

К примеру можно написать функцию, возвращающую поток перетаскиваний (drag). В качестве параметров она будет принимать 3 потока — начало перетаскивания, движение, конец перетаскивания. Дальше можно передать в эту функцию: либо потоки для соответствующих событий мыши (mousedown, mousemove, mouseup), либо для touch событий (touchstart, touchmove, touchend). Сама же функция не будет ничего знать об источниках событий, а будет работать только с абстрактными потоками. Пример реализации на Bacon.

2) Явный state

Второе большое преимущество FRP это явное управление состоянием. Как известно, state — один из самых главных источников сложности программ, поэтому грамотное управление им позволяет писать более надежные и простые в поддержке программы. Отличный доклад от Рича Хикки о сложности (complexity) «Simple Made Easy».

FRP позволяет писать бОльшую часть кода на «чистых функциях» и управлять потоком данных (dataflow) явно (с помощью потоков событий), а состояния хранить тоже явно в Property.

Читать дальше →
Total votes 34: ↑30 and ↓4 +26
Comments 24

Node.js не подходит для типовых веб-проектов

Reading time 6 min
Views 104K


«Node.js не подходит для серьезных сайтов и веб-приложений, а только для написания небольших API».
This is bull*hit. I have to say it.

От переводчика: недавно на coderwall.com появилась интересная статья от Ionut-Cristian Florescu об использовании Node.js для создания обычных («типовых») веб-проектов. До ее прочтения я был полностью согласен с заголовком статьи, но сейчас мое мнение несколько поменялось. Позиция автора может быть спорной во многих моментах, но его аргументы достаточно интересны. Если у вас есть собственное мнение по этому поводу, оставляйте его в комментариях.
Читать дальше →
Total votes 117: ↑95 and ↓22 +73
Comments 178

s3ql — файловая система на базе облачного хранилища

Reading time 4 min
Views 18K
image

Описание


При помощи S3QL вы можете создать файловую систему на базе облачного хранилища Selectel Storage, которую можно смонтировать в любой современной версии OS Linux, FreeBSD или Mac OS X.
Читать дальше →
Total votes 56: ↑49 and ↓7 +42
Comments 51

NooLite-2, или умный дом для чайников

Reading time 16 min
Views 156K
После успешной проверки работы системы, я замахнулся на замену всех выключателей в доме на пульты управления, и построение «умного дома», хотя бы в части освещения.
image
В итоге получилась система, сочетающая включение/выключение света как с помощью выключателей, так и через интернет — с помощью кнопок на веб-страничке.
Как это получилось — читайте под катом.
Читать дальше →
Total votes 82: ↑74 and ↓8 +66
Comments 85

Разработка iOS приложений на Ruby

Reading time 10 min
Views 28K
В последнее время, RubyMotion становится все более популярным инструментом для разработки под iOS. После близкого знакомства с ним становится понятно, почему Ruby гораздо более привлекательный для этих целей язык, чем Objective-C.

Читать дальше →
Total votes 41: ↑30 and ↓11 +19
Comments 37

Отложенные уведомления пользователей на Node.js & Redis

Reading time 5 min
Views 9.2K
Описание задачи

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

Читать дальше →
Total votes 27: ↑26 and ↓1 +25
Comments 7

Альтернативный терминал для Windows

Reading time 18 min
Views 435K
Часто путают терминал и шелл. В тех же *nix есть шеллы (bash, csh, zsh, …) и терминалы (konsole/guake/yaquake/tilda и т.д. и т.п.) Для мира Windows общеизвестный терминал только один – стандартное консольное окошко, которое часто ошибочно называют «cmd.exe». И мало кто знает о существовании множества других эмуляторов терминала. Известных шеллов больше, их целых два: cmd.exe и powershell.exe. И хотя есть как минимум три порта bash (MinGW, CygWin, GIT) многие юниксоиды предпочитают ругать cmd.exe.

Меня не устраивал ни один из найденных альтернативных терминалов (как в 2009-м, когда я начал работу над ConEmu, так и сейчас). Казалось бы требований немного, вот основные:
Читать дальше →
Total votes 182: ↑175 and ↓7 +168
Comments 194

Всем, всем, всем: время обновлять свой CSS3

Reading time 6 min
Views 41K
Если Вы используете экспериментальный CSS на своих сайтах, в демках, статьях или инструментах, то это требует определенного рода поддержки. В связи с некоторыми недавними изменениями в мире браузеров, настало время пересмотреть и обновить Ваш код. Эта статья поможет Вам понять, что же начать обновлять уже сейчас.

Читать дальше →
Total votes 77: ↑73 and ↓4 +69
Comments 48

Онлайн-инструменты для кодеров

Reading time 2 min
Views 282K
Онлайн-сервисы становятся все популярнее, постепенно усложняя функционал и улучшая интерфейсы. В этой подборке представлены онлайн-инструменты для кодеров.

Cloud9


«Это Google Docs, только для кода» — так говорят о проекте. Облачный сервис вырос из Mozilla Bespin. Основные фишки: SSH, drag-and-drop и возможность разработки оффлайн.

Читать дальше →
Total votes 204: ↑191 and ↓13 +178
Comments 55

Пишем плагин для jQuery

Reading time 8 min
Views 246K
Эта статья призвана дать представление об основных правилах, подходах, дающих наилучшие результаты, и распространённых ошибках, на которые стоит обратить внимание при разработке плагинов для jQuery.
Читать дальше →
Total votes 171: ↑138 and ↓33 +105
Comments 67

jQuery-сниппеты и плагины для iPad

Reading time 6 min
Views 26K
Подборка простых jQuery-сниппетов и плагинов, которые помогут адаптировать сайт для отображения на iPad. Некоторые подойдут и для других тач-устройств.

Читать дальше →
Total votes 50: ↑39 and ↓11 +28
Comments 6
1

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity