Проекты на C
-
db_tutorial
Создание простой базы данных с нуля на C.
Проекты на CSS
-
materialize
Современный адаптивный фронтенд-фреймворк на основе Material Design. Упрощает разработку интерфейсов и снабжён подробной документацией. Официальный сайт
Проекты на Go
-
echo
Один из самых популярных веб-фреймворков для Go. Отличается высокой производительностью, лёгкостью и простотой расширения. Пример кода:
package main import "github.com/labstack/echo" func main() { e := echo.New() e.GET("/", callback) e.Logger.Fatal(e.Start(":3000")) } func callback(ctx echo.Context) error { return ctx.HTML(200, "<h1>你好 echo</h1>") }
-
tidb
Распределённая NewSQL-база данных с открытым кодом. Позволяет заменить традиционное промежуточное ПО для баз данных и схемы шардинга с разделением баз и таблиц. Основные возможности:
- Поддержка SQL и совместимость с MySQL.
- Линейное горизонтальное масштабирование с гибким выделением ресурсов.
- Распределённые транзакции.
- Строгая согласованность данных между дата-центрами.
- Высокая доступность с автоматическим восстановлением после сбоев.

Проекты на Java
-
AndroidTVLauncher
Домашний экран в стиле TV Leanback. Создан на основе библиотеки Leanback и соответствует официальным правилам взаимодействия в Android TV.

