Обновить
128K+

GitHub *

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

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

Призраки в коммитах: пылесосим историю Git в поиске утекших секретов

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

Пользователи GitHub часто используют принудительные пуши (git push --force), чтобы переписать историю коммитов — например, когда случайно закоммитили секреты и хотят удалить их из репозитория. 

На первый взгляд кажется, что коммит исчез, но на самом деле GitHub его не стирает. «Удаленный» коммит остается доступен по хэшу — пусть и без прямых ссылок. GitHub продолжает хранить такие коммиты вечно.

В статье покажу, как вычислял такие коммиты с помощью GitHub Archive и вытаскивал из них секреты, за которые мне выплатили $25 000 по багбаунти. А еще поделюсь open-source инструментом, который позволит вам самостоятельно искать подобные утечки.

Читать далее

«Смерть релиз-менеджера: Как тестировщики устроили тихий переворот в IT»

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

Привет Хабр! Меня зовут Олег, я являюсь действующим QA Engineer в компании Intelsy. Это моя вторая статья после этой (тут могла бы быть ваша реклама), уж очень понравилось делиться информацией и получать обратную связь от читателей! Статья для тех, кто хочет улучшить процессы поставки кода в прод или понять, где можно сэкономить время! Постараюсь немного раскрыть эту тему, поделиться своим мнением (которое ни в коем случае не претендует на звание "истина в последней инстанции"), и да, по традиции помним "у каждого своя кухня". Надеюсь прочтение будет интересным и полезным!

В современных IT-командах границы между ролями стираются: разработчики пишут тесты, DevOps внедряют мониторинг, а тестировщики всё чаще участвуют в процессах, выходящих за рамки классического QA. Один из самых спорных вопросов — должен ли QA инженер заниматься релиз-менеджментом?

Некоторые компании нанимают отдельного релиз-менеджера, другие доверяют этот процесс DevOps, но всё больше организаций приходят к выводу, что именно QA инженер — лучший кандидат на эту роль (Так собственно все работает и у меня на проекте).

 В этой статье мы разберём:

· Почему QA идеально подходит для управления релизами?
· Плюсы и минусы
· Как внедрить релиз-менеджмент в обязанности тестировщика
· Почему отдельная роль релиз-менеджера часто избыточна
· Какие инструменты и метрики использовать для успешного контроля выпусков

 1. Что такое релиз-менеджмент и почему QA должен в нём участвовать?

Релиз-менеджмент — это комплекс процессов, связанных с планированием, подготовкой и развертыванием новой версии продукта. Он включает:

Читать далее

Разработка административных панелей без боли: наш опыт с .cursor/rules

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

Мы никогда не скрывали, что используем ИИ в своей работе. Более того, считаем, что такие инструменты, как Cursor – это настоящее спасение для разработчиков. Cursor не только ускоряет рутину, но и помогает поддерживать крутое качество кода (если правильно им пользоваться, конечно же), а главное – снимает с команды кучу головной боли, связанной с повторяющимися задачами. 

В то же время у нас есть и собственная гордость – open source фреймворк Admiral, которую мы развиваем для быстрой и удобной разработки административных панелей. В нем уже реализовано множество готовых решений: бери нужные, кастомизируй и запускай свой проект без лишних усилий.

Познакомиться с ней можно тут

Недавно нам пришла идея объединить два продукта. Так мы интегрировали систему правил .cursor/rules прямо в Admiral, чтобы создавать админки можно еще быстрее. Например, теперь не нужно каждый раз перепроверять, правильно ли оформлены CRUD-страницы, корректно ли используются компоненты или соблюдаются стандарты при написании хуков. Все эти моменты изначально заданы в правилах, и Cursor подскажет, если что-то идет не так. Это экономит время, снижает количество ошибок и позволяет сосредоточиться на действительно важных задачах. 

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

Читать далее

Веб-агенты, которые действительно понимают веб-сайты: как слой восприятия Notte решает проблему DOM

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

Фундаментальная проблема веб-агентов заключается не в автоматизации — а в восприятии. Как позволить LLM навигировать и действовать на веб-сайтах, погребённых в слоях HTML?

Читать далее

ElBear ACE-Uno — первый запуск в Mac OS

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

В статье рассмотрим, как начать работу с ElBear ACE-UNO в Mac OS. Постарался для вас сделать выжимку, чтобы можно было скорее приступить к работе с платой и потратить на это на пару-тройку суток меньше)

P.S. Для пользователей Windows статья также может быть полезной.

Читать далее

Как я встроил Telegram API в EXE и сделал плагин‑платформу с доступом для незрячих

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

После релиза первой версии стало ясно: Telegram порой ограничивает размер и скорость передачи файлов, а ещё появляется зависимость от внешнего API. Чтобы обойти эти ограничения, я решил встроить официальный сервер Telegram Bot API прямо в своё приложение.

Это позволило:

Читать далее

Docs as Code и его использование на проектах

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

Раскрываем Docs as Code: как этот подход меняет создание документации, какие инструменты стоит изучить в первую очередь, и с чего начать внедрение.

Читать далее

ToF-датчик VL53L0 и STM32F103C8T6

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

Подключение датчика VL53L0X к микроконтроллеру STM32F103 и вывод расстояния в реальном времени. Рассмотрены особенности инициализации датчика, настройка I²C-интерфейса и обработка данных. Приведен пример кода на языке C для работы с периферией STM32.

Читать далее

Почему «витрина достижений» информационной безопасности работает далеко не везде

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

Долго собирался с духом, чтобы написать первую статью. В открытых источников СТОЛЬКО интересной и полезной информации, что вызывает восхищение уровень подготовленности коллег по цеху. 

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

Чем дольше наблюдаю за отраслью, тем чаще ловлю себя на мысли: публичные дискуссии о развитии SOC сводятся к витрине из мощных SIEM-ов, SOAR-ов и "прокачанных" ML-движков. Да, для компаний с крупным бюджетом и зрелой инфраструктурой это актуально. Но что делать тем, кто только выходит на рынок или просто не дорос до подобных затрат?

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

И ещё одна ремарка. Дорогой и прокаченный софт - не "золотая пуля", а лишь инструмент, который помогает вам, если прежде проделана подготовительная работа: описаны процессы, понятна модель угроз и расставлены приоритеты. Без этого даже самый "умный" продукт рискует стать очередной дорогой коробкой в серверной.

Я не претендую на истину в последней инстанции. Многие из моих более опытных коллег и так знают всё, о чём пойдёт речь. Но если этот текст сэкономит время тем, кто только выстраивает ИБ-функцию, значит, задача выполнена.

Читать далее

Почему GitHub звёзды лучшая метрика вклада разработчика

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

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

Читать далее

AutoCraft Bot — Telegram-автоматизация Windows без монитора, глазами незрячего разработчика

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

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

Меня зовут Андрей. Я техник и системный админ. И хоть я незрячий, продолжаю разрабатывать инструменты для автоматизации, системного мониторинга и просто удобной жизни за компьютером. Этот пост — о моём первом публичном проекте, который я решил выложить на GitHub и рассказать о нём на Хабре.

Проект называется AutoCraft Bot. Это гибрид: Telegram-бот и десктопное приложение на Python. Он управляет компьютером, запускает плагины, делает скриншоты, работает с голосом, поддерживает REPL и Telegram API — и всё это в виде одного .exe

Читать далее

«Скайнет» наоборот: как вырастить и обучить ИИ с помощью Дарвин-Гёдель машины для улучшения человеческой демографии

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

Разрабатываем и растим «цифрового губера» - консультанта по вопросам государственного политического управления, демографии и миграции. Решаем задачу оптимизации экономики и миграционной политики для устойчивого демографического роста в 89 регионах с помощью   взаимодействующих друг с другом и обменивающихся опытом ИИ-агентов, на основе мутаций, скрещивания и эволюции.   Мультиагентное обучение,  Multi-Agent Deep Deterministic Policy Gradient и Darwin Gödel Machine.

Читать далее

Как мы ускорили разработку python-микросервисов с помощью шаблонизатора

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

