Даниэль Ленц - блог
3.91K subscribers
160 photos
14 videos
79 links
С 18 лет работаю фронтенд разработчиком. Тут про веб, мою жизнь и рабочие приколы.

Сейчас в Яндексе.

По рекламе и другим предложениям: @lentsd
Download Telegram
Первый опыт публичного выступления

1 355 человек в прямом эфире!

У нас на работе есть внутреннее шоу-дискуссия, где 3-4 человека + модератор обсуждают какую-то тему в прямом эфире. Туда периодически зовут ребят из разных отделов.

Вот в апреле пришли и ко мне:

Не хочешь про зумеров и миллениалов поговорить?


Сначала думал отказаться, ибо я раньше не выступал нигде, а тут сразу прямой эфир. Да и тема мне не особо близка. Но я все таки зумер (22 года) + опыт публичного выступления никогда не будет лишним, так что я согласился.

За день до эфира переживал, что наговорю ерунды или вообще молчать буду от волнения. Но, приехав в студию и увидев других спикеров, волнение растворилось. Наверное потому что остальные тоже переживали. А вместе переживать как-то легче...

Дальше меня загримировали, повесили микрофон и отправили на диванчик ждать. Куча операторов, огромные камеры, свет и много людей из продакшена.

На протяжении всего эфира я видел комментарии людей в лайве на телевизоре перед нами. Все ждал, что кто-то напишет "какой же Даниэль скучный" или что-то в этом духе, но к счастью такого не было, что уже неплохо для первого раза.

Теперь думаю – может уже пора собрать какой-то доклад и сходить на локальный митап в Питере?

@dlents
43👍14🔥10👎1
Использование AI разработчиками внутри Яндекса (и мной)

Я удивлен насколько быстро многие в компании начали пользоваться AI для рабочих задач и интегрировать его во внутренние процессы.

Совсем скоро после выхода Claude 3.7 Sonnet с подачи ребят из Поиска волна AI пошла по всем командам: Cline, Roo Code, Cursor, Memory банки, обсуждение новых моделей на рынке и как лучше промптить.

В рабочем чате, кто активно применяет AI в работе, уже 1.6к+ человек!

Делюсь немногим, что произошло вокруг меня буквально за последние 2 месяца:

1) Один коллега запилил на коленке нейро-ревью – CI интеграцию, которая смотрит на пулл реквест и оставляет комментарии по коду. Небольшой пет-проект вылился в то, что его подключили 350+ команд в Яндексе.

2) Появилось автосгенерированное описание для каждого пулл реквеста на основе диффа. Работает супер хорошо. Вот пример из моей недавней таски:

Добавлена возможность отображения ссылки на тикет, если он создан.

🔄 Обновлен компонент для отображения состояния создания тикета с использованием компонента Spin и текста "Тикет создается".

⏱️ Реализована логика повторной загрузки данных при изменении состояния тикета, чтобы обеспечить актуальность информации.

📝 Добавлены новые строки в файлы локализации для поддержки нового текста о состоянии тикета.


3) Многие команды внутренних сервисов начали пилить свои MCP сервера. Теперь можно прямо в чате с моделькой сходить в трекер и забрать инфу по таске.

4) Начали проходить внутренние митапы и мероприятия про AI. Только у нас в отделе (инфраструктура) уже точно было 2.

5) Кто-то даже навайбкодил расширение в IDE для хранилища промптов и шаринга его между командами. Мелочь, а удобно.

И это лишь малая часть. Десяток других решений в виде инструментов, ботов, скриптов и расширений ускоряют рутину сотрудников благодаря AI. Есть даже канал, куда репостят лучшие внедрения в компании.

Ну и приятный бонус то, что каждому выделяется квота на использование ресурсов LLM моделей. Если вы не вайбкодите сутками, а используете AI в рамках разумного, то и платить не приходится.

А что использую я каждый день?

Я остановился на RooCode (форк Cline) для чата и Cursor для авто дополнений в коде.

Вместо обычного поиска все чаще использую Perplexity. А для простых вопросов по английскому языку (сейчас изучаю) часто хожу в бесплатный Deepseek.

Для агентов, кстати, главное не забыть сделать одну важную вещь – правильно настроить игноры директорий в проекте, куда им ходить не нужно. Иначе улетят ваши кровные на чтение ненужных дампов.

А вы используете в работе AI? Какие инструменты / модели?

@dlents
2🔥31👍1512😁2👎1
Ваши закладки в браузере могут быть умными, а не просто ссылками.

И речь не про AI, если вы подумали об этом. Речь про букмарклеты.

Букмарклеты? 🤔

