Проекты на C
-
libevent
Лёгкая и производительная библиотека уведомлений о событиях на C. Работает по событийной модели и поддерживает разные механизмы мультиплексирования ввода-вывода: epoll, poll, select, kqueue и другие. libevent предоставляет единый интерфейс к этим системным механизмам, API более высокого уровня и переносимость между платформами.
Проекты на C#
-
dotnet-docker
Docker-образы для .NET Core и его инструментов.
-
machinelearning
Фреймворк машинного обучения на C# с открытым кодом от Microsoft. Поддерживает классификацию, регрессию, кластеризацию и другие задачи. Доступны учебные материалы и видео. Пример кода:
var dataPath = "sentiment.csv"; var mlContext = new MLContext(); var loader = mlContext.Data.CreateTextLoader(new[] { new TextLoader.Column("SentimentText", DataKind.String, 1), new TextLoader.Column("Label", DataKind.Boolean, 0), }, hasHeader: true, separatorChar: ','); var data = loader.Load(dataPath); var learningPipeline = mlContext.Transforms.Text.FeaturizeText("Features", "SentimentText") .Append(mlContext.BinaryClassification.Trainers.FastTree()); var model = learningPipeline.Fit(data); var predictionEngine = mlContext.Model.CreatePredictionEngine<SentimentData, SentimentPrediction>(model); var prediction = predictionEngine.Predict(new SentimentData { SentimentText = "Today is a great day!" }); Console.WriteLine("prediction: " + prediction.Prediction);
Проекты на C++
-
drogon
Асинхронный неблокирующий высокопроизводительный веб-фреймворк на C++. Благодаря широким возможностям и простому освоению помогает создавать разные типы производительных веб-приложений на C++. Пример кода:
#include <drogon/drogon.h> using namespace drogon; int main() { app().setLogPath("./") .setLogLevel(trantor::Logger::kWarn) .addListener("0.0.0.0", 80) .setThreadNum(16) .enableRunAsDaemon() .run(); }
Проекты на CSS
-
css-diner
Онлайн-игра для изучения CSS-селекторов. Простая анимация помогает новичкам понять, как разные селекторы находят элементы страницы. Сайт на английском, но объяснения достаточно понятны. Попробовать онлайн.

Проекты на Go
-
go-admin
Система управления правами с разделёнными клиентской и серверной частями на Gin, Vue и Element UI. Подробная документация и видеоуроки подойдут новичкам. Особенности:
- Следует принципам проектирования RESTful API.
- Использует Gin Web API и предлагает множество промежуточных компонентов: аутентификацию, CORS, журнал доступа, идентификатор трассировки и другие.
- Поддерживает документацию Swagger.
- И многое другое.

-
go-micro
Модульный фреймворк на Go для быстрого создания микросервисов. Пример кода показан на иллюстрации.

-
now
Библиотека для работы со временем на Go. Небольшой проект с понятным кодом и множеством примеров:
import "github.com/jinzhu/now" time.Now() // 2013-11-18 17:51:49.123456789 Mon now.BeginningOfMinute() // 2013-11-18 17:51:00 Mon now.BeginningOfHour() // 2013-11-18 17:00:00 Mon now.BeginningOfDay() // 2013-11-18 00:00:00 Mon now.BeginningOfWeek() // 2013-11-17 00:00:00 Sun now.BeginningOfMonth() // 2013-11-01 00:00:00 Fri now.BeginningOfQuarter() // 2013-10-01 00:00:00 Tue now.BeginningOfYear() // 2013-01-01 00:00:00 Tue now.WeekStartDay = time.Monday // Set Monday as first day, default is Sunday now.BeginningOfWeek() // 2013-11-18 00:00:00 Mon now.EndOfMinute() // 2013-11-18 17:51:59.999999999 Mon now.EndOfHour() // 2013-11-18 17:59:59.999999999 Mon now.EndOfDay() // 2013-11-18 23:59:59.999999999 Mon now.EndOfWeek() // 2013-11-23 23:59:59.999999999 Sat now.EndOfMonth() // 2013-11-30 23:59:59.999999999 Sat now.EndOfQuarter() // 2013-12-31 23:59:59.999999999 Tue now.EndOfYear() // 2013-12-31 23:59:59.999999999 Tue now.WeekStartDay = time.Monday // Set Monday as first day, default is Sunday now.EndOfWeek() // 2013-11-24 23:59:59.999999999 Sun -
pgweb
Кроссплатформенный инструмент управления PostgreSQL на Go. Запускает локальный сервер и открывает интерфейс в браузере, что обеспечивает работу на разных платформах. Варианты запуска:
三种方式: 参数:pgweb --host localhost --user myuser --db mydb URL:pgweb --url postgres://user:password@host:port/database?sslmode=[mode] Socket:pgweb --url "postgres:///database?host=/absolute/path/to/unix/socket/dir"
Проекты на Java
-
roncoo-pay
Платёжная система для интернет-бизнеса на Java с открытым кодом. Включает отдельные подсистемы учётных записей, пользователей, подключения платежей, транзакций, сверки и расчётов. Пригодится тем, кто изучает платёжные технологии. Структура проекта:
roncoo-pay | ├── roncoo-pay-app-notify //商户通知模块 | ├── roncoo-pay-app-order-polling //订单轮询模块 | ├── roncoo-pay-app-reconciliation //交易对账模块 | ├── roncoo-pay-app-settlement //交易结算模块 | ├── roncoo-pay-common-core //公共基础模块,不需要单独部署 | ├── roncoo-pay-service //核心业务模块,不需要单独部署 | ├── roncoo-pay-web-boss //运营后台模块 | ├── roncoo-pay-web-gateway //支付网关模块 | ├── roncoo-pay-web-merchant //商户后台模块 | ├── roncoo-pay-web-sample-shop //模拟商城模块 -
screw
Простой и удобный генератор документации по структуре таблиц базы данных.

