Типичный программист
81.2K subscribers
3.37K photos
1.13K videos
14 files
7.94K links
Всё самое интересное по программированию

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

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

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

Сайт: https://tprg.ru/site

VK: vk.com/tproger

Регистрация в перечне РКН: https://tprg.ru/mJwo
Download Telegram
Начнём марафон залипательных игрушек для длинных выходных.

Первой будет бесплатная браузерная головоломка Untrusted, которая создана больше 12 лет назад, но до сих пор обновляется и всё ещё прекрасна.

Слева игровое поле, справа код. Вы играете за персонажа Dr. Eval и на каждом уровне помогаете ему справиться с препятствиями и найти выход. Для этого меняете JavaScript-код, который частично заблокирован для редактирования.

Подразумевается, что у вас уже есть хотя бы базовые знания JS: это не игра-обучалка, конкретных задач и «уроков» там нет. Головоломки быстро усложняются, решения с прошлых уровней перестают работать (научился удалять стену? ну круто, но это теперь нельзя, программируй робота).

А ещё! Можно генерировать свои уровни и проходить «неофициальные» уровни от других игроков.

Игра: https://untrustedgame.com/

Исходники: https://github.com/AlexNisnevich/untrusted

@tproger
🔥2114😍21👏1
Forwarded from Нейроканал
Борис Черный создал Claude Code. 100% его коммитов в проект теперь пишет сам Claude. Он выложил свой сетап — неожиданно простой.

➡️ Ключевые мысли:

🔘Модель Opus 4.5 thinking для всего. Да, дорого и долго работает, но зато финальный результат быстрее, так что в итоге получается ещё и дешевле.

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

🔘CLAUDE.md — маст хев. Или аналогичный AGENTS.md файл с контекстом проекта: стек, конвенции, что не трогать. На код-ревью просите модель обновить этот файл.

🔘Верификация — это просто. Люди переусложняют. Дайте агенту способ увидеть результат (запустить сервер, открыть UI) и опишите инструмент. ИИ сам разберётся.

➡️ Практические советы

🔘/permissions вместо --dangerously-skip-permissions — заранее одобряешь безопасные команды типа ls, git status

🔘PostToolUse hook для автоформатирования — Claude пишет хорошо, но последние 10% стиля лучше автоматизировать

🔘Несколько агентов могут работать параллельно, каждый в своём git checkout без конфликтов (но стоить будет уже как два крыла от боинга — прим. ред.)

Интересно ещё про субагентов. Борис натравливает их друг на друга при код-ревью: один проверяет стиль, другой смотрит историю проекта, третий ищет баги. Конкуренция улучшает результат.

📎 Оригинальный тред в Х со скриншотами, рекомендую

@neuro_channel
Please open Telegram to view this post
VIEW IN TELEGRAM
1🤯198💊64👍2😍21
Продолжим трясти стариной и вспомним про NandGame. Чтобы вайбкодить на питоне, наверное, не надо знать, как работают логические вентили. Но если хотите знать — постройте комп с нуля! Разбираться в архитектуре или сложной математике для этого не обязательно.

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

Дальше есть несколько софтверных уровней: пострадаете на ассемблере и попробуете создать высокоуровневый язык.

Игра появилась как фановый спинофф от образовательного проекта From Nand to Tetris. Если хочется больше системности, можно пройти их курсы на Coursera вольным слушателем.

Ещё в той же тематике имеет смысл упомянуть платные Silicon Zeroes (строим комп в Долине 60-х) и Turing Complete (NandGame на стероидах с большой песочницей). С ними можно продолжить обучение в игровой форме.

Ретро-настроение какое-то на этой неделе... 📠

@tproger
1🔥429👍61👏1😍1
У меня опять сломался грузовой лифт (со мной внутри), поэтому сегодня будет Elevator Saga: игра про управление лифтами.

