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

GitHub *

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

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

Как исправлять ошибки в Git, не оставляя улик

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

Как же иногда хочется закинуть коммиты «Remove debug log», «fix» или «fix fix fix». Такие коммиты как грязные носки под кроватью: их не видно, пока не придёт ревьюер с пристальным взглядом или, что еще хуже, потенциальный работодатель, решивший посмотреть на ваш профиль github.

К счастью, Git предлагает два супер-инструмента для того, чтобы история коммитов выглядела так, будто ты всегда знаешь, что делаешь: git commit --fixup и git rebase --autosquash. И сегодня мы разберем на практике как это применять.

Читать далее

Новости

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

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

В продолжение моей статье про обновление Android-приложений через Github releases, я решил автоматизировать еще одну часть этого рутинного процесса, а именно, сборку и релиз. При написании статьи руководствовался этой статьей, но немного поменял подход, а именно: не включаю в данный процесс файлы проекта, потому что, я думаю, это является более гибким подходом, позволяющим переносить workflow между проектами без изменений файлов самого проекта.

Читать далее

От сервера к десктопу: эксперимент с ASP.NET AOT и WebKitGTK

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

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

Цель этого эксперимента — проверка жизнеспособности стека ASP .NET + WebKitGTK + frontend на JS/TS. Этот стек предназначен для работы на ОС Linux. В проекте весь код написан на C# за исключением клиентской части, которая реализована при помощи TypeScript и Angular 19.1.

Этот концепт представляет из себя приложение, которое получает данные из Github API и для выбранного языка программирования проводит анализ количества новых репозиториев github по годам, строя линейную диаграмму, показывая тем самым тренд языка программирования. Этот анализ изначально не слишком объективен, но для тестового приложения вполне нормальный сценарий использования. В приложении на том же WebKitGTK реализована OAuth аутентификация Github. Полученные токены хранятся в системе при помощи библиотеки libsecret в зашифрованном (AES) виде. После первого входа пользователю необходимо установить пин-код, который является частью ключа. Немного заморочился с безопасностью токенов, да =)

Читать далее

Как запустить публичный сайт на телефоне или экономим на спичках

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

Сейчас вас научу "плохому" — будем поднимать наше веб-приложение на телефоне. Для этой цели я накидал приложение на go, которое определяет IP адрес, вычисляет город, отправляет запрос во внешний сервис и отдает страницу с данными о погоде в вашей локации.

Читать далее

Истории

Вершим правосудие на GitHub, помечая мошенников с помощью граффити

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

Уже много лет опенсорсные проекты позволяют нам «украшать» графики активности на GitHub фальшивыми историями коммитов Git. Но знали ли вы, что подобные граффити можно также размещать в профилях других пользователей?

К примеру, в графиках активности нескольких фишеров я оставил вот такую «черную метку»:


В статье расскажу, как отметить профиль недобросовестного юзера таким граффити, чтобы другие пользователи GitHub знали, с кем имеют дело.
Читать дальше →

Раздел OSINT (разведка): Что такое Github Dorking?

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

Здесь вы узнаете, как повысить свой уровень в OSINT, будут приведены примеры и готовые поисковые запросы.

(Вы можете дополнить меня, если я что-то забыл в комментариях).

Читать далее

Как вынести Go-модуль в open source с сохранением авторства

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

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

как git grep, git filter-branch и git rebase --interactive. В статье приводятся порядок шагов и общие рекомендации по оформлению открытого проекта.

Я Константин Соколов из бэкенд-разработки в Positive Technologies. Люблю программировать на Go.

Читать далее

Мастер-класс по точечному переносу изменений между ветками в git

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

Представьте ситуацию: вы нашли критический баг в проекте, исправили его в feature-ветке, но до полного слияния ещё далеко. Или вам срочно нужно перенести одно конкретное изменение из текущей ветки в другую. В таких случаях git cherry-pick становится вашим секретным оружием.

Читать далее

Топ популярных проектов на GitHub в январе 2025 года

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

Топ популярных проектов на GitHub за январь 2025 года. Эти проекты стали настоящими хитами среди разработчиков, аналитиков данных и всех, кто интересуется технологиями. Каждый из них показывает новые возможности и свежие идеи в разных сферах.

Читать далее

Подружить Great Expectations с Impala: решение для больших данных

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

Всем привет, меня зовут Ольга Вишницкая, работаю главным аналитиком данных в одном из департаментов Газпромбанка. Мы постоянно следим за развитием инструментов и технологий в области анализа данных, ищем и тестируем новые решения. И в какой-то момент один из наших стримов, который отвечает за качество данных, обратил внимание на Great Expectations (GX). Это отличная библиотека для анализа качества данных: от базовой валидации до сложного профилирования и автоматической генерации документации. 

Но при внедрении мы столкнулись с проблемой: GX официально не поддерживает Impala — наш основной SQL-движок для обработки данных в Hadoop. Сначала мы решили пойти обходным путем через pandas DataFrame, благо GX прекрасно с ним работает. На тестовых данных все выглядело многообещающе, однако DataFrame может обрабатывает только около 15 000 строк за раз. Данные нужно дробить на части и по результатам теста на действительно больших объемов, обработка растянулась больше чем на сутки, а часть возможностей библиотеки мы вообще потеряли.

Стало понятно — нужно возвращаться к идее использования Impala. Тем более что он обрабатывает те же объемы данных за считанные минуты. Оставалось только найти способ подружить его с GX. В документации GX ни слова о том, как запустить проверки через неподдерживаемый движок. Пришлось экспериментировать самим, и после серии проб и ошибок нашли решение. Решила им поделиться.

Читать далее

Что случилось с легковесными десктопными приложениями? История Electron

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

