Будни разработчика
14.6K subscribers
1.37K photos
399 videos
8 files
2.28K links
Блог Lead JS-разработчика
Автор: @bekharsky

По рекламе: https://telepost.pro/ch/id2415 или https://t.me/it_adv

Чат: https://t.me/htmlshitchat

№5001017849, https://www.gosuslugi.ru/snet/679b74f8dad2d930d2eaa978
Download Telegram
Проект от подписчика!

Напоминаю, что я выкачу любую статью или проект от вас, не стесняйтесь писать.

Презентация? Выступили на митапе? Хотите поделиться интересной статьёй — добро пожаловать!

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

Этот канал я читаю уже несколько лет и с интересом слежу за тем, что Сергей выкладывает из найденного и личного. Недавно у него начали появляться истории от подписчиков, и я думаю, что это очень круто, так как платформа показывает самые свежие тенденции и позволяет не «верстать в стол», а что-то показать группе единомышленников.

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

Итак, представляю вашему вниманию Personal Finance AI Accountant - бот, сборка моделей и просто умница.

Начался этот проект в рамках 5-дневного интенсива от Google и Kaggle как Capstone Project (ссылка на проект). За идею взял решение своей боли - учёта финансов для семьи и бизнеса. Бот создан с использованием Google ADK 2.0 (Graph Workflow) и семейства Gemini (разные модели под разные задачи для экономии).

За последний месяц этот прототип превратился в приложение, которое я ежедневно активно тестирую.

В настоящее время оно уже поддерживает:
- регистрацию расходов в виде текста, голосовых сообщений, чеков и PDF-файлов;
- сверку банковских выписок и текущих трат (загружаешь выписку за месяц, бот ищет то, что не внесено, и вносит);
- автоматическое сохранение чеков на Google Диск;
- поддержку групп (семейная или бизнес);
- автоматическую классификацию по категориям;
- интерфейс в Telegram;
- интеграцию с Google Drive и Google Sheets;
- интерактивную информационную панель;
- поддержка двух валют - EUR и USD (живу в Германии, поэтому ориентация на Европу);
- английский, немецкий, украинский и русский языки.

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

Следующим важным этапом станет внедрение модуля, который будет помогать организовывать налоговые вычеты в течение всего года, а также отдельный веб-интерфейс, интеграция с WhatsApp и более точные финансовые аналитические данные. Сейчас вся авторизация идёт через Telegram.

В настоящее время я ищу несколько бета-тестеров (не из РФ). Если вы хотите опробовать приложение Personal Finance AI Accountant - пишите в личку.
👍93🔥1
#такое дня

Хороший вопрос, конечно, помнит ли Apple что иконка Safari означала компас для навигации по вебу, но это, наверное, уже неважно. В 27 версии их ОС будет так.

После просмотра этого комикса развидеть разваливающуюся стрелочку уже невозможно :)

Реддит.
11🤡3
This media is not supported in your browser
VIEW IN TELEGRAM
#фишка дня

Применяя position: sticky к заголовку таблицы, мы получам прекрасную и понятную реализацию прилипшего заголовка.

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

А решение простое!

Добавляем margin-bottom на thead размером во всю высоту строки:


margin-bottom: calc(1lh + 20px);


Обратите внимание, 1lh — это буквально единица измерения, позволяющая обратиться к значению интерлиньяжа, aka высоте строки. Ну а складывать удавов с попугаями мы умели всегда.

Да, совсем не очевидно, зато выглядит таблица теперь бомбически: https://codepen.io/alinaki/pen/JojeGMY?editors=0100

#table #sticky #position #бородач
👍75🫡1
This media is not supported in your browser
VIEW IN TELEGRAM
#codepen дня

Можно ли при помощи SVG-фильтров, не прибегая к помощи теней, экструдировать текст?

Экструзия — процесс выдавливания, как в 3D-принтере.

И да, можно! Как всегда, Ана Тюдор с прекрасным решением. На сей раз, кстати, у решения нет багов на HDR-экранах 😅 Всё отображается как надо.

Кодпен: https://codepen.io/thebabydino/pen/yLmxePV

Выглядит потрясно. Матрица экструзии там отдельная песня, конечно.

#svg #filter #бородач
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
Media is too big
VIEW IN TELEGRAM
Что будет с разработкой после первого поколения AI-инструментов

5 сентября Яндекс проведёт deep tech night — конференцию о технологических вызовах, с которыми индустрия сталкивается в эпоху AI. Не столько о самих нейросетях, сколько о том, как из-за них меняются архитектура, инфраструктура, продукты и работа разработчиков.

В программе много полезных докладов. Например, Мо Гавдат, бывший Chief Business Officer Google X, представит свой взгляд на то, как генеративные модели могут изменить разработку ПО, инженерные команды и саму роль разработчика.

