en
Feedback
Даниэль Ленц - блог

Даниэль Ленц - блог

Open in Telegram

С 18 лет работаю фронтенд разработчиком. Тут про веб, мою жизнь и рабочие приколы. Сейчас в Яндексе. По рекламе и другим предложениям: @lentsd

Show more
3 954
Subscribers
-124 hours
-77 days
+2430 days
Posts Archive
Неочевидный плюс поиска информации через нейронки это то, что теперь не приходится заходить на сайты с корявой версткой, которые просто украли инфу с первоисточника и навесили рекламы на 80% вьюпорта. @dlents

23 мая пройдет «Рекурсию по городу» — командное офлайн-приключение в формате CTF. Участники будут решать задачи прямо на улиц
23 мая пройдет «Рекурсию по городу» — командное офлайн-приключение в формате CTF. Участники будут решать задачи прямо на улицах Москвы: 35+ заданий по маршруту, который проходит через точки, связанные с историей российской IT-индустрии, в том числе через территорию МГУ, центр фундаментальных исследований РАН и нашу штаб-квартиру в «Красной Розе». В основе — игровой нарратив: архивный сервер с кодом большого проекта застрял в бесконечной рекурсии. Команды будут восстанавливать архитектуру, находить конфликты между элементами и шаг за шагом выводить систему из петли. Завершится вечер концертом в Экстрополисе. • 23 мая, суббота • Москва, офлайн • команды до 5 человек Регистрация по ссылке @dlents

Кстати, про малвари Коллеги с первой работы (блокчейн проекты под заказ) рассказали как их пытались скамить. Приходит якобы заказчик с уже каким-то фронтовым шаблоном. Такое часто бывает, когда заказчик покупает где-то на маркетплейсах шаблон и просит допилить под его требования. Но вот шаблон этот не простой, а с сюрпризом. Чаще всего где-то в коде спрятана логика, которая начинает «изучать» пк разраба, который запустит это локально с целью найти крипто кошельки и вывести оттуда все деньги. Такие дела. Если работаете с внешними заказчиками, то проверяйте то, что они присылают с просьбой «запустить». @dlents

Программа JavaScript-конференции HolyJS собрана на 100% — показываем то, что лучше не пропускать 📍 14–15 мая, Москва Узнайте
+4
Программа JavaScript-конференции HolyJS собрана на 100% — показываем то, что лучше не пропускать 📍 14–15 мая, Москва Узнайте, как AI автоматизирует рабочие процессы (вместе с багами 😈), меняет UI и заставляет перерабатывать фронтенд для агентов. Может, и главным языком программирования становится… английский? Агенты делают разработку проще, но остаются задачи, которые инженер может решить только сам. Поговорим про ускорение без JS, поиск утечек памяти в Chrome, искусство Vue-компонентов, DDoS-атаки на Node.js, модульный Backend-for-Frontend и даже способы сэкономить на оперативной памяти. На воркшопах будем писать полезные модульные тесты веб-интерфейса, сделаем «расклад на качество» и предскажем появление багов, порисуем в 4D. А еще задебажим резюме, чтобы работа находилась быстрее. Полное расписание и подробности докладов — на сайте HolyJS. Купить персональный билет со скидкой 15% можно по промокоду DLENTS Реклама. ООО «Джуг Ру Груп». ИНН 7801341446

6 миллионов фейковых звезд на GitHub Вышло большое расследование про экономику фейковых звезд на гитхабе. Исследователи из CMU проанализировали 20 терабайт метаданных GitHub и нашли ~6 млн фейковых звезд на 18,617 репозиториях от 301,000 аккаунтов. Звезды продаются прямо в открытую — от $0.03 до $0.85 за штуку. Прямо через Telegram и другие сайты. Никакой даркнет не нужен. Основной юзкейс это малвари. Фейковые звезды поднимают вредоносные репозитории в трендинг, разрабы видят популярный проект, доверяют и ставят себе на проект. 78 репозиториев с накрученными звездами попали в GitHub Trending. Простой способ отличить фейк это смотреть на fork-to-star отношение. Когда у проекта дофига звезд, а его никто не форкает и не следит за ним, то тут явно что-то не так. Например, у React ~210 форков на 1000 звезд, а у накрученных 17–22. Есть и вторая история со стартапами. AI/LLM репозитории оказались крупнейшей не-малварной категорией накруток. Венчурные фонды используют звезды как метрику. Медиана по кол-ву звезд на seed-раунде 2,850 звезд. Накрутить такое кол-во стоит 85–285 баксов. Пару сотен и в глазах инвесторов вы выглядите лучше. Но это уже проблемы инвесторов, а не простых копателей, которые ищут библиотеку для отрисовки графиков без малваря. Еще одно подтверждение, что звезды не показатель и ставить себе зависимость, основываясь только на этом показателе глупо. @dlents

Винтажная веб-студия. 2030 год. @dlents
Винтажная веб-студия. 2030 год. @dlents

IP адреса российских сервисов Сегодня раскатили новый патч – популярные российские сервисы не пускают, если у вас включен КВН
IP адреса российских сервисов Сегодня раскатили новый патч – популярные российские сервисы не пускают, если у вас включен КВН. Нашел репозиторий и сервис поверх него, который собирает актуальные IP адреса и позволяет экспортировать в популярных форматах. Скачал весь лист для своего клиента, включил сплит туннелирование. Все работает. Снова можно заказать какую-то хрень из озона, "находясь" в Нидерландах. Репа – https://github.com/rekryt/iplist Сайт для скачивания списка – https://russia.iplist.opencck.org Скидывай друзьям и коллегам @dlents

Забавное про NDA В самом начале работы в Яндексе я написал пост про свою первую задачу в проде. И там был скриншот на котором видно внутреннее расширение. Кто-то пришел в коменты и сказал, что вообще-то это NDA и лучше такое не выставлять. Я, тогда еще совсем новичок в большой компании, оперативно замазал лишнее (видно на втором скрине в посте) и выдохнул. Хоть это и была мелочь и вряд ли можно назвать NDA, но с того момента я стал внимательнее смотреть на скрины, которые публикую здесь. Но потом я стал замечать, что "секретные фичи" появляются на гораздо больших охватах. Первый раз увидел экспериментальный дизайн поиска на канале UlbiTV на ролике со 100к+ просмотров. На второй случай позабавил гораздо больше. У одного супер популярного блогера в начале ролика была реклама то ли поиска, то ли еще чего-то. И прямо в ролике скриншот UI, где висит плашка с фразой "NDA". Такую верстали специально, чтобы сотрудники случайно не показали лишнего во внешний мир. На ролике 5 лямов просмотров 🤓 С тех пор отношусь к NDA более спокойно. @dlents

🛣 «Я хотел быть ближе к пользователям»: история одной ротации Меня зовут Даниэль Ленц. Раньше я создавал интерфейсы в Поиске
🛣 «Я хотел быть ближе к пользователям»: история одной ротации Меня зовут Даниэль Ленц. Раньше я создавал интерфейсы в Поиске с Алисой, а затем перешёл в Yandex Infrastructure. Хочу рассказать, как так получилось и чем различается работа для внешних и внутренних пользователей. 🈶 Как я попал в Яндекс Всё вышло случайно. Я планировал полгода готовиться к собеседованиям и только потом откликаться на вакансии. Но примерно через месяц сходил на наймовое мероприятие, а после него мне написали и предложили вакансию. Так я прошёл все секции и попал в Поиск. Тогда там было около семи команд. Кто-то отвечал за рекламу, кто-то — за скорость поиска, его архитектуру и так далее. Я же занимался интерфейсами карусели товаров в выдаче, а через год перешёл в сервис «Картинки», который делала одна команда. Нас было всего четверо, и мы отвечали за всё: за поиск, за страницу, которая рендерит сетку, за просмотрщик картинок, рекламу и пользовательские сценарии. Так что я попробовал себя в командах, которые несут ответственность как за весь продукт, так и за его часть. Также я успел покоммитить в запуск Поиска с Алисой. За пару недель до первого релиза разработчики попросили помочь пофиксить баги и довести сервис до продакшена. Мы очень драйвово поработали две недели. И хотя я не делал проект с нуля, был рад в нём поучаствовать. 🈶 Почему я решил сменить фокус Когда работаешь с задачами для миллиона очень разных людей, сложно представить, как они пользуются сервисом. А мне был нужен более близкий и конкретный фидбэк. Поэтому через полтора года я начал искать вакансии во внутренней инфраструктуре Яндекса. Через специальный сервис нашёл место в одной из команд Yandex Infrastructure, связался с рекрутером, поговорил с тимлидом и ротировался. 🈶 Что изменилось:
«Инфраструктурой Яндекса пользуются несколько десятков тысяч человек. Я представляю, кто эти люди, чем они занимаются и какие у них потребности. Со многими общаюсь, и связь с ними ближе, поэтому разрабатывать для них мне интереснее».
🈶 Чем я занимаюсь сейчас Делаю инфраструктуру для коллег уже год 😌 Первой моей задачей стала разработка большой фичи для сервиса выдачи ресурсов. Раньше, чтобы получить GPU, команды вручную создавали тикет или писали запрос в одну из таблиц. Периодически заказы дублировались, возникала путаница, а выдача графических процессоров задерживалась. Мы добавили в наш сервис раздел про GPU. Теперь команде нужно просто заполнить заявку. Запрос согласуют без дополнительных таблиц и траты времени. Ещё я делал интерфейс Bootstrap. Он по шаблонам позволяет развернуть микросервис в инфраструктуре Яндекса, что существенно экономит время и силы. А теперь я занимаюсь доработками под продуктовые задачи и помогаю коллегам заехать к нам. ➡️ В блоге о работе в Яндексе я также рассказал, какие решения значительно упрощают и ускоряют работу нашей команды, и поделился небольшой историей о том, как пофиксил Ретродоску. 🧽 Кстати, заглядывайте в мой канал. Там я пишу об интересных вещах из мира фронтенда. Подписывайтесь: 💬 @Yandex4Frontend

Европа без виз Забавно устроен современный мир бумажек. В 24 год подаюсь на первую шенген визу – получаю отказ. В 25 году под
Европа без виз Забавно устроен современный мир бумажек. В 24 год подаюсь на первую шенген визу – получаю отказ. В 25 году подаюсь второй раз – получаю визу на 45 дней. В 26 году еду в ЕС вообще без визы, просто по паспорту. В первом случае мой загран паспорт РФ выдан в Крыму (жил там до поступления в универ). Во втором случае я сделал новый загран, но уже в Санкт-Петербурге. В третьем я сделал загран другого гос-ва, которое имеет безвиз с ЕС. При этом все 3 года я тот же человек, с тем же местом работы, местом проживанием и прочим. Не поменялось ничего. Кроме документов. Наверное, поэтому с детства я не любил всю эту бюрократию. Потому что по факту для ЕС я хороший турист, который приедет, культурно погуляет, потратит там денег и уедет обратно. Но вот с точки зрения бумажек... Кстати, фоточки с Европы и не только можно подсмотреть в моем канале @dlents_photo. Фоткаю на фуджик и айфон. В посте выше велопарковка Амстердама. @dlents

Создать библиотеку с нуля Когда начинаешь свой путь в программировании, многие вещи воспринимаются смутно. Вроде бы ты их используешь: копируешь примеры из документации или генерируешь через агента или бота, но что конкретно происходит в той или иной строчке — загадка. Вот мой пример: первым языком, на котором я писал продолжительное время, был PHP. И я совершенно не понимал его ООП-сторону. То есть я пользовался объектами в библиотеках: создать экземпляр, вызвать метод. Но абсолютно не понимал, что при этом происходит и зачем это нужно. Написал $foo->bar() — вроде работает, но что за что отвечает — непонятно. Для меня программирование тогда было не «думаньем над задачей», а попыткой подобрать правильный пазл: поменял строчки местами — заработало. Я даже коллекционировал такие «пазлы»: вот код, чтобы прочитать файл, вот чтобы распарсить CSV. Я не думал, как они работают, а просто вставлял их под задачу. Сейчас понимаю, что это очень напоминает вайб-кодинг. Проблема в том, что ты никогда не преодолеешь этот барьер, пока не перестанешь бездумно копировать, а потратишь время и разберешься основательно. Но как это сделать? На мой взгляд, один из лучших способов — написать свою библиотеку. Да, придется попотеть: тут и теория, и практика, и поиск одного верного решения среди ста неверных. Но результат не разочарует — информация, полученная так, никогда не забудется и станет фундаментом для новых знаний: сразу становится понятно, как и зачем это можно использовать. Но слова словами, а код сам себя не напишет. Поэтому предлагаю устроить небольшой показательный мастер-класс: мы с тобой создадим свою библиотеку и заодно детально разберёмся с генераторами в JavaScript. Наша библиотека будет предлагать API для организации легковесных потоков, работающих по принципам кооперативной многозадачности. 🧐Звучит мудрёно? Давай поясню. В JavaScript постоянно приходится иметь дело с асинхронщиной: события, промисы — всё вокруг асинхронное. И при всём этом исполнение остаётся однопоточным — написал тяжёлый обработчик события, и интерфейс встал колом. Справиться с такими подвисаниями можно тремя способами: оптимизировать сам код; вынести вычисления в воркер/сервер; либо спроектировать выполнение так, чтобы задачи могли приостанавливаться и давать дорогу другим. Вот это последнее и есть кооперативная многозадачность. Ключевой принцип здесь — программы сами решают, когда уступить поток выполнения, а значит, мы можем гибко этим управлять, выжимая максимум производительности. 📚Именно этому и будет посвящен ОТКРЫТЫЙ УРОК в четверг 12 марта в 19:00: - Поймем разницу между кооперативной и вытесняющей многозадачностью - Научимся применять кооперативную многозадачность в JS для устранения фризов и проблем с памятью - Исследуем практическое применение генераторов на конкретном практическом примере ЗАРЕГИСТРИРОВАТЬСЯ НА УРОК БАЗА решает. До встречи в четверг!

Айпад – лучший гаджет для путешествий Некоторое время назад у меня появился айпад. До этого никогда особо не уделял внимание
Айпад – лучший гаджет для путешествий Некоторое время назад у меня появился айпад. До этого никогда особо не уделял внимание планшетам. Ну есть и есть. Зачем он мне, если есть ноутбук? И в повседневной жизни он действительно не нужен. По крайне мере мне. Я попробовал использовать айпад дома для просмотра всякого контента, но теперь приходится заряжать и ноутбук и айпад. А зачем заряжать 2 вещи, если можно только 1, которая закрывает все потребности? Но вот путешествия! Поехал в отпуск неделю назад: много перелетов, переездов на автобусах и поездах. Ноутбук остался дома ради экономии места и легкости рюкзака. Впервые взял айпад с собой. И как же отлично он вписался. Лёгкий, не занимает много места в рюкзаке или на столике в самолете, можно зачилиться в отеле после 20к шагов в новом городе, можно обработать фотки прямо с фотоаппарата пока едешь в автобусе, ну и конечно накачать фильмов/игр. Сейчас взять самый простой вариант можно за 32к (новый, на 128 гигов, у меня ровно такой же). Короче, мастхев для каждого, кто хотя бы раз в год куда-то ездит. А если у вас уже есть айфон и макбук, то айпад отлично вписывается в эту компанию, экосистема ж. Тут бы мог быть ерид, но Apple не платили мне. @dlents

Кому хотелось поиграться с OpenClaw или Claude Cowork, но не хотелось возиться с настройками и платить 200$ за подписку, появился вариант — Союз. - Всё работает сразу после установки. - Есть поиск в интернете без платы за поисковые движки. - Можно визуализировать работу агента. Есть управление голосом. - Перед любым важным действием агент спросит разрешения. Из прочих фич: работа с почтой, календарём, презентациями, браузером, excel, word, pdf. Всё написано разработчиками, без использования чужих MCP-функций, а значит, есть контроль и безопасность. Агент не сможет удалит файлы, не спросив пользователя. Агент не сможет скачать и установить вирусное ПО. https://t.me/dumch_code/140

AI Dev Day — встреча, посвящённая реальному опыту внедрения AI-инструментов в процессы разработки. Ребята из Яндекса, Авито,
AI Dev Day — встреча, посвящённая реальному опыту внедрения AI-инструментов в процессы разработки. Ребята из Яндекса, Авито, Сбера, Т-Банка и Ozon поговорят об эффективности, расскажут как измеряют полезность AI в разработке и поделятся проблемными кейсами. 15 марта, воскресенье Москва, онлайн + офлайн В программе много докладов, например: • AI dev в Яндексе: стали ли мы продуктивнее за год? • Внедрение GenAI в разработке, Avito • Развитие кодовых ассистентов в Ozon • AID - AI for Designers. Мультиагентная система помогающая дизайнерам, Cбер Регистрация и полная программа по ссылке @dlents

Ускоряем телеграм без впн Пользоваться полноценно телеграмм напрямую стало сложно, а держать включенным впн постоянно не удобно – половина внутренних сервисов или плохо работает с ними или вообще не работает. Но благо телега, «успешно» заблокированная в 2018 году, встроила возможность проксирования трафика внутри вашего клиента. Сразу скажу – пользоваться публичными прокси, которые будут распространяться через ботов и подборки вариант не очень. Они часто отваливаются и просят подписки на каналы. Проверено в 18 году на личном опыте. Но благо все тут умные программисты и опытные пользователи нейронок, так что лучшее, что вы можете сделать на выходных для себя и близких, это поднять личный прокси на своем сервере. Сервер покупаете с российским IP на любом хостинге, где будет дешевле. Я шел по этому гайду https://habr.com/ru/articles/994934 Поднял за 15 минут, работает неплохо. Возможно, уже есть что-то более актуальное, но суть вы поняли. @dlents

hvfgjufuvenhf

