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

GitHub *

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

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

OpenAI Codex против GitHub Copilot: что лучше для написания и тестирования кода?

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

Сделать перевод этой статьи нас сподвиг, как ни странно, роман Джонатана Свифта «Путешествия Гулливера». Есть там такой примечательный эпизод о борьбе остроконечников и тупоконечников. Аналогия в контексте разработки ПО — это принимающий бесконечный характер спор о преимуществах и недостатках двух инструментов, — OpenAI Codex и GitHub Copilot, — призванных помогать разработчикам. Как нам показалось, эта переводная статья довольно подробно разбирает работу данных инструментов и поможет внести ясность о сферах их применения, особенно для начинающих программистов.

Читать далее

Новости

Webhook у Harbor или как я оповещения о пушах docker images нашей команды делал часть — 2

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

В прошлой части статьи мы говорили о пушах в harbor, в этой же статье мы разберемся другие методы с которыми работает его webhook.

Читать далее

Конституция против цензуры: история одного иска в суд

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

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

Читать далее

Дивный мир мобильной разработки и трудности Open Source

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

Когда я впервые решил создать свой open-source проект, мне казалось, что главное – это хорошая идея и рабочий код. Я взялся за разработку библиотеки для сетевых клиентов и UI-компонентов, вложил в неё два года работы и, наконец, выложил на GitHub. Но вместо успеха меня ждал холодный душ – библиотека получила всего 10 звёздочек.

Тогда я осознал ключевую проблему open-source: одна только идея не работает. Если проект плохо оформлен – его никто не найдёт. Документация и описание –  не менее важны, чем сам код. В следующем проекте я учёл ошибки. Когда правильно оформил проект, он начал находить аудиторию, получать звёзды и фидбек от разработчиков.

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

Читать далее

Webhook у Harbor или как я оповещения о пушах docker images нашей команды делал часть — 1

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

Руководителям групп разработки и членам команды часто приходится сталкиваться с проблемой информирования коллег о новых версиях docker image внутренних инструментов. Сообщения в общих чатах не всегда эффективны, а писать вручную — не лучшая практика. И тут мы рассмотрим разработку решения по автоматическому информированию.

Читать далее

OSA: ИИ-помощник для разработчиков научного open source кода

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

Привет, Хабр! Меня зовут Андрей Гетманов, я работаю ML-инженером в Исследовательском центре “Сильный ИИ в промышленности” в ИТМО, а кроме того являюсь энтузиастом open source. В этой статье хочу рассказать о нашей новой разработке ― ИИ-инструменте, который помогает репозиторию стать лучшей версией себя.

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

Читать далее

Как GitHub использует CodeQL для обеспечения безопасности

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

Что происходит, когда GitHub берётся за собственную безопасность? Они пишут код для защиты кода — и активно используют для этого CodeQL. В этой статье команда Product Security Engineering рассказывает, как настроить масштабный автоматический анализ уязвимостей, зачем создавать свои пакеты запросов и как с помощью CodeQL находить ошибки, которые невозможно поймать обычным поиском по коду.

Читать далее

15 команд Git, которые покрывают 90% повседневной работы разработчика

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

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

Читать далее

Semantic-release в GitLab: автоматизируем CHANGELOG

Время на прочтение3 мин
Количество просмотров642

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

На проекте была одна довольно типичная и, мягко говоря, надоедливая проблема: разработчики вручную заполняли CHANGELOG при выкатке новой версии приложения. Иногда информация туда попадала точная и соответствующая реальным изменениям, иногда – частично верная, а иногда и вовсе напрочь забытая.

Решение нашлось довольно элегантное – интегрировать инструмент semantic-release в наш пайплайн CI/CD. Но оказалось, что найти полноценное руководство по его настройке, особенно с учетом корпоративного GitLab и плагина semantic-release/changelog, не так-то просто. Собирал информацию буквально по крупицам из различных источников, и вот теперь делюсь с вами проверенной пошаговой инструкцией.

Читать далее

Автоматизация PetKit Smart Spray K3 через Bluetooth и интеграция с Home Assistant

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

Всем привет. Это моя первая статья, так что не судите строго (да, да, заезженная фраза).

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

Читать далее

Интеграция Kafka с Manticore Search: пошаговое руководство по обработке данных в реальном времени

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

Kafka — это популярный брокер сообщений, который используется в самых разных проектах: от обработки логов и управления очередями задач до персонализации контента и аналитики в реальном времени. Например, его можно использовать для индексирования изменений в Википедии или поиска товаров в интернет-магазинах. Manticore Search, в свою очередь, поддерживает интеграцию с Kafka, что позволяет автоматически импортировать данные и использовать их для полнотекстового поиска, аналитики, векторного поиска и многого другого.

