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

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

По рекламе и другим предложениям: @lentsd
Download Telegram
Как-то на одном из собеседований еще до Яндекса интервьюер дал компонент, написанный на React и попросил сделать ревью этого кода, если бы мне кинули его как пул реквест. Конечно там специально было допущены ошибки в логике, кодстайле и других вещах. Мы около 10 минут рассуждали, что можно исправить и создалось ощущение будто мы уже давно работаем вместе.

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

На первой работе тимлид делал нечто похожее, но он пришел позже меня и я не прошел через это. А недавно меня самого на собесе спросили и мне прям зашло.

Так что если проводите собеседования – берите на заметку.

@dlents
👍23🔥431
Закончился мой испытательный срок в Яндексе.

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

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

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

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

@dlents
🔥48👍118❤‍🔥3
В среду ходил впервые на местный оффлайн фронтенд митап - SPB Frontend. Он был небольшой (всего 4 доклада) и поэтому проходил вечером после работы.

Впечатления смешанные, наверное потому, что из всех докладов мне зашел только один от Яндекс Практикума о том как они LCP метрику ускоряли. Было интересно послушать как они дебажили их BFF на ноде и ускорили выполнение одной функции с 600 мс до 1 мс. В остальном ребятам респект, организация и место проведения были топчик (вы только посмотрите на это фото, атмосферненько).

Следующим планирую посетить Субботник от Яндекса 12 августа. Все таки он проходит в моем офисе, грех не прийти. Да еще и целых 2 доклада от ребят из поиска, с которыми я в одном кабинете сижу. Приходите и вы, кто из Питера.

@dlents
🔥156👍5
This media is not supported in your browser
VIEW IN TELEGRAM
У нас есть чат для ора, где разрешено писать только капсом. И периодически туда кто-то приходит поорать о том как все плохо. В один из таких дней пришел мой коллега фронтендер, который полдня дебажил почему его ссылка открывается в новой вкладке, но только 1 раз. То есть первое открытие идет в новой вкладке, а все последующие приводят к открытию той же ссылки в уже созданной ранее вкладке браузера.

А всему виной атрибут target=blank. Заметили что-то? А проблема в отсутствии нижнего подчеркивания в начале. Да, такую опечатку сложно отловить, но оказывается это ожидаемое поведение.

Значение атрибута target это по сути имя, которое можно использовать для обозначения в какой из вкладок нужно открыть ссылку. Например статьям из блога дать target=article и тогда они все будут открыты в одной и той же вкладке (пример в видео).

А вот _target это специальное значение, которое открывает ссылки в новой вкладке каждый раз. Вот небольшая статья css-tricks.com/targetblank/ об этом.

А вы дебажили неочевидные опечатки? Я как-то в слове const вместо первой «С» случайно написал русскую «С» 😁

@dlents
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍8😁3🤔21🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
Думаю у каждого фронтендера хоть раз в жизни была ситуация, когда ты сверстал на своем макбуке какой-то элемент, а потом к тебе приходят и говорят: "у тебя тут вообще-то горизонтальный скролл на всю страницу, иди переделывай". Вон даже у свежего лендоса от ребят из фигмы такие проблемы. У меня конечно же тоже было и не один раз.

Но недавно коллега поделился со мной как такое ловить еще на стадии верстки. А секрет прост: идем в настройки макбука -> основное -> выбираем "Показывать полосы прокрутки: всегда".

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

Так что летсгоу все менять настройки и делать веб капельку лучше!

@dlents
🔥41👍8😱31👎1
Вчера был на митапе Яндекс.Субботник, который посвящен фронтенду. На этом митапе выступают сотрудники Яндекса с докладами про внутренние инструменты и процессы на внешнюю аудиторию.

Мероприятие проходило в Питере, в офисе где я работаю. Стартовали с 11 и закончили в 17. После было афтепати. Еще ведущие сказали, что Андрей Мелихов проведет ama (ask me anything) секцию про подкасты, но мне к сожалению нужно было уходить 🥲

Что касается самого субботника – я был первый раз и мне зашло на 100%. Начиная от того, что все было классно организовано, темы докладов были интересные и я реально узнал что-то новое, заканчивая всякими мелочами и интерактивами от ведущих, которые словами не описать – нужно просто побывать там.

Вообщем всем советую присоединяться к следующему субботнику. Не знаю где и когда он пройдёт, но вероятно я напишу об этом сюда :)

Запись вчерашних докладов

@dlents
👍12🔥63
Вчера в Московском офисе проходил внутренний хакатон по написанию линтеров для всего проекта Поиска. Так совпало, что наша команда как раз собирались в командировку и было приятно решение задержаться на 1 день – совместить приятное с полезным.

Мы с коллегой (не из моей команды) впервые познакомились на хакатоне и для начала взяли, что казалось попроще, ибо никто из нас до этого не писал кастомные линтеры. И выбор наш пал на запрет !important в css. Да, в stylelint уже есть из коробки declaration-no-important, но специфика проекта требует своих кастомных велосипедов решений.

