Pull to refresh
149
0
Александр Майоров @0xy

Geekjob.ru — анонимный поиск работы

Send message

Пара способов отправить уведомления на смартфон со своего сервера

Reading time9 min
Views87K
В этом туториале я рассмотрю пошагово, как отправлять со своего сервера уведомления на свой (или не свой) смартфон, какие средства для этого понадобятся. Эти способы универсальны и подойдут для любого языка программирования, т.к. напрямую используют API гугла, без использования библиотек. Отправить можно на смартфоны с Android, iOS и в браузеры с поддержкой Push API (на сегодня это Chrome, Firefox и их производные).

В общем всем тем, кто давно хотел отправлять уведомления со своего домашнего сервера на свой смартфон, но не знал с чего начать, посвящается.
Хочу отправлять свои уведомления!
Total votes 49: ↑43 and ↓6+37
Comments81

Дюжина приемов в Linux, которые действительно сэкономят уйму времени

Reading time9 min
Views136K


Эта статья также есть на английском.

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

Командная строка для администратора или пользователя — это не только инструмент, которым можно сделать все, но и инструмент, который кастомизируется под себя любимого бесконечно долго. Недавно пробегал перевод на тему удобных приемов в CLI. Но у меня сложилось впечатление, что сам переводчик мало пользовался советами, из-за чего важные нюансы могли быть упущены.

Под катом — дюжина приемов в командной строке — из личного опыта.
Читать дальше →
Total votes 128: ↑122 and ↓6+116
Comments168

Как сделать веб-приложение для вашего собственного Bluetooth Low Energy девайса?

Reading time19 min
Views46K
Несколько недель назад я, развлечения ради, собрал простенькую роботизированную руку (а-ля манипулятор) и решил прикрутить к ней управление со смартфона через Bluetooth. Опыта в разработке нативных мобильных приложений у меня пока нет, с Apache Cordova я уже знаком, а вот задействовать Web Bluetooth API было бы интересно, приправив фишками Progressive Web Apps.

Картинка Для Привлечения Внимания
Картинка Для Привлечения Внимания, ведущая под кат


На первый взгляд может показаться, что статей по ключевым словам достаточно: есть спецификация Web Bluetooth, подробная статья в блоге Google Developers с примерами, есть подробный разбор Bluetooth Low Energy, примеры реверс-инжиниринга протоколов различных BLE устройств и даже моргания «умными» лампочками и получения данных от фитнес-браслетов прямо из браузера — что может пойти не так?
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments8

Создаем Telegram бота на API.AI

Reading time9 min
Views109K

Чат боты — довольно интересная тема, которой интересуются как гики-энтузиасты, так и компании, которые хотят организовать взаимодействие со своими клиентами наиболее удобным для них способом


Сегодня я опишу вам простой пример создания бота Telegram с использованием платформы для создания разговорных интерфейсов API.AI, который будет приветствовать пользователя и отвечать на вопросы о погоде. По большей части я следовал этим инструкциям, в реальной практике, можно не ограничиваться погодой и реализовать интерфейсы
для автоматизированной поддержки или продаж.

Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments9

Использование фронтенда профилировщика Chrome в собственных проектах

Reading time3 min
Views8.4K
Возможно, вы знаете, что у браузере Google Chrome есть встроенный профилировщик. Но даже из тех людей, кто его видел, большинство считает, что использовать его можно только для отладки Javascript или отрисовки кадров в браузере. Но на самом деле его весьма просто можно прикрутить в качестве средства визуализации данных профилирования в вашем проекте.

Я не открою здесь каких-то уникальных секретов, например, Colt McAnlis писал о подобном применении профилировщика Chrome в игровых проектах ещё в 2012 году. Всё, написанное там, всё ещё является правдой, а я напишу ещё один материал — просто для лучшего распространения знаний о столь полезном инструменте.

Предыстория


Для некоторой части нашей системы сборки кода мы когда-то написали простенький профилировщик (называется TinyProfiler). Он достаточно тривиален — замеряет время выполнения определенных блоков кода и создаёт набор HTML+SVG файлов, которые визуализируют эти данные в стиле flame-графов:

image

Это, в принципе, неплохо работало, но полученный HTML был не очень интерактивным. Можно было подвести мышку к определенному блоку и увидеть его название во всплывающей подсказке, но на этом все удобства и заканчивались. Не было ни зума, ни фильтрации, ни скрола, ни поиска — в общем ничего, чего хотелось бы получить от более-менее профессионального инструмента. Всё это можно было, конечно, сесть и написать, но… зачем же это делать, если можно этого не делать? Ведь уже есть кто-то (разработчики Chrome), кто всё это уже сделал.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments0

Деловая игра Kanban-пицца в офисе Туту.ру