Electron — это один из самых известных инструментов современного разработчика. Если присмотреться, то это родственник React Native, манящий лозунгом «пиши один раз, запускай везде!», но с гораздо меньшими издержками по сборке и релизу, чем в случае мобильной разработки. Его уникальное преимущество заключается в комбинации Node.js и Chromium, создающей мощную десктопную среду для веб-технологий. Официальный блог Electron не так давно отметил своё десятилетие, что весьма удивляет с учётом того, насколько глубоко этот инструмент успел проникнуть в культуру разработки.
Читать дальше →

Переиндексация в Manticore Search с использованием mysqldump

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

Эта статья написана Мариусом Матилионисом, старшим разработчиком и экспертом по Manticore Search в компании Ivinco. Ivinco специализируется на предоставлении передовых решений для поиска, оптимизации баз данных, управлении инцидентами и настройке систем мониторинга, помогая бизнесам достигать более быстрых, эффективных и масштабируемых операций.

Читать далее

Как не усложнять себе жизнь при разработке первого pet-проекта

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

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

Привет! Меня зовут Руслан и я разработчик со стажем.

В начале карьеры разработал много тестовых(pet) проектов как для себя, так и для повышение своей квалификации. Создал более 10 pet проектов и теперь хочу поделиться с вами опытом.

Читать далее

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

Программируем SFP-модули на программаторе CH341A

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

Прошло уже более года с момента моей публикации о программаторе для CH341A под Linux - IMSProg и у меня возникло желание избавиться от еще одной программы, не дающей навсегда забыть о существовании Windows. Мой прежний программатор SFP собран на чипе FT232RL и имел софт только под Windows.

Каждый SFP-модуль имеет с своем составе стандартную микросхему 24C04 или 24C02, что натолкнуло меня на мысль использования простейшего переходника для программатора CH341 с использованием четырех проводов - земли, питания, I2C сигналов SDA и SCL. После просмотра разработок различных фирм я добавил в переходник джамперы на сигналы питания для снятия защиты от записи медных модулей - J1, J2 и J3 (контакты SFP TxPWR, RxPWR и TxEN). В результате получилась такая схема:

Читать далее

PPTAgent: Генерация и оценка презентаций, выходящая за рамки преобразования текста в слайды

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

Автоматическая генерация презентаций из документов представляет собой сложную задачу, требующую баланса между качеством контента, визуальным дизайном и структурной связностью. Существующие методы в основном сосредоточены на улучшении и оценке качества контента изолированно, часто упуская из виду визуальный дизайн и структурную связность, что ограничивает их практическую применимость. Для решения этих ограничений мы предлагаем PPTAgent, который комплексно улучшает генерацию презентаций за счет двухэтапного подхода, основанного на редактировании, вдохновленного рабочими процессами человека. PPTAgent сначала анализирует эталонные презентации, чтобы понять их структурные шаблоны и схемы контента, затем разрабатывает контуры и генерирует слайды с помощью кодовых действий для обеспечения согласованности и выравнивания. Для комплексной оценки качества сгенерированных презентаций мы дополнительно представляем PPTEval, структуру оценки, которая оценивает презентации по трем измерениям: Содержание, Дизайн и Связность. Эксперименты показывают, что PPTAgent значительно превосходит традиционные методы автоматической генерации презентаций по всем трем измерениям. Код и данные доступны по адресу https://github.com/icip-cas/PPTAgent.

Читать далее

Установка telegrtam-cli в Ubuntu и Debian

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

Начну с плюсов и полезных фишек:

1. Самое главное на мой взгляд это легковесность, всего 10мб

2. Меньше движений(всё легко, быстро и красиво)

3. Больше степеней свободы(куча фишек которые не всегда есть в приложениях)

4. Вы можете быть "Призраком"(вы в сети и видите сообщение, но в статусе вы не в сети)

5. Клиент можно установить на самое разное железо, включая такое скромное, как Raspberry Pi или Orange PI(на котором и будут показаны примеры ниже)

Но не всё так легко, кроме плюсов всегда есть минусы:

1. ВСЁ КОМАНДАМИ(это очень часто пугает, и многие могут подумать что это что-то выше их понимания)

2. Всё на английском(хотя я уже держу в планах создание перевода)

3. Надо разбираться, а на это нужно время

Из этого вы уже сами должны решить, есть ли смысл!

Читать далее

Надоело постоянно пользоваться телефоном, поэтому написал замену Google Authenticator в виде TUI

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

Мне надоело постоянно использовать Google Authenticator и переключаться между ПК и телефоном для подтверждения двухфакторной (мультифакторной) аутентификации. Красивых и функциональных TOTP (Time-based one-time password) хранилок в терминале я не нашел, поэтому сделал эту TUI, которая позволит хранить, управлять, просматривать, копировать 2FA ключ в пару нажатий с поддержкой VIM управления. Ну и просто мне было интересно, какого это создавать свои TUI приложения.

Читать далее

Система репутации в Telegram

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

Сегодня я расскажу, как можно создать собственную систему репутации с Telegram на Python. Решение будет легким и красивым, обещаю.

Далее

Поиск изображений по тексту с Manticore Search

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

Кратко: Узнайте, как Manticore Search даёт возможность искать изображения по текстовому описанию, совмещая обработку естественного языка и поиск по векторным представлениям. Мы рассмотрим разные пути — от классических методов до современных решений на базе векторного поиска. А если хотите увидеть всё в реальном времени, загляните в наше демо.

Читать далее

Итоги года команды «кодИИм»

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

Так неожиданно год подходит к концу, а мы, как и все, не забываем рассказать о его итогах!

Год начался с курса, на котором ребята в течение 3 месяцев изучали ИИ очень глубинно, включая CV и NLP.

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

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