Как стать автором
Обновить
31.92

GitHub *

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

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

Размер пул-реквеста имеет значение

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

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

«Какого же размера он должен быть? Бывает ли идеальный размер? Если бы теоретически можно было полностью его контролировать, то насколько большим его нужно делать?»

Вы гуглите, находите множество ресурсов, сайтов и статей наподобие этой, которые анализируют тему и делают примерно такой вывод:

«Слишком маленькое количество строк может не отображать полностью изменения, а чрезмерно большой PR может утомить проверяющих, что усложнит выявление проблем или написание осмысленного отзыва»

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

Однако моя статья будет немного о другом:

«Мы проанализируем PR примерно 30 тысяч разработчиков, чтобы проверить, как размер PR коррелирует с временем внедрения, полученными комментариями и отказами во внесении изменений, чтобы найти статистически наилучший размер и понять, что на него влияет.»

Пояснение: тем, кто экспериментирует с данными, особенно после прохождения курсов/обучения в сфере данных, приведённое выше может напомнить о фразе «Корреляция не означает причинно-следственной связи». Да, они будут абсолютно правы. Мы попытаемся рассмотреть под разными углами, как эта корреляция варьируется в зависимости от компании, разработчика и общего объёма коммитов кода, а также под другими углами, которые могут помочь нам понять, какие другие значения могут по каким-то причинам отвечать соответствующим паттернам. Однако это «всего лишь» числа и корреляции, они не объясняют своих причин, поэтому любые наши предположения о причинах, скорее, субъективны и не подтверждены научными исследованиями.

Читать далее
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 9

Новости

Три среды на бэкенде

Время на прочтение 5 мин
Количество просмотров 6.2K

Я уже не раз порывался написать что‑то общее про бранчинг; про некогда распиаренный GitFlow, который запиаривают обратно; про trunk‑based development (умеренно распиаривают), про то, как это увязать с разработкой бэкенда. И вот я затираю очередной забуксовавший черновик своей заметки чтобы всё упростить и не гоняться за чрезмерным обобщением опыта. Давайте я просто поделюсь рецептом, а вы его оцените.

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Комментарии 17

Красота не только в коде — как оформлять репозиторий

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

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

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

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

В данной статье мы рассмотрим ключевые аспекты оформления документации в Git репозитории, обсудим лучшие методики и практики для создания качественной документации. Независимо от того, являетесь ли вы опытным разработчиком или новичком в области Git, эта статья поможет вам создать четкую, структурированную и информативную документацию для вашего проекта. Погружайтесь в мир оформления документации, улучшайте ваши проекты и делитесь своими идеями с сообществом разработчиков Хабр!

Узнать, как оформлять репозитории
Всего голосов 27: ↑20 и ↓7 +13
Комментарии 42

Вас сдаст Гитхаб: деанонимизация пользователей SSH-серверов

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

Недавно в своих ежедневных чтениях я наткнулся на явление, о котором думал уже много лет: феномен утечки информации людей, использующих SSH. Этот тип утечки информации не является новым явлением. Я давно предупреждал об этой опасности своих друзей, использующих SSH, но мой голос услышали лишь несколько человек. Поэтому я решил дать пояснения по этому поводу, потому что я считаю, что необходимо понимать этот риск в ИТ-сообществе, особенно в нынешней ситуации. Я буду исходить из предположения, что у вас, дорогой читатель, есть опыт работы с SSH.

Читать далее
Всего голосов 87: ↑83 и ↓4 +79
Комментарии 152

Истории

Как настроить GitHub Actions и не заплакать: пошаговая инструкция

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

Как настроить GitHub Actions и не заплакать: пошаговая инструкция

Привет всем! Меня зовут Виталий, я фронтендер в Mish. Решил недавно освоить полноценный автоматический деплой проекта, чтобы все работало само. Расскажу и вам, что из этого получилось.

В статье буду разговаривать о деплое только фронтенда. Про деплой бэкенда расскажу в следующем материале.

Читать далее
Всего голосов 14: ↑12 и ↓2 +10
Комментарии 2

GitFlow процесс

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

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

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