Reading time2 min
Views5.2K


Приглашаем всех желающих 14 сентября поучаствовать в деловой игре под названием Kanban-пицца! Мы в игровой форме расскажем о принципах и правилах Kanban, обсудим аспекты применения методологии и ее преимущества для ИТ-отрасли, а также поделимся опытом реального построения процессов.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments4

Веб-камера, Node.js и OpenCV: делаем систему распознавания лиц

Reading time5 min
Views39K
Компьютерное зрение — это, в двух словах, набор технологий, в основу которых положены принципы человеческого зрения, которые позволяют компьютеру видеть и понимать то, что он видит. На первый взгляд вроде бы просто, но на самом деле это далеко не так.



Если вы хотите осознать важность компьютерного зрения и узнать об областях его применения, посмотрите это видео.

Как говорится: «лучше один раз увидеть», в данном случае — увидеть, как Amazon использует эту технологию для создания торговых центров нового поколения. Потрясающе, правда?

Если вы хотите приобщиться к технологиям компьютерного зрения — предлагаю поговорить о том, как создать интерактивную систему распознавания лиц с использованием обычной веб-камеры, Node.js и OpenCV.
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments6

Будущее веб-технологий: создаём интеллектуального чат-бота, который может слышать и говорить

Reading time10 min
Views19K
Голосовые интерфейсы в наши дни вездесущи. Во-первых — всё больше пользователей мобильных телефонов используют голосовых помощников, таких как Siri и Cortana. Во-вторых — устройства, вроде Amazon Echo и Google Home, становятся привычным элементом интерьера. Эти системы построены на базе программного обеспечения для распознавания речи, которое позволяет пользователям общаться с машинами с помощью голосовых команд. Теперь же эстафета, в обличье Web Speech API, переходит к браузерам.

image
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments3

Что за черт, Javascript

Reading time17 min
Views159K


Этот пост — список забавных и хитрых примеров на JavaScript. Это отличный язык. У него простой синтаксис, большая экосистема и, что гораздо важнее, огромное сообщество.


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

Читать дальше →
Total votes 104: ↑89 and ↓15+74
Comments155

Управляем чайником SkyKettle из GNU/Linux

Reading time6 min
Views30K

Вступительно


Довольно много даже и на Гиктаймс рекламируют технику компании Redmond которая поддерживает технологию R4S — Ready For Sky.

Все бы ничего, но техника эта управляется по Bluetooth со смартфона. И больше никак. Есть, говорят, вариант с каким-то шлюзом и управлением из облака… но выставлять мой любимый чайник наружу — никакой радости.

Ситуация складывается странная. С одной стороны Ready For Sky состоит в консорциуме — allseenalliance, который, вроде бы, какой-то опенсорсный. С другой — ни фрагмента кода, ни строчки документации на протокол своего чайника я не видел. Я подозреваю что внутри что-то вроде чипа NORDIC SEMICONDUCTOR — и возможно надо читать доку на него.

Любой кто покупает технику с закрытыми протоколами совершает насилие над будущим.

Эта статья описывает первый шаг в управлении чайником в GNU/Linux — возможности включать и выключать его из консоли (с оговорками). Это важно потому, что если вам хочется чаю — вы не отрывая рук от клавиатуры ставите его кипятиться. Потом идете его пить. До этого — надо было искать смартфон и клацать в него пальцами — тут уж проще до чайника дойти. Еще один плюс — мультиплексирование доступа — пока можно держать только один смартфон подключенным к чайнику, а результаты консольного запроса можно транслировать в много мест.

Расширить этот подход до небольшого веб-приложения я думаю сможет каждый.
Дальше
Total votes 16: ↑15 and ↓1+14
Comments29

Собеседование для фронтенд-разработчика на JavaScript: самые лучшие вопросы

Reading time9 min
Views211K
Недавно мне довелось побывать на встрече участников проекта FreeCodeCamp в Сан-Франциско. Если кто не знает, Free Code Camp — это сообщество, нацеленное на изучение JavaScript и веб-программирования. Там один человек, который готовился к собеседованиям на позицию фронтенд-разработчика, попросил меня подсказать, какие вопросы по JavaScript стоит проработать. Я немного погуглил, но не смог найти подходящего списка вопросов, на который я бы мог дать ссылку и сказать: «Разбери эти вопросы и работа твоя». Некоторые списки были близки к тому, что мне хотелось найти, некоторые выглядели очень уж простыми, но все они были либо неполными, либо содержали вопросы, которые вряд ли кто станет задавать на реальном собеседовании.

image
Читать дальше →
Total votes 58: ↑41 and ↓17+24
Comments118

Про Reflect API доступным языком

Reading time6 min
Views42K


