Проекты на C
-
gb-studio
Простой и увлекательный инструмент для создания игр под Game Boy. Визуальный конструктор позволяет без навыков программирования быстро собрать ретро-игру для Game Boy перетаскиванием элементов. Результат можно экспортировать как ROM или сразу собрать как браузерную игру.

-
jq
Быстрый консольный JSON-процессор. JSON — один из самых распространённых форматов сериализации, который постоянно встречается в повседневной разработке. Утилита позволяет простыми командами форматировать и фильтровать JSON, а также напрямую разбирать JSON-ответы API.

-
libvips
Очень быстрая многопоточная библиотека обработки изображений. Низкоуровневая библиотека расходует мало памяти, быстро работает и поддерживает множество форматов изображений и пикселей. Пользоваться ей можно из консоли, а официальные SDK доступны для Ruby, Python и других языков.

Проекты на C#
-
CrazyCar
Сетевая гоночная игра на Unity. Полное решение для многопользовательской игры включает клиент, сервер, сетевой транспорт и панель администрирования. Поддерживаются заезды на время, многопользовательские гонки, личные достижения и горячее обновление ресурсов, а запустить игру можно на iOS, Android и Windows.

-
Masuit.Tools
Набор инструментов для разработки на C#. Библиотека содержит часто используемые классы для работы со строками, системами счисления и датами, шифрования и расшифровки, сжатия файлов, обрезки изображений, возобновляемой передачи файлов, распределённых идентификаторов и других задач.
double milliseconds = DateTime.Now.GetTotalMilliseconds();// 获取毫秒级时间戳 double microseconds = DateTime.Now.GetTotalMicroseconds();// 获取微秒级时间戳 double nanoseconds = DateTime.Now.GetTotalNanoseconds();// 获取纳秒级时间戳 double seconds = DateTime.Now.GetTotalSeconds();// 获取秒级时间戳 double minutes = DateTime.Now.GetTotalMinutes();// 获取分钟级时间戳
Проекты на C++
-
CppCoreGuidelines
Основные рекомендации по C++. Руководство по стилю под руководством создателя C++ Бьёрна Страуструпа помогает эффективнее использовать современный C++. В нём рассматриваются проектирование интерфейсов, управление памятью, многопоточность и другие темы. Материал подойдёт разработчикам, уже знакомым с основами C++ и желающим углубить знания.
-
flatbuffers
Высокопроизводительная библиотека сериализации с открытым кодом от Google. Формат похож на Protocol Buffers, но разбирается быстрее и требует меньше памяти, поэтому часто применяется в Android-приложениях и играх, чувствительных ко времени разбора данных.

-
imgui
Популярная в игровой индустрии лёгкая C++-библиотека для графических интерфейсов. GUI работает в непосредственном режиме, поэтому каждый элемент отрисовывается вручную. Такой подход даёт гибкость и компактность, позволяя быстро создавать небольшие приложения с простыми интерфейсами, но плохо подходит для сложной анимации. Чаще всего библиотеку используют для внутриигровых инструментов.
ImGui::Text("Hello, world %d", 123); if (ImGui::Button("Save")) MySaveFunction(); ImGui::InputText("string", buf, IM_ARRAYSIZE(buf)); ImGui::SliderFloat("float", &f, 0.0f, 1.0f);
Проекты на CSS
-
css-protips
Профессиональные приёмы CSS. Коллекция советов, которая поможет улучшить навыки работы с CSS.
-
ui-buttons
Коллекция стилей кнопок на CSS. Проект содержит 100 вариантов оформления кнопок.

Проекты на Go
-
gitleaks
Инструмент статического тестирования безопасности приложений (SAST). Он находит в проектах пароли, API-ключи, токены и другие секреты. Интеграция с Git hooks и GitHub Actions позволяет автоматически проверять каждый коммит, предупреждать об утечках и блокировать push.

