Проекты на C
-
bare-metal-programming-guide
Руководство по программированию микроконтроллеров без IDE. Материал знакомит с регистрами, таблицей векторов прерываний, кодом запуска и скриптами компоновщика. В конце автор создаёт веб-сервер с панелью показателей устройства.

-
sumatrapdf
Бесплатная компактная программа для чтения PDF с открытым кодом. Приложение для Windows занимает мало места и памяти, быстро запускается, содержит все повседневные функции и отличается простым интерфейсом.

-
ZSWatch
Самодельные умные часы с открытым кодом. Проект основан на Zephyr: устройство оснащено круглым IPS TFT-экраном 240 × 240 пикселей и тремя кнопками для перехода назад, вперёд и выбора. Поддерживаются подсчёт шагов, измерение уровня кислорода в крови и пульса, а также Bluetooth.

Проекты на C#
-
carnac
Утилита для показа нажатий клавиш. В реальном времени отображает действия с клавиатурой на рабочем столе — удобно для демонстраций и записи обучающих видео. Работает в Windows 7 и более новых версиях.

-
downkyi
Многофункциональная программа для загрузки видео с Bilibili (китайского видеохостинга). У неё простой интерфейс; поддерживаются пакетная загрузка, извлечение аудио и видео, а также удаление водяных знаков.

-
SeeSharpSnake
«Змейка» на C# размером менее 8 КБ. Проект посвящён не созданию самой игры, а уменьшению скомпилированного приложения с первоначальных 65 МБ до 8 КБ при сохранении автономной работы.
# To build the 4.7 MB version of the game dotnet publish -r win-x64 -c Release /p:Mode=CoreRT # To build the 4.3 MB version of the game dotnet publish -r win-x64 -c Release /p:Mode=CoreRT-Moderate # To build the 3.0 MB version of the game dotnet publish -r win-x64 -c Release /p:Mode=CoreRT-High # To build the 1.2 MB version of the game dotnet publish -r win-x64 -c Release /p:Mode=CoreRT-ReflectionFree # To build the 10 kB version of the game dotnet publish -r win-x64 -c Release /p:Mode=CoreRT-NoRuntime
Проекты на C++
-
cpp-httplib
Библиотека HTTP/HTTPS для C++ в одном файле. Кроссплатформенная клиентская и серверная библиотека на C++11 состоит только из заголовочного файла: для работы достаточно подключить
httplib.h.#define CPPHTTPLIB_OPENSSL_SUPPORT #include "path/to/httplib.h" // HTTPS httplib::Client cli("https://hellogithub.com"); auto res = cli.Get("/periodical"); res->status; res->body; -
Ripes
Симулятор RISC-V и редактор ассемблера. Наглядно показывает выполнение машинного кода на различных микроархитектурах и позволяет, в частности, исследовать влияние разных конфигураций кеша на производительность.

-
SFML
Простая и эффективная мультимедийная библиотека для C++. Упрощает разработку игр и мультимедийных приложений. Благодаря низкому порогу входа и развитой экосистеме многие новички выбирают её для знакомства с графическим программированием на C++.

Проекты на CSS
-
css
Система дизайна GitHub с открытым кодом. Команда дизайнеров GitHub публикует и поддерживает принципы оформления интерфейса, руководство по использованию и готовые UI-компоненты.

Проекты на Go
-
d2
Язык для создания диаграмм из текста. Достаточно описать нужную схему, и D2 построит соответствующее изображение.
echo 'x -> y' > input.d2 d2 -w input.d2 out.svg
-
grpcurl
Консольная утилита для gRPC, похожая на cURL. Позволяет легко отправлять запросы к gRPC-сервисам и взаимодействовать с сервером.
# 安装 brew install grpcurl # 使用 grpcurl grpc.server.com:443 my.custom.server.Service/Method -
shifu
Облачный фреймворк для разработки решений интернета вещей. Платформа промышленного уровня упаковывает IoT-устройства в минимальные развёртываемые единицы Kubernetes — поды — и открывает их возможности и данные через API. Так создавать приложения для интернета вещей проще.
cd shifu # 在集群中安装 Shifu kubectl apply -f pkg/k8s/crd/install/shifu_install.yml
-
writefreely
Платформа для совместного ведения блогов и создания сообщества. Написана на Go: позволяет завести минималистичный личный блог с Markdown или создать целое блогерское сообщество наподобие китайской площадки Blog Garden.

