Как стать автором
Обновить
161
0
Джехи @jehy

Web developer

Отправить сообщение

Какую базу данных выбрать для Home Assistant

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров15K

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

Сегодня мы поговорим о том, какую СУБД (Систему Управления Базы Данными) для него лучше выбрать. Потому что очень часто в чат по HA приходят новички, и спрашивают, что им делать с MySQL, а им в ответ говорят, что они наркоманы и нанюхались одного известного видео с ютуба. А почему такая реакция, и что делать - начинающему автоматизатору понять довольно сложно без довольно специфического багажа знаний в айти. Так что надеюсь, что эта статья кому-то поможет.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии83

Публикация локального сервера из дома в интернет

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров37K

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

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

Мы рассмотрим здесь несколько сценариев - статический белый айпи, динамический белый айпи, и серый. Для серого рассмотрим варианты с готовыми сервисами, с помощью Keenetic и с помощью ssh туннеля. Погнали!

Читать далее
Всего голосов 66: ↑64 и ↓2+62
Комментарии95

Как и зачем я стал автором курса по веб-разработке?

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.3K

Всем привет! Сегодня на связи я, Женя, один из авторов курсов Яндекс Практикума. Помимо этого я разработчик в Яндекс Доставке, ролевик, отец двоих детей, одной кошки и одного эублефара. Хочу рассказать, какая кривая дорожка может довести разработчика до сотрудничества с онлайн-курсами и стоит ли оно того.

Читать далее
Всего голосов 12: ↑5 и ↓7-2
Комментарии1

Умный дом для геккона и сверчков: год спустя

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.6K

Примерно год назад я уже писал, как собрал умный дом для моего любимого эублефара.

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

Читать далее
Всего голосов 26: ↑25 и ↓1+24
Комментарии8

Умный дом — теперь и у геккона

Время на прочтение6 мин
Количество просмотров8.2K

Недавно при странных обстоятельствах у меня появился вот такой зверь.

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

Читать далее
Всего голосов 24: ↑24 и ↓0+24
Комментарии21

Алиса, открой ворота — или MVP умного дома за пару вечеров

Время на прочтение7 мин
Количество просмотров37K

TLDR: Схожих постов на Хабре десятки, но мне хотелось показать, что внезапно можно
очень быстро сделать классные штуки, которые не ради вау эффекта, а реально помогают жить.


Будет про:


  • Home Asistant
  • Алису и её станции
  • Ардуины и MQTT
  • управление воротами Came
  • локальное управление яндекс розетками
  • датчики движения
  • Влажность, температуру и CO2
  • Автоматический полив цветочков
  • Как при помощи всего этого развлечь детей и как они находят свои способы с этим играть.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии51

Как «активный гражданин» приучает людей к фишингу

Время на прочтение2 мин
Количество просмотров26K

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

Читать дальше →
Всего голосов 98: ↑92 и ↓6+86
Комментарии51

Снимаем покрытие кода с уже запущенного Node.JS приложения

Время на прочтение5 мин
Количество просмотров3.7K

И снова я про тестирование и покрытие.



Наверное, вы уже поперхнулись кофе от вопроса "Зачем снимать покрытие с запущенного приложения" — но такая потребность периодически возникает.


Например:


  • Узнать покрытие интеграционных тестов без инстурментализации кода, завершения приложения и выгрузки репорта какими-то сторонними средствами;
  • Узнать без долгого ковыряния кода, по каким именно модулям приложения прошёл запрос;
  • Определить "мёртвый" код, который по факту не используется в приложении;
  • Узнать список транзитивных зависимостей, которые используются на определённые запросы.

Интересно? Поехали!

Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии0

Как мигрировать с mocha на jest в 15 простых шагов — и зачем

Время на прочтение10 мин
Количество просмотров9.9K


Уже давно я заглядывался на фреймворк для тестирования jest, в котором есть огромное количество всяких вкусных фишек, одна из которых — многопоточное выполнение тестов. При условии того, что у меня был проект на 5000 юнит тестов, миграция обещала быть крайне полезной. Далее я расскажу 14 простых шагов, за которых мне удалось мигрировать — пусть и с некоторыми оговорками — и что мы в результате получили. Спойлер — всё получилось очень круто.

Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии5

