Даниэль Ленц - блог
Open in Telegram
С 18 лет работаю фронтенд разработчиком. Тут про веб, мою жизнь и рабочие приколы. Сейчас в Яндексе. По рекламе и другим предложениям: @lentsd
Show more3 954
Subscribers
-124 hours
-77 days
+2430 days
Posts Archive
3 954
Неочевидный плюс поиска информации через нейронки это то, что теперь не приходится заходить на сайты с корявой версткой, которые просто украли инфу с первоисточника и навесили рекламы на 80% вьюпорта.
@dlents
3 954
23 мая пройдет «Рекурсию по городу» — командное офлайн-приключение в формате CTF.
Участники будут решать задачи прямо на улицах Москвы: 35+ заданий по маршруту, который проходит через точки, связанные с историей российской IT-индустрии, в том числе через территорию МГУ, центр фундаментальных исследований РАН и нашу штаб-квартиру в «Красной Розе».
В основе — игровой нарратив: архивный сервер с кодом большого проекта застрял в бесконечной рекурсии. Команды будут восстанавливать архитектуру, находить конфликты между элементами и шаг за шагом выводить систему из петли.
Завершится вечер концертом в Экстрополисе.
• 23 мая, суббота
• Москва, офлайн
• команды до 5 человек
Регистрация по ссылке
@dlents
3 954
Кстати, про малвари
Коллеги с первой работы (блокчейн проекты под заказ) рассказали как их пытались скамить.
Приходит якобы заказчик с уже каким-то фронтовым шаблоном. Такое часто бывает, когда заказчик покупает где-то на маркетплейсах шаблон и просит допилить под его требования.
Но вот шаблон этот не простой, а с сюрпризом. Чаще всего где-то в коде спрятана логика, которая начинает «изучать» пк разраба, который запустит это локально с целью найти крипто кошельки и вывести оттуда все деньги.
Такие дела.
Если работаете с внешними заказчиками, то проверяйте то, что они присылают с просьбой «запустить».
@dlents
3 954
Программа JavaScript-конференции HolyJS собрана на 100% — показываем то, что лучше не пропускать
📍 14–15 мая, Москва
Узнайте, как AI автоматизирует рабочие процессы (вместе с багами 😈), меняет UI и заставляет перерабатывать фронтенд для агентов. Может, и главным языком программирования становится… английский?
Агенты делают разработку проще, но остаются задачи, которые инженер может решить только сам. Поговорим про ускорение без JS, поиск утечек памяти в Chrome, искусство Vue-компонентов, DDoS-атаки на Node.js, модульный Backend-for-Frontend и даже способы сэкономить на оперативной памяти.
На воркшопах будем писать полезные модульные тесты веб-интерфейса, сделаем «расклад на качество» и предскажем появление багов, порисуем в 4D. А еще задебажим резюме, чтобы работа находилась быстрее.
Полное расписание и подробности докладов — на сайте HolyJS.
Купить персональный билет со скидкой 15% можно по промокоду
DLENTS
Реклама. ООО «Джуг Ру Груп». ИНН 78013414463 954
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
3 954
IP адреса российских сервисов
Сегодня раскатили новый патч – популярные российские сервисы не пускают, если у вас включен КВН.
Нашел репозиторий и сервис поверх него, который собирает актуальные IP адреса и позволяет экспортировать в популярных форматах.
Скачал весь лист для своего клиента, включил сплит туннелирование. Все работает. Снова можно заказать какую-то хрень из озона, "находясь" в Нидерландах.
Репа – https://github.com/rekryt/iplist
Сайт для скачивания списка – https://russia.iplist.opencck.org
Скидывай друзьям и коллегам
@dlents
3 954
Забавное про NDA
В самом начале работы в Яндексе я написал пост про свою первую задачу в проде.
И там был скриншот на котором видно внутреннее расширение. Кто-то пришел в коменты и сказал, что вообще-то это NDA и лучше такое не выставлять. Я, тогда еще совсем новичок в большой компании, оперативно замазал лишнее (видно на втором скрине в посте) и выдохнул.
Хоть это и была мелочь и вряд ли можно назвать NDA, но с того момента я стал внимательнее смотреть на скрины, которые публикую здесь.
Но потом я стал замечать, что "секретные фичи" появляются на гораздо больших охватах.
Первый раз увидел экспериментальный дизайн поиска на канале UlbiTV на ролике со 100к+ просмотров.
На второй случай позабавил гораздо больше.
У одного супер популярного блогера в начале ролика была реклама то ли поиска, то ли еще чего-то. И прямо в ролике скриншот UI, где висит плашка с фразой "NDA". Такую верстали специально, чтобы сотрудники случайно не показали лишнего во внешний мир. На ролике 5 лямов просмотров 🤓
С тех пор отношусь к NDA более спокойно.
@dlents
3 954
Repost from Yandex for Frontend
🛣 «Я хотел быть ближе к пользователям»: история одной ротации
Меня зовут Даниэль Ленц. Раньше я создавал интерфейсы в Поиске с Алисой, а затем перешёл в Yandex Infrastructure. Хочу рассказать, как так получилось и чем различается работа для внешних и внутренних пользователей.
🈶 Как я попал в Яндекс
Всё вышло случайно. Я планировал полгода готовиться к собеседованиям и только потом откликаться на вакансии. Но примерно через месяц сходил на наймовое мероприятие, а после него мне написали и предложили вакансию. Так я прошёл все секции и попал в Поиск.
Тогда там было около семи команд. Кто-то отвечал за рекламу, кто-то — за скорость поиска, его архитектуру и так далее. Я же занимался интерфейсами карусели товаров в выдаче, а через год перешёл в сервис «Картинки», который делала одна команда.
Нас было всего четверо, и мы отвечали за всё: за поиск, за страницу, которая рендерит сетку, за просмотрщик картинок, рекламу и пользовательские сценарии. Так что я попробовал себя в командах, которые несут ответственность как за весь продукт, так и за его часть.
Также я успел покоммитить в запуск Поиска с Алисой. За пару недель до первого релиза разработчики попросили помочь пофиксить баги и довести сервис до продакшена. Мы очень драйвово поработали две недели. И хотя я не делал проект с нуля, был рад в нём поучаствовать.
🈶 Почему я решил сменить фокус
Когда работаешь с задачами для миллиона очень разных людей, сложно представить, как они пользуются сервисом. А мне был нужен более близкий и конкретный фидбэк. Поэтому через полтора года я начал искать вакансии во внутренней инфраструктуре Яндекса.
Через специальный сервис нашёл место в одной из команд Yandex Infrastructure, связался с рекрутером, поговорил с тимлидом и ротировался.
🈶 Что изменилось:
«Инфраструктурой Яндекса пользуются несколько десятков тысяч человек. Я представляю, кто эти люди, чем они занимаются и какие у них потребности. Со многими общаюсь, и связь с ними ближе, поэтому разрабатывать для них мне интереснее».🈶 Чем я занимаюсь сейчас Делаю инфраструктуру для коллег уже год 😌 Первой моей задачей стала разработка большой фичи для сервиса выдачи ресурсов. Раньше, чтобы получить GPU, команды вручную создавали тикет или писали запрос в одну из таблиц. Периодически заказы дублировались, возникала путаница, а выдача графических процессоров задерживалась. Мы добавили в наш сервис раздел про GPU. Теперь команде нужно просто заполнить заявку. Запрос согласуют без дополнительных таблиц и траты времени. Ещё я делал интерфейс Bootstrap. Он по шаблонам позволяет развернуть микросервис в инфраструктуре Яндекса, что существенно экономит время и силы. А теперь я занимаюсь доработками под продуктовые задачи и помогаю коллегам заехать к нам. ➡️ В блоге о работе в Яндексе я также рассказал, какие решения значительно упрощают и ускоряют работу нашей команды, и поделился небольшой историей о том, как пофиксил Ретродоску. 🧽 Кстати, заглядывайте в мой канал. Там я пишу об интересных вещах из мира фронтенда. Подписывайтесь: 💬 @Yandex4Frontend
3 954
Европа без виз
Забавно устроен современный мир бумажек.
В 24 год подаюсь на первую шенген визу – получаю отказ.
В 25 году подаюсь второй раз – получаю визу на 45 дней.
В 26 году еду в ЕС вообще без визы, просто по паспорту.
В первом случае мой загран паспорт РФ выдан в Крыму (жил там до поступления в универ). Во втором случае я сделал новый загран, но уже в Санкт-Петербурге. В третьем я сделал загран другого гос-ва, которое имеет безвиз с ЕС.
При этом все 3 года я тот же человек, с тем же местом работы, местом проживанием и прочим. Не поменялось ничего. Кроме документов.
Наверное, поэтому с детства я не любил всю эту бюрократию. Потому что по факту для ЕС я хороший турист, который приедет, культурно погуляет, потратит там денег и уедет обратно. Но вот с точки зрения бумажек...
Кстати, фоточки с Европы и не только можно подсмотреть в моем канале @dlents_photo. Фоткаю на фуджик и айфон.
В посте выше велопарковка Амстердама.
@dlents
3 954
Repost from Kobezzza. База в программировании
Создать библиотеку с нуля
Когда начинаешь свой путь в программировании, многие вещи воспринимаются смутно. Вроде бы ты их используешь: копируешь примеры из документации или генерируешь через агента или бота, но что конкретно происходит в той или иной строчке — загадка.
Вот мой пример: первым языком, на котором я писал продолжительное время, был PHP. И я совершенно не понимал его ООП-сторону. То есть я пользовался объектами в библиотеках: создать экземпляр, вызвать метод. Но абсолютно не понимал, что при этом происходит и зачем это нужно. Написал
$foo->bar() — вроде работает, но что за что отвечает — непонятно.
Для меня программирование тогда было не «думаньем над задачей», а попыткой подобрать правильный пазл: поменял строчки местами — заработало. Я даже коллекционировал такие «пазлы»: вот код, чтобы прочитать файл, вот чтобы распарсить CSV. Я не думал, как они работают, а просто вставлял их под задачу. Сейчас понимаю, что это очень напоминает вайб-кодинг.
Проблема в том, что ты никогда не преодолеешь этот барьер, пока не перестанешь бездумно копировать, а потратишь время и разберешься основательно. Но как это сделать? На мой взгляд, один из лучших способов — написать свою библиотеку. Да, придется попотеть: тут и теория, и практика, и поиск одного верного решения среди ста неверных. Но результат не разочарует — информация, полученная так, никогда не забудется и станет фундаментом для новых знаний: сразу становится понятно, как и зачем это можно использовать.
Но слова словами, а код сам себя не напишет. Поэтому предлагаю устроить небольшой показательный мастер-класс: мы с тобой создадим свою библиотеку и заодно детально разберёмся с генераторами в JavaScript. Наша библиотека будет предлагать API для организации легковесных потоков, работающих по принципам кооперативной многозадачности.
🧐Звучит мудрёно? Давай поясню. В JavaScript постоянно приходится иметь дело с асинхронщиной: события, промисы — всё вокруг асинхронное. И при всём этом исполнение остаётся однопоточным — написал тяжёлый обработчик события, и интерфейс встал колом. Справиться с такими подвисаниями можно тремя способами: оптимизировать сам код; вынести вычисления в воркер/сервер; либо спроектировать выполнение так, чтобы задачи могли приостанавливаться и давать дорогу другим. Вот это последнее и есть кооперативная многозадачность. Ключевой принцип здесь — программы сами решают, когда уступить поток выполнения, а значит, мы можем гибко этим управлять, выжимая максимум производительности.
📚Именно этому и будет посвящен ОТКРЫТЫЙ УРОК в четверг 12 марта в 19:00:
- Поймем разницу между кооперативной и вытесняющей многозадачностью
- Научимся применять кооперативную многозадачность в JS для устранения фризов и проблем с памятью
- Исследуем практическое применение генераторов на конкретном практическом примере
ЗАРЕГИСТРИРОВАТЬСЯ НА УРОК
БАЗА решает. До встречи в четверг!3 954
Айпад – лучший гаджет для путешествий
Некоторое время назад у меня появился айпад. До этого никогда особо не уделял внимание планшетам. Ну есть и есть. Зачем он мне, если есть ноутбук?
И в повседневной жизни он действительно не нужен. По крайне мере мне. Я попробовал использовать айпад дома для просмотра всякого контента, но теперь приходится заряжать и ноутбук и айпад. А зачем заряжать 2 вещи, если можно только 1, которая закрывает все потребности?
Но вот путешествия!
Поехал в отпуск неделю назад: много перелетов, переездов на автобусах и поездах. Ноутбук остался дома ради экономии места и легкости рюкзака.
Впервые взял айпад с собой. И как же отлично он вписался.
Лёгкий, не занимает много места в рюкзаке или на столике в самолете, можно зачилиться в отеле после 20к шагов в новом городе, можно обработать фотки прямо с фотоаппарата пока едешь в автобусе, ну и конечно накачать фильмов/игр.
Сейчас взять самый простой вариант можно за 32к (новый, на 128 гигов, у меня ровно такой же).
Короче, мастхев для каждого, кто хотя бы раз в год куда-то ездит.
А если у вас уже есть айфон и макбук, то айпад отлично вписывается в эту компанию, экосистема ж.
Тут бы мог быть ерид, но Apple не платили мне.
@dlents
3 954
Кому хотелось поиграться с OpenClaw или Claude Cowork, но не хотелось возиться с настройками и платить 200$ за подписку, появился вариант — Союз.
- Всё работает сразу после установки.
- Есть поиск в интернете без платы за поисковые движки.
- Можно визуализировать работу агента. Есть управление голосом.
- Перед любым важным действием агент спросит разрешения.
Из прочих фич: работа с почтой, календарём, презентациями, браузером, excel, word, pdf. Всё написано разработчиками, без использования чужих MCP-функций, а значит, есть контроль и безопасность. Агент не сможет удалит файлы, не спросив пользователя. Агент не сможет скачать и установить вирусное ПО.
https://t.me/dumch_code/140
3 954
AI Dev Day — встреча, посвящённая реальному опыту внедрения AI-инструментов в процессы разработки.
Ребята из Яндекса, Авито, Сбера, Т-Банка и Ozon поговорят об эффективности, расскажут как измеряют полезность AI в разработке и поделятся проблемными кейсами.
15 марта, воскресенье
Москва, онлайн + офлайн
В программе много докладов, например:
• AI dev в Яндексе: стали ли мы продуктивнее за год?
• Внедрение GenAI в разработке, Avito
• Развитие кодовых ассистентов в Ozon
• AID - AI for Designers. Мультиагентная система помогающая дизайнерам, Cбер
Регистрация и полная программа по ссылке
@dlents
3 954
Ускоряем телеграм без впн
Пользоваться полноценно телеграмм напрямую стало сложно, а держать включенным впн постоянно не удобно – половина внутренних сервисов или плохо работает с ними или вообще не работает.
Но благо телега, «успешно» заблокированная в 2018 году, встроила возможность проксирования трафика внутри вашего клиента.
Сразу скажу – пользоваться публичными прокси, которые будут распространяться через ботов и подборки вариант не очень. Они часто отваливаются и просят подписки на каналы. Проверено в 18 году на личном опыте.
Но благо все тут умные программисты и опытные пользователи нейронок, так что лучшее, что вы можете сделать на выходных для себя и близких, это поднять личный прокси на своем сервере.
Сервер покупаете с российским IP на любом хостинге, где будет дешевле.
Я шел по этому гайду https://habr.com/ru/articles/994934
Поднял за 15 минут, работает неплохо. Возможно, уже есть что-то более актуальное, но суть вы поняли.
@dlents
3 954
Быстрый поиск в интернете
Я всегда пользовался браузером так: стоит дефолтный поиск (гугл например), я им и пользуюсь через браузерный поиск. Эта штука кстати называется омнибокс.
Если нужно поискать что-то в гитхабе, то открываю гитхаб и уже там ищу. Это занимает некоторое время, потому что сначала должен прогрузиться гитхаб, затем нужно найти поле ввода, а потом дождаться результатов.
Но после перехода на новый браузер открыл для себя фичу, которая позволяет сразу перейти к последнему шагу и прямо из браузерной строки поиска получить результаты поиска нужного сервиса.
В настройках браузера назначаете короткие ники (желательно однобуквенные) для поисковиков. Теперь в браузерной строке пишите ник сервиса, ставите пробел и вуаля, поиск будет внутри сервиса, который вы указали. Очень удобно.
В гугл хроме точно есть, проверил. В Vivaldi тоже. Остальные браузеры не проверял, но кажется что должно быть во многих популярных.
И да, поисковиком не обязательно должен быть именно поисковик.
Это может быть любой сервис, где можно что-то искать. У меня, как видите, кроме яндекса и гугла еще perplexity, поиск внутри гитхаба, аркадии и рабочей вики. Да хоть любимый сервис доставки роллов поставьте и быстро ищите там нужные позиции.
🔥- спасибо, полезно
👀- давно так пользуюсь
@dlents
3 954
Быстрый поиск в интернете
Я всегда пользовался браузером так: стоит дефолтный поиск (гугл например), я им и пользуюсь через браузерный поиск. Эта штука кстати называется омнибокс.
Если нужно поискать что-то в гитхабе, то открываю гитхаб и уже там ищу. Это занимает некоторое время, потому что сначала должен прогрузиться гитхаб, затем нужно найти поле ввода, а потом дождаться результатов.
Но после перехода на новый браузер открыл для себя фичу, которая позволяет сразу перейти к последнему шагу и прямо из браузерной строки поиска получить результаты поиска нужного сервиса.
В настройках браузера назначаете короткие ники (желательно однобуквенные) для поисковиков. Теперь в браузерной строке пишите ник сервиса, ставите пробел и вуаля, поиск будет внутри сервиса, который вы указали. Очень удобно.
В гугл хроме точно есть, проверил. В Vivaldi тоже. Остальные браузеры не проверял, но кажется что должно быть во многих популярных.
И да, поисковиком не обязательно должен быть именно поисковик.
Это может быть любой сервис, где можно что-то искать. У меня, как видите, кроме яндекса и гугла еще perplexity, поиск внутри гитхаба, аркадии и рабочей вики. Да хоть любимый сервис доставки роллов поставьте и быстро ищите там нужные позиции.
🔥- спасибо, полезно
👀- давно так пользуюсь
@dlents
3 954
Из техлида в вайб-кодеры
Куда применить 15 лет опыта разработки в 2026 году?
Автор канала «Вайб-кодинг по Чуйкову», ушел из найма (ex-Сбер) и стал менторить вайб-кодеров.
А что? Кто еще расскажет им, что такое фронт, что такое бэк, API, Git, Docker?
Парень раскачал свой канал за год до 3500 пдп, и вышел на свою ЗП в корпорации.
Вот топ посты, которые точно стоит посмотреть:
• Боль которая объединяет джуна и синьора
• Масштабируемый вайб-кодинг
• Топ-6 признаков, что ты опытный вайб-кодер
• Рабочий сетап для создания мобильного приложения с помощью ИИ
• Анализ конкурентов перед созданием продукта
Подписывайтесь 👉 @vibe_coding
Реклама: ИП Чуйков Константин Эдуардович, ИНН 410123535204, erid 2VtzqvWfz9h
3 954
Вышло небольшое текстовое интервью со мной про работу в Поиске и переход в Инфраструктуру. Как пришел в Яндекс, чем занимался и как все устроено в новой команде.
В Яндексе у нас единый репозиторий, поэтому я могу коммитить в любой сервис при желании и апруве ответственных. Например, есть один из старых сервисов — Ретродоска, которую команды используют для сбора фидбэка по проекту. За время жизни сервис оброс доработками, но нет конкретной команды, которая отвечает за него и может его причесать. И однажды, пока мы что-то обсуждали на ретро, я нашёл код Ретродоски, закоммитил исправления нескольких багов, которые очень давно хотел поправить. Затем нашёл по старым коммитам ребят, которые подсказали, как релизить проект, и к вечеру все фиксы были в проде. А где-то через полгода другие ребята в своё свободное время ещё добавили правок и обновили доску. Теперь она совсем приятная. Классно же?Полное интервью тут https://yandex.ru/jobs/blog/frontender-vo-vnutrennej-infrastrukture @dlents
