Сохранёнки программиста
6.84K subscribers
1.1K photos
50 videos
9 files
1.63K links
Заметки и ссылки на будущее, чтобы изучить когда будет время.

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/med
Download Telegram
Forwarded from Типичный программист
🗓 Адвент-календари для айтишников 2025

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

➡️ Фронтенд

AdventJS. Классический адвент с задачами по JavaScript и TypeScript, живёт с 2015 года. В декабре вас ждут 24 задачи — по одной каждый день.

PerfPlanet Performance Calendar. Ежегодный адвент про web performance. Внутри свежие статьи, практики оптимизации и кейсы от инженеров крупных компаний.

HTMHell Advent Calendar. Адвент-календарь из HTML-антипаттернов. Каждый день вас ждёт забавный, но поучительный пример того, как верстать не нужно (и чем это заменить).

CSS Advent Calendar. Короткие ежедневные сниппеты про современный CSS. Хороший способ подтянуть свежие фичи и приёмы без длинных статей.

Accessibility Advent. Адвент, посвящённый доступности интерфейсов. Практики, паттерны и методы, которые помогают сделать продукты удобнее для разных пользователей.

➡️ Языки программирования

CS Advent (C#). Каждый день публикуют по два материала про разработку на C#. Формат — статьи от практиков, фокус на реальных задачах и инструментах.

Java Advent. Адвент для всех, кто шарит за Java.

Raku Advent Calendar. Raku — это тот самый бывший Perl 6. В календаре статьи про приложения, полезные модули, техники программирования, контейнеры и даже гайды по миграции с Perl.

➡️ DevOps

Knowit Julekalender. Адвент от норвежской компании Knowit для всех, кто любит программировать. За каждой «дверцей» спрятана задачка, на которую нужно ответить текстом или числом; уровень сложности плавает.

Advent of Sysadmin. 12-дневный адвент с задачами по Linux и DevOps разной сложности (с 1 по 12 декабря).

➡️ Для всех

Advent of Agents (Google). Бесплатный адвент от Google для тех, кто хочет «подружиться» с ИИ-агентами. 25 дней коротких уроков, материалы под рукой и копируемый код — от быстрого старта до оркестрации мультиагентных систем.

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

Bekk Christmas. Контентный адвент от команды Bekk. Каждый день до 25 декабря выходят новые статьи, подкасты, туториалы, чек-листы и видео от разработчиков, дизайнеров, менеджеров и консалтеров.

Festive Tech Calendar. Месячный комьюнити-адвент с ежедневными видео, вебинарами и воркшопами по техтемам (Azure, .NET, AI, security).

А если знаете ещё какие-то крутые календари, то присылайте в комментарии. Добавим их в подборку!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
A Series of Vignettes From My Childhood and Early Career.pdf
191.9 KB
Джейсон Шайрер собрал истории из своей карьеры про «смерть программирования». В 1996 ему объясняли, что ООП всё автоматизирует и бизнес будет собирать софт как LEGO. В 2000 коллега показывал IntelliJ с рефакторингом и говорил «нам конец». Мультимедиа должно было всё изменить. Дотком-бум должен был всё изменить.​

Каждый раз новая технология обещала заменить разработчиков. Каждый раз становилась просто ещё одним инструментом. Автор до сих пор пишет код и получает за это деньги — почти 30 лет спустя.​

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

Статья короткая, читается за 5 минут. Полезно для калибровки на фоне очередного «ИИ заменит программистов». PDF-версию прикрепляю к посту.

@prog_stuff
2👍1
Вышел C3 0.7.8 — в этой версии добавили struct splatting (some_call(...a_struct, 1, 2) — распаковка полей структуры в аргументы) и vector swizzle initialization (int[<3>] x = { .xy = 3, .z = 5 }).​

C3 — это эволюция языка C. Идея: как бы выглядел C, если бы не нужна была обратная совместимость. В отличие от Zig и Odin, которые придумывают новый синтаксис, C3 остаётся максимально похожим на C. Если знаешь C — читать код на C3 можно сразу.​

Что добавили поверх C
🔘Модули вместо header-файлов
🔘Встроенные слайсы и строки
🔘Дженерики и семантические макросы
🔘Обработка ошибок через Result-подобный механизм
🔘defer, контракты (pre/post conditions), compile-time рефлексия
🔘First-class SIMD-векторы​

Главное — полная совместимость с C ABI. Можно вызывать C из C3 и наоборот без обёрток. Не нужно переписывать всё — можно постепенно добавлять C3-код в существующий проект.​

Компилятор использует LLVM-бекенд, есть встроенная билд-система. Сейчас версия 0.7.x, план — выпустить 1.0 когда стабилизируется стандартная библиотека.​

У языка есть свой сайт, и репо на гитхабе.

@prog_stuff
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔2
На dos.zone добавили Norton Commander и Volkov Commander — те самые синие панели с F8 для удаления. Внутри каждого ещё по 10 DOS-игр.​

Работает на js-dos — обёртка над DOSBox, скомпилированным в WebAssembly. Проект опенсорсный, живёт на гитхабе. Поддерживает несколько бекендов: обычный DOSBox и DOSBox-X. Тянет даже Diablo и Dune 2000, есть мультиплеер и облачные сейвы.​

Интеграция элементарная: Dos(element).run("game.jsdos"). Если нужно встроить ретро-игру в свой проект или поэкспериментировать с эмуляцией DOS в вебе — вполне рабочий вариант.

Больше не могу говорить, ушёл играть в GOLDEN AXE 💃

@make_game
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
📎 One Billion Row Challenge — челлендж, который взорвал твиттер в начале года: обработать файл с миллиардом строк температурных измерений и посчитать min/max/avg для каждой станции.

Самое ценное — не сам челлендж, а разборы решений. Статья от QuestDB показывает путь от наивных 71 секунды до 1.7 секунды: SIMD, branchless-парсинг, memory-mapped files, кастомные хеш-таблицы. Есть аналогичные разборы для Go и Python (от 10 минут до 4 секунд через Polars).​

Идеальный материал, чтобы разобраться как реально работает низкоуровневая оптимизация — branch prediction, cache locality, SIMD. Сохраняйте на выходные.

@prog_stuff
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥51
RetroAssembly — опенсорсный веб-кабинет ретро-игр. Открываете страницу, закидываете ROM-ы, играете. Прогресс сохраняется и синхронизируется между устройствами.​

Можно поднять self-hosted через Docker. Эмуляция происходит прямо в браузере, NAS только хранит файлы. Есть тёмная тема, полноэкранный режим, автозагрузка последнего сейва.

Если хотите глубже — под капотом libretro/RetroArch, скомпилированный в WebAssembly. Похожий подход использует PCjs, где можно запустить DOS, Windows 3.1, OS/2 и даже поиграть в оригинальный Spacewar! на эмуляторе PDP-1.

@prog_stuff
👍21
Как создать свой язык программирования — подборка на сохранение:

🔘Видео от Computerphile — 15-минутный разбор как написать интерпретатор с нуля, объясняет Laurie Tratt из King's College​

🔘Плейлист Building a Parser from scratch — полный курс: лексер → парсер → AST → интерпретатор → компилятор в ассемблер​

🔘Nand2Tetris — легендарный курс, где вы строите компьютер от логических вентилей до ОС и компилятора своего языка. Занимает ~6 месяцев, но после него вы понимаете всё​

Для тех, кто давно хотел разобраться как работают языки изнутри, но руки не доходили.

@prog_stuff
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1