Фича, добавленная в браузеры еще в 1995 года, но актуальная и полезная до сих пор.

Букмарклет — это небольшая программа на JavaScript, которая сохраняется в виде браузерной закладки и при нажатии выполняется на текущей странице. Он оформлен как URL с протоколом javascript: и позволяет быстро выполнять различные полезные действия без установки расширений или плагинов.


Выглядит как-то так:


javascript:console.log('hello world');


Да, в закладку можно положить любой js код и при клике на нее он выполнится в контексте текущей страницы.

Получается дико удобный инструмент для всяких рутинных мелочей.

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

Букмарклету же можно написать самому или нейронкой за пару минут и получить полезность в браузере на расстояние 1 клика.

Какие букмаркелеты я использую сам? ✍🏼

1) Мое любимое – смена стейджа проекта с сохранением урла

Как и у всех у нас в проекте есть 4 стенда: локальный, препрод, препрод с номером моего пулла и прод. Между ними хочется удобно переключаться, при этом сохраняя все текущие параметры страницы из урла.

Для этого я собрал 4 букмарклеты, которые аккуратно лежат в папке.

Суть их проста – они забирают текущий location.pathname + search и подклеивают к урлу тестинга / беты из пулла / локалки / прода. В итоге за один клик я могу из прода открыть тестинг, сохранив при этом нужную часть урла.

Больше не нужно руками копировать квери и добавлять к новой вкладке. Технолоджия!

2) Смена темы страницы в Яндекс Поиске

Когда я работал в Поиске, то часто нужно было проверять верстку в двух темах. Можно конечно открыть девтулзы и менять там. Но зачем, когда можно положить в закладку однострочный код, который будет переключать тему намного быстрее.

3) Поход в ручку бекенда

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

4) Добавление нужных квери параметров

Иногда хочется на любой странице вашего сервиса вставить какие-то заранее известные квери параметры. Чаще всего этого могут быть какие-то экспериментальные флаги или общие конфиги. Букмарклета к вашим услугам.

5) Открытие сайта сразу с запросом юзера

Можно сразу открывать perplexity или другой гпт чат с вашим запросом. Для этого нужно позвать дефолтный браузерный prompt() и подклеить в урл. В таком случае ваш prompt реально становится промптом :)


const q = prompt('Введите ваш запрос для Perplexity:');

window.open('perplexity.ai/search?q=' + q);


6) Чистка определенного поля в localstorage или куках

Если вам нужно чистить определенное поле в local storage или куках, то это легко сделать букмарклетой. Теперь не нужно каждый раз идти в девтулзы, искать там нужный таб, искать нужное поле для удаления. Клик в закладку и все готово.

Короче, думаю вы поняли, что букмарклеты это офигеть какая удобная вещь и ей можно найти 1000 и 1 применение. Скидывай коллегам разрабам и менеджерам.

Как вам букмарклеты?

🔥 – полезно, спасибо
👀 – уже знал про них

@dlents
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥134👍25👀1914
This media is not supported in your browser
VIEW IN TELEGRAM
Фронты, лучший костыль для дебага попапов найден!

У всех же было, что нужно посмотреть стили какого-то элемента на странице, но когда уводишь мышку с него – он скрывается?

Приходится идти и локально в коде менять логику попапа, чтобы он не пропадал. А если доступа к коду нет или просто лень искать нужный код?

Я нашел на просторах сети лучшее решение – ставим setTimeout на 3 секунды и зовем debugger.

И все, страница фризится.

И конечно я это положил в букмарклету под крутым названием debugger3000 😎

javascript:setTimeout(function(){debugger;},3000);


Посмотрите приложенное видео.

Я кликаю в закладку, за 3 секунды открываю нужный мне элемент, страница фризится и я дебажу его без проблем.

Ну красота! Сохраняй и скидывай коллегам фронтам.

Как вам способ?

🔥 - спасибо, полезно
👀 - не, я лучше по-старинке

@dlents
3🔥127👀98👍8😁1
Я тут сходил на Young Con и офигел от масштабов.

8 000 участников!

(больше видео в комментариях)

Яндекс второй год подряд проводит такую масштабную конференцию для молодых специалистов (ученики старших классов и вузов).

Что особенно удивило?

0) Продакшн мероприятия и площадка

Открытие мероприятия на главной сцене напомнило открытие какого-нибудь мажора по кс или инта по доте. Площадка супер современная и вызывает вау-эффект.

1) Огромная куча крутых стендов

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

Тут же были реально крутые стенды: огромный автономный грузовик в разрезе, роборуки со складов маркета, робособаки гуляющие прямо по площадке, робот сотрудника Яндекса для сборки кубика-рубика побивший мировой рекорд по сборке (0,203 секунды!) и еще с десяток других.