-
mercure
Открытый протокол для обмена данными в реальном времени. Проект определяет протокол на основе HTTP и SSE и реализует на Go сервис push-уведомлений. Он проще WebSocket: клиент оформляет подписку как обычный HTTP-запрос, а в HTTP/2 доступен двусторонний обмен данными.

-
ptg
GUI-клиент gRPC на Go. Автору не хватало удобного аналога Postman для отладки gRPC-интерфейсов, поэтому он написал собственный клиент и открыл его исходный код.

-
wild-workouts-go-ddd-example
Пример DDD-проекта на Go. На примере системы бронирования показано, как реализовать в Go предметно-ориентированное проектирование (DDD) и архитектуру с разделением команд и запросов (CQRS).

Проекты на Java
-
forest
Минималистичный декларативный HTTP-клиент для Java. Фреймворк с открытым кодом позволяет декларативно описать отправку HTTP-запросов, приём и разбор ответов, обработку ошибок и логирование буквально за несколько минут.
public interface AmapClient { /** * @Get注解代表该方法专做GET请求 * 在url中的{0}代表引用第一个参数,{1}引用第二个参数 */ @Get("http://ditu.amap.com/service/regeo?longitude={0}&latitude={1}") Map getLocation(String longitude, String latitude); } // 注入接口实例 @Autowired private AmapClient amapClient; ... // 调用接口 Map result = amapClient.getLocation("121.475078", "31.223577"); System.out.println(result); -
liteflow
Быстрый, стабильный и компонуемый движок правил. Движки правил помогают развязать компоненты системы и адаптировать её к сложной меняющейся бизнес-логике простым изменением правил. Эта мощная Java-библиотека позволяет сочетать синхронное и асинхронное выполнение и плавно обновлять правила без перезапуска приложения. Простой синтаксис и понятная документация снижают порог входа.

-
picocli
Фреймворк для создания консольных Java-приложений. Он прост в использовании и позволяет собрать приложение буквально в несколько строк. Хотя фреймворк написан на Java, его можно применять с Groovy, Kotlin и Scala. Поддерживаются автодополнение команд, цвета, подкоманды и справка.
import picocli.CommandLine; import picocli.CommandLine.Option; import picocli.CommandLine.Parameters; import java.io.File; @Command(name = "example", mixinStandardHelpOptions = true, version = "Picocli example 4.0") public class Example implements Runnable { @Option(names = { "-v", "--verbose" }, description = "Verbose mode. Helpful for troubleshooting. Multiple -v options increase the verbosity.") private boolean[] verbose = new boolean[0]; @Parameters(arity = "1..*", paramLabel = "FILE", description = "File(s) to process.") private File[] inputFiles; public void run() { if (verbose.length > 0) { System.out.println(inputFiles.length + " files to process..."); } if (verbose.length > 1) { for (File f : inputFiles) { System.out.println(f.getAbsolutePath()); } } } public static void main(String[] args) { // By implementing Runnable or Callable, parsing, error handling and handling user // requests for usage help or version help can be done with one line of code. int exitCode = new CommandLine(new Example()).execute(args); System.exit(exitCode); } }
Проекты на JavaScript
-
mjml
Фреймворк для быстрого создания адаптивных писем. Вёрстка писем часто доставляет много хлопот, а созданные с его помощью сообщения корректно отображаются в разных почтовых клиентах. Проект предлагает онлайн-редактор, разнообразные шаблоны и множество компонентов для быстрой сборки красивых адаптивных писем с приоритетом мобильных устройств.

-
naive-ui
Библиотека компонентов только для Vue 3. Она предлагает более 80 компонентов, полноценный вывод типов TypeScript и документацию на китайском языке. Подойдёт тем, кто хочет попробовать альтернативный набор компонентов.

-
regex-vis
Визуальный онлайн-редактор регулярных выражений. Он автоматически строит диаграмму по введённому выражению, позволяет менять его через редактирование узлов диаграммы и проверять на тестовых данных.

-
vxe-table
Удобный компонент таблиц для Vue. Поддерживает создание, чтение, обновление и удаление данных, виртуальные списки, отложенную загрузку больших объёмов данных, валидацию, пагинацию и всплывающие окна.

-
wangEditor
Веб-редактор форматированного текста с открытым кодом. Он построен на slate.js и snabbdom.js и работает с JS, Vue и React. Нескольких строк кода достаточно, чтобы получить готовый полнофункциональный редактор.
import '@wangeditor/editor/dist/css/style.css' import { createEditor, createToolbar } from '@wangeditor/editor' // 创建编辑器 const editor = createEditor({ selector: '#editor-container' }) // 创建工具栏 const toolbar = createToolbar({ editor, selector: '#toolbar-container' })
Проекты на Kotlin
-
typing-learner
Приложение для запоминания слов, которое создаёт словари из видео. Оно превращает англоязычные видео в формате MKV в наборы слов. Во время обучения можно увидеть реплику и воспроизвести соответствующий фрагмент, чтобы понимать и запоминать слова в контексте.

Проекты на Objective-C
-
lemon-cleaner
Инструмент очистки для компьютеров Apple. Бесплатная macOS-утилита Lemon Cleaner с открытым кодом от Tencent глубоко очищает систему, удаляет дубликаты файлов и приложения, выводит состояние в строке меню и освобождает место одним нажатием.

Проекты на PHP
-
course-tencent-cloud
Платформа онлайн-курсов на PHP. Система построена на облачной инфраструктуре Tencent и фреймворке Phalcon. Она поддерживает оплату, видео по запросу, прямые эфиры, тематические рубрики, вопросы и ответы, подписки и мгновенные распродажи.

Проекты на Python
-
diagrams
Диаграммы архитектуры из Python-кода. Без схемы системы трудно подготовить техническое решение. Проект оборачивает нужные для диаграмм значки в удобные классы и предлагает множество примеров в документации. Так можно быстро строить ясные и красивые схемы без ручного перетаскивания элементов и настройки связей, а код переиспользовать по мере развития архитектуры.
with Diagram("Advanced Web Service with On-Premise", show=False): ingress = Nginx("ingress") metrics = Prometheus("metric") metrics << Grafana("monitoring") with Cluster("Service Cluster"): grpcsvc = [ Server("grpc1"), Server("grpc2"), Server("grpc3")] with Cluster("Sessions HA"): primary = Redis("session") primary - Redis("replica") << metrics grpcsvc >> primary with Cluster("Database HA"): primary = PostgreSQL("users") primary - PostgreSQL("replica") << metrics grpcsvc >> primary aggregator = Fluentd("logging") aggregator >> Kafka("stream") >> Spark("analytics") ingress >> grpcsvc >> aggregator
-
fg-data-profiling
Библиотека для автоматического создания отчётов о pandas DataFrame. Встроенная функция df.describe быстро строит статистическую сводку, но содержит мало сведений. Проект формирует многомерный HTML-отчёт с типами столбцов, пропусками, распределением значений, долей повторяющихся строк, объёмом памяти и другими характеристиками, помогая лучше понять данные.

-
labelImg
Графический инструмент разметки изображений. Настольное приложение на Python и Qt легко установить и использовать в Windows, Linux и macOS. Разметку можно сохранять в XML-файлах формата PASCAL VOC и txt-файлах YOLO.

-
MechanicalSoup
Лёгкая Python-библиотека для автоматического взаимодействия с сайтами. Обычно веб-скрейпинг состоит из запроса и разбора ответа. Проект объединяет популярные библиотеки Requests для запросов и BeautifulSoup для разбора в одном объекте браузера StatefulBrowser. Через него можно загружать страницы, фильтровать содержимое, отправлять формы и переходить по адресам, сокращая и упрощая код. Библиотека легче Selenium, поскольку не запускает браузерный процесс, но не поддерживает страницы с динамическим рендерингом через JS.
import re import mechanicalsoup # Connect to Google browser = mechanicalsoup.StatefulBrowser() browser.open("https://www.google.com/") # Fill-in the form browser.select_form('form[action="/search"]') browser["q"] = "MechanicalSoup" # Note: the button name is btnK in the content served to actual # browsers, but btnG for bots. browser.submit_selected(btnName="btnG") # Display links for link in browser.links(): target = link.attrs['href'] # Filter-out unrelated links and extract actual URL from Google's # click-tracking. if (target.startswith('/url?') and not target.startswith("/url?q=http://webcache.googleusercontent.com")): target = re.sub(r"^/url\?q=([^&]*)&.*", r"\1", target) print(target)
-
orange3
Интерактивное настольное приложение для анализа данных. Набор инструментов для интеллектуального анализа и визуализации данных рассчитан на пользователей без навыков программирования. Встроенные виды диаграмм и визуальное программирование позволяют без кода собирать простые и полезные аналитические приложения, прежде всего для обучения и лабораторных работ.

Проекты на Rust
-
pueue
Консольный диспетчер задач. Утилита управляет очередью shell-команд и поддерживает фоновый и отложенный запуск, параллельное выполнение, приостановку и восстановление после сбоя. Это именно консольный инструмент, а не полноценная очередь задач.

Проекты на Swift
-
MiaoYan
Markdown-редактор для macOS. Нативное приложение MiaoYan написано на Swift 5, отличается чистым приятным интерфейсом и поддерживает режим презентации, подсветку синтаксиса и тёмную тему.

Искусственный интеллект
-
flair
Простой и удобный NLP-фреймворк. Решение на базе PyTorch поддерживает распознавание именованных сущностей (NER), разметку частей речи (PoS), разрешение лексической неоднозначности и классификацию. Подробные руководства объясняют, как размечать тексты, обучать языковые модели и решать другие задачи.
from flair.data import Sentence from flair.models import SequenceTagger # make a sentence sentence = Sentence('I love Berlin .') # load the NER tagger tagger = SequenceTagger.load('ner') # run NER over sentence tagger.predict(sentence)
-
paper-reading
Коллекция подробных разборов статей по глубокому обучению. Му Ли собрал видеолекции о классических и новых работах в этой области.

-
paper2gui
Набор ИИ-инструментов для пользователей без навыков программирования. Проект предлагает несколько готовых приложений, которые достаточно скачать и запустить без установки. Среди возможностей — синтез речи, повышение частоты кадров видео, перенос стиля изображений, обнаружение объектов и распознавание текста.

Прочее
-
functional-programming-jargon
Словарь терминов функционального программирования. Проект объясняет профессиональную лексику и тем самым упрощает изучение функционального подхода. Все примеры кода написаны на JavaScript.

-
LxgwWenKai
Открытый китайский шрифт для основного текста. Он создан на основе Klee One от FONTWORKS, дополнен и оптимизирован для упрощённого китайского письма. Шрифт выразительно выглядит, распространяется бесплатно и разрешён для коммерческого использования.

-
MaaAssistantArknights
Помощник для игры Arknights. С помощью распознавания изображений он позволяет одним нажатием выполнить все ежедневные игровые задания.

-
opensnitch
Файрвол приложений для Linux. Он отслеживает и контролирует сетевую активность программ, выступая аналогом Little Snitch для Linux.

-
Publii
Генератор статических сайтов с GUI. Локальная CMS позволяет без навыков программирования создавать через графический интерфейс личные блоги, сайты компаний и другие проекты. Готовый сайт можно одним нажатием опубликовать на GitHub Pages, GitLab, Netlify и других платформах.

Открытые книги
-
interviews.ai
«Собеседования по глубокому обучению» (Deep Learning Interviews). Книга содержит сотни вопросов (PRB) и ответов (SOL), которые встречаются на собеседованиях по искусственному интеллекту. Автор стремится помочь студентам магистратуры и соискателям подготовиться к интервью по машинному обучению.