Минутка ликбеза. Общий принцип работы линтера выглядит примерно так:

1) Парсинг содержимого файла и формирование AST – абстрактное синтаксическое дерево, по сути объект с которым нам удобно работать.

2) Проход по всем по элементам дерева, в нашем случае по css декларациям и применение вашего правила (плагина).

3) Если правило решит, что видит ошибку - оно выбрасывает ее с помощью специального метода со всей мета информацией: на какой строке она произошла, описание и тому подобное. После IDE начинает подсвечивать вам проблему.

4) Отдельным пунктом, если вы пишите свой плагин, можно попробовать сделать автоисправление в дереве (например удалить !important, как это было у нас) и сформировать новое содержимое файла на основе измененного дерева. В таких случаех при запуске линтера в режиме fix он попробует применить ваше исправление и не выбросит ошибку, если у него это вышло.

Парсинг, формирование AST и содержимого файла из AST за нас решают уже написанные парсеры. Один из таких PostCSS, который использует stylelint. Наша работа как раз написать свое правило – найти что не так в дереве и предложить фикс, по возможности.

На хакатоне мы справились быстро, поучились писать линтеры (по крайне мере для css), понетворкали, а у меня сформировалось понимание как писать более сложные линтеры. Продуктивная суббота получилась.

На скрине вырезка из оригинального плагина declaration-no-important.

А вы писали когда-то линтеры?

@dlents
🔥19👍4🎉421
Женился!

На второй день нашего знакомства, а было это еще в школе 6.5 лет назад, она в шутку сказала, что я буду ее мужем.

Кажется, в каждой шутке действительно есть доля правды.

@dlents
62🎉47🫡4👍3🔥3😍21
Наткнулся на npm пакет patch-package. С помощью него можно патчить нод модули и на postinstall применять эти изменения. Сам не пробовал, но знакомые говорят, что незаменимая вещь, если в чужом пакете нужно что-то подкрутить. Но сам пост вообще немного о другом.

Гуляю на улице и думаю: "Круто было бы написать похожее расширение, но для браузера, чтобы патчить сайты".

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

Называется User JavaScript and CSS. Поставил себе и почувствовал будто весь интернет это опенсорс, в который я могу комитить сразу в мастер. Первым делом пошел и изменил на Яндекс Поиске текст кнопки на «Загуглить», а потом в нашем аналоге гитхаба поменял текст кнопки, которая апрувит ревью реквест на «Это гениально».

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

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

@dlents
🔥17👍3😁2
#кайф

Коллеги с 3 этажа уже готовы праздновать 3 сентября. Не хватает третьей картонной фигурки для полноценного бинго.

Интересно, это мем когда-то потеряет актуальность? Или в каком-нибудь 2123 году все еще будут переворачивать календарь с той самой песней в голове?

@dlents
😁11👍21🔥1
Ну и всех с праздником! Кто что отмечать будет из списка?)

Кстати день программиста празднуется именно сегодня, потому что сегодня 256 день в году.

@dlents
12😁7🤔2😱1
Завтра у Яндекса день рождение – 26 лет. Сегодня по этому поводу для всех сотрудников проводилась онлайн игра. У каждого было карточка с 20 полями, ведущий Саша Гудков называл поле и нужно было зачеркивать на своей карточке такое поле. Лотерея короче.

От определенного количества совпадений открывались разные призы. Самый большой приз – 100к на путешествие (у кого 20/20), а самый маленький ачивка на нашем корпоративном сайте – нужно было набрать хотя бы 1 совпадение.

Угадайте кто такой удачливый и не смог получить даже ачивку? 🤣

Но все равно было весело. Яндекс, с днем рождения 🎉

P.S. Позже написали, что будут ачивки у кого 0/20

@dlents
👍14🤣9🔥52😁2🌚1
Никогда не задумывался, что Яндекс (поисковик) это такой же сайт, как и другие. Наверное «интеграция» с браузером в виде поисковой строки сделала свое дело и в подсознании отложилось, что поисковик это часть браузера. Кстати, поисковая строка в браузере называется омнибокс. Ну это так, лирическое отступление.

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

А буквально на днях, в очередной раз смотря на выдачу поиска, я глянул на адрес сайта и вместо ya.ru обнаружил localhost:3333.

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

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

Вообщем, в Яндексе клево. Вперёд в новое полугодие.

P.S на фото в Московском офисе во время командировки. С костылями. А как без них?)

@dlents
🔥32👍94❤‍🔥3🤯1👌1😍1🗿1
Готов ворваться в этот отпуск мечты. Надеюсь за такой «длительный» период коллеги не забудут меня 😂

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

Мини отпуска топчик, не забывайте отдыхать.

@dlents
👍196😁6🎉2🙏1💯1