Проекты на C
-
minilisp
Интерпретатор Lisp на 1000 строках C. В нём реализованы целые числа, символы, локальные переменные, условные операторы, макросы и сборка мусора. Код щедро снабжён комментариями, чтобы читателям было проще разобраться в устройстве проекта.
(println 3) ; prints "3" (+ 1 2 3) ; -> 6 (define a (+ 1 2)) (+ a a) ; -> 6 -
mpv
Минималистичный, но функциональный бесплатный open-source медиаплеер для разных платформ. В основе — MPlayer, mplayer2, FFmpeg и другие открытые проекты. Поддерживает множество аудио- и видеоформатов, HD-видео, декодирование на GPU и настройку под себя. Запускается из командной строки, управляется горячими клавишами и популярен у технических энтузиастов.

-
quadsort
Стабильный алгоритм сортировки слиянием, работающий быстрее быстрой сортировки. В проекте есть объяснение принципа работы, реализация на C, сравнение производительности и визуализация процесса сортировки.

Проекты на C#
-
jynew
3D-версия игры «Герои Цзинь Юна», созданная на Unity.

Проекты на C++
-
bpftrace
Продвинутый инструмент и язык трассировки Linux. На базе eBPF и BCC он собирает с помощью проб данные о ядре и работающих программах, а затем показывает их, например, в виде графиков. Это помогает находить скрытые ошибки, проблемы безопасности и узкие места производительности.

-
Cataclysm-DDA
Cataclysm: Dark Days Ahead — игра на выживание в постапокалиптическом мире. Заданий нет, единственная цель — остаться в живых. Можно искать еду и снаряжение, строить убежище, модифицировать транспорт и создавать предметы. Игра работает в Windows, Linux, macOS и Android. Скачать

-
cutter
Бесплатная платформа с открытым кодом для реверс-инжиниринга. В качестве движка используется Rizin, также встроен декомпилятор Ghidra. Интерфейс простой, а возможностей хватает специалистам по анализу программного кода.
- Поддержка разных языков и тем оформления
- Поиск по бинарным файлам
- Шестнадцатеричный редактор
- Скрипты и плагины на Python
- Поддержка Linux, macOS и Windows

Проекты на CSS
-
heti
Набор типографических стилей для публикации материалов на китайском языке: помогает аккуратно оформить китайский сайт.
- Выравнивание текста по сетке
- Единое оформление всех HTML-тегов
- Готовые варианты типографики
- Поддержка упрощённого и традиционного китайского
- Поддержка мобильных устройств

Проекты на Go
-
air
Инструмент для Go, который автоматически пересобирает и перезапускает сервис при изменении файлов или каталогов. Во время разработки веб-приложения на Go он избавляет от ручной сборки и перезапуска после каждой правки, ускоряя работу.

-
juicefs
Высокопроизводительная общая файловая система с интерфейсом POSIX. Позволяет работать с огромным облачным хранилищем почти как с локальным; несколько серверов могут одновременно подключить его для чтения и записи.

-
k9s
Консольная утилита для мониторинга и управления кластерами Kubernetes. Она легко устанавливается и предлагает много возможностей, позволяя решать повседневные задачи прямо в терминале.

-
kind
Утилита запускает локальный кластер Kubernetes, используя контейнеры Docker в качестве узлов. Она помогает быстро создать среду, похожую на обычный кластер Kubernetes, при этом требует относительно мало ресурсов и быстро стартует. Подходит для локальной разработки и тестирования компонентов Kubernetes, но не для продакшена.

-
sniffer
Консольная утилита для просмотра трафика процессов и сетевых соединений. Аккуратный интерфейс позволяет изучать данные с точки зрения процессов, сокетов и других объектов.

Проекты на Java
-
Addax
Инструмент для пакетной синхронизации разнородных источников данных. ETL-система для больших данных: быстро переносит данные между MySQL, HDFS, Hive, HBase и другими хранилищами. Подходит для сбора данных в хранилища и платформы больших данных.