-
yao
Движок приложений на Go. Помогает за считаные минуты создать систему с нуля: API-сервис, административную панель, платформу визуализации данных или собственную платформу для разработки с минимумом кода.

Проекты на Java
-
HummerRisk
Платформа проверки безопасности облачной инфраструктуры. Решает вопросы безопасности и управления в облачной среде без вмешательства в её работу. Проверяет ресурсы популярных публичных и частных облаков, сканирует уязвимости и формирует отчёт одним нажатием.

-
HydraLab
Открытая облачная платформа для тестирования мобильных приложений. Сервис на Spring Boot и React легко развернуть и начать использовать. Он позволяет удалённо управлять тестовыми устройствами, запускать тесты и визуализировать результаты.

-
neo4j
Одна из самых популярных графовых баз данных. Написана на Java и Scala; собственный язык запросов Cypher помогает наглядно и эффективно искать и обрабатывать связи между данными.

Проекты на JavaScript
-
html2canvas
JavaScript-библиотека для создания скриншотов в браузере. Снимает всю страницу или отдельный элемент: читает DOM и стили, а затем отрисовывает текущее состояние страницы на холсте.
html2canvas(document.querySelector("#capture")).then(canvas => { document.body.appendChild(canvas) });
-
JavaScript-Algorithms
Курс по алгоритмам для фронтенд-разработчиков. Алгоритмы нужны не только на собеседованиях: это важный навык для профессионального роста. Проект охватывает продвинутые алгоритмы, распространённые вопросы с интервью и самостоятельную реализацию исходного кода, помогая выстроить систему знаний о структурах данных и алгоритмах.
-
pomotroid
Красивый таймер по методу «Помодоро». Приложение на Vue позволяет настроить длительность интервалов, число циклов, звуковой сигнал и уведомления на рабочем столе.

-
satori
Библиотека для преобразования HTML и CSS в SVG. Разработка команды Vercel генерирует SVG-изображения из кода HTML и CSS, поддерживает JSX и удобна в использовании.
import satori from 'satori' const svg = await satori( <div style={{ color: 'black' }}>hello, world</div>, { width: 600, height: 400, fonts: [ { name: 'Roboto', data: robotoArrayBuffer, weight: 400, style: 'normal', }, ], }, )
-
underscore
Библиотека полезных функций для JavaScript. Содержит более 100 функций: от знакомых map, filter, reduce и invoke до привязки функций, шаблонов JavaScript и быстрого индексирования. Упрощает функциональное программирование на JavaScript.
// countBy _.countBy([1, 2, 3, 4, 5], function(num) { return num % 2 == 0 ? 'even': 'odd'; }); // 输出:{odd: 3, even: 2}
Проекты на Python
-
bandit
Утилита для поиска распространённых проблем безопасности в коде Python. Её выпустила команда PyCQA, которая также разрабатывает известные инструменты isort и flake8.

-
devguide
Руководство разработчика CPython. Официальный материал Python объясняет, как вносить вклад в CPython, и подходит участникам с любым уровнем подготовки.
-
Django-Styleguide
Руководство по стилю разработки на Django. В нём команда практикующих разработчиков собрала многолетний опыт, который поможет создавать более качественные приложения на Django.

-
numpy-100
Сборник упражнений по NumPy. Содержит 100 заданий и решений по работе с популярной библиотекой Python для обработки данных.
# How to sum a small array faster than np.sum? (★★☆) Z = np.arange(10) np.add.reduce(Z) -
prefect
Платформа оркестрации потоков данных на Python. Объединяет задачи получения, очистки и обработки данных в рабочие процессы, которые можно развёртывать, планировать и отслеживать через веб-интерфейс.
from prefect import flow, task @task def say_hello(): print("Hello, World! I'm HelloGitHub!") @flow("Prefect Flow"): def h_flow(): say_hello() # run the flow! h_flow() # "Hello, World! I'm HelloGitHub!"
Проекты на Ruby
-
YouPlot
Консольная утилита визуализации данных на Ruby. Строит в терминале цветные столбчатые диаграммы, гистограммы, ящики с усами и другие графики.

Проекты на Rust
-
ChatGPT
Стороннее настольное приложение для ChatGPT. Поддерживает сочетания клавиш, команды через косую черту, поиск по выделенному тексту и экспорт истории. Работает в macOS, Windows и Linux.