Зачем нужно столько разработчиков?

Время на прочтение5 мин
Количество просмотров8.4K

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


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


Читать дальше →
Всего голосов 26: ↑21 и ↓5+16
Комментарии19

Deno: время Node.JS уходит?

Время на прочтение8 мин
Количество просмотров53K


Прошло примерно 18 месяцев с внутреннего релиза Deno, вышел preview release, появилось несколько статей на Хабре, и Райан ездит по конференциям и рассказывает о нём. Однако я нигде так и не видел сколько-нибудь вдумчивого разбора этого проекта — почему-то все ограничиваются переводом документации...


Что же, давайте попробуем это сделать сейчас. Последние 5 лет я пишу на Node.JS, а компания OneTwoTrip, где я сейчас работаю, пишет проекты на ноде около 9 лет (да, это я писал историю про 9 лет в монолите на ноде). Так что анализ должен выйти неплохой. Тем более что я его уже рассказал на Moscow Node.JS Meetup 10, и было интересно. Кстати, если вам удобнее слушать, а не читать, то послушать и посмотреть можно вот тут. Моё выступление второе, я чувак в розовой рубашке.

Читать дальше →
Всего голосов 63: ↑59 и ↓4+55
Комментарии148

9 лет в монолите на Node.JS

Время на прочтение12 мин
Количество просмотров27K

монолит от https://reneaigner.deviantart.com


Неделю назад я выступал на митапе по Node.JS, и многим обещал выложить запись выступления. Уже потом я понял, что мне не удалось вместить в регламентированные полчаса некоторые интересные факты. Да и сам я больше люблю читать, а не смотреть и слушать, поэтому решил выложить выступление в формате статьи. Впрочем, видео тоже будет в конце поста в разделе ссылок.


Рассказать я решил про набившую оскомину тему — жизнь в монолите. Об этом на хабре уже есть сотни статей, тысячи копий сломаны в комментах, истина давно погибла в спорах, но… Дело в том, что у нас в OneTwoTrip есть весьма специфический опыт, в отличие от многих людей, которые пишут про некие архитектурные паттерны в вакууме:


  • Во-первых, нашему монолиту уже 9 лет.
  • Во-вторых, всю жизнь он провёл под хайлоадом (сейчас это 23 млн запросов в час).
  • А в NaN-ых, мы пишем наш монолит на Node.JS, который за эти 9 лет изменился до неузнаваемости. Да, мы начинали писать на ноде в 2010, безумству храбрых поём мы песню!

Так что всякой специфики и реального опыта у нас довольно много. Интересно? Поехали!

Читать дальше →
Всего голосов 88: ↑86 и ↓2+84
Комментарии44

Неприятные ошибки при написании юнит тестов

Время на прочтение9 мин
Количество просмотров11K
На днях я буду делать внутренний доклад, на котором расскажу нашим разработчикам про неприятные ошибки, которые могут возникнуть при написании юнит тестов. Самые неприятные с моей точки зрения ошибки — когда тесты проходят, но при этом делают это настолько некорректно, что лучше бы не проходили. И я решил поделиться примерами таких ошибок со всеми. Наверняка ещё что-нибудь подскажете из этой области. Примеры написаны для Node.JS и Mocha, но в целом эти ошибки справедливы и для любой другой экосистемы.

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

Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии14

Атака на Github Pages с перехватом сайта на вашем домене

Время на прочтение6 мин
Количество просмотров15K


Большинство разработчиков знают и любят github pages. На случай, если вы не встречались с ними — этот сервис даёт возможность создать статический сайт из вашего репозитория, который будет доступен на домене smth.github.io. Это безумно удобно для всякой временной статики, документации, небольших простых сайтов и так далее. Не приходится думать о каком-то дополнительном веб сервере.


Так же там есть возможность привязать к репозиторию свой домен — тогда всё будет совсем красиво. Даже поддержка SSL есть.


