Обновить
256K+

GitHub *

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

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

Парсер JSON в 500 строках Rust

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

За время прошлого семестра в универе я прошёл курс «Инструменты и компиляторы на основе синтаксиса». В рамках курса мы создавали сканер, парсер, компилятор и прочие инструменты для языка Plo. Писали мы их на Python, но тогда меня серьёзно заинтересовал Rust.

В итоге я решил заняться очередным хобби-проектом, и на сей раз создать парсер JSON на Rust. Мне хотелось проверить полученные на курсе навыки и, наконец-то, реализовать проект на этом языке, что я откладывал уже не один год.
Читать дальше →

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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


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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

Tg бот для IT + автоматизация ИПРО-2 используя MTS Exolve. Упаковка в Docker и автоматизация сборки с GitHub Actions

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

Статья написана с целью передачи проекта всем кто ищет информацию по написанию простых ботов, началу работы с docker и github Actions.

Читать дальше