А в конце вечера был батл по программированию и победитель залутал миллион рублей. Неплохо.

2) Много медийных гостей

Ведущими были Дима Журавлев и Сергей Мезенцев. В спикерах Ян Топлес, Денис Кукояка (смотрел его еще в 13 лет), Владимир Сурдин, Глеб Соломин, Елизавета Аранова, Rozetked. Вечер закрывали Дора и Федук. Кто-то даже видел Братишкина и Бустера.

3) Доклады от директоров Яндекса

На главной сцене доклады от директоров компании. Рассказывали про свой путь, карьеру, развитие и искусственный интеллект. А куда сейчас без ИИ?

4) Но самое крутое!

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

Когда я был в 11 классе, у меня максимум была учительница по русскому, которая булила весь класс половину урока вместо подготовки к ЕГЭ. И мотивацию хорошо сдать экзамены я искал себе сам. А тут такой мощный буст для ребят.

А вы ходите на конференции?

🔥 – да, офлайн это кайф
👀 – не, лучше онлайн глянуть

@dlents
🔥46👍84👀4👎2🥴1🤨1
Я побывал в крупнейшем дата-центре России.

Для сотрудников нашего отдела недавно появилась такая возможность. Я вписался в первую группу, которой провели экскурсию по ДЦ.

Увидел огромный склад, оптоволоконные провода, электрические подстанции и те самые комнаты с серверными стойками и шумными вентиляторами.

Что за ДЦ?

Это новейший дата-центр Яндекса. Находится в городе Калуга (~180км от Москвы) и на данный момент является самым большим в России.

На фото выше слева видно ЦОД – центр обработки данных. Это независимый модуль, где стоят серваки и все оборудование для их обслуживания. И таких ЦОДов там аж 4. В общей сложности более 3800 стоек для серваков. А в одной стойке от 10 серваков и более. Масштабно, да?

Что интересного узнал?

1) Большая часть ДЦ это инфраструктура для охлаждение серверов

Я представлял, что всё здание забито серваками и проводами. И даже не мог подумать, что больше половины пространства отводится под циркуляцию холодного и горячего воздуха.

Сами сотрудники шутят, что работают на огромном заводе по переработке электричества в тепло.

2) Безопасность. Безопасность. Безопасность.

Конечно ожидаемо для такого объекта, но я ехал туда как сотрудник компании и думал, что "все двери открыты". Но все оказалось серьезно: КПП, охрана, съемка внутри запрещена.

Запомнился охранник, который сидел один в большой и пустой комнате и смотрел на огромную стену из телевизоров, где были выведены все камеры. По-киношному как-то.

3) Как ДЦ к электрической подстанции подключали

Очевидно, что такому объекту нужно куча электроэнергии. Ближайшая подстанция с достаточной мощностью была на расстояние 5.5км. И вот на все это расстояние пришлось протянуть провод под землей через все возможные объекты на пути. Почти как в фильме Операция «Колибри». В процессе даже были цыгане, которые пытались украсть кабель :)

Итого:

Поездкой очень доволен. Побывать в дата-центре было для меня мини-мечтой. Сапсан из Питера в 5 утра полностью оправдан.

А вы хотели бы посетить ДЦ?

🔥 – да, интересно
👀 – нет, что там делать

@dlents
🔥97👀98
Меня тут неожиданно перевели на соседний проект на работе.

