Будни разработчика
14.6K subscribers
1.19K photos
335 videos
7 files
2.02K links
Блог Lead JS-разработчика из Хельсинки
Автор: @bekharsky

По рекламе: https://telega.in/channels/htmlshit/card?r=GLOiHluU или https://t.iss.one/it_adv

Чат: https://t.iss.one/htmlshitchat

№5001017849, https://www.gosuslugi.ru/snet/679b74f8dad2d930d2eaa978
Download Telegram
#новость дня

Ой, а вчера-то Linux исполнилось 34 года. Хотите вы этого или нет, но плодами этих трудов вы все пользуетесь прямо или косвенно.

Лично я на Linux как на основной ОС сидел с 2006 года по 2018. Фотошоп и игры через WINE, а потом и Фотошоп стал не нужен с приходом Figma.

Ну почему перестал использовать, пожалуй, понятно 🍏

Ну что, ещё, как минимум, 34 года впереди?

Что на ваших машинах, котаны? В комментарии я скину пару скриншотов старых со своих.

#linux #birthday
👍14
#фишка дня

Сидишь такой и не вдупляешь, что происходит в пулл или мёрдж-реквесте?

GitHub и GitLab соответственно

Или, возможно, пытаешься вспомнить, а как ты вообще задачу решил? Надо же описание внести какое-то, а в голове туман...

Современный ответ: так проведи ревью от Copilot!

Но а) не везде он включён б) не везде разрешён к применению в PR/MR в) в GitLab вообще ничего нет.

Ничего страшного, на это есть решение!

Кто-то из олдов наверняка помнит, что вот этот раздельный вид в веб-интерфейсе с удалёнными и добавленными строками — штука сравнительно новая. Ещё во времена царя-гороха царило понятие diff- или patch-файлов. Вот ссылка на вики: https://en.wikipedia.org/wiki/Patch_(Unix)

Формат простой до безумия:
++++ добавлено
---- удалено


Я думаю, людям, прошивающим всякие там андроиды и ардуинки процесс хорошо известен: скачиваешь исходники библиотеки или конфига, скачиваешь patch-файл от анона с форума и накладываешь его командой, буквально, patch. Я так делал с Rockbox для iPod недавно, например.

Ладно, к чему этот экскурс вообще?

А к тому, что изменения из PR/MR легко можно получить в таком же виде! Все добавления и изменения в одном файле.

Просто берите ссылку на ваш реквест и добавьте к нему .patch. Вот так: https://patch-diff.githubusercontent.com/raw/edvardchen/eslint-plugin-i18next/pull/145.patch

А что делать потом? Cкормить это ChatGPT или Gemini или что там в вашей компании разрешено конечно же!

LLM-ки отлично справляются с разбором таких вещей! И на понятном языке и объяснят, что происходит, и найдут косяки, и напишут описание.

Вкусно? Не то слово! Пользуемся.

#git #patch #ai
👍212🤩2
Часто при разработке сайта хочется предусмотреть все: рост нагрузки, смену бизнес-модели, масштабирование. Кажется, что правильнее заложить архитектуру на будущее, но обычно проекту нужно не это. 

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

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

Больше советов для айтишников — в канале Далее

#реклама
О рекламодателе
👍4🤡2
#статья дня

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

И под капотом такой системы — полноценная big data-инфраструктура: события пишутся в логи, проходят обработку и попадают в key-value хранилище, откуда их читает рантайм показа рекламы. 

Причем система должна работать так надежно, чтобы каждое событие обработалось ровно один раз (exactly-once), и так быстро, чтобы уложиться в миллисекунды на весь цикл. 

Как этого добиться — рассказал в статье Руслан Савченко, разработчик динамических таблиц YTsaurus: https://habr.com/ru/companies/yandex/articles/939078/

Из интересного:

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

— Дошли до низкоуровневой оптимизации аллокатора памяти и работы с ядром Linux, чтобы убрать провалы на высоких перцентилях.

— Вместо перезаписи всего protobuf-профиля система пишет бинарные дельты (через xdelta). Агрегатные колонки накладывают все накопившиеся дельты на оригинальный protobuf — получаем актуальную версию объекта

Все решения, на самом деле, можно применять не только к профилям. Прикольно, что в статье куча графиков — помогают разобраться. Советую почитать на досуге

#highload #db #database
4👍4🫡3
This media is not supported in your browser
VIEW IN TELEGRAM
#статья дня

А нет такого, что новые технологии фронтенда нет смысла изучать, пока их не разжуют Шадид, Комо или Вес Бос? :)

Не, ну серьёзно. Вот читаешь ты блоги разработчиков Хрома или, простите, Вебкита. Что получаешь?

Получаешь нечто слишком рано, слишком мало, слишком сухо и сложно. Ну, буквально, посмотрите на статью про якорное позиционирование в блоге WebKit aka Safari: https://webkit.org/blog/17240/a-gentle-introduction-to-anchor-positioning/

A gentle introduction... куда уж более gentle: ни одного интерактивного примера, код минимален.

И тут давайте Шадида возьмём, буквально утром сегодня выпустил: https://ishadeed.com/article/anchor-positioning/

Уже начиная с шапки становится понятно о чём речь!

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

Как всегда, глубокое почтение Шадиду за работу и рекомендация к прочтению! Якоря — уже не за горами, как минимум, можно заполифиллить.

#css #anchor
👍123🤩2👎1
Будни разработчика
#фишка дня Сидишь такой и не вдупляешь, что происходит в пулл или мёрдж-реквесте? GitHub и GitLab соответственно Или, возможно, пытаешься вспомнить, а как ты вообще задачу решил? Надо же описание внести какое-то, а в голове туман... Современный ответ:…
С полей сообщают, что добавление .diff к адресу пулл-реквеста делает то же самое, но в формате .diff, который чуть менее многословный, чем .patch!

А чем меньше символов — тем дешевле и быстрее обработка.

Вот бы всё можно было представить в таком виде...

P. S. На BitBucket тоже работает!
3
12 сентября в Москве пройдёт big tech night. Это как ночь музеев, только в мире IT. Формат придумали в Яндексе, а Сбер, X5, Т-Банк и Lamoda присоединились к проекту.

На одну ночь офисы компаний превратятся в фестивальные площадки, где будут доклады про технологии, иммерсивные экскурсии, квесты и IT-стендапы. Пять офисов — пять площадок с разными программами.

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

Доклады, которые зашли мне больше всего:

«GPT-функции в Алисе: backstage»

Павел Капля, руководитель продуктовой разработки Алисы, расскажет, как в AI-ассистента внедряют агентную модель на базе function calling. Будет много инженерных нюансов про адаптацию технологии в реальных условиях и обеспечение предсказуемости поведения и надежности системы.

«Теория систем и инженерная практика»

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

Я буду подключаться к онлайн-студии. Для неё планируется особая программа: интервью с Николаем Савушкиным о рекомендательных системах, разговор с Маратом Мавлютовым про автономных роботов-доставщиков, дискуссии и интерактивные форматы в духе Late Night Show.

👉 Регистрация уже открыта.
3👍1🤩1🤡1