Проекты на C#
-
Newtonsoft.Json
Библиотека с открытым кодом для сериализации и десериализации JSON на платформе .NET. Пример кода:
public class Account { public string Email { get; set; } public bool Active { get; set; } public DateTime CreatedDate { get; set; } public IList<string> Roles { get; set; } } Account account = new Account { Email = "james@example.com", Active = true, CreatedDate = new DateTime(2013, 1, 20, 0, 0, 0, ateTimeKind.Utc), Roles = new List<string> { "User", "Admin" } }; string json = JsonConvert.SerializeObject(account, Formatting.Indented); // { // "Email": "james@example.com", // "Active": true, // "CreatedDate": "2013-01-20T00:00:00Z", // "Roles": [ // "User", // "Admin" // ] // } Console.WriteLine(json);
Проекты на C++
-
libco
Открытая библиотека корутин для C/C++ от Tencent, которую массово использует серверная часть WeChat. С 2013 года она стабильно работает на десятках тысяч серверов WeChat.
- Позволяет без вмешательства в бизнес-логику перевести многопроцессные и многопоточные службы на корутины, увеличив число одновременных задач в сотни раз
- Поддерживает CGI-фреймворк для простой разработки веб-сервисов
- Поддерживает распространённые сторонние библиотеки, включая gethostbyname, mysqlclient и ssl
- Предлагает режим общего стека, с которым один сервер легко обслуживает десять миллионов соединений
- Предоставляет простой и полноценный интерфейс для работы с корутинами:
- — Интерфейс устроен по образцу pthread: для создания и возобновления корутин достаточно понятных функций co_create и co_resume
- — Локальные переменные корутин на основе __thread и семафор co_signal для обмена данными между корутинами
- — Реализация лямбда-функций на уровне языка позволяет вместе с корутинами создавать и запускать фоновые асинхронные задачи прямо по месту
- — Компактный сетевой фреймворк на основе epoll/kqueue и производительный таймер на основе колеса времени
Проекты на Go
-
kcptun
Возможно, самый быстрый в мире инструмент передачи данных по UDP. Поддерживает macOS, Linux, Windows, FreeBSD, ARM, Raspberry Pi и OpenWrt.

Проекты на Java
-
AndroidUtilCode
Незаменимая коллекция утилит для Android-разработчиков. Описание на китайском.
-
DanmakuFlameMaster
Открытый Android-движок бегущих комментариев от Bilibili (китайский видеохостинг) — DanmakuFlameMaster. Возможности:
- Производительная отрисовка несколькими способами: View, SurfaceView и TextureView
- Разбор XML-формата комментариев Bilibili
- Точное воспроизведение и отрисовка обычных комментариев
- Поддержка особых комментариев mode7
- Оптимизация для многоядерных устройств и эффективное предварительное кеширование
- Переключение разных эффектов отображения в реальном времени
- Отображение комментариев в реальном времени
- Поддержка многострочных и движущихся комментариев
- Поддержка пользовательских шрифтов
- Настройка различных параметров комментариев
- Несколько способов блокировки комментариев
Проекты на JavaScript
-
atrament
Миниатюрная JavaScript-библиотека для рисования. Онлайн-демонстрация.

-
incubator-weex
Кроссплатформенный фронтенд-фреймворк для мобильных приложений. Есть подробная документация на китайском.
Проекты на Python
-
httpstat
httpstat улучшает представление результатов
curlи делает их понятнее. Утилита не имеет зависимостей, совместима с Python 3 и состоит всего из трёхсот с небольшим строк. Кроме того, она показывает длительность каждого этапа HTTP-запроса, как на иллюстрации ниже.
-
PyMySQL
Библиотека для MySQL, полностью написанная на Python. Благодаря этому она работает на любой платформе с интерпретатором Python: CPython, PyPy или IronPython. По производительности и способу использования почти не отличается от MySQLdb, зато PyMySQL устанавливается предельно просто —
pip install PyMySQL. Пример использования PyMySQL:# 下面为例子需要的数据库的建表语句 CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `email` varchar(255) COLLATE utf8_bin NOT NULL, `password` varchar(255) COLLATE utf8_bin NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;# -*- coding: utf-8 -*- import pymysql.cursors # 连接数据库 connection = pymysql.connect(host='localhost', user='user', password='passwd', db='db', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor) try: with connection.cursor() as cursor: # 创建一个新的纪录(record) sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)" cursor.execute(sql, ('webmaster@python.org', 'very-secret')) # 连接不会自动提交,所以你想下面要调用 commit 方法,存储对数据库的改动 connection.commit() with connection.cursor() as cursor: sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s" cursor.execute(sql, ('webmaster@python.org',)) # 获取一条的纪录(record) result = cursor.fetchone() print(result) # 结果输出:{'password': 'very-secret', 'id': 1} finally: connection.close() # 操作完数据库一要记得调用 close 方法,关闭连接 -
reddit
Исходный код сайта reddit.com. На примере проекта можно изучить применение Python в крупных системах, структуру проекта, стиль кода и практические приёмы языка. Руководство по установке.

Проекты на Ruby
-
discourse
Форум на Ruby, полностью бесплатный и с открытым кодом.

Прочее
-
How-To-Ask-Questions-The-Smart-Way
Руководство «Как правильно задавать вопросы»: хороший вопрос — ключ к решению проблемы.
-
jstraining
Учебные материалы Жуань Ифэна для подготовки fullstack-разработчиков.
-
macOS-Security-and-Privacy-Guide
Руководство по безопасности и конфиденциальности в macOS. Есть перевод на китайский.
-
PTVS
Расширение для разработки на Python в Visual Studio.
-
styleguide
Руководство команды фронтенд-разработки Baidu по стилю документации и исходного кода.
-
the-swift-programming-language-in-chinese
Перевод на китайский официального руководства Apple «Язык программирования Swift» (The Swift Programming Language).