И несмотря на то что мы вроде все рядом и используем общие библиотеки (gravity-ui/*) в нем все равно есть много отличий.

И тут я поймал себя на мысли как же процесс вкатывания в новый проект отличается от того, что было пару лет назад.

Раньше:

Открываешь новый проект, начинаешь читать местную доку. Естественно весь контекст уложить в голову нереально. Да и дока не отражает весь проект: все решения, нюансы и костыли. Начинаешь спрашивать коллег по мелочам и не только «а как принято вот тут или тут».

Короче, порой задалбываешь коллег или тратишь сам много времени на изучении.

Сейчас:

Открыл проект в курсоре. Попросил дать краткий обзор на проект: архитектура, технологии. Когда сталкиваешься с чем-то, что требует полного знания кодовой базы (например какой принято компонент юзать для внешних ссылок) – получил в курсоре ответ за 5 секунд.

В итоге – экономится время коллег и ты ускоряешься в работе. Всего за 20$ в месяц.

Не представляю как буквально год назад жили без этого.

Кто еще не использует LLM в работе в 2025 году, у меня только один вопрос – почему?

@dlents
👍2713🔥8
Физический canvas у меня дома или история одного пет проекта

Интерфейсы в вебе это круто, но мне всегда хотелось видеть результат работы в более физическом мире.

Год назад друг подарил мне цифровую рамку размером 64 х 64 пикселя. Я тогда поставил что-то дефолтное и не дошел до самой мякотки. На ней же можно рисовать что угодно. По сути это аналог canvas в реальном мире.

И если вы читаете этот пост, значит я все таки добрался до написания кода для рамки. Путешествие казалось на 5 минут, если бы не:

1) Покупка публичного IP адреса

Само устройство работает только в домашней локальной сети. А мне то нужно будет ходить с удаленного сервера. Пришлось у провайдера покупать публичный IP адрес и перенаправлять порты на рамку.

2) В поисках документации и примеров

Документации на нее кот наплакал. Случайно нашел ссылку под каким-то видео из ютуба. Сертификата на домене не было, а часть сайта на китайском. Самые свежие проекты на JavaScript были 2-3 года назад.

В итоге пришлось писать самому. Ну думаю что такого? Щас canvas создадим, нарисуем что-то для теста и отправим на рамку. Но рамка вместо пейзажа показала полоску разноцветных пикселей. И тут я погрузился в мир RGB форматов.

3) Canvas, RGBA, RGB888 и RGB565

Канвас возвращает данные о пикселях в RGBA формате. А мне нужно было RGB aka RGB888 – 8 бит на 1 цвет. Но я тогда еще не знал об этом.

Вместо этого я узнаю, что еще есть формат RGB565 – по сути урезанный RGB, с меньшим количеством бит на цвет (оптимизации как раз для таких рамок). И я почему-то решаю, что это то, что нужно и щас все заработает. В итоге какую-то часть времени убиваю на преобразование RGBA в RGB565. Пока не открыл доку, где черным по белому написано, что нужен обычный RGB (888 который).

А я еще на доку гнал...

4) Linux и стандартные шрифты

Но вот настает момент, когда локально на маке все работает. Картинка рисуется, поверх нее пишется время, погода и самое главное ради чего все затевалось – количество подписчиков в этом тг канале.

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

На этом моменте пришла окончательная победа. Теперь рамка радует глаз и я вижу, если кто-то отписался (не надо так).

Есть идеи что на нее еще вывести?)

@dlents
1🔥48👍138
Подменяем ответ бекенда прямо в браузере

Кажется, про это фичу мало кто знает. Появилась она не так давно, в 2023 году.

В девтулзах есть возможность легко подменить ответ бекенда или любой другой загружаемый ресурс на странице.

Меня лично очень спасает, когда бекенд вдруг стал пятисотить, а я как раз подключаюсь к ручке. Меняю ошибку на адекватный ответ и работаю дальше.

Или если беки еще не доделали ручку, а локально моки в коде делать не хочется. Подмена в помощь.

А для проверки разных ответов в целях тестирования краевых случаев просто идеально.

Главное, что делается это легко и быстро.

Так где искать в девтулзах?

1. Заходим во вкладку Networks.

2. Находим запрос, который хотим переопределить.

3. Жмем Override content.

4. Вас перебросит на вкладку Sources - там видно все ваши переопределения. Хранятся они локально в папке на вашем компе.

5. Вставляем нужный JSON / картинку / html / js.


Теперь при запросе по нужному пути (и при открытых девтулзах) будет отдаваться ваш контент.

Менять можно не только тело ответа, но и заголовки. А также любые другие загружаемые файлы: картинки, скрипты, файлы стилей.

Ну и так как это все хранится локально, то можно постепенно собрать коллекцию часто используемых переопределений и включать их когда нужно.

Скиньте своим тестировщикам, им точно понравится.

Знали про фичу?

🔥 - имба, не знал
👀 - знал, давно юзаю

@dlents
1🔥139👀7075👍5
Бесплатный коворкинг в центре Питера

Мои коллеги уже в 3 раз запускают бесплатный коворкинг в стиле офисов Яндекса.

В первый раз это был нашумевший в рилсах коворкинг на курорте "Роза Хутор" прямо в горах, потом на крыше музея "Гараж" в Москве. А сейчас прямо в ротонде библиотеки Маяковского на Невском.

Я даже был ведущим на открытии (Нагиев уже занервничал).

Место реально вайбовое, прямо в библиотеке! А главное, что оно в действительности напоминает офис, в который я хожу уже больше 2 лет. Так что кто давно хотел в гости – сейчас самое время.

А еще там порой будут проходить всякие ивенты про карьеру, технологии и AI, на сайте есть расписание.

Забронить себе место и узнать подробнее тут -> https://spb.yandexopenspace.ru/

Работает до 29 августа.

А еще коллеги по секрету сказали, что по будням каждое утро и вечер закидывают новые места для записи.

🔥 – кайф, постараюсь прийти
👀 – я домашний, не приду

@dlents
🔥27👀1482🥴1
Коллеги, не завидуем, но мой календарь сегодня такой.

@dlents
🔥49😁297🤯5👍3🎉3
Автоматизация личных аккаунтов в телеграм

Мало кто знает, но ваш личный аккаунт можно сделать "ботом" и автоматизировать многие действия.

Называется это userbot. Работает поверх MTProto API от телеги.

Самые популярные библиотеки поверх этой апишки: gramjs для js и telethon для питона.

Что можно делать со своим личным аккаунтом с помощью этого API?

Да что угодно: парсинг каналов/групп, автоответчик на сообщения, массовая обработка медиафайлов, редактирование вашего профиля по расписанию, любая другая ваша фантазия.

И да, все эти нейроботы в комментариях пишутся именно на MTProto API.

Для чего мне нужно было автоматизировать свой аккаунт? Неужели нейробота захотел, чтобы спамить другим блогерам?

Нет, все куда более практично.

Мой иностранный банк присылает все уведомления и коды через тг бота мне в личку. А я дал карту друзьям в путешествие и нужно было как-то шарить им все уведомления.

Пересылать самому быстро надоедает. К тому же я могу быть афк и тогда они не смогут что-то оплатить.

Решение простое – создать общую тг группу и автоматизировать пересылку сообщений от бота с моего аккаунта в группу.

Небольшой скрипт за вечер и теперь все сообщения от банка пересылаются в группу. Работает как часы.


Упрощенный код приложил в скрине выше.

А что если по всем своим рабочим тикетам вести минимальную доку и подключить нейронку, которая будет отвечать менеджерам на банальные вопросы по задачам, имея доступ к этой доке? :)

Короче, инструмент максимально полезный и простой. А придумать с ним можно кучу полезностей. Определенно в будущем найдется еще кейс, когда мне нужно будет автоматизировать свой аккаунт.

Как вам?

🔥 – круто, не знал
👀 – давно знал
🤖 – я нейробот

@dlents
🔥11637👀124👍1
Погнали на FrontendConf 2025

В прошлом году я впервые побывал на крупной конференции по фронтенду. До этого ходил лишь на локальные митапы в Питере, поэтому мне было с чем сравнить.

Было 2 очень насыщенных дня, я познакомился с кучей новых людей. Писал про это тут.

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

Но!

На крупных конференциях (как я убедился сам) большинство докладов реально интересные и хорошо подготовленные. Еще бы – там целый программный комитет сидит, помогает с темой доклада, его структурой и то как спикеру вести себя на сцене.

И поэтому в этом году я снова поеду в Москву на 2 дня ради конфы.

А кто еще не купил билет на FrontendConf 2025 (а это на секундочку, самая крупная конфа по фронту) – руки в ноги и к руководителю запрашивать билеты от компании.

Оффлайн: 20 и 21 октября, Москва
Онлайн: 20 и 21 октября, любая точка мира

Список докладов тут frontendconf.ru/moscow/2025/abstracts

А еще мне подогнали личный промокод на скидку 5%, не забывайте его при оформлении 👇🏼

fc25_Lents

@dlents
13🔥10👍2
А проголосуйте кем вы работаете.

Знаю, что в основном тут фронтендеры, но чую, что и другие профессии есть 👇🏼
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1342
В эту пятницу планирую побить рекорд – пойти сразу на 2 конференции за 1 день.

План примерно такой:

К 12:00 еду на Пост->Рост.

Это конференция для блогеров. Никогда не был на не айтишной конфе, но список докладов показался интересным и я отправил заявку, которую неожиданно апрувнули на оффлайн. Посмотрим че и как будет.

А после 18:00 уезжаю на Big Tech Night.

Самое интересное тут это формат. Доклады будут проходить в офисах 5 компаний: Яндекс, Сбер, Lamoda, X5 и Тинек. Обещают между офисами трансфер. То есть можно зайти в офис одной компании, послушать доклады и поехать дальше в турне по офисам.

И сразу после второй конфы в 00:30 уже ночной поезд обратно в Питер. Плотный день намечается.

А вы любите конференции?

🔥 - да, дайте три сразу
👀 - нет, что там делать

@dlents
🔥30👀175
В сеть слили секретную технологию по обходу всех HR фильтров 🙈

Ситуация на Big Tech Night

@dlents
😁44🔥1783