-
gitui
Git с интерфейсом в терминале. Интерактивные подсказки делают работу с Git удобнее и избавляют от необходимости запоминать множество команд.

Проекты на Swift
-
vimac
Приложение для управления macOS с клавиатуры. Позволяет обходиться без мыши и предлагает два режима.
- Режим активации: назначает клавиши доступным для нажатия элементам экрана.
- Режим прокрутки: позволяет прокручивать области клавишами HJKL.

Искусственный интеллект
-
annotated_deep_learning_paper_implementations
Подборка реализаций статей о глубоком обучении. Содержит реализации нейросетей и связанных алгоритмов на PyTorch с построчными комментариями в коде.

-
Chinese-CLIP
Предобученная на китайском версия модели OpenAI CLIP. Для обучения использовано около 200 миллионов пар «изображение — текст». Доступны предобученные модели разного размера и технический отчёт; извлекать признаки и искать изображения по тексту можно несколькими строками кода.
import torch from PIL import Image import cn_clip.clip as clip from cn_clip.clip import load_from_name, available_models print("Available models:", available_models()) # Available models: ['ViT-B-16', 'ViT-L-14', 'ViT-L-14-336', 'ViT-H-14', 'RN50'] device = "cuda" if torch.cuda.is_available() else "cpu" model, preprocess = load_from_name("ViT-B-16", device=device, download_root='./') model.eval() image = preprocess(Image.open("examples/pokemon.jpeg")).unsqueeze(0).to(device) text = clip.tokenize(["杰尼龟", "妙蛙种子", "小火龙", "皮卡丘"]).to(device) with torch.no_grad(): image_features = model.encode_image(image) text_features = model.encode_text(text) # 对特征进行归一化,请使用归一化后的图文特征用于下游任务 image_features /= image_features.norm(dim=-1, keepdim=True) text_features /= text_features.norm(dim=-1, keepdim=True) logits_per_image, logits_per_text = model.get_similarity(image, text) probs = logits_per_image.softmax(dim=-1).cpu().numpy() print("Label probs:", probs) # 图文匹配概率 [[1.268734e-03 5.436878e-02 6.795761e-04 9.436829e-01]]
-
KuiperInfer
Пошаговое руководство по созданию фреймворка для инференса глубоких нейросетей на C++. Структура проекта вдохновлена Caffe. Новички узнают, как устроены подобные фреймворки, и научатся работать с проектом среднего размера на C++.

Прочее
-
cdn-up-and-running
Руководство по созданию CDN с нуля. Чтобы изучить принципы работы на практике, автор начинает с одного серверного сервиса, а затем добавляет узлы, имитацию задержек, визуализацию и тестирование. Понадобятся базовые навыки программирования и знакомство с Nginx, Lua, Docker и Grafana.

-
fluentui-emoji
Набор симпатичных эмодзи. Коллекция аккуратно нарисованных эмодзи, опубликованная Microsoft с открытым кодом.

-
k8s_PaaS
Руководство по развёртыванию полноценной платформы на Kubernetes. Показывает, как развернуть кластер и построить на его основе среду разработки и поставки ПО с Apollo, Jenkins, Prometheus и другими сервисами.

-
pi-apps
Популярный магазин приложений для Raspberry Pi. Бесплатный проект с открытым кодом легко установить и использовать; в каталоге более 200 приложений. Поддерживает 32- и 64-разрядные версии Raspberry Pi OS.
# 下载 git clone https://github.com/Botspot/pi-apps # 安装 ~/pi-apps/install
-
smiley-sans
Открытый китайский шрифт без засечек «Дэи Хэй» (Smiley Sans). Его узкие наклонные знаки включают детали, вдохновлённые рисованными надписями. Поддерживаются распространённые иероглифы упрощённого китайского, латиница, арабские цифры и знаки препинания.

Открытые книги
-
essential-netty-in-action
Сокращённое китайское издание книги «Netty на практике» (Netty in Action). Помогает быстро освоить Netty.
-
time-as-a-friend
«Относись ко времени как к другу» (把时间当作朋友). Не всегда нужно стремиться сделать всё быстрее: лошадь бежит быстрее верблюда, но за жизнь верблюд проходит вдвое больший путь.
