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

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

По рекламе и другим предложениям: @lentsd
Download Telegram
В среду ходил впервые на местный оффлайн фронтенд митап - 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
#рекомендую_подписаться

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

Сегодня речь пойдет о блоге Евгений Шушкова @frontengineer

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

Пишет легко и интересно, а для любителей визуала Женя в своей инсте снимает вайбовые лайфстайл рилсы, так что мой вам рекомендасьон 🤌🏻

Кстати, интересный факт – до работы в айти Женя работал пожарным. Так что пожары на проде у него были и до карьеры в вебе :)

@dlents
🔥13👍82🆒1
#кайф

Пару недель назад телеграмм проводил контест для ML разработчиков, где нужно было из текста сообщения определить язык программирования. За первое место давали 15к долларов.

И вот уже сегодня в бета версиях телеграм стали замечать красиво оформленные блоки кода. Выглядит здорово. Наконец-то станет чуть приятнее получат куски кода от коллег в чатах.

Тот момент, когда за быстро и качественно следом стоит слово дорого.

UPD: автодетект кажется еще не работает и нужно руками указывать язык. Ждём результатов контеста 29 числа.

@dlents
👍19🔥54
#кайф

Сайт «Интернет артефакты», который собрал в себе коллекцию важных событий в истории развития всемирной паутины.

Первая спам рассылка в 1978, зарождение смайликов :-) в 1982 году, первый компьютерный червь (который оказывается не задумывался автором как вирус) в 1988 году.

Мне особенно понравилась история про студента, который сделал сайт, где можно было купить пиксель за 1 доллар. Всего их было миллион. Он успешно все продал и заработал денег на колледж, который потом в итоге бросил. NFT тех времен :-)

Короче очень залипательно и интересно. А с телефона вообще кайф, потому что хорошо сверстано.

https://neal.fun/internet-artifacts/

Кстати, у автора на главной странице куча других прикольных сайтов

@dlents
👍20🔥65