Читать далее
Всего голосов 25: ↑14 и ↓11 +3
Комментарии 36

О точности вычислений: как не потерять данные в цифровом шуме

Время на прочтение 7 мин
Количество просмотров 2.4K

Специалист отдела перспективных исследований компании «Криптонит» Игорь Нетай изучил процесс потери точности вычислений и написал библиотеку, доступную на GitHub, которая помогает разработчикам контролировать точность расчётов на каждом этапе вычислений. Данная библиотека особенно актуальна в сфере машинного обучения и анализа (больших) данных, где накопление ошибок может сильно искажать результат.

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 8

Фундаментальные подходы при работе с Git

Время на прочтение 5 мин
Количество просмотров 18K

Git - одна из наиболее популярных систем контроля версий, используемых разработчиками по всему миру. Однако, существует множество различных подходов к организации рабочего процесса с использованием Git. В этой статье мы рассмотрим некоторые из наиболее популярных методов, такие как Git Flow, Trunk-Based Development (TBD), на их основе бизируются остальные:

Читать далее
Всего голосов 11: ↑6 и ↓5 +1
Комментарии 24

Как я статистику git парсил

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

Работаю я в бюрократизированной конторе с плохими процессами. Текучка тут достаточно большая. Люди приходят и уходят. Менеджмент на уровне дна. В какой-то момент в команду докинули нового разработчика (с неясными целями и задачами). Ну вроде парень умный, вроде что-то делает, вроде не просто так.

Спустя четыре месяца (испытательный закончился) у многих закрались подозрения, что на самом деле парень ничего не делает. Но как доказать это со стороны объективно? Решили посмотреть историю коммитов. Оказалось, он почти не коммитил (последний месяц вообще перестал), а на совещаниях ссал в уши ездил по ушам. Парень продолжил работать на прошлой работе и был преподом на курсах. Такой вот overemployed, с двумя зарплатами по ставке синьора.

Ему предложили перевестись в другой отдел. Менеджеру все сошло с рук. Часть разрабов сидела с лицами «‎а что так можно было?»‎. А я понял, что нельзя так просто взять и посмотреть статистику коммитов.

Велосипед через 3, 2, 1...
Всего голосов 98: ↑92 и ↓6 +86
Комментарии 50

Как правильно оформить пет-проект

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

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

Оформить
Всего голосов 22: ↑16 и ↓6 +10
Комментарии 25

Как сократить мартышкин труд в повседневной работе аналитика SOC

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

Я не встречал людей, которые любят делать одну и ту же рутинную работу. Большинству из нас хочется автоматизировать подобную деятельность, чтобы скучные и повторяющиеся операции выполняла бездушная машина. В центрах мониторинга информационной безопасности немало таких задач, особенно на первой линии. В этой статье я, Константин Грищенко, руководитель отдела мониторинга безопасности в Positive Technologies и участник открытого сообщества Security Experts Community, расскажу о том, как мы в отделе упрощаем свою работу с помощью инструмента SiemMonkey. Любой желающий может скачать его и установить в браузере.

Подробнее
Всего голосов 5: ↑3 и ↓2 +1
Комментарии 0

Опыт использования GitHub Copilot: разработчики из команды Сравни делятся впечатлениями

Время на прочтение 5 мин
Количество просмотров 7K

У нас в ИТ-команде Сравни есть принцип: в любой непонятной ситуации вместо того, чтобы раз за разом решать похожие проблемы, лучше сделать инструмент, который поможет системно решать целый класс таких задач. Шаблонизация, автоматизация занимают важное место у нас в бэклогах. Поэтому эксперименты с Copilot от GitHub и OpenAI, наверное, были для нас неизбежны.

В этой статье хотим поделиться обратной связью от коллег с их впечатлениями от Copilot – сравнить с вашим опытом и, возможно, добавить аргументов, чтобы попробовать этот инструмент (или окончательно убедиться, что делать этого не нужно — тут уж каждый решает сам).

Читать далее
Всего голосов 19: ↑18 и ↓1 +17
Комментарии 7

«Мультиверсионная» документация с GitHub Pages

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