Проекты на JavaScript
-
IconPark
Библиотека с более чем 1 200 качественными иконками с открытым кодом и интерфейсом для их настройки. Изменяя свойства одного SVG-файла, можно получать разные темы. Поддерживается экспорт в SVG, PNG и компоненты для Vue и React. Экономит время дизайнерам и разработчикам.

-
mind-elixir-core
Бесплатная JavaScript-библиотека для создания интеллект-карт с открытым кодом. Попробовать онлайн.

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

-
tesseract.js
JavaScript-библиотека распознавания текста на изображениях с поддержкой многих языков. Позволяет извлечь текст и скопировать его. Основана на OCR-движке Tesseract и удобна для реализации распознавания прямо в браузере. Попробовать онлайн.

Проекты на Kotlin
-
DateTimePicker
Лаконичный и красивый компонент выбора даты и времени. Интерфейс можно полностью настроить; встроенное всплывающее окно выбора основано на Google BottomSheetDialog.

Проекты на Python
-
Computer-Networking-A-Top-Down-Approach-NOTES
Практические задания к книге «Компьютерные сети. Нисходящий подход». Содержит условия задач и решения на Python; раздел лабораторных работ с Wireshark переведён из официальных материалов.
-
learn-python3
Учебник по Python 3 в формате Jupyter Notebook: удобно читать и запускать примеры. Есть упражнения для новичков. Единственный минус — материал на английском, но изложен достаточно понятно.
-
livebox
Платформа, объединяющая прямые трансляции видео, телевидение высокой чёткости и радиостанции. На момент выпуска поддерживала более 30 видеотрансляций, 50 телеканалов и 70 радиостанций. Полноценный веб-проект со следующим стеком:
- Клиентская часть: Qt, Vue, Flutter и другие технологии.
- Серверная часть: MySQL, Redis, Kafka или RabbitMQ, Elasticsearch и другие технологии.