Быстрый поиск в интернете Я всегда пользовался браузером так: стоит дефолтный поиск (гугл например), я им и пользуюсь через б
Быстрый поиск в интернете Я всегда пользовался браузером так: стоит дефолтный поиск (гугл например), я им и пользуюсь через браузерный поиск. Эта штука кстати называется омнибокс. Если нужно поискать что-то в гитхабе, то открываю гитхаб и уже там ищу. Это занимает некоторое время, потому что сначала должен прогрузиться гитхаб, затем нужно найти поле ввода, а потом дождаться результатов. Но после перехода на новый браузер открыл для себя фичу, которая позволяет сразу перейти к последнему шагу и прямо из браузерной строки поиска получить результаты поиска нужного сервиса. В настройках браузера назначаете короткие ники (желательно однобуквенные) для поисковиков. Теперь в браузерной строке пишите ник сервиса, ставите пробел и вуаля, поиск будет внутри сервиса, который вы указали. Очень удобно. В гугл хроме точно есть, проверил. В Vivaldi тоже. Остальные браузеры не проверял, но кажется что должно быть во многих популярных. И да, поисковиком не обязательно должен быть именно поисковик. Это может быть любой сервис, где можно что-то искать. У меня, как видите, кроме яндекса и гугла еще perplexity, поиск внутри гитхаба, аркадии и рабочей вики. Да хоть любимый сервис доставки роллов поставьте и быстро ищите там нужные позиции. 🔥- спасибо, полезно 👀- давно так пользуюсь @dlents

Быстрый поиск в интернете Я всегда пользовался браузером так: стоит дефолтный поиск (гугл например), я им и пользуюсь через б
Быстрый поиск в интернете Я всегда пользовался браузером так: стоит дефолтный поиск (гугл например), я им и пользуюсь через браузерный поиск. Эта штука кстати называется омнибокс. Если нужно поискать что-то в гитхабе, то открываю гитхаб и уже там ищу. Это занимает некоторое время, потому что сначала должен прогрузиться гитхаб, затем нужно найти поле ввода, а потом дождаться результатов. Но после перехода на новый браузер открыл для себя фичу, которая позволяет сразу перейти к последнему шагу и прямо из браузерной строки поиска получить результаты поиска нужного сервиса. В настройках браузера назначаете короткие ники (желательно однобуквенные) для поисковиков. Теперь в браузерной строке пишите ник сервиса, ставите пробел и вуаля, поиск будет внутри сервиса, который вы указали. Очень удобно. В гугл хроме точно есть, проверил. В Vivaldi тоже. Остальные браузеры не проверял, но кажется что должно быть во многих популярных. И да, поисковиком не обязательно должен быть именно поисковик. Это может быть любой сервис, где можно что-то искать. У меня, как видите, кроме яндекса и гугла еще perplexity, поиск внутри гитхаба, аркадии и рабочей вики. Да хоть любимый сервис доставки роллов поставьте и быстро ищите там нужные позиции. 🔥- спасибо, полезно 👀- давно так пользуюсь @dlents

Из техлида в вайб-кодеры Куда применить 15 лет опыта разработки в 2026 году? Автор канала «Вайб-кодинг по Чуйкову», ушел из найма (ex-Сбер) и стал менторить вайб-кодеров. А что? Кто еще расскажет им, что такое фронт, что такое бэк, API, Git, Docker? Парень раскачал свой канал за год до 3500 пдп, и вышел на свою ЗП в корпорации. Вот топ посты, которые точно стоит посмотреть: • Боль которая объединяет джуна и синьораМасштабируемый вайб-кодингТоп-6 признаков, что ты опытный вайб-кодерРабочий сетап для создания мобильного приложения с помощью ИИАнализ конкурентов перед созданием продукта Подписывайтесь 👉 @vibe_coding Реклама: ИП Чуйков Константин Эдуардович, ИНН 410123535204, erid 2VtzqvWfz9h

Вышло небольшое текстовое интервью со мной про работу в Поиске и переход в Инфраструктуру. Как пришел в Яндекс, чем занимался и как все устроено в новой команде.
В Яндексе у нас единый репозиторий, поэтому я могу коммитить в любой сервис при желании и апруве ответственных. Например, есть один из старых сервисов — Ретродоска, которую команды используют для сбора фидбэка по проекту. За время жизни сервис оброс доработками, но нет конкретной команды, которая отвечает за него и может его причесать. И однажды, пока мы что-то обсуждали на ретро, я нашёл код Ретродоски, закоммитил исправления нескольких багов, которые очень давно хотел поправить. Затем нашёл по старым коммитам ребят, которые подсказали, как релизить проект, и к вечеру все фиксы были в проде. А где-то через полгода другие ребята в своё свободное время ещё добавили правок и обновили доску. Теперь она совсем приятная. Классно же?
Полное интервью тут https://yandex.ru/jobs/blog/frontender-vo-vnutrennej-infrastrukture @dlents