Недавно мне потребовалось собрать и развернуть документацию для одного из своих небольших проектов на Python. Написал документацию, собрал Sphinx'ом, дальше собрался заливать на readthedocs.org и обнаружил что без VPN сайт не алё. Более того, почему то и с VPN нормально не получалось импортировать свой проект с GitHub.

Не долго думая, решил изучить ситуацию на "рынке" и нашел неплохую альтернативу - GitHub Pages. Эта статья о том, как я деплоил мультиверсионную документацию на GitHub Pages c помощью GitHub Actions и своими собственными "костылями".

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 3

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

Битва пет-проектов
Дата 25 сентября – 30 ноября
Место Онлайн
HighLoad++ 2023
Дата 27 – 28 ноября
Время 9:00 – 20:00
Место Москва Онлайн
Открытая трансляция Главного зала HighLoad++ 2023
Дата 27 – 28 ноября
Время 10:00 – 20:00
Место Онлайн
Business Code Conference
Дата 30 ноября
Время 17:30 – 00:00
Место Москва
Импульс Т1
Дата 1 декабря
Время 12:30
Место Москва Онлайн
YaTalks 2023 — главная конференция Яндекса для IT сообщества
Дата 5 – 6 декабря
Время 9:00 – 23:59
Место Москва Белград Онлайн

Как задеплоить монолитный pet проект на Java с 0 и не сойти с ума… Часть 2

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

Это 2-ая часть статьи "Как задеплоить монолитный pet проект на Java с 0 и не сойти с ума". Первую часть вы можете найти по ссылке.

В первой части мы успешно добавили свои наработки в репозиторий GitHub, в этой части мы рассмотрим что такое GitHub Actions и как с помощью них добавить свой образ docker контейнера с приложением в хранилище DockerHub.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 2

Работа с матрицами в python

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

Привет, Хабр! Я недавно начал свой путь в data science, хочу поделиться реализацией алгоритмов по обработке матриц.

Читать далее
Всего голосов 21: ↑12 и ↓9 +3
Комментарии 18

Как задеплоить монолитный pet проект на Java с 0 и не сойти с ума… Часть 1

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

Перерыв в работе заставил меня задуматься над смыслом выражения "Сапожник без сапог". Будучи Java Backend Developer с 3-ех летним стажем я не имею на руках ни одного pet проекта. Конечно, на GitHub у меня есть какие-то мелкие проектики, но они не доведены до конца и кроме того как просто висеть на доске "почета" они больше ничего и не могут. С этой мыслёй я пошел в интернет гуглить "как мне задеплоить свое приложение?".

Скажу сразу, это статья содержит шаги по развертыванию Java приложения с помощью GitHub Actions на серверах AWS EC2 и это моя интрерпретация тех инструкций, которые я находил в интернете. Собственно это статья содержит для новичков, кто просто не делал никогда деплой своего приложения, но очень хочет в сжатые сроки похвастаться своим результатом.

Читать далее
Всего голосов 12: ↑6 и ↓6 0
Комментарии 1

SSH и удалённые git-репозитории

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

В этой статье речь пойдёт о том, как при помощи протокола ssh удобно и безопасно работать с удалёнными git-репозиториями.

Читать далее
Всего голосов 18: ↑9 и ↓9 0
Комментарии 15

Подпись коммитов в git при помощи gpg

Уровень сложности Простой
Время на прочтение 13 мин
Количество просмотров 6.5K

В этой статье я расскажу о том, как и зачем подписывать и верифицировать коммиты в git при помощи gpg.

Читать далее
Всего голосов 25: ↑23 и ↓2 +21
Комментарии 19

Flutter-разработчикам: показываем, как шарить код через DartPad

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

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

Меня зовут Ахмедов Самир, я Flutter разработчик в Surf, и я расскажу о том, что же ещё умеет DartPad.

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 0

DIY-программатор ST-Link V2.1

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

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

Предлагаю вашему вниманию самодельный программатор ST-Link V2.1.

Особенности: интерфейс SWD, функция виртуального COM-порта, поддержка SWO, функция MSC (mass storage class), низкая цена.

Перейти к статье
Всего голосов 33: ↑33 и ↓0 +33
Комментарии 47

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