Проекты на C
-
nvtop
Монитор процессов в стиле (h)top для видеокарт NVIDIA. Отслеживает сразу несколько GPU и выводит сведения о них в привычном формате htop.

-
os-tutorial
Англоязычное руководство по созданию операционной системы с нуля.
Проекты на C#
-
QuickLook
Быстрый просмотр содержимого файлов в Windows по нажатию пробела — аналог Quick Look из macOS.

Проекты на C++
-
oatpp
Лёгкий и производительный веб-фреймворк без зависимостей, целиком написанный на C++. Пример кода:
ENDPOINT("GET", "demo/api/json", getJson) { auto dto = MyDto::createShared(); dto->statusCode = 200; dto->message = "Hello json"; return createDtoResponse(Status::CODE_200, dto); } Output: {"message": "Hello json", "statusCode": 200}
Проекты на Go
-
archiver
Консольная утилита для упаковки и распаковки архивов. Больше не придётся запоминать
tar -czvf. Примеры команд:# Syntax: arc archive [archive name] [input files...] 压缩 $ arc archive test.tar.gz file1.txt images/file2.jpg folder/subfolder # Syntax: arc unarchive [archive name] [destination] 解压缩 $ arc unarchive test.tar.gz -
athens
Прокси-сервис для загрузки Go Modules, который решает проблемы с установкой Go-пакетов в Китае. Зависимости больше не помешают спокойно пообедать. Порядок использования:
$ export GO111MODULE=on $ export GOPROXY=http://127.0.0.1:3000 $ git clone https://github.com/athens-artifacts/walkthrough.git $ cd walkthrough $ go run . go: downloading github.com/athens-artifacts/samplelib v1.0.0 The 🦁 says rawr! -
dive
Консольная утилита для исследования файловой системы каждого слоя Docker-образа и поиска способов уменьшить его размер. Команда запуска:
dive 镜像名.
-
go-sniffer
Сниффер перехватывает сетевые пакеты с запросами к базам данных и Redis, а затем преобразует их в соответствующие выражения. Удобен для отладки: код менять не нужно, утилита напрямую отслеживает запросы проекта. Инструкция:
======================================================================= [使用说明] go-sniffer [设备名] [插件名] [插件参数(可选)] [例子] go-sniffer en0 redis 抓取redis数据包 go-sniffer en0 mysql -p 3306 抓取mysql数据包,端口3306 go-sniffer --[命令] --help 帮助信息 --env 环境变量 --list 插件列表 --ver 版本信息 --dev 设备列表 [例子] go-sniffer --list 查看可抓取的协议 ======================================================================= [设备名] : lo0 : 127.0.0.1 [设备名] : en0 : x:x:x:x:x5:x 192.168.1.3 [设备名] : utun2 : 1.1.11.1 =======================================================================
-
soar
Инструмент для автоматической оптимизации и перезаписи SQL. Улучшает запросы семейства диалектов MySQL и объясняет причины каждой правки. Возможности:
- Работает на разных платформах.
- Пока оптимизирует только SQL семейства диалектов MySQL.
- Поддерживает эвристическую оптимизацию выражений.
- Оптимизирует многоколоночные индексы в сложных запросах UPDATE, INSERT, DELETE и SELECT.
- И многое другое.
echo "select title from sakila.film" | ./soar # Query: 25807E6B94BEA72C ★ ★ ★ ★ ☆ 80分 SELECT title FROM sakila. film ## 最外层SELECT未指定WHERE条件 * **Item:** CLA.001 * **Severity:** L4 * **Content:** SELECT语句没有WHERE子句,可能检查比预期更多的行(全表扫描)。对于SELECT COUNT(\*)类型的请求如果不要求精度,建议使用SHOW TABLE STATUS或EXPLAIN替代。 -
websocketd
Утилита передаёт вывод консольной программы из stdout и stderr через WebSocket-сервис. Порядок запуска:
- Установите утилиту:
brew install websocketd. - Создайте count.sh с приведённым ниже содержимым.
- Запустите count.sh командой
./count.sh. - Запустите WebSocket-сервер командой
websocketd --port=8080 ./count.sh. - Создайте HTML-файл с приведённым ниже кодом.
- Откройте count.html и посмотрите результат.
count.sh 文件内容如下 #!/bin/bash for ((COUNT = 1; COUNT <= 3; COUNT++)); do echo $COUNT sleep 1 done count.html 文件内容如下 <!DOCTYPE html> <pre id="log"></pre> <script> // helper function: log message to screen function log(msg) { document.getElementById('log').textContent += msg + '\n'; } // setup websocket with callbacks var ws = new WebSocket('ws://localhost:8080/'); ws.onopen = function() { log('CONNECT'); }; ws.onclose = function() { log('DISCONNECT'); }; ws.onmessage = function(event) { log('MESSAGE: ' + event.data); }; </script> - Установите утилиту:
Проекты на Java
-
ratel
Сетевая консольная версия китайской карточной игры «Борьба с землевладельцем». Ratel состоит из клиента и сервера: можно подключить клиентов друзей к своему серверу или играть через публичный сервер автора.

