Обновить
64K+

GitHub *

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

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

Как я оптимизировал свой конвейер CI/CD до выполнения за 60 секунд

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

Как и многие, я храню свой код на GitHub. Пару лет назад я сделал простой пайплайн для сборки, анализа и тестирования моих веб‑приложений и сервисов. Он выполнял свою задачу, и так как это был мой первый опыт по настройке пайплайна CI/CD на GitHub, он сводился к одному шагу.

build (and deploy)

Со временем я стал замечать, что я стараюсь избегать вносить изменения в код. Будучи счастливым обладателем ADHD, я часто замечаю за собой сложность в решении задач с большим количеством препятствий и одним из них стало то, что выполнение пайплайна занимало больше 5 минут. Я коммитил изменения и шел делать кофе, пока пайплайн тестировал и деплоил код. И не всегда возвращался, отвлекаясь на другие вещи.

Я решил для себя, что максимальное количество времени, которое я готов ждать - 1 минута.

Читать далее

Практика: мой опыт интеграции более 50 нейронных сетей в один проект

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

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

Преодолеть открытие

Книга: «Git: контроль версий. 3-е изд.»

Время на прочтение11 мин
Охват и читатели14K
image Привет, Хаброжители!

Рекомендуем ознакомиться с книгой «Git: контроль версий. 3-е издание»!

С «Git: контроль версий» вы освоите философию и фундаментальные принципы работы Git, а также получите продвинутые навыки по отслеживанию содержимого, совместной работе и управлению проектами в командах. В этой книге Прем Кумар Понуторай и Джон Лолигер предлагают подробный и пошаговый подход к изучению Git, начиная с фундаментальной философии этой системы и заканчивая продвинутыми командами Git и принципами, которые позволят лучше понять внутреннюю механику Git.

Глава 3 в книге полностью посвящена веткам. Создание веток в Git считается легковесной и недорогой операцией. Зачем они нужны, руководство по ветвлению, управление ветками – все это описано в книге.

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

Читайте с удовольствием!
Читать дальше →

«Удалённо» управляем компьютером с доступом в BIOS

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


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

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

Но как это сделать? Вот этим мы тут и будем заниматься…
Читать дальше →

Обходим ограничение доступа Github к базе уязвимостей Trivy. Быстрый фикс вам в помощь

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

Совсем недавно разработчики, применяющие сканер образов Trivy, столкнулись с ошибкой TOOMANYREQUESTS. Она произошла из-за достижения максимального количества пользователей инструмента и предельной скорости по загрузкам из Container Registry (CR) ghcr.io.

Меня зовут Алиса Кириченко, я занимаюсь разработкой контейнерной платформы «Штурвал». Мы вовсю используем Trivy, но совсем не хотим зависеть от доступности сторонних сервисов. Иначе заказчики не поймут. Поэтому базы у нас свои, и обновляются они каждую ночь.

Если лень дальше читать, то вот, берите:

Trivy DB: public.shturval.tech/trivy-db

Trivy Java DB: public.shturval.tech/trivy-java-db

Детали — под катом.

Читать далее

Как Elasticsearch поломал сборки и «обнулил» звёзды в Github

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

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

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

В какой-то момент от коллег поступает информация о том, что официальная библиотека elasticsearch-php в момент сборки через composer install перестала устанавливаться.

Читать далее

Лучший подручный инструмент для GitHub: учимся работать с Actions

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

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

Привет, Хабр! На связи Виктор Рябков. Я — разработчик и создатель одноименного YouTube-канала. Сегодня погрузимся в мир GitHub Actions и узнаем, как эта система упрощает процессы разработки при взаимодействии с репозиторием. Рассмотрим ключевые аспекты: автоматизацию проверки кода и деплой на сервер.
Читать дальше →

Как я использую git

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

Недавно я пытался объяснить коллеге, какие у меня критерии при формировании пул реквеста — когда стоит объединять что‑либо в один пул реквест, а когда нет. И я заметил за собой фразу «ну, кроме…» несколько раз и решил записать, как я использую git — чтобы разобраться в особенностях моего подхода, как я мог бы улучшить его и, возможно, поделиться чем‑то полезным.

Поскольку это интернет, давайте сразу обговорим: то, как я использую git основывается на последних 12 годах работы в компаниях с относительно небольшими (до 50 человек) командами. В каждой из них мы использовали только git и GitHub; изменения выполнялись в отдельных ветках, предлагались в виде пул реквестов и сливались в основную ветку. В последние несколько лет, после введения GitHub squash‑merging, мы использовали его.

Я никогда не использовал какую‑либо другую систему контроля версий. Я не могу и не буду сравнивать git с Mercurial, jj, Sapling, и т. д.

Итак, вот как я использую git.

Читать далее

Создание GitHub бота для сообщества

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

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

Мы сделали упор на то, чтобы бот был простым в использовании, помогал оставаться в курсе изменений и сокращал время на ручной мониторинг репозиториев, предоставляя важную информацию в читаемом виде прямо в Telegram-чатах. Но самое главное — это вовлечение сообщества в жизнь наших открытых проектов :)

Меня зовут Александр, в Positive Technologies я занимаюсь развитием open-source-инициатив в сфере информационной безопасности. В статье расскажу, как настроить бота, покажу примеры его работы и поделюсь реальными кейсами, где он уже помог ускорить взаимодействие.

Читать далее

Как защитить своё право на информацию: готовое обращение в Роскомнадзор

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

