Обновить
53.57

GitHub *

Веб-сервис для хостинга и разработки IT-проектов

Сначала показывать
Порог рейтинга
Уровень сложности

Рекап для разработчика: как я собрал итоги года на основе GitHub и self-hosted LLM

Время на прочтение23 мин
Охват и читатели7.4K

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

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

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

Читать далее

Новости

Как я за 2,5 месяца написал строительный калькулятор на Flutter с ИИ-прорабом, 45+ калькуляторами и 8000 тестами

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели8K

В конце ноября 2025-го я сел писать строительный калькулятор для RuStore. Хотел собрать всё, что нужно при ремонте, в одном приложении - от расчёта обоев до ИИ-ассистента, который подскажет, где ты накосячил с расходом штукатурки. Через 2,5 месяца «Мастерок» вышел в продакшн: 45+ калькуляторов, 269 коммитов, 259 тысяч строк кода, рейтинг 4.9 в RuStore.

В этой статье расскажу про архитектуру, покажу реальный код и объясню, почему переписал систему калькуляторов с нуля на полпути разработки, как впихнул ИИ с характером ворчливого прораба через OpenRouter и зачем написал 8180 тестов на проект, который делает один человек.

Читать далее

Увольняем джуниора: автоматизируем анализ данных c Claude Code, Codex, Cursor, OpenCode

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели19K

Вспомните, как вы онбордили аналитика: показывали данные, примеры рабочих SQL, неочевидные легаси и костыли — и через какое-то время он начинал перформить самостоятельно.

Чтобы научить AI-агента — нужно пройти ровно те же шаги, только вместо недель, на обучения потратятся часы, а в результате большая часть рутины аналитика будет автоматизирована.

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

Статья будет полезна как предпринимателям, которые хотят оптимизировать процессы, так и аналитикам, которые хотят прокачать себя. Погнали!

Уволить

Как я в 16 лет создал свой Pomodoro-таймер: месяц дисциплины и первые пользователи из 7 стран

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели7.4K

Мне 16 лет. Последние 8 месяцев я учусь на Frontend-разработчика. Я решил проверить свои силы и создать инструмент, которым буду пользоваться сам. Но мой путь начался не с мощного ПК и гигабайтов интернета, а с мечты и обычного смартфона.

Мой путь в программировании начался 26 декабря 2024 года. Это была мечта, к которой я шел 5 лет. На тот момент я был «полным нулем»: у меня не было стабильного интернета и я почти ничего не знал о Frontend. Я записался на курсы, даже не до конца понимая, что это такое.

Первые две недели у меня не было ноутбука, и я писал свой первый код прямо на телефоне. Только спустя время у меня появился ноутбук и нормальный доступ к сети, чтобы узнать: что такое Frontend и какие задачи он решает?

Узнать историю...

Эволюция ПО в разработке игр на практике: 1982 — IBM PC

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели6.1K

Мир в 1982 году

Общие даты, по категориям, наука, спорт, музыка, кино, театр, литература, живопись, игры (англ.), авиация, метро, железные дороги.

Положение на игровом и компьютерно-железных рынках

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

Из выпущенных систем стоит отметить:

11.1981 - PC-88. Несмотря на выпуск в прошлом году, игры начали выходить только с 1982 года (во всяком случае достоверной информации о играх за 1981 год нет, на mobygames с высокой долей вероятности может быть ошибка с платформой).

23.04.1982 - ZX Spectrum. Только в Британии, выпуск в США будет только в ноябре 1983 года. 06.1982 - MPC 1600 (Columbia Data Products). Первый IBM PC совместимый клон.

08.1982 - Commodore 64. Легенда и важный гвоздь кризиса игровой индустрии США в 1983 году. 10.1982 - PC-98. Самый известный японский компьютер. В последние годы, за счет основы на процессорах Intel, возможна эмуляция в DosBox-X.