Всем привет! Недавно услышал, как одни молодые фронтендеры пытались объяснить другим молодым фронтендерам, что такое Reflect в JavaScript. В итоге кто-то сказал, что это такая же штука, как прокси. Ситуация напомнила мне анекдот:

Встречаются два майнера:
— Ты что-нибудь понимаешь в этом?
— Ну объяснить смогу.
— Это понятно, но ты что-нибудь понимаешь в этом?

Вот и с Reflect в JS для кого-то получилась такая же ситуация. Вроде бы что-то говорят, а для чего —  непонятно. В итоге я подумал, что стоит об этом рассказать еще раз простым языком с примерами.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments18

#!ProgMsk Meetup: Виртуализация и DevOps в офисе Tutu.ru

Reading time1 min
Views3.2K
moscow programmers clubВсем привет!

3 августа проводится очередная встреча Московского Клуба Программистов в офисе Туту.ру. Всё, чем мы занимаемся в Туту.ру, — на 100% пропитано информацией и технологиями для её сбора, хранения, интеграции и анализа.

На этом митапе наш CTO ( Molodoi ) поделится инсайдами о том, как в реальности происходит разработка и сопровождение кода в Туту.ру на жизненных примерах. Затем…
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments4

Создание веб-приложения на Go в 2017 году. Часть 4

Reading time5 min
Views31K
Содержание

В этой части я попытаюсь кратко пройтись по пропущенным местам нашего очень упрощенного веб-приложения на Go.

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

Nsynjs – JavaScript-движок с синхронными потоками и без колбеков

Reading time6 min
Views6.6K
В этой статье я расскажу о результате своей второй попытки борьбы с колбеками в JavaScript. Первая попытка была описана в предыдущей статье. В комментариях к ней мне подсказали некоторые идеи, которые были реализованы в новом проекте — nsynjs (next synjs).



TLDR: nsynjs — это JavaScript-движок, который умеет дожидаться исполнения колбеков и исполнять инструкции последовательно.
Читать дальше →
Total votes 23: ↑17 and ↓6+11
Comments119

Подлавливаем пользователя на вводе в консоли в Google Chrome

Reading time2 min
Views20K
Привет. Решил написать про небольшую фичу хрома, которую случайно обнаружил однажды. Как её использовать — решайте сами.

Сразу покажу пример, чтобы не мусолить (тестировал на последнем Хроме, который у меня был):

var gn = Object.getOwnPropertyNames.bind(Object)

var f = function(o) {
    if(f.caller && f.caller.toString && 
       f.caller.toString().indexOf('object&&ArrayBuffer.isView(o)&&o.length>9999') > 0) {
        console.log(f.caller)
    }
    return gn(o);
}
Object.getOwnPropertyNames = f

Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments37

Must-Have: 15 игровых спрайтов для дизайнера и художника

Reading time2 min
Views24K
Создание игр – процесс трудоемкий и длительный. Но его можно ускорить с помощью готовых наборов ассетов, спрайтов, интерфейсов и массы других полезных ресурсов. Даже если вам просто нужны материалы для изучения какого-либо аспекта геймдизайна, в этом списке найдется то, что нужно.


Читать дальше →
Total votes 22: ↑16 and ↓6+10
Comments0

Английский для собеседований в IT-компании: что нужно для старта карьеры?

Reading time6 min
Views156K

Собеседование на английском — дело непростое. Но хорошее планирование и подготовка ключевых моментов сделают этот процесс более приятным и безобидным.


Читать дальше →
Total votes 45: ↑40 and ↓5+35
Comments33

CloudFlare + nginx, или экономим при помощи «кофеварки» (upd2: сверкороткий кеш динамики!)

Reading time4 min
Views14K

Добрый пятница, уважаемый %username%, жадный читатель и борец за справедливость в интернетах!

Все мы помним (гугл точно помнит!), что была такая статья CloudFlare + nginx = кешируем всё на бесплатном плане. В которой рассматривались основные принципы экономии на тарифах и серверах, путем всеядного кеширование на стороне CloudFlare файлов до 512Мб.

В данном материале мы поиграем с кодами ответов нашего сервера, чтобы съекономить еще больше золота чтобы построить зиккурат и не переходить на «enterprise plan» которые нам «offer» похожий результат в своих «offers».
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments7

CloudFlare + nginx = кешируем всё на бесплатном плане

Reading time2 min
Views56K

В бесплатной версии Cloudflare все замечательно (ей-богу сказка!), но список кешируемых форматов файлов весьма ограничен.
К счастью кеширование всего подряд (до 512 Мб на файл) можно настроить в одно два действия.

Читать дальше →
Total votes 54: ↑51 and ↓3+48
Comments6

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity