Обновить
128K+

GitHub *

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

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

Почему ваш GitHub — лучший лендинг, который можно сделать

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

Как README превращается в PR-актив: структура, нарратив, quickstart

Когда кто-то впервые сталкивается с техническим продуктом, он открывает репозиторий. Инфлюенс, которому прислали питч, инвестор после дежурного «посмотрите наш продукт» делает то же самое, и разработчик, который наткнулся на тред в X, идёт туда же. Репозиторий - первая точка касания для аудитории с реальным весом: инженеры, тимлиды, CTO ранних стартапов, контрибьюторы в опенсорс. Они формируют репутацию инструмента до того, как о нём напишут медиа, их мнение распространяется быстрее любого пресс-релиза.

Читать далее

Новости

Мессенджер в одном HTML-файле: Git как storage, browser как runtime

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

Что будет, если взять один HTML-файл, браузер, localStorage и git-хостинг с CRUD API? Получится мессенджер. Без backend, базы данных, регистрации, npm и WebSocket. В статье показываю, как устроен Macaroni Messenger: хранение сообщений в .macaroni/, outbox, git-agnostic adapters, storage branch, plugin API и опциональное шифрование.

Погоди...

Я обнаружил крупномасштабное распространение вирусов в GitHub

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

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

Читать далее

Работает ли Caveman? Тестируем модный скилл для экономии токенов

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

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

Что он обещает? Идея простая — скилл указывает нейронке говорить, как пещерный человек, убирать артикли, говорить коротко и думать лаконично. На первых строках README обещается экономия до 75%. При этом без потери качества!

Но работает ли все это на самом деле? Ведь 75 000 звёзд на репозитории не могут ошибаться?

Читать далее

«Fix typo»: как в PHP закоммитили бэкдор и почему composer install — это акт доверия

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

Каждый composer install — это акт доверия: вы запускаете на CI и в проде код, который собрал и опубликовал кто‑то другой, а проверяете обычно лишь хеш в composer.lock. Но хеш отвечает на вопрос «тот же ли это байт, что вчера», а не «кто и из чего его собрал».

Реальные инциденты показывают цену этого доверия: в 2021-м в исходники PHP закоммитили бэкдор от имени Расмуса Лердорфа; в xz вредонос жил в release‑архиве, которого не было в git; у популярного GitHub Action переписали теги и слили секреты из тысяч пайплайнов. Между кодом на ревью и артефактом в вашем vendor/ — длинная цепочка, и атаковать можно любое звено.

В статье сначала разбор: как устроены эти атаки и почему GPG, хеши и composer audit закрывают цепочку лишь частично. Затем ответ индустрии — Sigstore: подпись без управления ключами. И главное — практика на PHP: подписываем релиз в GitHub Actions без единого секрета, проверяем эталонным gh, из CLI и прямо из кода с типизированным SLSA‑провенансом, мониторим журнал Rekor. С рабочим кодом и честной моделью угроз: что подпись ловит, а что нет.

Разобрать цепочку поставок ПО

GitHub self-hosted runners в Docker: как поднять несколько изолированных раннеров на одном хосте. Часть 1

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

Если у вас приватные репозитории на GitHub и команда, которая регулярно упирается в лимит времени GitHub Actions, эта статья сэкономит вам пару недель экспериментов. Рассказываем, как мы подняли self-hosted раннеры в Docker, настроили их репликацию через Docker Compose и почему в итоге пришли к Docker-in-Docker. Разобрали по шагам эволюцию решения от Bare Metal раннеров до докеризованной конфигурации. Репозиторий с настройкой находится в открытом доступе.

Читать далее

Как я написал свой клиент Miracast для шаринга экрана под Linux в 2026 году и погряз в войне за проприетарные байты

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

Как превратить крик души в работающую утилиту и попасть в официальную ArchWiki? Мне 17 лет, и мне просто надоело тянуть HDMI-кабель от ноутбука к телевизору через всю комнату. В этой статье я расскажу, как написал свой стример экрана FluxCast на Python, с какими багами Smart TV пришлось столкнуться и как устроен «слепой» дебаг проприетарного железа по логам пользователей со всего мира.

Читать далее

Как сделать свой сервис распознавания голоса вместо PLAUD и закрытых ИИ-диктофонов

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

Звук сегодня является важным интерфейсом. Работа с чат-ботом своей "ИИшечки" упрощается в разы. Кроме того, помимо вайб-кодинга - есть еще и обычная жизнь - с совещаниями, лекциями, собраниями, которых столько, что не успеваешь фиксировать все, о чем было обсуждение. С этими мыслями, а также увидев потрясающий по своей внешней эстетике приборчик - был заказан ИИ-диктофон PLAUD. Но. Ограничения для России такие, что заплатить за сервис (ок 20 тыс. руб.) - не получилось. Но, уже появилось желание и даже потребность в удобном цифровом распознавании. Конечно, были установлены все простые приложения на телефон, а также распознавание в Telegram, но все это было не то. Сформилировал требования, которые у меня есть:

Читать далее

CI/CD для продакшна: GitLab Registry, Docker in Docker и отказоустойчивость

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

Если ваш проект перерос стадию “просто собрать” и теперь требует бесперебойной работы в проде, простого пайплайна больше недостаточно. Главная боль — как исключить downtime и иметь возможность мгновенного отката? В третьей части цикла разбираемся с GitLab Container Registry.

Мы настроим хранение версий Docker-образов, разберем подводные камни Docker in Docker (dind) и SELinux, а также автоматизируем тестирование перед выкатом. Наконец простейший скрипт для запуска контейнера на production-сервере из вашего приватного Gitlab Registry.

Читать далее

KODE.market: Как я написал первый в мире поисковик по GitHub и GitLab + P2P-раздатчик open-source кода

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

KODE.market: Как я написал первый в мире поисковик по GitHub и GitLab + P2P-раздатчик open-source кода + Антивирус.

Без модерации, комиссий и SEO-мусора. Мгновенный поиск, проверка идей + гибридная раздача релизов в одном инструменте.

Привет, Хабр! На связи TechnoL0g. Если вы хоть раз пробовали опубликовать своё детище в официальных сторах или годами поддерживали open-source репозиторий, то прекрасно знаете, сколько боли приносит классическая дистрибуция.

Читать далее

Можно ли поймать вайб-кодера без нейросети? Сделал расширение для GitHub — рассказываю

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

В 2026 году уже не нужно гадать, человек писал GitHub-репозиторий или AI. Я сделал Chrome-расширение, которое оценивает репозиторий по прозрачным эвристикам: README, коммиты, структуру файлов и метаданные. Без нейросети, без чёрного ящика — только понятные правила и объяснимый вердикт.

В статье рассказываю, как появился детектор, почему просто “число AI-похожести” оказалось недостаточно, как я перешёл к профилям вроде “AI-код”, “AI-документация” и “код человека”, и какие сигналы реально помогают отличать vibe-coded репозиторий от ручной работы.

Читать далее

Pull request открыл — стенд появился. Закрыл — исчез. Эфемерные окружения в kubernetes через FluxCD

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

Когда несколько разработчиков хотят одновременно показать свои изменения — локальной разработки уже недостаточно. В статье разбираем, как автоматически поднимать изолированные окружения в Kubernetes по PR с лейблом и так же автоматически удалять их при закрытии.

Реализация построена на FluxCD с использованием директивы postBuild для шаблонизации манифестов через переменные. Каждое окружение получает собственный namespace, базу данных, TLS‑сертификат и уникальный URL — и всё это без ручного вмешательства. Разбираем структуру CI/CD пайплайна, слоёвую организацию GitOps‑репозитория и автообновление образов через ImagePolicy.

Читать далее

Git для QA Engineer

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

Git — один из базовых инструментов современного QA Engineer. Даже если тестировщик не пишет production-код, ему всё равно приходится работать с репозиториями, ветками, pull request и merge conflict.