-
spring-data-jpa-datatables
Инструмент для интеграции spring-data-jpa и jQuery DataTables. Значительно упрощает разработку таблиц данных на основе DataTables. Пример кода:
// 前端代码 $(document).ready(function() { var table = $('table#sample').DataTable({ 'ajax': { 'contentType': 'application/json', 'url': '/data/users', 'type': 'POST', 'data': function(d) { return JSON.stringify(d); } }, // java 代码 server-side becomes @JsonView(DataTablesOutput.View.class) @RequestMapping(value = "/data/users", method = RequestMethod.POST) public DataTablesOutput<User> getUsers(@Valid @RequestBody DataTablesInput input) { return userRepository.findAll(input); }
-
xxl-job
Лёгкий фреймворк для распределённого планирования задач. Его главные цели — быстрая разработка, простое освоение, малый вес и расширяемость; документация подробная. Официальный сайт
Проекты на JavaScript
-
flatpickr
Компонент для выбора даты с плоским дизайном. Исходный код написан на TypeScript: на его примере можно научиться создавать JS-плагины на этом языке. Проверка типов помогает команде избегать ошибок с типами переменных и работать эффективнее. Пример использования:
// ConnonJS 方式引入 const flatpickr = require("flatpickr"); flatpickr("#myID", {}); flatpickr(".myClass", {}); // jQuery 方式引入 $(".selector").flatpickr(optional_config);
-
puppeteer
Библиотека с открытым кодом от команды Google Chrome для управления удалённым Headless Chrome из Node.js через протокол DevTools. Позволяет делать скриншоты страниц и PDF, извлекать содержимое сайтов и одностраничных приложений, автоматически отправлять формы, тестировать интерфейсы и имитировать ввод с клавиатуры. Пример кода:
// 访问 https://example.com 并将截图保存为 example.png const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto('https://example.com'); await page.screenshot({path: 'example.png'}); await browser.close(); })();
-
SelectPage
Простой и элегантный селектор с широкими возможностями. Легко использовать в разных интерфейсах; предусмотрено множество параметров и функций обратного вызова.
Поддерживает автодополнение, источники данных через Ajax, множественный выбор с тегами, интернационализацию i18n, постраничный вывод результатов и управление с клавиатуры.
//defined a array, the data returned at the server side is also used that format: //Array[{Object},{...}] var data = [ {id:1 ,name:'Chicago Bulls',desc:'芝加哥公牛'}, {id:2 ,name:'Cleveland Cavaliers',desc:'克里夫兰骑士'}, {id:3 ,name:'Detroit Pistons',desc:'底特律活塞'}, {id:4 ,name:'Indiana Pacers',desc:'印第安纳步行者'} ]; //init SelectPage $('#selectpage').selectPage({ showField : 'desc', keyField : 'id', data : data });
-
vue-3d-model
Компонент Vue для отображения трёхмерных моделей. Поддерживает управление моделью и обработку нажатий, автоматически подбирает масштаб и исправляет смещение. Работает с форматами obj, stl, dae и json. Пример кода:
<template> <model-obj src="example/models/obj/LeePerrySmith.obj"></model-obj> </template> <script> import { ModelObj } from 'vue-3d-model' export default { components: { ModelObj } } </script>
-
weweChat
Сторонний клиент WeChat. Реализует все функции веб-версии WeChat, добавляет и улучшает отдельные возможности, а также предлагает переработанный интерфейс. Команда установки на Mac:
brew cask install wewechat
Проекты на Python
-
faker
Библиотека для генерации тестовых данных с поддержкой разных языков. Полезный инструмент. Пример кода:
fake.address() # '辽宁省雪市静安廉街b座 998259' fake.street_address() # '巢湖街U座' fake.building_number() # 'x座' fake.city_suffix() # '市' fake.latitude() # Decimal('-0.295126') fake.province() # '湖北省' -
newspaper
Библиотека для извлечения содержимого веб-страниц и статей с поддержкой разных языков. Команда установки:
pip3 install newspaper3k. Пример кода:>>> from newspaper import Article >>> url = 'http://fox13now.com/2013/12/30/new-year-new-laws-obamacare-pot-guns-and-drones/' >>> article = Article(url) >>> article.download() >>> article.html '<!DOCTYPE HTML><html itemscope itemtype="http://...' >>> article.parse() >>> article.authors ['Leigh Ann Caldwell', 'John Honway'] >>> article.publish_date datetime.datetime(2013, 12, 30, 0, 0) >>> article.text 'Washington (CNN) -- Not everyone subscribes to a New Year's resolution...' >>> article.top_image 'http://someCDN.com/blah/blah/blah/file.png' >>> article.movies ['http://youtube.com/path/to/link.com', ...] >>> from newspaper import Article >>> url = 'http://www.bbc.co.uk/zhongwen/simp/chinese_news/2012/12/121210_hongkong_politics.shtml' >>> a = Article(url, language='zh') # Chinese >>> a.download() >>> a.parse() >>> print(a.text[:150]) 香港行政长官梁振英在各方压力下就其大宅的违章建 筑(僭建)问题到立法会接受质询,并向香港民众道歉。 梁振英在星期二(12月10日)的答问大会开始之际 在其演说中道歉,但强调他在违章建筑问题上没有隐瞒的 意图和动机。 一些亲北京阵营议员欢迎梁振英道歉, 且认为应能获得香港民众接受,但这些议员也质问梁振英有 >>> print(a.title) 港特首梁振英就住宅违建事件道歉 -
pygorithm
Библиотека для изучения основных алгоритмов. Разбор их реализации помогает улучшить навыки работы с алгоритмами. Пример пузырьковой сортировки:
>>> from pygorithm.sorting import bubble_sort >>> my_list = [12, 4, 3, 5, 13, 1, 17, 19, 15] >>> sorted_list = bubble_sort.sort(my_list) >>> print(sorted_list) >>> [1, 3, 4, 5, 12, 13, 15, 17, 19]
Искусственный интеллект
-
deeplearningbook-chinese
Китайское издание книги «Глубокое обучение» (Deep Learning).
Прочее
-
china_area_mysql
База MySQL с пятью уровнями административного деления Китая.
-
ctf-wiki
Свободный сайт с основами CTF, типовыми заданиями, подходами к их решению и распространёнными инструментами. Помогает быстрее разобраться в соревнованиях CTF и основах информационной безопасности.
-
open_source_team
Адреса репозиториев с открытым кодом ведущих команд Китая.