Из технической части мне особенно интересны два доклада:

— «Облако в эпоху AI: архитектура платформы для гибридных агентов» Василия Ершова. Про то, как агент собирается из модели, инструментов и среды и как обеспечить ему долгоживущую сессию поверх короткоживущих компонентов. Хороший переход от разговоров об агентах к их реальному устройству.

— «Влияние трендов развития нейросетей на архитектуру NPU и инференс-фреймворки» Егора Филимонова, лидера команды ускорения инференса на NPU в SGLang. Интересно посмотреть, как требования моделей меняют не только софт, но и железо под ним.

Ещё будут доклады про переход рекомендательных систем от классического ML к генеративным моделям, инфраструктуру RL-обучения и Physical AI — автономные системы, которые принимают решения уже не в чате, а в физическом мире. В параллельной программе заявлены кейсы про превращение Алисы из поиска в агента, AI как управляющий слой Яндекс Лавки, измерение реальной продуктивности разработчиков с AI и построение MLOps в условиях Zero Data Access.

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

Подробная программа и регистрация — здесь.
🔥3🤡1
#фишка дня

Как сделать описания проектов на GitHub более явными и привлечь внимание читателя там, где это необходимо?

Использовать кастомные цитаты!

Пример: https://github.com/HTMLShit/htmlshit.github.io/blob/master/demo.md

Доступные типы: NOTE, TIP, IMPORTANT, WARNING, CAUTION.

Очевидно, это доступно и в управлении проектами на гитхабе. Для небольших задач — очень хорошо, не нужно переходить в Trello.

Пример синтаксиса:

> [!NOTE]
> Заметка о выпуске

Да, к слову, кто не знает, что за Markdown такой, вот: https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax

Я ссылаюсь на вариант от GitHub, потому что он самый популярный. В комментариях есть ссылка на вариант от GitLab.

А вот, собственно, где это нововведение обсуждалось: https://github.com/orgs/community/discussions/16925

Как вам кастомный маркдаун, котаны? Заходит?

#github #md #note #бородач
1🔥42
#заметка дня

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

С TLS inspection он фактически работает как MITM-прокси: расшифровывает трафик, проверяет его и устанавливает новое соединение до вашего сервера. В результате ваши красивые предположения про HTTP/2, multiplexing и долгоживущие соединения внезапно превращаются в тупую очередь.

У Zscaler HTTP/2 зависит от настроек, а некоторые функции вообще откатывают трафик на HTTP/1.1. WebSocket тоже проходит через отдельные политики и ограничения.
И вот вы ищете баг во фронтенде, потому что «у банка всё тормозит», а проблема в том, что где-то между вашим кодом и пользователем сидит корпоративный прокси и молча превращает 2026 год обратно в 2012-й.

А потом тикет всё равно прилетит вам.

#bug #http
🫡4🤩3
#ссылка дня

Ну, кто тут пишет плохо неподдерживаемо? Признавайтесь.

Can’t Maintain показывает два варианта API и предлагает выбрать тот, за который будущие разработчики скажут спасибо. loading или isLoading, набор булевых пропсов или один variant, отдельные обработчики или нормальная композиция — всего 10 вопросов за игру, после каждого есть объяснение.

Кроме игры внутри лежит вполне приличный справочник: 117 паттернов про именование, controlled/uncontrolled-компоненты, render props, discriminated unions, доступность и React 19. Не все ответы стоит принимать за закон, но как повод проверить собственные привычки — отлично.

А если зайдёт формат, у автора есть целая серия: такие же тренажёры по TypeScript, адаптивной вёрстке, Git, тестированию, API, SEO и UX. В сумме почти тысяча задач, всё бесплатно и с открытым исходным кодом.

#education
👍12
Что делать с петабайтами данных в MinIO, если разработка хранилища остановлена?

MinIO прекратил активную разработку — продукт зафиксирован в текущем состоянии, патчи безопасности рассматриваются в индивидуальном порядке, обновления не тестируются. Для компаний, у которых на MinIO (или другом open-source S3-хранилище) хранятся петабайты данных, это уже не гипотетический риск, а вопрос времени.
3 сентября показываем на практике, как перенести данные из устаревшего хранилища в другое S3-совместимое — без остановки сервиса.
В программе:
🔹 что переносится: объекты, версии, ACL, bucket-policy, lifecycle, теги, ссылки
🔹 техническое переключение с минимальным окном смены endpoint и параллельной работой на обоих хранилищах
🔹 поведение при сбоях синхронизации — перенос с точки останова, а не с нуля
🔹 демо: от подключения источника до полного переключения трафика
Для DevOps- и SRE-инженеров, ИТ-директоров и всех, кому остановка сервиса недопустима даже на время миграции.

📅 3 сентября, 16:00 мск

Регистрация