Суть простая: на экране здание с лифтами и людьми, которые хотят попасть на разные этажи. Задача — написать на JS логику, которая будет решать, куда ехать каждому лифту. Чем эффективнее алгоритм, тем больше людей успеете перевезти за отведённое время и тем сложнее уровни откроются.

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

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

Всё бесплатно, как мы любим: https://play.elevatorsaga.com

Автор давно не обновляет игру, но в неё продолжают играть, обсуждать на реддите и даже делать свои версии.

@tproger
This media is not supported in your browser
VIEW IN TELEGRAM
👾1915🔥12👍3😍1
Три детектива для изучения SQL: Case Files, Noir и старый добрый Murder Mystery

Браузерные детективные игры, в которых вы учите или практикуете SQL, раскрывая преступления с помощью запросов к базам данных.

SQL Murder Mystery
Классика, и вроде как вообще первая игра в этом жанре. Вам даётся один большой кейс — расследование убийства в вымышленном SQL City, где надо поэтапно искать свидетелей и улики через запросы к базе SQLite. Подходит как для новичков (есть подробный walkthrough), так и для опытных (просто не подглядывайте в подсказки).

SQL Noir
Open-source проект с атмосферой детективного нуара 80-х годов. Несколько разных кейсов с уникальными схемами баз данных и нарастающей сложностью. Есть система прогресса с очками опыта детектива и разблокировкой новых дел.

SQL Case Files
Работает на SQLite WASM, в отличие от Noir не нужно заводить аккаунт. Короткие кейсы вместо длинных квизов; валидатор проверяет результат запроса, а не его текст (то есть принимает альтернативные решения); есть офлайн-режим через PWA.

Выбирайте :) и если есть возможность, поделитесь отзывами о любых играх про SQL, хочется бахнуть подборку на сайт.

@tproger
🔥4910👍61👏1🤯1😍1💯1
«Просто научись программировать» — исповедь vibe-кодера

Начинающий геймдев 4 месяца делал roguelike на чистом vibe coding (ChatGPT, Claude, Cursor). Итог: проект в помойку, $150 на подписки впустую.

Что пошло не так (с его слов)
🔘Скрипты на 100 строк раздулись до 800-1000
🔘AI создаёт 2 новых бага, пытаясь исправить один
🔘Код непонятен даже автору
🔘Баги настолько глубоко, что проще переписать с нуля

Топ-комменты
Я удивлён, что он продержался 4 месяца. Обычно AI генерит сотни строк, когда хватило бы одного if

$150 на подписки скорее всего не покрыли даже затрат на inference. Ты ещё и их деньги потратил

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

Vibe coding даёт одному не-кодеру силу пяти джунов, которые не разговаривают друг с другом


➡️ Совет из треда

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

@make_game
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣79💯1811🐳1💊1
Сегодня три игры от Zachtronics, где нужно писать код на упрощённом ассемблере для решения инженерных задач.

Игры платные, но недорогие: каждая в стиме стоит 5–10 баксов, зависит от региона.

TIS-100
Первая «кодерская» головоломка от Zachtronics: пишете типа на ассемблере для вымышленного многопоточного компьютера. Даёт ощущение настоящего программирования, есть пошаговый дебаггер, минималистичный интерфейс не отвлекает от задачи. Но это может быть и минусом: визуально игра очень аскетична, без любви к низкоуровневому коду быстро надоест.

Shenzhen I/O
Симулятор работы инженера в Шэньчжэне: проектируете схемы и пишете прошивки для микроконтроллеров. Похоже на реальную embedded-разработку, можно соревноваться с друзьями по оптимизации, есть даташиты для распечатки и даже встроенный пасьянс для отдыха :) Из минусов — высокая сложность, после перерыва сложно вспомнить логику своих же схем.

Exapunks
Киберпанк про хакеров в альтернативном 1997-м: программируете мини-ботов EXA, чтобы «взломать всё: банки, универы, фабрики, телеки... и даже своё тело». Атмосферная стилизация под 90-е, можно писать мини-игры на встроенной консоли, есть PvP-режим. Сложность быстро растёт, для коротких сессий игра, пожалуй, не очень подходит.

@tproger
This media is not supported in your browser
VIEW IN TELEGRAM
👍233👏1😍1
Собрали 15 самых просматриваемых докладов по Java с конференций прошлого года. Все на английском, но можно смотреть с субтитрами или синхронным переводом в браузере.

Что внутри:

— Как Netflix управляет тремя тысячами микросервисов

— За счёт чего новые версии Java становятся быстрее (доклад Oracle)

— Как язык будет развиваться в ближайшие годы

— Возможности Java в ML, разбор инструментов и библиотек

— История сборки мусора со времён Java 8!

...и ещё 10 докладов.

Самый прикольный, наверное, "Know Your Java?". Разбирают неочевидное поведение языка на примерах, может пригодиться для подготовки к собесам.

@tproger
👍15🤔43🤓2👎1
Глобальная Сеть ВСЁ? Полного распада на куски, конечно, пока нет 👁👁

Но есть термин Сплитернет....

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


Получается получается не «один интернет для всех», а несколько интернетов с частично совместимыми границами 🤷‍♀️

Автор рассказывает как такой разрыв может повлять на мировую экономику, архитектуру процессов и сетевую инфраструктуру.
Please open Telegram to view this post
VIEW IN TELEGRAM
1😭66👍6💊62👌2
This media is not supported in your browser
VIEW IN TELEGRAM
В первую рабочую неделю года это вам точно пригодится: имитатор работы программиста 😏

➡️ Фановая тулза genact позволяет сделать вид, что вы заняты чем то серьёзным и ооооочень важным.

Ничего устанавливать не нужно, всё работает портативно.

📎 Репа на GitHub: https://github.com/svenstaro/genact

#кек
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣59💊10🔥43😁2
This media is not supported in your browser
VIEW IN TELEGRAM
Ничего необычного, просто пакет для Node.js, который чистит терминал «шваброй». Вы не просили, но вам это нужно.

Исходники: https://github.com/JeanJouliaCode/wipeClean

#nodejs
😁95268👍4🔥4🙈4👨‍💻1
Получается Apple сдались?

Официально: новая Siri переезжает на Google Gemini

Apple подтвердила: основой обновленной Siri станет модель Google Gemini. Это решение станет фундаментом архитектуры Apple Intelligence, фактически признав превосходство внешних ИИ-технологий.

Главные изменения:

• Производительность: Gemini получит около 1,2 трлн параметров вместо нынешних 1,5 млрд у Siri .

Разделение труда: Google займется планированием запросов и саммари в облаке, а модели Apple останутся на устройстве для безопасности и общих знаний .

Новые возможности: Siri научится работать с личными данными внутри программ и «понимать» контекст экрана .

Релиз намечен на весну вместе с iOS 26.4 . В будущем Siri может превратиться в оркестратор разных ИИ-систем, работая в связке с ChatGPT и другими моделями через открытые стандарты .

За развитием событий следим на сайте.

@your_tech
1😁5611🫡10🤨6👍53😱2🔥1👏1💯1
Тот самый легкоподдерживаемый, масштабируемый код с атомарным дизайном
🤗95😁69😭20🤣15😨10😢5🤝42😱2
Как бороться с кодом, написанным ИИ, способ #23

GitHub заставляет пройти тест о вашем PR, прежде чем запрашивать отзывы, чтобы убедиться, что вы его вообще читали и понимаете
This media is not supported in your browser
VIEW IN TELEGRAM
😁85🤣29🔥18
Понимание аутентификации JWT: подробное руководство с примерами

В мире веб-разработки безопасность имеет первостепенное значение. Одним из наиболее популярных методов защиты веб-приложений является аутентификация с помощью JSON Web Token (JWT). 

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

#jwt
👍8😁31