Привет! Меня зовут Влад и занимаюсь Python backend-разработкой. Довольно долго я работал над большим продуктом, который объединял несколько команд разработки. В нем было много микросервисов, базовые фичи кочевали из одного в другой, и часто разработчики делали одни и те же инфраструктурные компоненты по-разному. А когда переходили с одного микросервиса на другой, им приходилось долго осмыслять кодовую базу нового решения.

Код полнился ошибками, а разработчики тратили время на их отладку и исправление. Так мы вживую воплотили печальную статистику: разработчики ПО в среднем тратят на написание кода лишь [52 минуты в день](https://www.software.com/reports/code-time-report), остальное — исправление ошибок и другие сопутствующие задачи.

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

Читать далее

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

Пишем персонального AI-ассистента на Python

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

Современные голосовые помощники это мощные приложения, сочетающие обработку речи, машинное обучение и интеграцию с внешними API. В этой статье мы разберём, как создать базовый проект персонального ассистента на Python, используя библиотеки whisper, webrtcvad, gTTS и другие. Наш ассистент будет: слушать микрофон; определять начало и конец речи с помощью VAD (Voice Activity Detection); преобразовывать речь в текст через модель Whisper; отправлять запросы на локальный LLM для генерации ответа; читать ответ вслух с помощью gTTS; начинать/останавливать запись по нажатию клавиши.
Проект может служить как началом для экспериментов, так и для прототипирования реальных решений.

Читать далее

SLAVA — бенчмарк социально‑политического ландшафта и ценностного анализа

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

Большой обзор: от идеи и структуры — до неожиданных выводов и практических сценариев применения

SLAVA — это открытый русскоязычный бенчмарк, разработанный экспертами РАНХиГС и ИСП РАН для проверки, как большие языковые модели справляются с фактологическими и ценностно нагруженными вопросами по истории, обществознанию, географии и политологии. 

В корпусе — 14 199 заданий пяти форматов и трёх уровней провокационности. Уже протестировано более 40 моделей: от GPT‑4o и Claude‑3.5 до GigaChat и Llama‑3 8B. Это открытый русскоязычный бенчмарк, созданный для проверки, как большие языковые модели справляются с фактологическими и ценностно нагруженными вопросами из истории, географии, обществознания и политологии. 

Читать далее

Основные команды GIT

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

Научись использовать Git как профессионал. Эта статья поможет тебе освоить самые популярные команды Git на реальных примерах. Узнай, как добавлять изменения, создавать коммиты, переключаться между ветками, объединять изменения и синхронизировать проект с удалённым репозиторием.

ОГОГО, что там далее!? ...

Виртуализация, которую можно трогать руками

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

После первой статьи про стандарты разработки и зарождение Open vAIR остался резонный вопрос: «А что там под капотом?». Отвечаем.

Эта платформа виртуализации создана для тех, кто хочет развернуть систему быстро, понять архитектуру без боли и не зависеть от чёрных ящиков с лицензией.

Внутри — модульный backend, изоляция через RabbitMQ, REST API и документация, которая обновляется вместе с кодом, а не спустя квартал.

В этой статье разберём, чем Open vAIR отличается от тяжёлых решений, что умеет прямо сейчас, какие модули в приоритете — и в каких сценариях он уже «заходит в прод».

Читать далее

Призраки в коммитах: как я заработал $64 000 на удаленных файлах в Git

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

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

В каждом репозитории я восстанавливал удаленные файлы, находил непривязанные («висячие») объекты, распаковывал .pack-файлы и находил API-ключи, активные токены и учетки. А когда сообщил компаниям об утечках, заработал более $64 000 на баг-баунти.

Читать далее

CI/CD на GitHub Actions и GitLab CI для самых маленьких. Часть 3

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

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

Читать далее

PYтокен: история о том, как питон съел ЭЦП. Часть 2

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

Продолжение истории о том, как я пытался реализовать подпись файлов с помощью сертификата на USB-устройстве, но уже с использованием USB-токена Рутокен 3.0, а дополнительно сделал шифрование и расшифрование директории.

Просвятиться