melikhov.dev – Telegram
melikhov.dev
4.63K subscribers
110 photos
2 videos
2 files
203 links
Фронтенд, фронт-бек и около. Всё, что в голову пришло. Иногда котики.
Download Telegram
Через сколько недель владения Андроидом можно будет считать объективной точкой зрения признание его сильных недостатков на фоне iOS?
May the 4th be with you
Все больше недоволен AWS-лямбдами. Причин много — и долгий старт, и неестественность сборки бандлов для node.js, и вендор-лок, и общее ощущение связанности по рукам и ногам. Простой пример — на дворе май, но AWS все ещё предлагает только node.js 14. Сколько лет прошло (и сколько пройдет), но нет милей сервачка на express/fastify для node.js-разработчика. Будьте проще и люди к вам потянутся.

Вообще собирался сделать по этому поводу доклад, но какие сейчас доклады.
👍3
Одним из важнейших навыков разработчика я считаю привычку писать тесты на обнаруженные QA баги.
- обнаружен баг
- дописан тест на сценарий (красный)
- запилен фикс
- тест позеленел
- релиз

Обычно при хорошем тестовом покрытии всплывают только самые хитровывернутые баги, завязанные на корректности бизнес-сценариев в краевых случаях.
👍9
Вставай, Андрей, мы там прод уронили. Вообще весь
Не выдержал сычевать-горевать, взял билеты на Dump. Попробую поискать новую жизненную цель, да и в целом оценить, как ощущают себя другие разрабы, что думают. Так что 27 мая в Екатеринбурге. Может голова хоть болеть перестанет на пару дней.
👍4
Media is too big
VIEW IN TELEGRAM
Потрясающая штука шагает (именно шагает, посмотрите на x2) за окном —сваевдавливающая установка. Почти бесшумно загоняет сваи в грунт, никакой долбёжки, никаких вибро-нагрузок на соседние дома.
В бытность мою разработчиком геофизического оборудования мы использовали полную противоположность этой машине — самоходные вибраторы, которые долбили бетонной плитой землю со страшной силой. Но только там, где нельзя было просто взорвать тротиловую шашку в скважине.
Можно долго спорить, что лучше — веб или нативка. Сам я безумно люблю хорошие нативные приложения на iOS и macOS (и с удивлением смотрю на качество приложений в экосистеме Android). Одновременно испытываю боль от невозможности релизить нативку каждый день и гарантировать наличие свежей версии у всех клиентов. Но вот есть одно важное «но», которое не затронул Артём и которое является сейчас основополагающим при обосновании необходимости иметь максимально полноценную веб-версию (привет тебе, Сбер, «забывший» про СБП на вебе). И это «но» прекрасно ощутили на себе российские санкционные банки и их дочки (а ещё раньше ощутила оппозиция) — веб является сейчас единственной независимой платформой, ограничить которую возможно только на сетевом уровне.
Так что, при всей своей безумной любви к идеальным нативным приложениям, выверенным до дюйма по гайдлайнам платформы — я двумя руками голосую за развитие веба.
👍5
Не прошло и года от релиза LTS node.js 16 как она стала доступна в AWS-лямбдах. Трижды вот подумаешь — а оправдан ли этот вендор-лок ради обманчивой простоты лямбд?
Предварительно в августе вернусь к докладам (если конечно мир не станет ещё хуже). План хорошенько поругать AWS Lambda. Да и в общем-то любые лямбды. Не совершайте ошибку, лучше Express/Fastify пока ничего нам для node.js не сделали.
🔥1
Обожаю когда с очередным обновлением какой-нибудь библиотеки прилетает unknown там, где был any. Прямо вскрытый нарыв. И больно и сказать нечего против правды.
😢2
Позвали выступить в Ленинке с лекцией (под запись) для библиотекарей всей страны. Рассказать, что такое IT и какие книги и сайты читателям советовать, которые решили в то самое IT погрузиться. Сказать, что я польщён — ничего не сказать.
Все не зря!
5
Помни про архитектурные границы и не допускай протечек абстракций
Выдался свободный вечер перед Dump — сгонял посмотреть на творение Нормана Фостера для РМК. Очень круто и безумно жалко, что в ближайшие годы нам такие проекты от западных архитекторов не видать как своих ушей.
9
Полный зал в бэкенде. Спикер из Марсиан «Кто ещё на Руби пишет?» В зале 0 рук. «Да ладно :( )»
😁4👍1
.net разработчик убеждал меня, что handler лучше сервиса, потому что handler всегда принимает на вход объект, а добавление параметра в публичный сервис это боль, ломается сигнатура по всей кодовой базе. Что же, очень жаль ребят, что им приходится создавать класс для объекта входящих параметров 😄 (Сравниваем с нашим, джаваскриптовым копеечным созданием объекта через литерал)
С другой стороны они могут делать (и делают) честный DI на абстракциях, так что туше.
Тут Артём развивает мысль, что оптимизации зачастую это попытка лечить последствия, а не причины. Если бы писали нормально, то никакие супер-пупер кэши и не понадобились бы (а как мы помним, кэши это вторая главная проблема программирования).

А вот вам интересный факт — декларативное программирование позволяет отдать оптимизации на откуп интерпретатору/компилятору в наилучшем виде. Что сейчас пытается сделать условный V8? Он пытается понять, что за ерунду вы написали в императивном коде, вычленить эвристикой знакомые паттерны и применить встроенные оптимизации. Отсюда возникают советы «не пытайтесь писать оптимально, пытайтесь писать понятно для интерпретатора. Используйте самые свежие инструкции ECMAScript потому что они упрощают чтение кода движком. Не основывайте код на знаниях внутренней работы движка — завтра она может изменится и все оптимизации рухнут» И так далее. В декларативном же программировании мы вообще не говорим КАК выполнить нашу задачу, мы говорим ЧТО мы хотим сделать. И дальше движок сам решает, как он будет оптимизировать этот наш запрос. Никакие эвристики, чтобы понять что мы хотели тут сделать уже не нужны — движок изначально знает, что это за инструкции и как с ними поступить.

И вот потому декларативные CSS и HTML выполняются браузером молниеносно, а от императивного динамического рендера реакта да с «классическим» css-in-js меняющим параметры в лоб ноут орёт кулером и жрёт батарею как не в себя. Потому что в декларативном программировании, мы говорим «Эй браузер, поменяй у всех неактивных кнопок цвет на серый». И браузер прекрасно знает как это сделать без квадратичной сложности.
👍4
Полностью и безоговорочно согласен.