После этого небольшого введения перейдём к собственно теме статьи. Совсем недавно (9 ноября) у меня приключилась интересная история. Рекомендую не читать её залпом, а периодически останавливаться и прикидывать, что же означают все полученные на текущий момент вводные. Думаю, из этого выйдет интересная тренировка, хотя сюжет моего детектива оказался и не очень длинным и закрученным.

Читать дальше →
Всего голосов 45: ↑45 и ↓0+45
Комментарии23

Нейронные сети против цензуры хентая

Время на прочтение3 мин
Количество просмотров102K


От переводчика: Этот забавный репозиторий уже с неделю находится в трендах гитхаба, и сейчас у него фееричное количество из 5000 звёздочек и 400 форков — поэтому я подумал, что было бы интересно перевести про него статью, хотя она короткая, да и тематика для хабра не очень стандартная.
Если интересно, в оригинале статьи (ссылка около заголовка) есть ссылки на примеры работы программы.
Читать дальше →
Всего голосов 76: ↑72 и ↓4+68
Комментарии78

Diarrhea для вашего бэкенда на Node.JS — уменьшаем вес сборки

Время на прочтение5 мин
Количество просмотров3.5K

Наверняка вы часто замечали, сколько всякого мусора лежит внутри node modules. Это тесты, бенчмарки, ридми файлы, лицензии, тайпскрипт, и ещё безумное количество мусора, который можно более-менее безопасно удалить. Что мы собственно и сделаем в этом посте.
Картинку про вес node module я и так упоминал последние несколько публикаций, так что вот вам другая, которая в целом отражает текущую ситуацию. В качестве саундтрека к посту рекомендуется Little Big, “Life in da trash”.


Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии31

Бэкап переписки в telegram

Время на прочтение5 мин
Количество просмотров61K

Сразу начну с того, что я не призываю никого бежать из Мессенджера-который-нельзя-называть. Совсем даже наоборот. Просто спать гораздо спокойнее, когда одно облако у тебя забэкаплено в другом облаке. А то и облака периодически падают на грешную землю, а терять годы переписки очень обидно. Да и друг меня спросил, как сделать бэкап, а я с ходу не нашёл внятной инструкции.


Предупреждаю сразу — для бэкапа вам потребуется Linux, или хотя бы виртуалка с ним. При наличии рук можно и на Mac OS, и может даже можно на том огрызке, что нынче встроен в Windows — но я ничего не гарантирую.


Поехали!

Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии27

Ещё один инструмент для проверки ваших npm зависимостей — wtfwith

Время на прочтение6 мин
Количество просмотров6.9K
Вы как-нибудь задумывались, сколько версий одной и той же библиотеки затягивает ваша клиентская или серверная сборка? Мне вот в какой-то момент стало интересно. Навскидку найти для этого готовый инструмент не получилось, а смотреть глазами package-lock слишком утомительно. Как мы знаем — в любой непонятной ситуации нужно писать свой npm пакет, поэтому я именно это и сделал… Дальше в посте я рассмотрю результат анализа живого проекта и сделаю пару спорных выводов.

Ну и никак нельзя обойтись без этой классической картинки:

Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии2

Полезные фичи VPN

Время на прочтение3 мин
Количество просмотров41K
Не хотелось писать статью про настройку впн, потому что их и без меня в интернете тысячи — выбирай на вкус и цвет.

Просто хотел напомнить просто несколько простых вещей, которые вызывают много недоразумений и вопросов. Понимаю, что на статью не тянет, но очень хочется до вас достучаться, а других способов в рунете особо и нет.
Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии55

Безопасный Android для ребёнка

Время на прочтение8 мин
Количество просмотров56K
Подозреваю, что многие из читателей этой публикации в детстве не носили с собой мобильный телефон, или начали носить его только в старших классах — как ни странно, обыденные на сегодняшний момент мобильники появились не так давно. И даже после их появления в течение долгого времени мобильные телефоны были огромными и дорогими, и позволить их себе могли только серьёзные дядьки. Но на дворе 2018 год, и младшеклассники вовсю пользуются смартфонами.

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

Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии189

Информация

В рейтинге
4 275-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность