melikhov.dev – Telegram
melikhov.dev
4.63K subscribers
110 photos
2 videos
2 files
203 links
Фронтенд, фронт-бек и около. Всё, что в голову пришло. Иногда котики.
Download Telegram
Алло, москвичи и рядом! 14 декабря пройдёт ночь опенсорс библиотек, в которой будет участвовать в том числе и моя команда. Событие как минимум необычное.

Сам я туда, к сожалению, не попадаю, так как уже 15 декабря надо быть на Субботнике по фронтенду в Петербурге.
25🥴6🔥2😁2👍1
Заметил, что многие пропустили появление satisfies в TS 4.9, а штука-то классная.
Объясняю на пальцах. Иногда нам нужно убедиться, что объект соответствует какому-то типу, но при этом нужно сохранить специфичность типа.


type TestType = {a: number | string; b?: string};

const testObject = {a: 1} as TestType;

testObject.a.toFixed(); // Ошибка: Property 'toFixed' does not exist on type 'string'.



Используем satisfies



type TestType = {a: number | string; b?: string};

const testObject = {a: 1} satisfies TestType;

testObject.a.toFixed(); // Никаких ошибок

testObject.b?.toUpperCase(); // Ошибка: Property 'b' does not exist on type '{ a: number; }'
👍11314🔥4👎3💩1
Вспомнил, что уже несколько дней как пора посмотреть доклад Вадима Макишвили «42».
Посмотрел, он не про 42.
😁53😱8👍7❤‍🔥4🤔2💯21👏1
Начинаем через 15 минут https://www.youtube.com/watch?v=P_cOatmYIbU
🔥2914👍9🤷2
Простой совет как драматически улучшить ваши Express-приложения.
Удалите миддлвары — хотелось бы, но не всегда возможно.

Но достаточно запретить передавать req и res дальше контроллера — и вот уже приятнейшие улучшения в нашем коде возникают сами по себе.
👍43❤‍🔥12😁10💯93🤔21
Зачем писать итоги года, когда ответ есть на https://git-wrapped.com/

Ладно-ладно, чуть попозже напишу.
🔥50👍149😁6
Технические итоги года

Мне в Яндексе повезло попасть в команду, которая живёт в Гитхабе. Редкий случай для компании, мы не держим код в огромном общем монорепозитории (но мне иногда хочется переехать в свой маленький). И всё то бесконечное количество работы, сделанное за год — вот оно, на зелёном ковре с серыми клеточками отпусков и выходных. Было много работы, было много кода.

Основным рабочим направлением в этом году стала изоляция пользовательских (чужих) скриптов в node.js и в браузере. Копал весь год, пробовал, собирал знания в доклады. Начал обкатывать тему ещё весной в Алматы, бета-версию прокатил в Уфе и финализировал уже как надо в Петербурге на юбилейном Субботнике. Редкий случай для меня, когда за доклад совершенно не стыдно.

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

Гаджеты года

В конце прошлого года купил стимдек. Железка очень прикольная, но игры опять меня не затянули. Продал. Уж не знаю, хорошо это или плохо, но игры скорее меня утомляют, чем дают удовольствие. Впрочем, Portal 2 был не плох и не забрал много времени.

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

Оставшись без телефона я тут же лишился и часов. Умные часы мне не нужны, а вот трекать физическую активность я люблю. Пришлось окунуться в мир Garmin и теперь у меня на полочке стоят ряды коробочек с велокомпьютером, нагрудным датчиком и часами. Часами — потому что начал с Vivomove Trend. Красивые, но достаточно бесполезные часы без GPS. Зато со стрелками, которые вечно сбиваются со своих позиций когда трясёшься на велосипеде по гравийным дорогам. Поменял на Forerunner 255 на MIP. Что хочу сказать: заряжать часы не каждый день, а иногда — это свобода почище скайпа. Реально классно. Кнопки на часах это тоже очень здорово. Из минусов — относительно красивые часы Garmin делает только за очень большие деньги, даже думать страшно. Красивые интерфейсы Garmin не делает никогда. Так что хочу посмотреть ещё на Suunto Race S. Финны, не подкачайте.

Купил в этом же году Kindle Scribe на замену вечно разряженному айпаду. Scribe хорош всем, кроме веса. Если вам не нужно читать PDF, то лучше смотреть на версии поменьше. Перо в комплекте прикольное, но с каждым днём я достаю его всё реже. Не стоит того.

Рюкзак года

Достал с антресолей старенький Pacsafe Vibe 40 и так он мне зашёл в поездках! Фактически это чемоданчик на лямках, без кучи карманов, но с очень удобным большим отделением, которое открывается как тот самый чемодан. А большего мне и не нужно.

Что по фитнесу?

Отчаянно борюсь с возрастным замедлением метаболизма. Несмотря на две тренировки в зале в неделю плюс велосипед/сноуборд по выходным, буксую на месте, медленно подползая к психологической отметке в 100 кг. В принципе-то нормально на мои 190 см роста, если бы это были мышцы. Успокаиваю себя, что без спорта было бы хуже. Не затягивайте до 40, с нашей-то сидячей работой и вечными переработками.