В статье разберём:
— как устроен Git;
— какие команды реально нужны тестировщику;
— как работать с ветками;
— как не ломать чужой код;
— и как Git помогает QA в ежедневной работе.

Материал подойдёт начинающим и middle QA, а также будет полезен при подготовке к собеседованиям.

Читать далее

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

Как решить конфликт в Git: merge, rebase, cherry-pick conflict

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

Всем снова привет!

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

В этой статье мы разберём, как действовать и, главное, мыслить в таких ситуациях. Проблема в том, что конфликтов в git может случиться куча: может сломаться ручной git merge, при git pull, может полететь при git rebase , git cherry-pick и т.д. Из-за этого одного конкретного решения нет, но зато есть общий принцип решения.

Читать далее

Заброшенные репозитории на GitHub. Какие языки теряют разработчиков и когда код перестают обновлять

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

GitHub постепенно превращается в кладбище старого кода. Мы сравнили тысячи репозиториев и посмотрели, какие языки быстрее теряют активность, а где экосистема всё ещё растёт.

Читать далее

NXS Universal Chart v3.1.0: умный autoRollout, новые subcharts и MCP сервер

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

Команда Nixys готовит к выпуску версию 3.1.0 nxs-universal-chart. Этот релиз аккумулирует все изменения, вошедшие в промежуточные сборки v3.0.10 - v3.0.21, а также новые фичи. Ниже — разбор ключевых нововведений и исправлений.

Читать далее

Строим первую линию техподдержки на n8n за 250$ в месяц. Часть 2

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

В первой части разобрали, как обращения из Mattermost попадают в n8n, классифицируются по категориям и отправляются в нужную ветку обработки.

В этой части:

* Расследователь инцидентов — самая капризная категория, у неё самый низкий процент автономного разрешения и самые интересные подводные камни;

* Менеджер задач — обработка запросов на модификацию инфраструктуры с автоматическим заведением тикетов в Jira;

* Консультант по вопросам инфраструктуры — ответы на «а где у нас настроен X?» с хитростью в виде автогенерации README в IaC-репозиториях.

Читать далее

AGENTS.md создавали, чтобы помогать агентам. Я использую его, чтобы их вычислять

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

Вместе с растущей AI-индустрией приходят и её побочки. Я мейнтейнер библиотеки react-native-tdlib и довольно быстро заметил: все больше PR выглядят как чистый вывод агента. Сначала я честно реагировал — писал в каждый такой PR вопросы: тестировали ли вы это, что именно меняет ваш код, зачем вот эта строчка. В какой-то момент понял, что трачу время на переписку с людьми, которые сами не знают, что написали.

Первая мысль была — написать большой README или CONTRIBUTING и прямым текстом сказать: «сгенерированный код не принимаю». Но тут же упёрся в вопрос: а как доказать, что код сгенерирован? Аргумент «чую, тут пахнет Claude Code» — так себе позиция для публичного спора в комментариях к PR.

Решение оказалось довольно простым — AGENTS.md. Он конечно не доказывает, что PR сгенерирован, но отлично ловит самые очевидные автоматические PR, где автор, кажется, вообще не участвовал в процессе.

Читать далее

Вредоносная атака на Laravel-Lang

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

В четыре проекта Laravel-Lang был внедрён вредоносный код, предположительно, ворующий креды с устройств, на которых он запускался.

Под удар попали популярные проекты - Lang, Actions, Attributes и HTTP Statuses.

Инцидент касается не только Laravel...

Узнать подробности

«Где новые фичи?» — Как AI-миграция легаси вернет IT-бюджет бизнесу

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

Наверное, каждый, кто занимался эксплуатацией и развитием корпоративных систем, знает эту бесконечную претензию от бизнеса: «Мы столько тратим на IT – а результата ноль. Новых продуктов нет. Или они появляются мучительно медленно». И бизнес по-своему прав. Если из каждого рубля, потраченного на IT, менее 20 копеек уходит на то, что видит клиент – скорость появления новых продуктов будет именно такой, какая она есть - неудовлетворительной.

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