-
AndResGuard
Утилита для сжатия и обфускации APK. Она сокращает пути к ресурсам, не затрагивая этап компиляции; для работы достаточно передать уже собранный APK.
-
datahub
Платформа управления метаданными на Java, которая подключается к Hive, Kafka, Elasticsearch и MySQL. По мере роста бизнеса данные становятся всё сложнее, и вести связи между ними в документах и устных договорённостях уже невозможно. Платформа позволяет просматривать, искать и управлять описаниями полей, связями и источниками данных. Это помогает разобраться в значении столбцов, не допускать ошибок в продакшене и увереннее анализировать данные. Попробовать онлайн

-
questdb
Высокопроизводительная open-source база данных временных рядов. В основном написана на Java; высокая скорость записи и запросов достигается за счёт колоночного хранения, параллельного выполнения и SIMD-инструкций. Подходит для Интернета вещей, машинного обучения и финансовых систем. Есть SQL и интерактивный веб-интерфейс.

-
termux-app
Open-source эмулятор терминала для Android. Он предоставляет Linux-среду и оболочку, а через встроенный менеджер пакетов на смартфон можно установить SSH, Python, GCC, htop, Git, Vim и другие утилиты.

Проекты на JavaScript
-
arco-design
Библиотека UI-компонентов для React и Vue на базе Arco Design. В ней более 60 готовых качественных компонентов, а визуальный редактор стилей помогает быстро создавать корпоративные панели управления.
import React from 'react'; import ReactDOM from 'react-dom'; import { Button } from '@arco-design/web-react'; import '@arco-design/web-react/dist/css/arco.css'; function App() { return ( <Button type='secondary'> Hello World </Button> ); } ReactDOM.render(<App />, document.getElementById('app'));
-
context-note
Расширение браузера для заметок на веб-страницах с контекстом. Закладки сохраняют ссылку целиком, но при чтении статей полезно отметить конкретное предложение вместе с его окружением. Расширение фиксирует текст и его положение на странице, чтобы заметку было легче вспомнить и одним нажатием вернуться к источнику.

-
orm
ORM для Node.js и TypeScript. Поддерживает популярные базы данных и подходит для разработки REST API, GraphQL API, gRPC API и других программ, которым нужен доступ к БД. В комплект также входят инструмент миграций и графический интерфейс для управления данными.
import { PrismaClient } from '@prisma/client' const prisma = new PrismaClient() // A `main` function so that you can use async/await async function main() { const allUsers = await prisma.user.findMany({ include: { posts: true }, }) // use `console.dir` to print nested objects console.dir(allUsers, { depth: null }) } main() .catch((e) => { throw e }) .finally(async () => { await prisma.$disconnect() })
-
S2
Высокопроизводительный инструмент для многомерного анализа данных в таблицах. В нём есть готовые таблицы трендов KPI, долей и сравнений, подробная документация упрощает начало работы. Благодаря выборочной отрисовке и виртуальной прокрутке таблицы с миллионом строк отображаются за секунды и прокручиваются без задержек. Попробовать онлайн

Проекты на Objective-C
-
vienna-rss
Бесплатная программа для чтения RSS-лент на macOS.

Проекты на PHP
-
laravel-tips
Подборка советов по написанию кода на Laravel. Материалы на китайском
-
PHPWord
Библиотека PHP для чтения и записи документов разных форматов. Поддерживает Microsoft Office, Rich Text Format (RTF) и другие форматы.
<?php require_once 'bootstrap.php'; // 新建文档 $phpWord = new \PhpOffice\PhpWord\PhpWord(); // Adding an empty Section to the document... $section = $phpWord->addSection(); // Adding Text element to the Section having font styled by default... $section->addText( '"Learn from yesterday, live for today, hope for tomorrow. ' . 'The important thing is not to stop questioning." ' . '(Albert Einstein)' );
Проекты на Python
-
orjson
Более быстрая и функциональная библиотека JSON для Python. Поддерживает разные типы данных, в том числе даты и массивы NumPy, и обрабатывает их быстрее.
>>> import orjson, datetime, numpy >>> data = { "type": "job", "created_at": datetime.datetime(1970, 1, 1), "status": "🆗", "payload": numpy.array([[1, 2], [3, 4]]), } >>> orjson.dumps(data, option=orjson.OPT_NAIVE_UTC | orjson.OPT_SERIALIZE_NUMPY) b'{"type":"job","created_at":"1970-01-01T00:00:00+00:00","status":"\xf0\x9f\x86\x97","payload":[[1,2],[3,4]]}' >>> orjson.loads(_) {'type': 'job', 'created_at': '1970-01-01T00:00:00+00:00', 'status': '🆗', 'payload': [[1, 2], [3, 4]]} -
rumps
Простая библиотека Python для приложений в строке меню macOS.
import rumps class AwesomeStatusBarApp(rumps.App): @rumps.clicked("Preferences") def prefs(self, _): rumps.alert("jk! no preferences available!") @rumps.clicked("Silly button") def onoff(self, sender): sender.state = not sender.state @rumps.clicked("Say hi") def sayhi(self, _): rumps.notification("Awesome title", "amazing subtitle", "hi!!1") if __name__ == "__main__": AwesomeStatusBarApp("Awesome App").run()
-
tiler
Утилита превращает изображение в мозаику из множества мелких фрагментов. Можно настраивать рисунок мозаики, в том числе собирать его из символов. Код простой и понятный — проект подойдёт тем, кто интересуется обработкой изображений.

Искусственный интеллект
-
ML-For-Beginners
Вводный курс по машинному обучению с открытым кодом от Microsoft.

-
spleeter
Инструмент для разделения аудиодорожки на отдельные составляющие, созданный на TensorFlow. С его помощью можно извлечь из музыки вокал, ударные, пианино и другие инструменты.
# 用 conda 安装依赖 conda install -c conda-forge ffmpeg libsndfile # 用 pip 安装 spleeter pip install spleeter # 提取人声 spleeter separate -p spleeter:2stems -o output 音频.mp3
Прочее
-
AppFlowy
Приложение для заметок с открытым кодом, созданное на Flutter и работающее в разных операционных системах. Его цель — стать альтернативой Notion.

-
design-resources-for-developers
Подборка ресурсов для веб-дизайна: изображения, шаблоны сайтов, CSS-фреймворки, UI-компоненты и другое.

-
doomcaptcha
Капча в виде шутера из Doom. Попробовать онлайн

-
koreader
Программа для чтения с открытым кодом для устройств с электронными чернилами (E-Ink). Работает на Kindle, Kobo, PocketBook, Android и Linux. Позволяет настраивать шрифт, межстрочный интервал и оформление текста; особенно полезна функция адаптации PDF-вёрстки под экран E-Ink — на Kindle такие документы читать гораздо удобнее.

-
penpot
Платформа для онлайн-дизайна и прототипирования с открытым кодом. Ей можно пользоваться бесплатно в браузере или развернуть через Docker; есть поддержка китайского языка и совместная работа в команде. Готовых компонентов пока немного: сначала придётся собирать интерфейс из фигур, но затем свои компоненты можно использовать повторно. Попробовать онлайн

-
Simula
Оконный менеджер для Linux в виртуальной реальности. С VR-шлемом он создаёт рабочее пространство, где взглядом можно охватить весь рабочий стол. Приложение создано на Godot, легко устанавливается и работает с HTC Vive Pro, Valve Index и другими VR-устройствами.

-
tabby
Стильный и функциональный терминал с широкими возможностями настройки для Windows, macOS и Linux.
- Настраиваемые темы и цветовые схемы
- Настраиваемые горячие клавиши и сочетания клавиш
- Встроенные подключения по SSH, Telnet и другим протоколам
- Разделение окна на панели
- И многое другое

-
wsa_pacman
Программа для установки Android-приложений в Windows 11. Позволяет устанавливать приложения двойным щелчком, использует встроенную в систему подсистему Windows для Android (WSA) и не требует сторонних эмуляторов.

Открытые книги
-
everything-curl
«Всё о curl» — книга, написанная создателем проекта curl. В ней рассказывается о начале работы с curl, открытом коде, исходниках и самом проекте. Читать онлайн

-
school-of-sre
Вводный курс по профессии SRE (инженер по надёжности сайтов) с открытым кодом от LinkedIn. Он охватывает Web, Linux, Git, компьютерные сети, базы данных, безопасность и другие темы.
