Будни разработчика (@htmlshit) — Telegram-канал | Telegram Dialogs
Telegram Dialogs — логотип
Все каналы
Будни разработчика

Будни разработчика

@htmlshit

14.4K подписчиков технологии 💬 Комментарии открыты

Блог Lead JS-разработчика Автор: @bekharsky По рекламе: https://telepost.pro/ch/id2415 или https://t.me/it_adv Чат: https://t.me/htmlshitchat №5001017849, https://www.gosuslugi.ru/snet/679b74f8dad2d930d2eaa978

Последние публикации

Будни разработчика
19.09.2026 07:25 · 👁 1.3K
Проект от подписчика! Напоминаю, что я выкачу любую статью или проект от вас, не стесняйтесь писать. Презентация? Выступили на митапе? Хотите поделиться интересной статьёй — добро пожаловать! Привет, я Ксюша. Много лет фронтендер, в прошлом дизайнер. Люблю упрощать себе жизнь, создавая удобные и уютные приложения под свои потребности. Увидела, что автор канала выкладывает приложения подписчиков, и решила поделиться своим последним творением. Оно уже работает, им можно пользоваться. Сначала приложение задумывалось для ребёнка: домашние дела как маленькая зарплата. Больше не нужно по сто раз напоминать про посуду, а спорить «я же всё сделал!» бессмысленно, всё видно в истории. Потом я его расширила, и теперь им могут пользоваться заказчик с фрилансером, друзья, муж с женой - назначать друг другу дела ) Какой бы вариант вы ни выбрали при входе, приложение остаётся таким же простым и милым. Для семьи настройка занимает три шага: добавить ребёнка, завести список ежедневных дел, назначить цену дня. У нас это 100 тасккоинов в день (сын меняет их на робуксы для Роблокса или на рубли). Но валюта может быть любой, как договоритесь: хоть доллары, хоть поцелуи ) Дальше ребёнок открывает свою версию приложения и вычёркивает: помыть посуду, Duolingo, прочитать 40 страниц. Всё сделано - плюс сто. Что-то забыто - минус пятьдесят. В любой день месяца можно нажать кнопку «Чек». Чек настоящий, лентой: дни, суммы, штрафы отдельной строкой, итого к выплате и штрихкод для реалистичности. Чек можно предъявить родителям, заказчику или жене. В графе «Работник» стоит не имя, а Пингвин. Или Котик. Или Лисёнок. Имён приложение не спрашивает вообще, вместо имени выбирается мордашка. Это не только ради красоты: так не возникает вопросов к хранению персональных данных. Приложение не хранит ни имён, ни почты, ни телефона, войти можно анонимно. Бесплатно, без рекламы, работает на телефоне и на компьютере. Я сама пользуюсь несколько месяцев - полёт отличный. Может и вам пригодится. TaskCoin — https://taskcoin.app/ru Стек: React 19, Express 5, Prisma + PostgreSQL (Neon), хостинг на Vercel, ставится на телефон как PWA. Cron нет: зарплата и штрафы считаются в момент запроса, а день закрывается по часовому поясу ребёнка.
Будни разработчика
18.09.2026 14:35 · 👁 1.3K
Участвуй во всероссийском ИТ-чемпионате МТС True Tech Champ 2026 c призовой фондом 10 250 000 рублей. Если тебе нравятся алгоритмы, структуры данных и задачи на чистую логику — участвуй в алгоритмическом треке с индивидуальным зачетом. Решай задачи разного уровня сложности: от базовых до тех, что проверяют скорость мышления и умение оптимизировать решения за ограниченное время. В финале лучшие 120 участников алгоритмического трека сразятся в лайв-кодинге за шесть призовых мест и 2 750 000 рублей. Всех финалистов ждут: — Лимитированный мерч; — Сертификаты об участии; — Масштабное мероприятие с выступлениями хэдлайнеров и фестивальными активностями. Успей зарегистрироваться и пройти отборочный этап до 27 сентября. Erid: 2VSb5xn8e7k
Будни разработчика
18.09.2026 06:19 · 👁 1K
#заметка дня Купили в комиссионке *Cut the Rope: Connect Four*. Дочь любит мультики про Ам Няма, так что игру, конечно, взяли. Коробка практически полная. Детали даже не сняты с литников, все наклейки не наклеены и монетки на месте. Не хватало только подставки. То есть, буквально, самого главного. Я решил сделать её на 3D-принтере. Но у меня опыта проектирования нет прям вообще — последний раз я что-то чертил в 2004 в университете, а вылетел из него я до того, как начался AutoCAD. Таким образом, оставался только один вариант сделать это быстро: вайбкодить предмет. Я фотографировал детали, измерял их штангенциркулем и объяснял Codex-у, что нужно построить. Потом открывал модель во Fusion, смотрел, что выдаёт слайсер, печатал пробник и возвращался с замечаниями: тут полка нулевой толщины, тут дырка отверстие, тут контур не замкнут и деталь развалилась. Почему так вообще можно? Потому что CAD-модель — это геометрия, а геометрию можно задать кодом. Ассистент писал Python-скрипт, менял в нём размеры и форму, а результат загружал во Fusion MCP. Слайсер затем показывал, как эту форму принтер разложит на слои. Получился почти привычный цикл разработки: описал задачу, собрал, нашёл баг, исправил. Только каждый «запуск» может занять час и потратить пластик. Естественно, компьютерное проектирование — вовсе не новая идея. Первые CAD-системы появились ещё в 1960-х (Sketchpad), коммерческие — в 1970-х, а к концу 1980-х пришло привычное параметрическое 3D-моделирование с размерами и историей операций. Мы же пришли к редактируемой модели через текстовый разговор и скрипт. Правда, «ИИ построил модель» не значит «её можно печатать». Несколько раз всё выглядело убедительно на экране, но в слайсере обнаруживались дыры, а у напечатанного пробника — слишком тонкие места. Модель буквально рассыпалась у меня в руках. Но когда всё получилось — чувство какое-то дикое. Научился ли я CAD-у? Нет. Сделал ли я модель сложной формы? Да. Работает ли она — тоже да! Так что обучение никто не отменял, но страх чистого листа уже преодолён. Короче, это было круто. #cad #model #3d
Будни разработчика
17.09.2026 15:55 · 👁 1.3K
#видео дня Посмотрел выпуск 1×1 с Лёшей Остриковым о разработке ИИ-агентов. Во многом он подтвердил мои мысли о том, как трансформируется подход к работе. С агентами важнее всего не сам код и даже не умение писать хороший запрос. Нужно понимать процесс, в который ты их встраиваешь: что человек делает шаг за шагом, где он застревает, какие данные использует, где ошибается и что считается эффективным результатом. Если этого понимания нет, агент, скорее всего, сделает не то. В выпуске это показано на примере поддержки водителей такси. Агент полезен не потому, что умеет красиво отвечать. Он видит, что водитель не может пройти регистрацию, анализирует экран, находит проблему и помогает завершить процесс. То же самое с агентами, которые ищут информацию в коде, Wiki и документации. Их ценность не в том, что они «знают всё», а в том, что они встроены в рабочий контекст и сокращают путь от вопроса до решения. Поэтому сейчас особенно нужны люди, которые умеют разобраться в работе бизнеса, разложить процесс на шаги и понять, где агент действительно поможет. Это касается не только разработчиков — такие процессы есть в любой профессии. Мне близка и мысль Лёши про любопытство: не ждать идеальных курсов, а брать реальную задачу и пробовать. Короче, начинать нужно не с вопроса «какой инструмент выбрать», а с вопроса «как устроена моя работа и что в ней можно сделать лучше». #ai
Будни разработчика
17.09.2026 10:45 · 👁 1.2K
#заметка дня Надоело сливать лимиты в Sol на каждую вторую задачу? А ты вообще смотрел, насколько дешёвые модели сейчас отстают от дорогих — и сколько при этом стоят? Узнал от коллеги, что у Datacurve есть DeepSWE — очень наглядный график по агентам и моделям. Там 113 инженерных задач из реальных репозиториев: модель должна покопаться в проекте, найти нужный код, внести изменения и довести всё до рабочего состояния. Примеры задач тоже есть, кстати. Наверху таблицы ожидаемо сидят самые сильные модели с результатом около 70–74%. Но дальше... GPT-5.6 Luna Max — около 67% за $0.61 на задачу. GLM-5.3 Flash — около 63% за $0.24. А модели с результатом на несколько пунктов выше могут стоить уже $6–12 за задачу. То есть условно: получил не 73%, а 67%, зато заплатил в десять раз меньше. Для многих задач такой разницы в качестве вполне можно не заметить, зато на сотнях запусков разница в цене будет очень даже заметной. Тем более в агентных сценариях никто не мешает гонять дешёвую модель несколько раз, проверять результат тестами, а только провалы отправлять в Sol или Opus. Я уже гоняю Luna в Extra High и Max и... доволен. Так что вопрос уже не только в том, какая модель набрала больше баллов. Смотреть надо ещё и на то, сколько стоили эти баллы. https://deepswe.datacurve.ai/ #ai #comparison
Будни разработчика
16.09.2026 06:54 · 👁 1.3K
#статья дня Chrome DevTools умеет включать условный Slow 3G, и очень легко забыть, что это не совсем эмуляция реальной сети. Throttling в DevTools работает на уровне HTTP-запросов, а настоящая сеть — на уровне пакетов. Из-за этого Chrome не очень точно воспроизводит TCP slow start, handshakes, приоритизацию трафика и вообще не умеет нормально симулировать packet loss. В итоге вполне реальна ситуация, когда 20 КБ картинка в DevTools грузится 12 секунд, а на близком к реальному 3G — 300–500 мс. То есть для быстрого «а как оно будет на медленной сети» DevTools годится. Для замеров, на основании которых вы собираетесь что-то оптимизировать, — уже не очень. У Ивана Акулова хороший короткий разбор, почему так происходит и чем тестировать вместо этого: WebPageTest, Network Link Conditioner, @sitespeed.io/throttle и другие инструменты с packet-level throttling. https://3perf.com/blog/chrome-throttling/ #devtools
Будни разработчика
15.09.2026 08:38 · 👁 1.4K
#инструмент дня Когда-то давно ещё на Ubuntu я пользовался колорпикером Pick. Он был настолько прост и удобен, с этими милыми названиями цветов, что я не мог себе представить работу как-то иначе. И вот, наконец, я сделал его клон для macOS! И назвал его Pipetka. Как оказалось, macOS не умеет записывать видео выбора цвета :) Pipetka умеет брать цвет с рабочего стола и окон, умеет генерировать палитры из одного изображения или целого их каталога. Даёт названия цветам, позволяет переключаться между разными их представлениями и экспортировать в разных форматах. Проект открытый, на гитхаб автоматически выкладываются неподписанные релизы: https://github.com/bekharsky/pipetka Правда, неподписанный релиз означает, что, собственно, разрешения работать не будут :) Так что я в процессе загрузки бесплатного подписанного релиза туда же. Upd. Подписанный релиз загружен на гитхаб, всё хорошо! Но запускать приложение надо из Applications. А если есть желание поддержать — Pipetka лежит в App Store: https://apps.apple.com/fi/app/pipetka/id6784390987?mt=12 Пользуйтесь :) #colorpicker #app #macos
Будни разработчика
14.09.2026 18:50 · 👁 1.4K
#статья дня Мы как-то с вами уже обсудили, какими разными бывают .*ignore-файлы. И что не .gitignore-ом единым, вот тут: https://t.me/htmlshit/3989 Но я упустил из виду, что у автора есть ещё статья-продолжение! И она — конкретно про разные вспомогательные файлы уже самого git. Ну, например, с .gitignore всё уже понятно. А что насчёт .gitattributes? А этот файл помогает разобраться, как поступать с разными файлами. Например, merge strategy: package-lock.json merge=ours и всё, разрулится как надо. Или вот шипите вы мультиплатформу: *.sh text eol=lf *.bat text eol=crlf А? По-моему, очень круто. Но давайте дальше. .gitmodules — конфигурация подмодулей git, .mailmap — хендлит обновление почты в старых коммитах, .gitmessage — шаблон сообщения коммита, .git-blame-ignore-revs — позволяет не включать преттиер и линтер в blame (Привет, Саша!). Ну и, например, как зашиппить пустую папку в git? Положите в неё файл .gitkeep! Но это не стандартный файл, это просто соглашение. Таких много. Короче, всё это — вот тут: https://nesbitt.io/2026/02/05/git-magic-files.html Я вообще этот блог люблю, автор жёстко упарывается по менеджерам пакетов и гиту. Алгоритмы разбора зависимостей, диффов, уязвимости — вот это вот всё. #git #config
Будни разработчика
14.09.2026 07:57 · 👁 1.4K
#инструмент дня Этого стоило ожидать. Вашему вниманию — Quake на CSS. Реализован он с помощью движка PolyCSS, а выбрать карту можно просто передав значение в параметр. Например, вот второй уровень первого эпизода: https://cssquake.com/?map=e1m2 Итак, а что же такое PolyCSS? PolyCSS — 3D-движок, который рендерит модели обычными DOM-элементами через CSS matrix3d(). Без WebGL и без canvas для самой сцены. Загружает OBJ/MTL, STL, glTF/GLB и VOX, умеет в текстуры, свет, тени, камеры, orbit/map/first-person controls, плюс есть обёртки для React и Vue. Полигоны при этом реально остаются HTML-элементами. Их можно увидеть в DevTools, стилизовать через CSS, повесить click, анимацию или вообще работать с ними как с обычным DOM. Отсюда же и довольно специфичная модель производительности: важны количество DOM-узлов и объём работы, который потом достаётся браузеру на рендер и композитинг. Поэтому PolyCSS много возится с самой геометрией: убирает внутренние грани, объединяет подходящие поверхности и выбирает разные способы рендера для разных типов полигонов. По умолчанию используется lossy`-оптимизация, которая может немного упростить исходную сетку ради меньшего количества DOM-элементов; если это нежелательно, есть `lossless. С текстурами похожая история: движок собирает texture atlas, а элементы показывают нужные участки, вместо того чтобы тупо вешать отдельную картинку на каждый треугольник. До Three.js или Babylon.js по возможностям тут далеко: освещение проще, у теней и текстур есть ограничения, а большие сцены довольно быстро начинают упираться в DOM. Но для небольших интерактивных сцен, моделей и всяких веб-экспериментов подход вполне рабочий, и при этом весь результат остаётся частью обычной страницы. PolyCSS: https://github.com/layoutit/polycss cssQuake: https://github.com/layoutit/cssQuake Демонстрация квейком, конечно, это мощно. #3d #polycss #quake
Будни разработчика
13.09.2026 09:06 · 👁 1.4K
#инструмент дня Слово «модель» сейчас обычно вызывает в голове что-нибудь на 7–70 миллиардов параметров и десятки гигабайт весов. Но модель вообще не обязана быть такой. Vercel Labs сделали gpu-lexer — библиотеку подсветки кода, в которой вместо набора грамматик используется одна обученная модель на 41 321 параметр. Веса упакованы в 6 бит, а весь браузерный пакет занимает 27.4 KB, в сжатом состоянии. Работает через WebGPU. Код сначала режется на слова, пробелы, переводы строк и символы. Потом модель для каждого токена выбирает класс: keyword, string, function, type, operator и т.д. Язык заранее указывать не нужно. У классических хайлайтеров подход другой. Prism и Highlight.js хранят правила для отдельных языков. Shiki использует TextMate-грамматики. Больше языков — больше правил и больше данных. Здесь одна модель занимает два десятка килобайт и пытается покрыть всё сразу. Для сравнения, автор приводит примерно 162 KB для Prism, 240 KB для Highlight.js и 992 KB для полного набора Shiki. Но это именно ML: результат не гарантирован правилами. С Shiki модель совпадает примерно на 88–90% токенов. На TypeScript и Python лучше, на менее популярных языках и шаблонизаторах заметно хуже. Да, такой подход не вчера появился, но мне нравится, что он снова обретает право на жизнь в не слишком сильно детерменированных задачах. https://gpu-lexer.vercel.app/ #syntax #ml #highlight
Чат поддержки
Ответим здесь же, обычно быстро
Здравствуйте! Напишите ваш вопрос — оператор ответит в этом чате.