Pull to refresh
161
0.1
Джехи @jehy

Web developer

Send message

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

Level of difficulty Easy
Reading time 5 min
Views 15K

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

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

Читать далее
Total votes 6: ↑6 and ↓0 +6
Comments 83

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

Level of difficulty Easy
Reading time 10 min
Views 36K

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

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

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

Читать далее
Total votes 66: ↑64 and ↓2 +62
Comments 95

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

Level of difficulty Easy
Reading time 5 min
Views 3.3K

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

Читать далее
Total votes 12: ↑5 and ↓7 -2
Comments 1

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

Level of difficulty Easy
Reading time 5 min
Views 3.5K

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

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

Читать далее
Total votes 26: ↑25 and ↓1 +24
Comments 8

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

Reading time 6 min
Views 8.1K

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

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

Читать далее
Total votes 24: ↑24 and ↓0 +24
Comments 21

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

Reading time 7 min
Views 37K

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


Будет про:


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

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

Reading time 2 min
Views 26K

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

Читать дальше →
Total votes 98: ↑92 and ↓6 +86
Comments 51

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

Reading time 5 min
Views 3.6K

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



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


Например:


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

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

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

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

Reading time 10 min
Views 9.9K


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

Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Comments 5

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

Reading time 5 min
Views 8.4K

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


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


Читать дальше →
Total votes 26: ↑21 and ↓5 +16
Comments 19

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

Reading time 8 min
Views 53K


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


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

Читать дальше →
Total votes 63: ↑59 and ↓4 +55
Comments 148

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

Reading time 12 min
Views 27K

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


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


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


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

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

Читать дальше →
Total votes 88: ↑86 and ↓2 +84
Comments 44

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

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

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

Читать дальше →
Total votes 34: ↑32 and ↓2 +30
Comments 14

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

Reading time 6 min
Views 15K


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


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


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

Читать дальше →
Total votes 45: ↑45 and ↓0 +45
Comments 23

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

Reading time 3 min
Views 102K


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

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

Reading time 5 min
Views 3.5K

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


Читать дальше →
Total votes 6: ↑5 and ↓1 +4
Comments 31

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

Reading time 5 min
Views 61K

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


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


Поехали!

Читать дальше →
Total votes 12: ↑10 and ↓2 +8
Comments 27

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

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

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

Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Comments 2

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

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

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

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

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

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

Читать дальше →
Total votes 35: ↑33 and ↓2 +31
Comments 189

Information

Rating
3,068-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity