Проекты на C
-
lvgl
Красивая и удобная лёгкая графическая библиотека для встраиваемых систем.
- Множество элементов интерфейса: кнопки, диаграммы, изображения и другие.
- Разные устройства ввода: сенсорные экраны, клавиатуры и кнопки.
- Минимальные требования: 64 КБ ROM и 16 КБ RAM.
- Независимость от аппаратной платформы и работа с разными дисплеями.
- Поддержка языков, включая китайский, корейский и арабский.
- Подробные и разнообразные примеры.

-
uthash
Библиотека хеш-таблиц для C. Поскольку в языке нет встроенного словаря, она предлагает поиск, вставку, удаление и сортировку элементов хеш-таблицы. Для использования достаточно подключить один заголовочный файл.
#include "uthash.h" struct my_struct { int id; /* we'll use this field as the key */ char name[10]; UT_hash_handle hh; /* makes this structure hashable */ }; struct my_struct *users = NULL; void add_user(struct my_struct *s) { HASH_ADD_INT( users, id, s ); } -
warpd
Инструмент для управления указателем мыши с клавиатуры. Поддерживает несколько режимов, включая перемещение клавишами со стрелками и выбор области. Работает только в Linux и macOS.

Проекты на C#
-
TradingSystem
Система управления торговлей с открытым кодом. Включает исходники сервера, настольного и мобильного клиентов. Интерфейс доступен на китайском; есть управление продажами и участниками программы лояльности, печать чеков и статистические отчёты. Подходит для ресторанов, супермаркетов и гостиниц. Перед использованием или доработкой авторы советуют внимательно прочитать лицензию.

Проекты на C++
-
Cytopia
Бесплатная игра о строительстве города с пиксельной графикой и открытым кодом.

-
FileCentipede
Кроссплатформенный менеджер загрузок на C++ и Qt. С лаконичным интерфейсом, высокой скоростью и поддержкой нескольких протоколов. Расширение для браузера позволяет скачивать видео и аудио с веб-страниц.

-
ydb
Корпоративная распределённая SQL-база данных с открытым кодом от Yandex. Поддерживает высокую доступность, масштабирование, транзакции, строгую согласованность и автоматическое восстановление после аварии. Для запросов есть веб-платформа, а для Go, Java, Python, JavaScript и других языков — SDK.

Проекты на CSS
-
simple.css
Сверхлёгкий CSS-фреймворк. Не вводит новых классов, а задаёт разумные стили HTML-элементам: адаптивные и аккуратные страницы можно создавать на одном HTML.

Проекты на Go
-
casdoor
Платформа управления доступом со страницей входа. Панель управления пользователями доступна на китайском языке. Поддерживает вход через разные сторонние сервисы, единый вход, коды подтверждения по SMS и электронной почте и восстановление пароля.

-
gorse
Рекомендательный движок на Go. Позволяет запустить систему рекомендаций без специальных знаний в этой области. Достаточно загрузить сведения о пользователях, объектах и действиях — например, отметках «нравится» и сохранениях. Gorse автоматически обучит модель и подготовит рекомендации для каждого пользователя.

-
lal
Сервер потокового видео, полностью написанный на Go. Полноценное решение для прямых трансляций с поддержкой распространённых форматов кодирования и протоколов RTMP, RTSP и HLS.

-
monitoror
Панель мониторинга в виде «стены» показателей. Легко устанавливается и настраивается, показывает все метрики плитками: наглядно и аккуратно. Работает в Linux, macOS и Windows.

-
yomo
Фреймворк потоковых вычислений на периферии сети с низкой задержкой. Использует протокол QUIC для повышения скорости и стабильности передачи, позволяя быстро передавать и обрабатывать данные даже в сложных сетях. Поддерживает распределённое развёртывание в разных регионах, чтобы пользователи подключались к ближайшему узлу. Подходит для интерактивных приложений в реальном времени: совместной работы, виртуальных миров, AR/VR, облачных игр и интернета вещей.

Проекты на Java
-
databasir
Платформа управления документацией моделей баз данных. Автоматически синхронизирует метаданные базы и создаёт документацию, помогая поддерживать описания моделей в актуальном состоянии.

-
guice
Легковесный фреймворк внедрения зависимостей для Java. Позволяет обходиться без большого объёма шаблонного кода, упрощает и ускоряет разработку и отладку. Подойдёт отдельным разработчикам для небольших проектов.
import javax.inject.Inject; import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.Module; public class Main { @Inject private HelloWorldService service;//hello service public static void main(String[] args) { Main main = new Main(); Module module = new HelloWorldModule(); Injector injector = Guice.createInjector(module); injector.injectMembers(main);//injects the implementation of the service main.testGuice(); } public void testGuice() { service.sayHello();//usage of the service } } -
javamelody
Инструмент мониторинга приложений Java и Java Web. Отслеживает HTTP-запросы, длительность SQL-запросов, число вызовов методов, долю ошибок, использование памяти Java и другие показатели. Позволяет выбирать временной диапазон и экспортировать отчёты.

-
stendhal
Бесплатная многопользовательская ролевая онлайн-игра (MMORPG) на Java с открытым кодом. За ретро-графикой в 2D скрывается большой мир с сотнями предметов, монстров, персонажей и заданий, а также свободной торговлей. Выполняя задания, игроки получают опыт и деньги, улучшают снаряжение и открывают новые области. Проект развивается с 2005 года. Сыграть онлайн.

-
streampark
Фреймворк быстрой разработки для Flink и Spark и единая платформа обработки потоковых данных. Помогает сразу приступить к разработке и управлять настройкой, созданием, тестированием, развёртыванием, мониторингом и сопровождением потоковых приложений.

Проекты на JavaScript
-
cnchar
Небольшая библиотека JavaScript для работы с китайскими иероглифами. Определяет пиньинь, варианты произношения и число черт.
let spell = cnchar.spell('你好'); let stroke = cnchar.stroke('你好'); console.log(spell, stroke);
-
nanoid
Библиотека JavaScript для генерации случайных идентификаторов.
- Компактная: без зависимостей, всего 130 байт.
- Быстрая: на 60 % быстрее UUID.
- Безопасная: использует криптографический генератор случайных чисел и подходит для кластеров.
- Экономная: использует более широкий алфавит символов, чем UUID.
- Удобная: перенесена более чем на 20 языков программирования.
const { nanoid } = require('nanoid'); nanoid(); //=> "U9HDHNW3BkWMEd6GV_QPa" -
nexe
Консольная утилита для упаковки Node.js-приложения в один исполняемый файл.

-
rough
Библиотека для рисования графики в стиле набросков от руки.
const rc = rough.canvas(document.getElementById('canvas')); rc.rectangle(10, 10, 200, 200); // x, y, width, height
-
rubiks-cube
Трёхмерный кубик Рубика на Three.js. Можно менять число слоёв. Попробовать онлайн.

Проекты на Kotlin
-
architecture-samples
Официальные рекомендации по архитектуре Android-приложений. Проект показывает и обсуждает, как проектировать приложения с удобной поддержкой и тестированием. Простой список задач служит примером для разработчиков и начинающих.

Проекты на Objective-C
-
hammerspoon
Мощный инструмент автоматизации macOS. Сценарии на Lua взаимодействуют с системными API и могут управлять окнами, мышью, файловой системой, экраном и другими возможностями. На этой основе удобно создавать собственные утилиты для macOS.
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "W", function() hs.notify.new({title="Hammerspoon", informativeText="Hello World"}):send() end)
Проекты на Python
-
docker-py
Официальная библиотека Docker для Python. Позволяет программно и массово управлять образами Docker.
import docker client = docker.from_env() client.images.pull('nginx') # <Image 'nginx'> client.containers.run("ubuntu:latest", "echo hello world") # 'hello world\n' client.containers.list() # [<Container '45e6d2de7c54'>, <Container 'db18e4f20eaa'>, ...] -
memray
Анализатор памяти Python. Помогает изучать использование памяти приложением, находить утечки и участки кода с большим расходом памяти. Создаёт отчёты в виде диаграмм пламени, таблиц и деревьев, показывает данные в реальном времени и сводную статистику.
- Табличный отчёт: memray table [options] <results>.
- Отчёт в реальном времени: memray run --live application.py.
- Статистика: memray stats [options] <results>.

-
modin
Более быстрая библиотека обработки и анализа данных с интерфейсом, похожим на pandas. Для ускорения вычислений использует Ray или Dask и совместима с большей частью API pandas. Чтобы перейти на Modin и ускорить обработку данных, достаточно изменить одну строку импорта.
# import pandas as pd import modin.pandas as pd import numpy as np frame_data = np.random.randint(0, 100, size=(2**10, 2**8)) df = pd.DataFrame(frame_data)
-
pikepdf
Библиотека Python для чтения и записи PDF-файлов.
import pikepdf with pikepdf.open('input.pdf') as pdf: num_pages = len(pdf.pages) del pdf.pages[-1] pdf.save('output.pdf')
-
pinry
Сайт с открытым кодом для обмена изображениями. Фронтенд и серверная часть разделены и построены на Vue.js и Django. Изображения показаны плитками; есть просмотр, загрузка, поиск, панель администрирования, личные страницы и метки.

Проекты на Ruby
-
lobsters
Исходный код сайта lobste.rs на Rails. Как и Hacker News, он предназначен для обмена ссылками и обсуждений. Может послужить основой для похожего сайта.

Проекты на Rust
Проекты на Swift
-
WordPress-iOS
Официальный клиент WordPress для iOS с открытым кодом.

Искусственный интеллект
-
instant-ngp
Проект для ускоренного обучения моделей NeRF от Nvidia. По заявлению авторов, модель лисы можно обучить всего за пять секунд. Нейросеть строит по статичным двумерным снимкам представление, которое можно увеличивать и рассматривать под любым углом с сохранением чёткости.

Прочее
-
getwidget
Бесплатная библиотека элементов интерфейса Flutter с открытым кодом. Содержит более 1 000 распространённых компонентов, помогающих быстро создавать приложения.

-
iRedMail
Готовый к работе бесплатный почтовый сервер. Позволяет быстро развернуть почту в Linux или BSD. Включает веб-панель управления; данные хранятся на своём сервере, что помогает сохранять приватность и упрощает перенос и резервное копирование.
-
RedisInsight
Официальная настольная программа для управления Redis с открытым кодом. Предлагает визуальный интерфейс, мониторинг, анализ памяти и управление кластерами Redis.

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

-
vcard-personal-portfolio
Сайт для представления личной информации и портфолио.

-
WechatMomentScreenshot
Генератор скриншотов ленты «Моменты» в WeChat.

Открытые книги
-
awk
Китайский перевод книги «Язык программирования AWK» (The AWK Programming Language).
-
rCore-Tutorial-Book-v3
Руководство на китайском языке от Университета Цинхуа по созданию Unix-подобного ядра для RISC-V с нуля на Rust. Начинается с истории вычислительной техники, объясняет, почему появились операционные системы и какими свойствами должна обладать современная ОС. Практическая часть постепенно ведёт от пустой папки к ядру системы, словно сборка из конструктора. Автор описывает чтение руководства как захватывающее занятие. Читать онлайн.

-
tensorflow-internals
«Внутреннее устройство TensorFlow» — разбор исходного кода, архитектуры, модели предметной области и принципов работы фреймворка. Книга посвящена уже устаревшей версии 1.2, но всё ещё помогает понять устройство известного инструмента машинного обучения.