Ну вот кажется и всё. За кадром осталось куча важного, про которое вам знать не нужно, да и не место этому в технических итогах.

Всех с наступающим, остаёмся на связи, держимся!
154👍53🔥16🕊7🐳1
Личные итоги года

В комментах просят не только техническими делиться. Я конечно тот ещё блогер и не думаю, что стоит выносить личное в публичное, но как элемент саморефлексии попробую.

Очень многое изменилось в мой жизни этом году. Тектонические потрясения просто. Меньше котов, больше семьи. Меньше свободного времени, выше цена свободной минуты, что заставляет лучше фокусироваться на важном.

Студия и дом разделились на две не связанные сущности, что наверное даже хорошо. Были бы они ещё бы географически ближе друг к другу.

Было много новых городов, от Гонконга до Гаваны. Но и без дальних поездок старался и стараюсь проводить каждое воскресенье подальше от города. Спонтанно ездил в Выборг микротрипом по утрам, открывал новые веломаршруты мимо Сестрорецких болот. Ночевали в домиках в Ленобласти и Карелии. Катались на моторке по ладожским шхерам и на сапе по Вуоксе, ловили последние летние закаты с островов. Сейчас зима, а значит машину не покидает сноуборд и нужно ещё найти место для горных лыж и может быть даже не для одной пары. Постоянно мысли о машине с большим багажником.

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

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

Помните, что люди рядом с вами — они важнее всего остального происходящего в мире. И если рядом с вами таких людей нет, то желаю вам найти их в новом году. Я вот нашёл.
134🔥29👏10👍5👎2🥱1
Forwarded from Веб-стандарты (Vadim Makeev)
Новогодний выпуск №455. Вадим, Алексей, Юля, Полина, Никита, Андрей кормят белок, играют колмимейби, красят плитку, ждут группу, спрашивают шляпу и атакуют титанов.

Видео на Ютубе
Слушайте на Ютубе
Ссылки на сайте
🔥225❤‍🔥3👎2🤯1
Наверное самая впечатлившая (и даже пугающая) меня технология из 2024 — это нейропереводы видео в Яндекс Браузере. Да, в 2023 уже был у нас крутейший HeyGen, который даже оставлял голос и синхронизировал движение губ. За деньги. Но вот у нас массовый и бесплатный перевод закадровым голосом по кнопке. Всё ещё не могу отделаться от ощущения, что на самом деле это сидят синхронисты на зарплате и никакой технологии под капотом нет.

Вот открываю свежее видео от MPJ (да, он вернулся и запустил курс по D3.js и data visualization), хохмы ради жму кнопку перевода и меня взрывается голова, потому что так не может быть, потому что ещё вчера мы максимум могли получить только корявеший перевод субтитров, а сегодня робот читает с выражением и не пасует перед техническими терминами.

Думаю, что смотреть так англоязычные видео по кодингу пока не стоит, но вот когда этот пока закончится и дети даже не будут думать учить языки? Когда я сам сдамся и перестану слушать в оригинале, потому что ну зачем?
👍35🔥19💩7💯5❤‍🔥2🤡2🤷‍♂1👎1
Пост любви к зиме
10030👍6🤮6👎2😱1
А не написать ли пост про мою коллекцию бестолковых часов?
👍127👎17😁167💯5🔥2🤯1🤡1
Никогда не любил алиасы (paths) в Typenoscript и потому только сегодня узнал, что они не поддерживаются в tsc https://www.typenoscriptlang.org/docs/handbook/modules/reference.html#paths-does-not-affect-emit Т.е. emit оставляет пути как есть, не подменяя их на полные.

Есть разные решения:
https://www.npmjs.com/package/ts-patch
https://www.npmjs.com/package/typenoscript-transform-paths
https://www.npmjs.com/package/tsconfig-paths

Я конечно и дальше буду выступать против paths в качестве «красивых» путей, потому что не надо заметать сложность под ковёр.

Ну а истинное предназначение paths описано вот так

While the feature was originally designed to be used with the AMD module loader (a means of running modules in the browser before ESM existed or bundlers were widely used), it still has uses today when a runtime or bundler supports module resolution features that TypeScript does not model.

Для всяких хитрых кейсов, а не для того, чтобы строчки были короче.
👍22🤔13👏108👎3
Так, важное. Мы заканчиваем подготовку CTF 2025 в рамках Я💛Фронтенд!
Старт 8 февраля в MTk6MDMgVVRDKzM=

Эксклюзивно сливаю ссылку до начала. Осторожно, жёсткий инсайд!

Ссылки на предыдущие CTF тут: https://events.yandex.ru/events/ya-love-frontend-2025
😁32🔥17🤡9👍86🫡3
Уф... Мы готовы. Ждём завтра всех в онлайне, а кому хватило билета — и в оффлайне.

https://ilovefrontend.ru
🔥57👍1910🤡6❤‍🔥2