Сегодня многие сталкиваются с блокировкой доступа к популярным интернет-ресурсам, и это число, скорее всего, будет расти. Правительство, Госдума и другие органы, похоже, считают, что граждане не имеют права мыслить иначе, чем им диктуется. Если вы хотите пользоваться своими правами, закреплёнными в Конституции, то вас клеймят как «либерала» или «подстилку Запада».

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

Фильтрация интернет-трафика нарушает конституционные права граждан на получение информации и свободу выражения мнений. Действующие меры носят чрезмерный характер, ограничивая доступ даже к тем ресурсам, которые не нарушают закон. Например, Министерство цифрового развития уже разрабатывает отечественный аналог GitHub. Для чего? Вероятно, чтобы заблокировать международные платформы. И не удивлюсь, если потом найдут предлог заблокировать и другие ресурсы, прикрываясь борьбой с наркотиками, терроризмом или педофилией.

Здесь важно сделать вывод: блокировка интернет-ресурсов не только нарушает наши права на доступ к информации, закреплённые в Конституции РФ, но и ставит под угрозу свободу выражения мнений. Мы не должны лишаться доступа к платформам только потому, что на них когда-то кто-то опубликовал запрещённый контент. Большинство интернет-пользователей — это взрослые, дееспособные граждане, способные самостоятельно решать, какую информацию получать.

Читать далее

Почему GitHub на самом деле победил: история глазами сооснователя

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

Недавно мы опубликовали в блоге перевод статьи о том, как GitHub заменил SourceForge в роли доминирующей платформы для хостинга кода. Но, как справедливо отметил автор оригинала, его мнение основано на открытых источниках и интервью с коллегами. А потом своим ви́дением поделился один из сооснователей GitHub, Скотт Чакон, который «действительно был там». Под катом — перевод его ответной статьи о реальных причинах победы GitHub. 

Читать далее

История Git: на этот раз не так весело

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

Линус Торвальдс как-то написал в своей книге, что создавал Linux для развлечения, но в итоге это привело к революции. Git, его второе творение, также оказалось «случайной революцией» — и сегодня это стандартный инструмент для людей в ИТ. Однако процесс его создания был уже не таким «весёлым» — по крайней мере, для самого Линуса. 

Читать далее

Новый нечёткий поиск и автодополнение в Manticore Search

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

Краткое содержание


Мы рады представить две новые важные функции в Manticore Search: нечёткий поиск и автокорректировка запросов (или "автодополнение"). Эти функции улучшают возможности поиска, предлагая более удобный для пользователя опыт.

Читать далее

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

Как GitHub заменил SourceForge в роли доминирующей платформы для хостинга кода

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

Уже 16 лет инженеры и разработчики всего мира размещают код своих проектов на GitHub. Но что было до него? Как сервис занял доминирующее положение на рынке? Разбираемся и смотрим скриншоты из конца нулевых вместе с Грегом Фостером, CTO Graphite.

Читать далее

Бложим как фрики

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

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

Будет обмазан Markdown, Hugo, GitHub (в качестве CD и халявного хостинга) и Obsidian

Страдать далее

Git Hooks не так страшны, как их малюют

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

Бывает, что в командах тестирования грезят об автоматизации процессов, но почему-то боятся внедрять даже такие простые вещи как хуки: «Они очень усложняют процесс, и писать их тысячу часов». С этим я категорически не согласен, ведь реализовать хуки очень просто.

Меня зовут Денис Федоров, я тестировщик в команде 2ГИС ПРО, сервисе геоаналитики для бизнеса. Рассказываю, что такое гит-хуки, чем они могут быть полезны и как их можно реализовать у себя. 

Читать далее

Как студенты МИФИ призывали Шиву на Eurobot 2024, часть 2

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

Вторая часть повествования опыта участия студенческой команды НИЯУ МИФИ в соревнованиях по робототехнике Eurobot 2024. В статье представлены решения программного управления периферией на роботе и алгоритмы движений, а также описана стратегия поведения на игровом поле.

Читать далее

Поиск секретов в программном коде (по энтропии)

Время на прочтение3 мин
Охват и читатели5K
Недавно в открытом доступе появился новый инструмент для поиска приватной информации в открытом коде. Это Entropy — утилита командной строки, которая сканирует кодовую базу на предмет строк с высокой энтропией. Предположительно, такие строки могут содержать секретную информацию: токены, пароли и др.

Подход логичный. Пароли и токены — это по определению строки с высокой энтропией, поскольку они создаются с помощью генераторов случайных или псевдослучайных чисел. Символы в такой последовательности в идеале непредсказуемы.
Читать дальше →

Телеграм бот на C# с использованием Yandex Cloud Functions

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

Всем привет!

Данная статья содержит информация о том, как написать телеграм бота на C# с использованием Yandex Cloud Functions и Телеграм Webhook. Также в данной статье будет рассмотрено CI/CD с помощью GitHub Actions.

P.S. полезная литература находится в ссылках!

Читать далее

Поиск секретов в программном коде (по энтропии)

Время на прочтение3 мин
Охват и читатели5.9K
Недавно в открытом доступе появился новый инструмент для поиска приватной информации в открытом коде. Это Entropy — утилита командной строки, которая сканирует кодовую базу на предмет строк с высокой энтропией. Предположительно, такие строки могут содержать секретную информацию: токены, пароли и др.

Подход логичный. Пароли и токены — это по определению строки с высокой энтропией, поскольку они создаются с помощью генераторов случайных или псевдослучайных чисел. Символы в такой последовательности в идеале непредсказуемы.
Читать дальше →