11.1982 - Sharp X1. Самый продвинутый из основной тройки японцев на момент выхода (PC-88, X1, FM-7).

11.1982 - FM-7.

Для обычного человека все тоже шло своим чередом - потребности покупать еще один компьютер нет, в отличие от приобретения софта и потенциального расширения памяти. Последнее можно было приобрести у IBM или же купить у Microsoft подобие-аналог RamCard (помимо опции расширения памяти её можно было использовать и как RAM-диск, что могло быть полезным). Другое направление - программирование. BASIC показался привлекательным по своей простоте и интересно посмотреть еще какой-нибудь язык. Таковым становится ассемблер, благо IBM и Microsoft продают компиляторы под него (но с нюансом).

Читать далее

Грейд по коду, а не по трудовой: гибридный анализ репозиториев с помощью GraphCodeBERT и метрик

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели6.7K

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

Заваривайте чай и готовьтесь к погружению: сейчас мы будем препарировать код метриками, эмбеддингами и суровой статистикой

Читать далее

Какие две проблемы пытается решить Entire — «GitHub для агентов» от экс-CEO GitHub

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели5.7K

Entire с его первым тулом под названием CheckPoints решает проблему, которую сам же основатель проекта Томас Домке и создал в Microsoft.

Читать далее

Индикация смены раскладки клавиатуры в виде лампы с RGB-светодиодом для Gnome

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели9.9K

Этот cказ о том, как мне надоело приглядываться к раскладке клавиатуры, и я решил проблему попутно освоив нестолько фичей в программировании и не только

Есть одна маленькая, но изматывающая боль, знакомая почти каждому, кто много печатает. Ты смотришь на экран, пальцы уверенно бегут по клавиатуре, мысль сформулирована… и на выходе получается:

Читать далее

Nano Banana Pro. Реальное применение, а не мемные картинки

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели12K

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

Я попробовал вместо сбора и ручной разметки генерировать дорожные дефекты поверх реальных кадров.

Что получилось, где работает, где нет и сколько это стоит - в статье.

Читать далее

Зачем учить Go, когда есть ИИ? Запускаем Open Source проект «The Gopher Shop»

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели14K

В мире, где всё чаще во главу угла ставятся деньги, а не реальная польза, легко потерять ориентиры. Мы привыкли к тому, что образовательные курсы — это конвейер по выкачиванию средств, а Junior‑разработчики — просто статистика. Мне захотелось создать что‑то, что выбивается из этой парадигмы. Что‑то, что принесет реальную пользу сообществу Гоферов.

Представляю вам The Gopher Shop — бесплатный open‑source проект для обучения Go‑разработке.

Читать далее

GitHub Copilot Custom Agents: от универсального чата к специализированным ролям (на примере VS Code)

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7.4K

Многие уже используют GitHub Copilot Chat каждый день: @workspace, режимы вроде ask/edit/agent и быстрые правки кода стали частью рутины. Проблема в том, что стандартный агент в чате — универсальный, а значит часто даёт усреднённые ответы.

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

С выходом версии VS Code 1.106 появилась возможность автоматизировать этот процесс через Custom Agents. В этой статье мы пошагово разберем два способа настройки таких агентов — через интерфейс VS Code и вручную через файлы конфигурации, детально пройдемся по доступным параметрам и соберем пример готового агента.

Настроить своего Агента

Telegram‑бот для (само)дисциплины на Python: aiogram 3, APScheduler и деплой на VDS

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели8.6K

Привет, Хабр!

Решил вот написать не продвижения ради, а для конструктивной обратной связи, чтобы продолжить пилить проект, т.к. сейчас выбираю, что же дальше и во что это может вырасти.
Сразу предупрежу: делал с ИИ, так что, если кого-то это триггерит, можно скипнуть статью.
Да, очередной бот, но тема мне близка и хотелось сделать что-то свое.

Что имеем as is - пет‑проект о том, как я с нуля собрал и выкатил в прод Telegram‑бота, который напоминает о фокусе дня, считает выполнения, дает ачивки, мягко мотивирует, работает по таймзонам и крутится на VDS под systemd.

Заценить

Мой первый DIY-гаджет: Игра на реакцию для двух игроков на ATmega328P (без Arduino)

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели9.3K

Привет! Этот проект стал для меня важным шагом в мир embedded-разработки: первое устройство с полностью собственной печатной платой, спроектированной с нуля в KiCad.

Я новичок в проектировании PCB-устройств, так что могу ошибаться в некоторых нюансах. Хотя у меня уже есть большой опыт в электротехнике, с хорошим знанием схемотехники и прочего, если заметите неточности или улучшения — не стесняйтесь, указывайте в комментариях, буду рад конструктивной критике!

Получилась миниатюрная игра на реакцию для двух игроков на базе ATmega328P.

Читать далее

Ближайшие события

MITM-атаки в телеграмм ботах и почему этот вектор самый опасный

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели8.9K

Многие Telegram-боты, особенно связанные с криптовалютами, используют HTTP-запросы для взаимодействия с внешними API. В этой статье мы разберем, как на этом можно построить MITM-атаку для подмены кошельков, чеков и перехвата данных, почему это работает, и какие меры защиты стоит применять разработчикам и пользователям. Рассмотрим реализацию на Python с использованием mitmproxy.

Telegram-боты стали неотъемлемой частью экосистемы — от новостных каналов до торговых платформ. Однако архитектура многих ботов, особенно тех, что используют популярные библиотеки вроде aiogram или python-telegram-bot, часто подразумевает выполнение внешних HTTP-запросов для обработки команд (например, для проверки баланса или генерации платежного адреса).

Если такой бот использует сторонний HTTP/HTTPS-прокси, все его запросы и ответы проходят через промежуточный сервер. Это открывает возможность для атаки «человек посередине» (MITM), когда злоумышленник может не только перехватывать, но и модифицировать трафик в реальном времени. На практике это может привести к подмене криптокошельков, платежных реквизитов или токенов доступа.

В статье рассматривается принцип работы такой атаки и ее техническая реализация в образовательных целях — чтобы разработчики и администраторы понимали риски и могли их минимизировать.

Читать далее

Как я создал свой сканер и пришёл к выплатам на багбаунти

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели11K

Привет, Хабр! Сегодня хочу поделиться историей о том, как желание автоматизировать рутинную работу привело меня к созданию собственного инструмента FullMute и, как следствие, к первым серьезным выплатам на платформах bug bounty.

Как многие начинающие исследователи, я начал с хаотичного ручного поиска уязвимостей: проверял заголовки, искал известные пути к админкам, пытался угадать версии CMS. Это было неэффективно, медленно и сильно зависело от везения. Мне нужен был «компас», который бы проводил первоначальную разведку за меня и давал четкие цели для атаки. Так родилась идея FullMute.

Читать далее

Когда код-ревью — хуже некуда

Время на прочтение9 мин
Охват и читатели10K

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

Читать далее

Эволюция ПО в разработке игр на практике: 1981 — IBM PC, Софт и игра

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели7.8K

Несмотря на то, что IBM PC можно было приобрести в одном из двух вариантов, более дешевый не имеет смысла из-за серьезных ограничений по носителям(только кассеты) и возможностям BASIC (только текстовый режим без возможности работы с цветом). Для работы же с версией BASIC на дискете требовалась конфигурация на 48КБ из которых 32КБ забирала система при загрузке PC DOS с дискеты. Также ревизия 1981 года была ограничена 64кб памяти, а вариант на 256кб появился только в следующем году. Это, к слову, в некоторой мере объясняет большую редкость софта под IBM PC на кассетах будь то любительский или коммерческий (строго говоря, он редок и для TRS-80 c Apple II, но хотя бы для последнего известно некоторое количество игр в таком формате). Потому практически все ранние игры для IBM PC рассчитаны под конфиг с 48КБ базовой памяти. Дополнительные 16КБ кажутся относительно дешевыми при таких условиях, мышей еще не было (первая для IBM PC будет только в 1983 году), а джойстик можно будет приобрести потом (к этому времени оные формата Atari VCS/2600 - стик с одной кнопкой - стали стандартом и был доступен вариант известных под термином пэдл (paddle) для подобий Pong и Breakout).

Читать далее

Как доказать компетентность? Или есть ли у меня план?

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели4.3K

Семь лет в Angular. Позиция lead frontend-разработчика на проекте. Архитектура, оптимизация, legacy-код и Node.js для серверной логики. И при этом — «Гдэ ваши доказатэльства?». Знакомая ситуация? Я прошёл через это и понял, где кроется фундаментальная ошибка.

Это история о том, почему ваш опыт ничего не значит, если вы не умеете его транслировать. Дело не в банальном умении «себя подать» (продать). Дело в том, что нужно сделать это доказательно и желательно быстро, а в GitHub за 7 лет лежит толстый слой пыли. Что показать работодателям, если все это время ты работал? Да, надо было думать раньше, но — «как на охоту, так собак кормить».

Но начнем, конечно, сначала.

Проблема: Пропасть между реальным опытом и его восприятием.

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

Когда ты в n-й раз получаешь шаблонный отказ от HR-специалиста, ты злишься: «Они ничего не понимают в коде!». И будешь прав, но ошибёшься в другом — ты ожидаешь, что они должны понимать. Их задача иная: отсеять 95% кандидатов по косвенным признакам, чтобы техлидам остались только релевантные.
Что видит HR за 30 секунд просмотра резюме:
Несоответствие уровня и зарплаты. Например, Senior/Lead, указывающий желаемые 2000$ — сумму для Middle-разработчика. Это мгновенно создаёт подозрение в неадекватности или заниженной самооценке.
Размытое описание проектов. Фразы типа «разрабатывал архитектуру» без конкретики масштаба (MAU, количество модулей, команда) звучат пусто.
Отсутствие публичного следа. И это самая большая засада - GitHub с парой заброшенных репозиториев или без него вовсе. Это красный флаг для любого рекрутера в 2026 году.

Читать далее

Скрипт полной миграции из GitLab на свой сервер и настройка Git для одновременного fetch/push в несколько remotes

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели9.5K

1. Что сделал?
Переехал с GitLab на свой сервер, написал свой python-скрипт, который мигрирует не просто все репозитории, но и настройки, описания, картинки(done) и мердж/пулл-реквесты(in-progress). Бонусом настроил простой git fetch/push одновременно на все GitLab, GitHub, ... remotes.

2. Зачем?
Локальный сервис независим от РКН, КВН, "чебурнета" и гео-блокировки аккаунта, бэкап под контролем, без опасения утечек из облаков по независящим причинам.

3. Как?
Когда у тебя несколько десятков pet-проектов на Gitlab/Github, для каждого копи-пастить git clone/push --mirror со многими параметрами и вручную копаться в web интерфейсах откровенно "скучно и лениво".

В статье: поиск решения по полной миграции, комментарии по коду и настройки скрипта. Вторую часть по мульти git fetch/push оформляю

Гуглил похожие решения, не нашел. В итоге написал свое.

Читать далее

Введение в DAST, SAST, SCA, IAST и RASP: Гид по инструментам безопасности

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели8.1K

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

В этой статье мы рассмотрим основные категории инструментов безопасности приложений: DAST (Dynamic Application Security Testing), SAST (Static Application Security Testing), SCA (Software Composition Analysis) и IAST/RASP (Interactive/Runtime Application Security Protection). Мы разберем их назначение, преимущества и недостатки, а также предоставим список бесплатных инструментов, которые можно интегрировать в вашу инфраструктуру разработки.

Читать далее
1
23 ...