Jehy's noteshttps://articles.jehy.ru/icon.pngInsert 1 into dual2024-03-13T17:15:20.824Zhttps://articles.jehy.ru/JehyHexoПодключение яндекс лампы через Local Tuyahttps://articles.jehy.ru/2024/01/%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81-%D0%BB%D0%B0%D0%BC%D0%BF%D0%B0-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-local-tuya/2024-01-19T14:08:54.000Z2024-03-13T17:15:20.824Z<p>Подключаем лампочку YNDX-00010 к Home Assistant через Local Tuya.</p>Какую базу данных выбрать для Home Assistanthttps://articles.jehy.ru/2024/01/%D0%BA%D0%B0%D0%BA%D1%83%D1%8E-%D0%B1%D0%B0%D0%B7%D1%83-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B-%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C-%D0%B4%D0%BB%D1%8F-home-assistant/2024-01-12T23:55:54.000Z2024-03-13T17:15:20.824Z<p><a href="https://habr.com/ru/articles/786116/">Оригинал поста на хабре</a></p>
<h1 id="Введение"><a href="#Введение" class="headerlink" title="Введение"></a>Введение</h1><p>На случай, если ещё не встречались с <a href="https://www.home-assistant.io/">HA (Home Assistant)</a> - это opensource веб сервис для умного дома, доступный как на облаке, так и в виде self hosted, который позволяет подключить к себе кучу всяких устройств и настроить для них любые желаемые автоматизации. Например, открывать ворота при вашем приближении, заваривать кофе, когда ваш умный браслет понял, что вы проснулись, или автоматически кормить кошку по праздничным дням календаря.</p>
<p>Сегодня мы поговорим о том, какую СУБД (Систему Управления Базы Данными) для него лучше выбрать. Потому что очень часто в чат по HA приходят новички, и спрашивают, что им делать с MySQL, а им в ответ говорят, что они наркоманы и нанюхались одного известного видео с ютуба. А почему такая реакция, и что делать - начинающему автоматизатору понять довольно сложно без довольно специфического багажа знаний в айти. Так что надеюсь, что эта статья кому-то поможет.</p>Публикация локального сервера из дома в интернетhttps://articles.jehy.ru/2024/01/%D0%BF%D1%83%D0%B1%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F-%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0-%D0%B8%D0%B7-%D0%B4%D0%BE%D0%BC%D0%B0-%D0%B2-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82/2024-01-09T17:52:54.000Z2024-03-13T17:15:20.824Z<p><a href="https://habr.com/ru/post/785328">Оригинал поста на хабре</a></p>
<p>Приветики. Надеюсь, все отошли от новогодних, и можно писать и читать дальше. Как хозяин умного дома, я состою в чатике по Home Assistant, там прекрасное отзывчивое комьюнити,
но периодически задаётся вопрос по тому, как собственно выставить свой веб сервис в интернет. И оказывается, что в двух словах тут не ответишь, а вменяемой инструкции на которую можно дать ссылку - нет. Так что теперь она будет здесь.</p>
<p>Рокет сайнса здесь не встретите, и в целом все эти вещи справедливы и работают уже минимум лет 10, просто не так тривиально понять, какой именно запрос нужно задать в гугл, и что делать.</p>
<p>Мы рассмотрим здесь несколько сценариев - статический белый айпи, динамический белый айпи, и серый. Для серого рассмотрим варианты с готовыми сервисами, с помощью Keenetic и с помощью ssh туннеля. Погнали!</p>
<p>Дисклеймер. Если вы собираетесь хостить обычный веб сайт, визитку, магазин и так далее - автор настоятельно рекомендует вам не страдать фигнёй, а развернуться целиком где-то в облаке. Домашний сервер оправдан для локальных сценариев вроде умного дома или хранилища (которое при этом резервируется в веб), но в долгосрочной перспективе принесёт вам боль и страдания, если вы положите туда что-то, что не должно там лежать и имеет требования по отказоустойчивости.</p>Умные напоминалкиhttps://articles.jehy.ru/2024/01/%D1%83%D0%BC%D0%BD%D1%8B%D0%B5-%D0%BD%D0%B0%D0%BF%D0%BE%D0%BC%D0%B8%D0%BD%D0%B0%D0%BB%D0%BA%D0%B8/2024-01-07T16:59:54.000Z2024-03-13T17:15:20.824Z<p>Периодически возникает желание как-то автоматизировать напоминания про те вещи, которые нельзя автоматизировать сами по себе.</p>
<p>Например, смена кошачьего лотка, кормление домашних тараканов или геккона.</p>
<p>При этом хочется, чтобы напоминалка падала в удобный канал связи, и при игноре тебя мелко долбила, и не получилось так, чтобы при случайном смахивании ты её забыл навсегда (как с гугл календарём, например).</p>
<p>Долго думал, искал готовые решения, в конце концов написал своё на Home Assistant.</p>
<p>Как его сделать:</p>Прекрасное далёко, не будь со мной жестокоhttps://articles.jehy.ru/2023/09/%D0%BF%D1%80%D0%B5%D0%BA%D1%80%D0%B0%D1%81%D0%BD%D0%BE%D0%B5-%D0%B4%D0%B0%D0%BB%D0%B5%D0%BA%D0%BE-2013/2023-09-18T10:50:54.000Z2024-03-13T17:15:20.824Z<p><a href="https://vk.com/prekrasnoe_daleko_2023">Игра</a> была прекрасной, я очень рад, что лист ожидания дошёл до меня, и я доехал.</p>
<h1 id="О-чём-это-было-для-меня"><a href="#О-чём-это-было-для-меня" class="headerlink" title="О чём это было для меня"></a>О чём это было для меня</h1>Отчёт из Банки со светлячкамиhttps://articles.jehy.ru/2023/08/%D0%BE%D1%82%D1%87%D0%B5%D1%82-%D0%B8%D0%B7-%D0%B1%D0%B0%D0%BD%D0%BA%D0%B8-%D1%81%D0%BE-%D1%81%D0%B2%D0%B5%D1%82%D0%BB%D1%8F%D1%87%D0%BA%D0%B0%D0%BC%D0%B8/2023-08-14T20:40:54.000Z2024-03-13T17:15:20.824Z<p><a href="https://vk.com/prifirefly">Игра</a> мне зашла, у меня всё сложилось, вышел крутой спотлайт и огромное количество ОБВМ, которое я радостно потом пережёвывал.
Это было замечательно, я страшно доволен что поехал.</p>
<h1 id="О-чём-это-было-для-меня"><a href="#О-чём-это-было-для-меня" class="headerlink" title="О чём это было для меня"></a>О чём это было для меня</h1>Умный дом для геккона и сверчков - год спустяhttps://articles.jehy.ru/2023/05/%D1%83%D0%BC%D0%BD%D1%8B%D0%B9-%D0%B4%D0%BE%D0%BC-%D1%83-%D0%B3%D0%B5%D0%BA%D0%BA%D0%BE%D0%BD%D0%B0-%D0%B8-%D1%81%D0%B2%D0%B5%D1%80%D1%87%D0%BA%D0%BE%D0%B2/2023-05-24T10:59:54.000Z2024-03-13T17:15:20.824Z<p><a href="https://habr.com/ru/post/734266">Оригинал поста на хабре</a></p>
<p><img src="https://habrastorage.org/r/w780/getpro/habr/upload_files/1eb/18e/815/1eb18e815fce8bd1fc12c6306975f554.jpeg">
Примерно год назад я уже писал, как собрал <a href="https://habr.com/ru/articles/666980/">умный дом для моего любимого эублефара</a>.
За это время он прошёл несколько модификаций, и у меня появилась живая еда, которой тоже нужен свой дом. Что характерно, тоже умный. Если вы не читали первую часть, то рекомендую начать с неё, так как буду рассказывать не с нуля, а про апгрейды.</p>Мгла отступает. Отчёт персонажа.https://articles.jehy.ru/2022/10/%D0%9C%D0%B3%D0%BB%D0%B0%20%D0%BE%D1%82%D1%81%D1%82%D1%83%D0%BF%D0%B0%D0%B5%D1%82/2022-10-16T13:00:54.000Z2024-03-13T17:15:20.824Z<p>Лишь несколько часов назад наступил рассвет, а <a href="https://vk.com/darkness_2022">Мгла</a>, в свою очередь, отступила.</p>
<p>Всё вышло просто невероятно, и с трудом укладывается в голове, почему именно так, а не иначе. Ведь, когда я выходил наружу в эту Ночь Мглы, я рассчитывал на совсем иное. И в голове крутится лишь одна цитата</p>
<blockquote>
<p>Рано или поздно все станет понятно, все станет на свои места и выстроится в единую красивую схему, как кружева. Станет понятно, зачем все было нужно, потому что все будет правильно.</p>
</blockquote>
<p>Но с чего же всё начиналось? И почему пошло не так? Чтобы разобраться, придётся начать с самого начала. С того, кем я был. Если бы я по какой-то прихоти судьбы хотел рассказать об этом, то получилось бы примерно следующее:</p>Задачки по нодеhttps://articles.jehy.ru/2022/09/%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%BA%D0%B8%20%D0%BF%D0%BE%20%D0%BD%D0%BE%D0%B4%D0%B5/2022-09-16T07:00:54.000Z2024-03-13T17:15:20.820Z<p>Просто немного задачек по Node.JS.</p>
<ol>
<li>Напишите функцию, которая принимает на вход массив урлов и обходит их - но так, чтобыНазад в детствоhttps://articles.jehy.ru/2022/09/%D0%BD%D0%B0%D0%B7%D0%B0%D0%B4-%D0%B2%D0%BE-%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8/2022-09-15T15:39:54.000Z2024-03-13T17:15:20.820Z<p><a href="https://www.reddit.com/r/AskReddit/comments/8xamvz/comment/e22e55e/">Оригинальная история тут, копирую, чтобы не потерялась</a></p>
<p>Your life resets to 1990 and you have all of your current knowledge? How do you take control of the world?</p>Умный дом - теперь и у гекконаhttps://articles.jehy.ru/2022/05/%D1%83%D0%BC%D0%BD%D1%8B%D0%B9-%D0%B4%D0%BE%D0%BC-%D1%83-%D0%B3%D0%B5%D0%BA%D0%BA%D0%BE%D0%BD%D0%B0/2022-05-24T10:59:54.000Z2024-03-13T17:15:20.820Z<p><a href="https://habr.com/ru/post/666980">Оригинал поста на хабре</a></p>
<p>Недавно при странных обстоятельствах у меня появился вот такой зверь:</p>
<p><img src="/2022/05/%D1%83%D0%BC%D0%BD%D1%8B%D0%B9-%D0%B4%D0%BE%D0%BC-%D1%83-%D0%B3%D0%B5%D0%BA%D0%BA%D0%BE%D0%BD%D0%B0/kris.png"></p>
<p>В целом он довольно неприхотлив, но хотелось обеспечить ему самые приятные условия для его хладнокровного существования. Не то чтобы это были какие-то нетривиальные задачи, мне просто показалось интересным, что у технологий есть ещё и такое внезапное применение.</p>
<p>Что нужно было сделать:</p>
<ul>
<li><p>Поддерживать ему минимальную температуру ночью, но так, чтобы он не перегрелся</p>
</li>
<li><p>Поддерживать минимальную влажность</p>
</li>
<li><p>Включать ему ультрафиолетовую лампу в 5 утра, когда он любит выползать поваляться на камушке.</p>
</li>
</ul>
<p>Вроде бы несложно. У меня был мешок реле, датчиков, Home Assistant и Arduino. Но если ты начал собирать умный дом, становится трудно остановиться. Единственное, что у меня вызывало опасение - это Arduino. Нет ничего более беспомощного, безответственного и испорченного, чем Arduino. Я знал, что рано или поздно я перейду и на эту дрянь.</p>
<p>Казалось бы, всё просто - засунь туда датчиков, подключи к ESP, да щёлкай релешками. Но хотелось точных датчиков, маленьких и автономных, и достаточно стабильной работы, чтобы не сварить и не заморозить животное. И тут оказался прям большой простор для разных вопросов и работы.</p>Алиса, открой ворота - или MVP умного дома за пару вечеровhttps://articles.jehy.ru/2022/02/%D0%B0%D0%BB%D0%B8%D1%81%D0%B0-%D0%BE%D1%82%D0%BA%D1%80%D0%BE%D0%B9-%D0%B2%D0%BE%D1%80%D0%BE%D1%82%D0%B0/2022-02-07T06:31:54.000Z2024-03-13T17:15:20.816Z<p><a href="https://habr.com/ru/post/650033%7D">Оригинал поста на хабре</a></p>
<p>TLDR: Схожих постов на хабре десятки, но мне хотелось показать, что внезапно можно
очень быстро сделать классные штуки, которые не ради вау эффекта, а реально помогают жить.</p>
<p>Будет про:</p>
<ul>
<li>Home Asistant</li>
<li>Алису и её станции</li>
<li>Ардуины и MQTT</li>
<li>управление воротами Came</li>
<li>локальное управление яндекс розетками</li>
<li>датчики движения</li>
<li>Влажность, температуру и CO2</li>
<li>Автоматический полив цветочков</li>
<li>Как при помощи всего этого развлечь детей и как они находят свои способы с этим играть.</li>
</ul>
<h2 id="Предпосылки"><a href="#Предпосылки" class="headerlink" title="Предпосылки"></a>Предпосылки</h2><p>Мне всегда казалось, что умный дом это и сложно и какой-то бессмысленный выпендрёж.</p>
<p>Сложно - потому что надо изучать всякие там зигби, ставить шлюзы, контроллеры, интегрировать какие-то штуки, и вообще по хорошему надо нанимать бородатых дядек, которые сделают всё как нужно. И ещё и наверняка проводку для этого менять надо.</p>
<p>Выпендрёж - потому что меня всегда смущал основной вариант умного дома - управление светом. До сих пор не могу понять, зачем управлять им голосом, хлопками или датчиками движения. Поднять пятую точку и нажать выключатель - хоть какая-то разминка!</p>
<p>Кроме того, живу я с детьми по съёмной жилплощади, а хозяева за такую самодеятельность вряд ли спасибо скажут. Да и с собой не прихватишь при выезде. Как мне казалось.</p>
<p>Тем не менее, накопилось значительное количество несистематизированных огрызков:</p>
<ol>
<li>Ещё в далёком 2016 я собрал <a href="https://habr.com/ru/post/390327/">свой датчик</a> CO2, темпераруты и влажности.</li>
<li>На новый год ребёнок выпросил себе светодиодную ленту. Потратив какое-то время, я выбрал RGB ленту с умным контроллером MagicHome, которая внезапно сопряглась с Алисой. И это было прикольно.</li>
<li>На новый год мы украсили на улице ёлку гирляндами. Когда мне надоело включать её руками, я заказал розетку яндекса и составил расписание включения. Заодно подключил так же уличный свет, выключатель которого висел крайне неудобно. К слову, розетки с честью выдержали нерегламентированные -15 на улице и продолжали бодро щёлкать реле.</li>
<li>Периодически я призывал домой клининговый сервис, и каждый раз был квест с тем, как им оставить и забрать ключи. Очень хотелось решить это при помощи какого-то способа удалённого управления раздвижными воротами.</li>
<li>У детей завелось две Яндекс.Станции, с которыми они активно общаются и слушают музыку.</li>
</ol>
<p>В общем, я решил, что критическая масса накопилась, и пора бы посмотреть, что можно сделать. Я думал, это будет долгоиграющий проект на долгие зимние вечера, но внезапно всё получилось буквально за пару вечеров, чему я страшно удивился.</p>Шедоуран 2021 отчётhttps://articles.jehy.ru/2021/08/%D1%88%D0%B5%D0%B4%D0%BE%D1%83%D1%80%D0%B0%D0%BD-2021-%D0%BE%D1%82%D1%87%D0%B5%D1%82/2021-08-04T18:00:54.000Z2024-03-13T17:15:20.816Z<p>Недавно приехал с шедоурана и таки решил сесть написать небольшой отчёт.</p>
<p>Уже чувствую, что всё будет очень плохо структурировано, но как есть.</p>
<h2 id="Общие-впечатления"><a href="#Общие-впечатления" class="headerlink" title="Общие впечатления"></a>Общие впечатления</h2><p>Вписался за неделю и считаю, что поиграл просто огненно. Отлично воевал, приключался,
успел сделать завязку до игры и отыграть её на игре, много общался и социалил,
отлично вжился в своего персонажа-риггера.</p>Как «активный гражданин» приучает людей к фишингуhttps://articles.jehy.ru/2020/06/%D0%BA%D0%B0%D0%BA-%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9-%D0%B3%D1%80%D0%B0%D0%B6%D0%B4%D0%B0%D0%BD%D0%B8%D0%BD-%D0%BF%D1%80%D0%B8%D1%83%D1%87%D0%B0%D0%B5%D1%82-%D0%BB%D1%8E%D0%B4%D0%B5%D0%B9-%D0%BA-%D1%84%D0%B8%D1%88%D0%B8%D0%BD%D0%B3%D1%83/2020-06-26T07:00:00.000Z2024-03-13T17:15:20.816Z<p><a href="https://habr.com/ru/post/508400%7D">Оригинал поста на хабре</a></p>
<p>Сначала я написал этот пост на пикабу, решив что там более релевантная аудитория и тема, но его там забанили вместе с моим аккаунтом. Что с одной стороны обидно, с другой забавно, и показывает, насколько похоже на фишинг то, чем занимается “активный гражданин”. Что даже написать об этом нельзя, чтобы тебя не посчитали мошенником.Снимаем покрытие кода с уже запущенного Node.JS приложенияhttps://articles.jehy.ru/2020/02/%D1%81%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC-%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B5-%D0%BA%D0%BE%D0%B4%D0%B0-%D1%81-%D1%83%D0%B6%D0%B5-%D0%B7%D0%B0%D0%BF%D1%83%D1%89%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE-nodejs-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F/2020-02-16T07:00:00.000Z2024-03-13T17:15:20.816Z<p><a href="https://habr.com/ru/post/488544%7D">Оригинал поста на хабре</a></p>
<p>И снова я про тестирование и покрытие.</p>
<p><img src="/2020/02/%D1%81%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC-%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B5-%D0%BA%D0%BE%D0%B4%D0%B0-%D1%81-%D1%83%D0%B6%D0%B5-%D0%B7%D0%B0%D0%BF%D1%83%D1%89%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE-nodejs-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F/v0ngpfcqzqkgqmfnz_asnrfbv8y.jpeg"></p>
<p>Наверное, вы уже поперхнулись кофе от вопроса “Зачем снимать покрытие с запущенного приложения” - но такая потребность периодически возникает.</p>
<p>Например:</p>
<ul>
<li>Узнать покрытие интеграционных тестов без инстурментализации кода, завершения приложения и выгрузки репорта какими-то сторонними средствами;</li>
<li>Узнать без долгого ковыряния кода, по каким именно модулям приложения прошёл запрос;</li>
<li>Определить “мёртвый” код, который по факту не используется в приложении;</li>
<li>Узнать список транзитивных зависимостей, которые используются на определённые запросы.</li>
</ul>
<p>Интересно? Поехали!Как мигрировать с mocha на jest в 15 простых шагов — и зачемhttps://articles.jehy.ru/2020/01/%D0%BA%D0%B0%D0%BA-%D0%BC%D0%B8%D0%B3%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D1%81-mocha-%D0%BD%D0%B0-jest-%D0%B2-15-%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D1%85-%D1%88%D0%B0%D0%B3%D0%BE%D0%B2-%E2%80%94-%D0%B8-%D0%B7%D0%B0%D1%87%D0%B5%D0%BC/2020-01-31T07:00:00.000Z2024-03-13T17:15:20.816Z<p><a href="https://habr.com/ru/post/486360%7D">Оригинал поста на хабре</a></p>
<p><img src="/2020/01/%D0%BA%D0%B0%D0%BA-%D0%BC%D0%B8%D0%B3%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D1%81-mocha-%D0%BD%D0%B0-jest-%D0%B2-15-%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D1%85-%D1%88%D0%B0%D0%B3%D0%BE%D0%B2-%E2%80%94-%D0%B8-%D0%B7%D0%B0%D1%87%D0%B5%D0%BC/ypsxcqq0qntlarv3avuvwqkg5pu.jpeg"></p>
<p>Уже давно я заглядывался на фреймворк для тестирования jest, в котором есть огромное количество всяких вкусных фишек, одна из которых - многопоточное выполнение тестов. При условии того, что у меня был проект на 5000 юнит тестов, миграция обещала быть крайне полезной. Далее я расскажу 14 простых шагов, за которых мне удалось мигрировать - пусть и с некоторыми оговорками - и что мы в результате получили. Спойлер - всё получилось очень круто.Зачем нужно столько разработчиков?https://articles.jehy.ru/2019/12/%D0%B7%D0%B0%D1%87%D0%B5%D0%BC-%D0%BD%D1%83%D0%B6%D0%BD%D0%BE-%D1%81%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2/2019-12-17T07:00:00.000Z2024-03-13T17:15:20.816Z<p><a href="https://habr.com/ru/post/480748%7D">Оригинал поста на хабре</a></p>
<p>Статья предназначена скорее для людей, которые напрямую не участвуют в разработке, и удивляются, почему нужно столько людей и времени чисто на поддержку проекта, который вроде как стабильно работает.</p>
<p>Для наглядного пояснения представим себе, что наш проект это корабль. Который мы уже некоторое время назад спустили с верфи, и он плывёт, радуя наш взор своим изящным профилем, а наш карман - золотыми дублонами. И вроде бы всё хорошо, но почему-то ему требуется куча людей только на то чтобы продолжать плыть. А хотелось бы, чтобы они вместо этого строили новые корабли….</p>
<p><img src="/2019/12/%D0%B7%D0%B0%D1%87%D0%B5%D0%BC-%D0%BD%D1%83%D0%B6%D0%BD%D0%BE-%D1%81%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2/9m-fssjemlfnranqe6kz3rgxzte.jpeg"></p>Deno - время Node.JS уходит?https://articles.jehy.ru/2019/11/deno-%D0%B2%D1%80%D0%B5%D0%BC%D1%8F-nodejs-%D1%83%D1%85%D0%BE%D0%B4%D0%B8%D1%82/2019-11-22T07:00:00.000Z2024-03-13T17:15:20.816Z<p><a href="https://habr.com/ru/post/476972%7D">Оригинал поста на хабре</a></p>
<p><img src="/2019/11/deno-%D0%B2%D1%80%D0%B5%D0%BC%D1%8F-nodejs-%D1%83%D1%85%D0%BE%D0%B4%D0%B8%D1%82/ph0gt5rsvagsf2ysoqple3gg7oo.png"></p>
<p>Прошло примерно 18 месяцев с внутреннего релиза Deno, вышел preview release, появилось несколько статей на Хабре, и Райан ездит по конференциям и рассказывает о нём. Однако я нигде так и не видел сколько-нибудь вдумчивого разбора этого проекта - почему-то все ограничиваются переводом документации…</p>
<p>Что же, давайте попробуем это сделать сейчас. Последние 5 лет я пишу на Node.JS, а компания OneTwoTrip, где я сейчас работаю, пишет проекты на ноде около 9 лет (да, это я писал историю про <a href="https://habr.com/ru/post/459206/">9 лет в монолите на ноде</a>). Так что анализ должен выйти неплохой. Тем более что я его уже рассказал на <a href="https://axept.timepad.ru/event/1110942/">Moscow Node.JS Meetup 10</a>, и было интересно. Кстати, если вам удобнее слушать, а не читать, то послушать и посмотреть <a href="https://youtu.be/4414kjKYekM">можно вот тут</a>. Моё выступление второе, я чувак в розовой рубашке.</p>9 лет в монолите на Node.JShttps://articles.jehy.ru/2019/07/9-%D0%BB%D0%B5%D1%82-%D0%B2-%D0%BC%D0%BE%D0%BD%D0%BE%D0%BB%D0%B8%D1%82%D0%B5-%D0%BD%D0%B0-nodejs/2019-07-09T07:00:00.000Z2024-03-13T17:15:20.808Z<p><a href="https://habr.com/ru/post/459206%7D">Оригинал поста на хабре</a></p>
<p><img src="/2019/07/9-%D0%BB%D0%B5%D1%82-%D0%B2-%D0%BC%D0%BE%D0%BD%D0%BE%D0%BB%D0%B8%D1%82%D0%B5-%D0%BD%D0%B0-nodejs/p-5gweh68uzyj3_baevjuocr8xi.png" alt="монолит от https://reneaigner.deviantart.com"></p>
<p>Неделю назад я выступал на митапе по Node.JS, и многим обещал выложить запись выступления. Уже потом я понял, что мне не удалось вместить в регламентированные полчаса некоторые интересные факты. Да и сам я больше люблю читать, а не смотреть и слушать, поэтому решил выложить выступление в формате статьи. Впрочем, видео тоже будет в конце поста в разделе ссылок.</p>
<p>Рассказать я решил про набившую оскомину тему - жизнь в монолите. Об этом на хабре уже есть сотни статей, тысячи копий сломаны в комментах, истина давно погибла в спорах, но… Дело в том, что у нас в OneTwoTrip есть весьма специфический опыт, в отличие от многих людей, которые пишут про некие архитектурные паттерны в вакууме:</p>
<ul>
<li>Во-первых, нашему монолиту уже 9 лет.</li>
<li>Во-вторых, всю жизнь он провёл под хайлоадом (сейчас это 23 млн запросов в час).</li>
<li>А в NaN-ых, мы пишем наш монолит на Node.JS, который за эти 9 лет изменился до неузнаваемости. Да, мы начинали писать на ноде в 2010, безумству храбрых поём мы песню!</li>
</ul>
<p>Так что всякой специфики и реального опыта у нас довольно много. Интересно? Поехали!</p>Неприятные ошибки при написании юнит тестовhttps://articles.jehy.ru/2018/12/%D0%BD%D0%B5%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%BD%D1%8B%D0%B5-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8-%D0%BF%D1%80%D0%B8-%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B8-%D1%8E%D0%BD%D0%B8%D1%82-%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2/2018-12-04T07:00:00.000Z2024-03-13T17:15:20.808Z<p><a href="https://habr.com/ru/post/432092">Оригинал поста на