Обновить
43.37

GitHub *

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

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

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

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


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

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

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

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

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

Совсем недавно разработчики, применяющие сканер образов 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 мин
Охват и читатели6.3K

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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


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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Любой может получить доступ к удалённым и приватным данным репозиториев GitHub

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

Кто угодно может получать доступ к данным из удалённых форков, удалённых репозиториев и даже приватных репозиториев GitHub. И эти данные доступны всегда. Это известно разработчикам GitHub, и они намеренно спроектировали систему таким образом.

Это настолько огромный вектор атак для всех организаций, использующих GitHub, что мы решили ввести новый термин: Cross Fork Object Reference (CFOR). Уязвимость CFOR возникает, когда форк одного репозитория может получить доступ к требующим защиты данным из другого форка (в том числе и к данным из приватных и удалённых форков). Аналогично Insecure Direct Object Reference, при CFOR пользователи передают хэши коммитов, чтобы напрямую получать доступ к данным коммитов, которые иначе были бы для них невидимыми.

Давайте рассмотрим несколько примеров.
Читать дальше →

Книга: «Программирование на Python с помощью GitHub Copilot и ChatGPT.»

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

В наши дни люди пишут компьютерные программы совсем не так, как раньше. Используя GitHub Copilot, можно простым языком описать, что должна делать программа, а искусственный интеллект тут же сгенерирует ее.

Узнайте, как создавать и улучшать программы на Python с помощью ИИ, даже если прежде вы не написали ни строчки компьютерного кода. Сэкономьте время на рутинном программировании и воспользуйтесь услугами ИИ, способного мгновенно воплотить ваши идеи в жизнь. Заодно выучите Python!
Читать дальше →

Автоматическая установка приложений из GitHub-релизов

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

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

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

Читать далее

Тысяча и одна библиотека С++

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

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

Столкнувшись много раз подряд с тем, что найти что-то толковое довольно непросто, я решил попробовать распутать это узел и предложить для русскоязычных читателей свой справочник классных библиотек на С++. Я исходил из этого источника. Это очень многогранный и объемный список библиотек языка С++, но, скажем так, у меня были к нему вопросы. Потому я сделал перевод, затем значительно улучшил его в плане содержания (далее объясню, как, почему и зачем). На выходе получилось около 1000 библиотек. Как в сказке). Они, конечно, не покрывают все возможные задачи и предметные области, но поверьте, они затрагивают действительно многое.

Прикоснуться к сокровищнице языка С++

Управляем нашей лодкой прямо с веб-страницы на телефоне

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

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

Короче, идем под кат, я все расскажу.

Как работает генерация видео в open source проекте Wunjo CE

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

Генерация видео теперь open source? Наконец-то я нашёл время, чтобы добавить генерацию видео из текста и изображений в свой open source проект Wunjo CE. В этой статье мы рассмотрим, как это работает, сравним его с похожими решениями, изучим основы подхода и его альтернативы.

Смотрим

Ачивки за коммиты в git. Пятничный пост

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

Кратко: сохраняем лог git в файл и кидаем в браузер тут.

Привет Хабра. Год назад я писал о разных визуализаторах статистики git и своем велосипеде. За это время удалось внести много улучшений, в том числе существенно увеличить набор ачивок для программистов. Но настал творческий тупик и мне уже не хватает фантазии придумывать новые ачивки. Они должны быть смешные, с издевкой и легко переводиться на другие языки. Может у вас будут идеи?

Читать далее

Вклад авторов