-
readthedocs.org
Исходный код известного сайта документации readthedocs.org. На нём размещены руководства Scrapy, requests, bootstrap-datepicker и других библиотек. Сайт написан на Django; файлов в проекте много, поэтому на изучение кода потребуется терпение.
-
taichi
Высокопроизводительный фреймворк для программирования компьютерной графики. Преобразует код Python в эффективный ассемблерный код, выполняемый на разных CPU и GPU: по сути, шейдеры можно писать синтаксисом Python. Taichi упрощает настройку окружения и перенос программ. Устанавливается командой
pip install taichi; созданные программы работают в Windows, Linux и macOS. Это снижает порог входа в компьютерную графику. Пример:import taichi as ti ti.init(arch=ti.gpu) # 指定编译后的函数在 GPU 上执行 n = 320 pixels = ti.field(dtype=float, shape=(n * 2, n)) # 提前声明数组存储类型,大小 @ti.func # 该函数将是被调用的过程函数 def complex_sqr(z): return ti.Vector([z[0]**2 - z[1]**2, z[1] * z[0] * 2]) @ti.kernel # 该函数将被 Taichi 编译 def paint(t: float): for i, j in pixels: # 最外层循环会自动并行化 c = ti.Vector([-0.8, ti.cos(t) * 0.2]) z = ti.Vector([i / n - 1, j / n - 0.5]) * 2 iterations = 0 while z.norm() < 20 and iterations < 50: # 其他语法和原生 Python 基本一致 z = complex_sqr(z) + c iterations += 1 pixels[i, j] = 1 - iterations * 0.02 gui = ti.GUI("Julia Set", res=(n * 2, n)) for i in range(1000000): paint(i * 0.03) gui.set_image(pixels) gui.show()
Проекты на Rust
-
rustlings
Обучение синтаксису Rust через небольшие упражнения. Проект устанавливается простой командой. Затем нужно исправлять каждое задание, пока код не скомпилируется или не выдаст нужный результат, и переходить к следующему уровню. Запуск:
安装: git clone https://github.com/rust-lang/rustlings cd rustlings git checkout tags/4.0.0 # or whatever the latest version is (find out at https://github.com/rust-lang/rustlings/releases/latest) cargo install --force --path . 安装完后,运行: rustlings watch
Проекты на Swift
-
ZLPhotoBrowser
Лёгкий фреймворк для выбора фотографий. Прост в использовании и поддерживает просмотр, съёмку фото и видео из альбома, выбор перетаскиванием или жестом, редактирование и обрезку изображений и видео. Пример:
// 使用起来非常简单 let ac = ZLPhotoPreviewSheet() ac.selectImageBlock = { [weak self] (images, assets, isOriginal) in // your code } // 快速选择方法 ac.showPreview(animate: true, sender: self) // 进入相册选择方法 ac.showPhotoLibrary(sender: self)
Искусственный интеллект
-
computervision-recipes
Рекомендации по построению систем компьютерного зрения и подборка примеров. Проекты на PyTorch и Jupyter охватывают классификацию изображений, поиск сходства, распознавание и отслеживание. Подойдут тем, кто изучает обработку изображений.

-
nsfw-filter
Расширение браузера на TensorFlow.js для фильтрации изображений NSFW, в том числе с наготой и насилием.

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

Прочее
-
Halfrost-Field
Технический блог бывшего старшего серверного инженера Alibaba по прозвищу «Шуаншэнь». Автор сейчас в основном работает на Go, а до Alibaba несколько лет занимался фронтендом. Пишет о машинном обучении, Go, JavaScript, iOS, сетевых протоколах и других темах.

-
hexo-theme-matery
Тема для блога Hexo с адаптивным дизайном в стиле Material Design. Возможности:
- Удобное отображение на компьютерах, планшетах и телефонах.
- Карусель статей на главной странице и ежедневная смена изображения баннера.
- Архив публикаций в виде временной шкалы.
- Страница тегов с облаком слов и страница категорий с радарной диаграммой.
- Подробная страница автора: сведения о себе, статистика публикаций, проекты, навыки, фотоальбом и другое.
- Закрепление публикаций и поддержка пожертвований автору.
- И другие функции.

-
highlight.js
JavaScript-библиотека для подсветки кода на веб-страницах. Поддерживает разные языки программирования и стили оформления, проста в использовании. Пример:
<link rel="stylesheet" href="/path/to/styles/default.css"> <script src="/path/to/highlight.min.js"></script> <script>hljs.initHighlightingOnLoad();</script> <pre><code>...</code></pre>
-
L-ink_Card
Код и руководство по созданию миниатюрной умной карты NFC. Автор проекта, инженер-энтузиаст Чжихуэй, снял демонстрационное видео на Bilibili (китайском видеохостинге). У него есть и другие интересные разработки.

-
lite
Сверхлёгкий текстовый редактор на Lua. Исполняемый файл для Windows занимает около 300 КБ, при этом редактор красивый, быстрый и функциональный. Поддерживает пользовательские плагины и цветовые темы.

-
ntfstool
Бесплатная утилита для чтения и записи NTFS на компьютерах Apple. Позволяет работать с флешками и внешними дисками, на которые файлы были скопированы в Windows. Инструкция по установке.

Открытые книги
-
jshistory-cn
Китайский перевод книги «20 лет JavaScript». Читать онлайн.

-
trpl-zh-cn
Китайский перевод второго издания книги «Язык программирования Rust». Читать онлайн.