-
SpiderMan
Просмотр журналов сбоев Android прямо на мобильном устройстве. Пример кода:
SpiderMan.init(this) //设置回调异常信息,友盟等第三方崩溃信息收集平台会用到, .setOnCrashListener(new SpiderMan.OnCrashListener() { /** * * @param t * @param ex * @param model 崩溃信息记录,包含设备信息 */ @Override public void onCrash(Thread t, Throwable ex, CrashModel model) { } });
Проекты на JavaScript
-
hexo
Быстрый, простой и производительный генератор статических блогов на Node.js. С Hexo можно быстро создать статический блог, выбрав дополнения из обширной библиотеки плагинов и оформление из каталога тем. Также можно создать и настроить собственную тему.
-
picojs
Библиотека распознавания лиц всего на 200 строках кода. Доступен онлайн-пример.
-
storybook
Среда для разработки и тестирования UI-компонентов. Компоненты можно создавать на React, React Native, Vue, Angular и Ember, а многочисленные плагины Storybook помогают в разработке и тестировании. Доступны онлайн-примеры.
-
three.js
Известная JavaScript-библиотека для трёхмерной графики. По мере роста популярности визуализации данных и Web AR three.js применяется всё чаще, особенно вместе с Vue и React. На официальном сайте есть множество примеров и полная документация на китайском — хорошая возможность освоить библиотеку на нескольких демопроектах.

Проекты на Objective-C
-
MacPass
Бесплатный, практичный менеджер паролей с открытым кодом для macOS.

Проекты на Python
-
himawaripy
Скрипт на Python 3 периодически загружает снимки Земли почти в реальном времени с японского метеоспутника «Химавари-8» и устанавливает их в качестве обоев рабочего стола. Для регулярного запуска нужно настроить планировщик.

Искусственный интеллект
-
AIAlpha
Интересный проект, который прогнозирует цены акций с помощью обучения с учителем и без учителя. Порядок запуска:
git clone https://github.com/VivekPa/AlphaAI.git cd AlphaAI pip install -r requirements.txt python run.py
-
awesome-machine-learning
Тщательно отобранная коллекция фреймворков, библиотек и программ для машинного обучения.
-
bert
Новая модель представления языка — двунаправленные кодировщики на основе Transformer. На момент публикации это была сильнейшая предобученная модель NLP, установившая рекорды в 11 задачах обработки естественного языка.

-
deepvariant
Конвейер анализа данных, который с помощью глубоких нейросетей выявляет генетические варианты в данных секвенирования ДНК следующего поколения. Проект напомнил автору о недавнем на тот момент случае редактирования генома человека. Техническая схема работы показана ниже.

-
fastai
Упрощает обучение нейросетей с помощью лучших на тот момент алгоритмов глубокого обучения. В комплект входит множество готовых инструментов и поддержка моделей Vision, Collab и других. Пример кода:
# here's how to train an MNIST model using resnet18 untar_data(MNIST_PATH) data = image_data_from_folder(MNIST_PATH) learn = create_cnn(data, tvm.resnet18, metrics=accuracy) learn.fit(1)
Прочее
-
Best-websites-a-programmer-should-visit
Подборка сайтов, которые стоит добавить в закладки каждому программисту. Есть версия на китайском.
-
lemonade-stand
«Практическое руководство: как заработать на open-source проектах». Китайская версия.
-
Linux-Tutorial
Linux глазами Java-программиста.
-
rootfont
Коллекция шрифтов для программирования, подходящих разработчикам. В ней уже более 30 необычных гарнитур.

-
search-engine-optimization
Англоязычная подборка многочисленных рекомендаций по поисковой оптимизации сайтов.
Открытые книги
-
sdn-handbook
Несмотря на обилие материалов и книг, начать изучать SDN по-прежнему непросто. Проект собирает базовую теорию, практические примеры и опыт работы с SDN, чтобы помочь читателям разобраться в теме.
-
write-you-a-haskell
Англоязычная книга «Напишем вам Haskell» (Write You a Haskell).