При импорте данных в Manticore вы можете гибко их обрабатывать:

Читать далее

UI автотесты на Python с запуском на CI/CD и Allure отчетом. PageObject, PageComponent, PageFactory

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

Разбираем, как писать масштабируемые и читаемые UI автотесты на Python с использованием паттернов PageObject, PageFactory и PageComponent. Разберем на атомы как устроены эти подходы, когда их применять и чем они отличаются. Всё это — на примере тестового проекта UI Course с CI/CD и наглядными отчетами в Allure.

Читать далее

Как мы собираем SWE-bench на других языках

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

Современная разработка ПО — это плавильный котел языков: Java, C#, JS/TS, Go, Kotlin… список можно продолжать. Но когда дело доходит до оценки ИИ-агентов, способных помогать в написании и исправлении кода, мы часто упираемся в ограничения. Популярный бенчмарк SWE-bench, например, долгое время поддерживал только Python.

Чтобы преодолеть разрыв между реальностью разработки и возможностями оценки ИИ, наша команда в Doubletapp взялась за адаптацию SWE-bench для множества языков программирования. Меня зовут Кирилл Увенс, и в этой статье я расскажу, как мы подходим к этой задаче и почему считаем ее важной для всей индустрии.

В статье расскажем:

Что такое SWE-Bench
Какие сложности возникают при сборе данных и тестировании
Наш опыт: какие языки поддерживает SWE-bench
Ручная перепроверка, или SWE-bench Verified
Сравниваем SWE-bench с другими бенчмарками для разработки ПО
Ценообразование SWE-bench: как формируется стоимость одного датапойнта

Читать далее

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

20 лет Git, странному и прекрасному

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров5.6K
Двадцать лет назад, 7 апреля 2005 года, Линус Торвальдс создал самый первый коммит в «информационном менеджере из ада» Git.


За эти двадцать лет Git превратился из простого маленького личного проекта в самую масштабную и популярную систему управления версиями.

Лично для меня это было захватывающее приключение в мире ПО, со своими взлётами и падениями.

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

Я подумал, что сегодня, когда проект Git входит в свой третий десяток лет, было бы интересно вспомнить самые первые дни Git и немного рассказать о том, почему этот проект кажется мне бесконечно восхитительным.
Читать дальше →

KotlinJS в GitHub Actions

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

GitHub Actions (GHA) — отличный инструмент для настройки CI/CD, а в GitHub Marketplace можно найти тысячи готовых GHA под любые задачи. Но всегда же найдётся процесс, который захочется настроить под себя. Тогда нам придётся написать кастомный GHA.

Привет! Это Макс Качинкин, Android Tech Lead в Додо. В этой статье я покажу, как создать свой GHA на Kotlin/JS, используя плагин Kotlin Multiplatform, и поделюсь готовым шаблоном в GitHub, с помощью которого вы сможете быстро написать собственный экшен на Kotlin/JS. Погнали!

Читать далее

Расследование аферы с GitHub: как тысячи «модов» и «кряков» крадут наши данные

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

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

Читать далее

Концепты в современном C ++

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

C++ шаблоны — мощный инструмент, но работать с ними бывает больно: многословные ошибки, путаница с типами и enable_if, который все усложняет. Concepts в C++20 появились, чтобы упростить жизнь разработчикам и сделать шаблонный код понятнее. В этой статье — разбор конкретного кейса: как с помощью концептов задать корректные ограничения на контейнеры, избежать ловушек с массивами и получить внятные ошибки от компилятора.

Читать далее

Как я решил выяснить, какие технологии сегодня популярны, а получился GitHub Trend Analyzer

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

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

Пытаясь сравнить популярность нескольких технологий разработки ПО, я столкнулся с парадоксом: данные Google Trends и количество GitHub-репозиториев показывали высокую популярность технологий, которые в реальной разработке давно не используются.

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

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

Читать далее

API автотесты на Python с запуском на CI/CD и Allure отчетом

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

В этой статье разберём процесс написания API автотестов на Python, используя современные best practices. Кроме того, мы настроим их запуск в CI/CD с помощью GitHub Actions и сформируем Allure-отчёт с историей запусков. Цель статьи — не только показать, как писать качественные API автотесты, но и научить запускать их в CI/CD, получая удобные отчёты о результатах.

Читать далее

Как я написал удобного Telegram-бота для взаимодействия со школьным дневником

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

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

...

Читать далее
1
23 ...