Обновить
43.37

GitHub *

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

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

Компьютерное зрение сквозь года

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

Как-то я столкнулся с довольно тривиальной, но новой для себя задачей - оптического распознавания символов (OCR). Так сложилось, что готовые инструменты (типа tesseract-ocr) мне не подошли, поэтому пришлось изобретать велосипед. Но к этому процессу я решил подойти со всей отвественностью: проверить несколько подходов, определить их примущества, недостатки и выбрать наиболее подходящий для конкретной задачи. По итогу это мини-исследование вылилось в данную обзорную статью. Здесь я хочу привести примеры нейросетевых моделей, характерных для различных этапов становления области компьютерного зрения (далее - CV) в том виде, в котором мы его знаем сейчас.

Читать далее

На GitHub больше 1 000 уязвимых репозиториев: в чём суть угрозы и что с этим делать

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

Привет, Хабр! На связи технический директор MTC RED Денис Макрушин и команда Advanced Research Team: Павел Гусь, Иван Бессарабов и Андрей Сомсиков.

В январе разработчики GitLab нашли в своей системе две критические уязвимости. Из-за ошибок в верификации злоумышленники могут захватывать учётки пользователей и менять содержимое репозиториев. Такой тип атак называется RepoJacking. Мы изучили другой хостинг кода — GitHub — и нашли 1 300 потенциально уязвимых открытых репозиториев. Чем это опасно для разработчиков и их проектов — под катом.

Читать далее

Об импортозамещении MATLAB/Simulink на примере модели динамики авиационного средства поражения

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

Когда-то давно меня попросили разработать модель динамики полета АСП (авиационного средства поражения) в отечественном ПО, в среде SimInTech, причем разработать не с нуля, а тупо повторив уже созданную ранее модель в Матлабе (с Симулинком), и любезно выложенную в публичный доступ на гитхабе.

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

Читать далее

Telegram бот для доставки torrent контента с телефона до телевизора

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

Всем привет! Этой мой первый пост на Habr (да и вообще где либо, за исключением GitHub). Хочу поделиться работой, на реализацию который у меня ушло около месяца, но тем не менее сейчас используя ежедневно и планирую развивать в дальнейшем. Задумка была таковой, что бы донести любой (бесплатный) контент до телевизора используя под рукой только телефон, например, если я еду в метро или нет желания (вставать с дивана) и возможности подойти к компьютеру. На самом деле причина реализации сей творения чуть глубже и проще, под управление я передал дело подбора контента на повседневный вечер супруге. За источник контента отвечает трекер Кинозал, который, к слову, я использую уже 4 года и меня он устраивает во всем.

Читать далее

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Узнать, как оформлять репозитории

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Велосипед через 3, 2, 1...

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

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

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

Оформить

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

Перейти к статье

Zigbee-LAN координатор на EFR32MG21 Silicon Labs

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

ZigbeeLink это open-source проект координатора Zigbee. В статье вы узнаете, как собрать, прошить и настроить Zigbee-LAN координатор на чипе Silicon Labs EFR32MG21.

Читать далее

Про российский GitHub

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

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

Читать далее

STM32 — Моделирование аналоговых сигналов и АЧХ (математическим методом)

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

Разработка устройства моделирования аналогового сигнала сложной формы с построением АЧХ на базе STM32F103ZET6

Перейти к статье

Чего стоят звезды на GitHub?

Время на прочтение6 мин
Охват и читатели9.7K
Лучший и самый очевидный способ оценить проект с открытым кодом – изучить его код, но это бывает трудоемко и не всегда приятно. Альтернатива, к которой кто-то приходит сам, естественным путем, а кто-то по совету – посмотреть, сколько человек отметили тот или иной проект звездой и выбрать один из тех, у которых звезд больше всего.

Взять, например, React.js и его 207 000 звезд против Angular с его жалкими 88 000. Мы можем заключить, что из этих двух фреймворков лучше React.js.Бен Эвад

Приведенная цитата шутливая (пусть даже из этих двух фронтенд-фреймворков React.js действительно лучше), но тем не менее судить о качестве проекта с открытым кодом по количеству звезд – неважная идея.

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

Как коммитить в open source. Пошаговый гайд

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

Инструкция написана для сервиса github. Вам нужно войти в свой аккаунт или зарегистрироваться.

Все команды вводятся в терминале.

Шаг 1

Делаем fork (копию) нужного проекта. Переходим в свой аккаунт и заходим в только что созданный fork.

Читать далее

«Наташ, вставай!» или как научить GitHub присылать вам SMS

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

Привет, Хабр! В одной из прошлых своих статей я уже писал про API для работы с SMS-сообщениями от компании МТТ (входит в экосистему МТС). На этом можно было бы и остановиться, если бы не одно «но». Не так давно вышла в свет платформа МТС Exolve за авторством всё той же компании МТТ. Методы для работы с SMS у MTT Telecom API и MTC Exolve очень похожи, за исключением одного: чтобы «покрутить в руках» MTC Exolve, не нужно заключать договор.

Cегодня мы  «поймаем двух зайцев»: посмотрим, как работает GitHub Actions и научимся отправлять SMS с помощью МТС Exolve.

Читать далее

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