Проекты на C++
-
terminal
Новый терминал Microsoft для Windows с открытым кодом: современный, быстрый и функциональный. Поддерживает привычные команды, вкладки, форматированный текст, локализацию и настройку тем и оформления. Неудобный терминал долго отпугивал разработчиков от Windows; теперь система выглядит куда привлекательнее.

Проекты на Go
-
CovenantSQL
Децентрализованная реляционная SQL-база с возможностями блокчейна. Позволяет предоставлять базу как услугу (DBaaS), а распределённое хранение помогает защитить данные пользователей. Есть документация на китайском; на macOS можно установить командой
brew install cql.
-
diving
Графический интерфейс для анализа Docker-образов на основе dive. Показывает изменения на каждом слое — добавленные, изменённые и удалённые файлы — и размер данных пользовательских слоёв. Позволяет просматривать сведения об образе и дерево файлов каждого слоя; пригодится для уменьшения размера образа.

-
gameboy.live
Эмулятор Game Boy с возможностью играть удалённо через сокет.
# 下载 git clone https://github.com/HFO4/gameboy.live.git # 运行 cd gameboy.live go build -o gbdotlive main.go # 命令说明 Usage of gbdotlive: -G Play specific game in Fyne GUI mode # 用 Fyne GUI 模式玩游戏,会弹出一个窗口 -c config # 配置文件路径 Set the game option list config file path -d Use Debugger in GUI mode # GUI 的 debug 模式 -f FPS Set the FPS in GUI mode (default 60) # FPS 设定 -g Play specific game in GUI mode (default true) # 是否默认启动 GUI -h This help # 显示帮助 -m Turn on sound in GUI mode (default true) # GUI 模式下是否有声音 -p port Set the port for the cloud-gaming server (default 1989) # 默认监听端口,可以用 Telnet 玩 -r ROM # 游戏 ROM 的路径 Set ROM file path to be played in GUI mode -s Start a cloud-gaming server # 启动服务器,用 Telnet 玩
-
golang-developer-roadmap
План обучения для будущих Go-разработчиков. Есть версия на китайском.
-
nic
Удобная библиотека для HTTP-запросов. Оборачивает стандартную библиотеку Go в простой API: отправлять запросы и работать с заголовками и cookies становится легче. Для Go это примерно то же упрощение, которое Python Requests даёт по сравнению с urllib. Пример:
resp, err := nic.Get("http://example.com", nil) if err != nil { log.Fatal(err.Error()) } fmt.Println(resp.Text) -
redis-tui
Красочный текстовый интерфейс для работы с Redis в терминале.

-
scheduler
Библиотека для планирования задач на Go. Подходит для запуска заданий по расписанию, а новичкам помогает освоить стандартные пакеты time и reflect. Есть документация на китайском.
Проекты на Java
-
Android-BLE
Библиотека для Bluetooth на Android: поиск устройств, подключение, подписка на уведомления, отправка, чтение и приём данных, обновление прошивки по воздуху (OTA). Подключается к проекту почти одной строкой кода, расширяется и настраивается. Подходит для Bluetooth LE 4.0; начать работу с ней за несколько минут сможет даже новичок.

-
generator-jhipster
Генератор приложений с открытым кодом: за считаные секунды создаёт проект на Spring Boot с Angular или React. Автоматически собирает полноценное веб-приложение или архитектуру микросервисов и ускоряет разработку. Возможности и стек:
- Сервер на Spring Boot — производительный и надёжный стек Java.
- Современный интерфейс на Angular, React и Bootstrap с приоритетом мобильных устройств.
- Микросервисы на JHipster Registry, Netflix OSS, стеке ELK и Docker.
- Процесс сборки на Yeoman, Webpack и Maven или Gradle.
-
Gloading
Компонент экранов загрузки для Android с глубокой развязкой частей приложения. Возможности:
- Отделяет общие для приложения экраны загрузки, ошибки и отсутствия данных.
- Разделяет реализацию представлений состояний и их использование.
- Не требует добавлять представление состояния в разметку каждой страницы.
- Показывает состояние загрузки как для Activity, так и для отдельного View.
Gloading.initDefault(new GlobalAdapter()); Gloading.Holder holder = Gloading.getDefault().wrap(activity).withRetry(retryTask); Gloading.Holder holder = Gloading.getDefault().wrap(view).withRetry(retryTask); //显示加载中的UI状态 holder.showLoading() //显示加载成功的UI状态 holder.showLoadSuccess() //显示加载失败的UI状态 holder.showFailed() //显示加载成功,但数据未空的UI状态 holder.showEmpty()
-
rhizobia_J
Открытые компанией Momo правила безопасной разработки на Java и SDK.
Проекты на JavaScript
-
ieaseMusic
Сторонний клиент NetEase Cloud Music на основе API сервиса для Linux и macOS. Зрелое настольное приложение на JavaScript с привлекательным интерфейсом и большой музыкальной библиотекой.

-
practice
Подробные руководства по созданию разных проектов на популярных фронтенд-стеках помогут быстро освоить технологии. Несмотря на название
Practice, здесь собраны практические примеры работы с востребованными фреймворками и процессом разработки, близким к рабочему. Подойдёт для обучения. -
ts-utility-plugins
Практические руководства по созданию эффектов, плагинов и прикладной логики на чистом TypeScript. Показывают, как обойтись без фреймворков.
Проекты на PHP
-
PHP-Interview-QA
«Вопросы и ответы для собеседования по PHP» — систематизированный сборник вопросов из реальных собеседований с краткими и точными ответами. Поможет подготовиться к поиску работы PHP-разработчиком. Темы: сетевые протоколы, структуры данных и алгоритмы, основы PHP, веб-разработка, MySQL, Redis, рассказ о себе, причины ухода с прошлой работы и карьерные планы.
-
wizard
Система управления документацией с открытым кодом на Laravel. Уже используется в нескольких компаниях. Поддерживает Markdown, документацию Swagger и корпоративную единую авторизацию через LDAP.

Проекты на Python
-
city-vein
Визуализация структуры города по маршрутам общественного транспорта. Показывает устройство более 30 городов. В репозитории есть скрипты для получения и обработки данных; наглядный результат помогает увидеть пользу визуализации и может вдохновить на изучение программирования. Посмотреть в браузере.

-
PySnooper
Библиотека для отладки Python. Декоратор показывает результат выполнения каждой строки без ручной вставки
printдля вывода промежуточных данных. Пример:import pysnooper @pysnooper.snoop() def number_to_bits(number): if number: bits = [] while number: number, remainder = divmod(number, 2) bits.insert(0, remainder) return bits else: return [0] number_to_bits(6) # 输出如下 Starting var:.. number = 6 15:29:11.327032 call 4 def number_to_bits(number): 15:29:11.327032 line 5 if number: 15:29:11.327032 line 6 bits = [] New var:....... bits = [] 15:29:11.327032 line 7 while number: 15:29:11.327032 line 8 number, remainder = divmod(number, 2) New var:....... remainder = 0 Modified var:.. number = 3 .... -
Python-100-Days
«Python за 100 дней: от новичка до мастера» — доступный вводный курс с плавным ростом сложности. Подойдёт даже тем, кто раньше не занимался программированием.
-
Zvm
Простая JVM на Python. Реализованы разбор class-файлов, загрузка классов, область данных времени выполнения, интерпретатор инструкций, базовый набор команд, упрощённые сборщик мусора, потоки и библиотека JDK. Может выполнять простые Java class-файлы. Небольшой объём кода и ясная структура модулей помогают изучить устройство и реализацию JVM.
Проекты на Ruby
-
huginn
Инструмент автоматизации задач на Ruby. Следит за событиями и выполняет заданные действия по принципу IFTTT: например, проверяет погоду и напоминает в WeChat взять зонт, сообщает о новых главах романа или сериях аниме, собирает и отправляет подборки информации. У проекта стабильная основа и активное сообщество; он помогает автоматизировать повседневные дела.

Проекты на Swift
Искусственный интеллект
-
BentoML
Инструмент для упаковки и публикации моделей машинного обучения. Помогает специалистам по данным менее чем за пять минут перенести модель из IPython Notebook в рабочую среду.
%%writefile iris_classifier.py from bentoml import BentoService, api, env, artifacts from bentoml.artifact import PickleArtifact from bentoml.handlers import DataframeHandler # You can also import your own python module here and BentoML will automatically # figure out the dependency chain and package all those python modules @artifacts([PickleArtifact('model')]) @env(conda_pip_dependencies=["scikit-learn"]) class IrisClassifier(BentoService): @api(DataframeHandler) def predict(self, df): # arbitrary preprocessing or feature fetching code can be placed here return self.artifacts.model.predict(df) -
lihang-code
Слайды и код к классической книге по машинному обучению «Методы статистического обучения». Материал идёт от конкретных задач и примеров к более сложным идеям, содержит необходимые математические выкладки и помогает понять суть методов и научиться их применять.
-
maskrcnn-benchmark
Реализация Mask R-CNN на PyTorch с открытым кодом от Facebook. Исследователи могут воспроизвести её шаг за шагом по руководствам и примерам кода.

-
mlcourse.ai
Полный и подробный курс по машинному обучению. Содержит демонстрации и примеры более сложных соревнований Kaggle; позволяет новичкам постепенно углублять знания.
-
stanford-cs-229-machine-learning
Конспекты лекций Стэнфордского курса CS229. Подробный и логично организованный материал, удобный для первых шагов в машинном обучении. Есть версия на китайском.
Прочее
-
3d-game-shaders-for-beginners
Руководство по реализации SSAO, глубины резкости, освещения, карт нормалей и других эффектов в 3D-играх. Есть примеры кода на C++ и демонстрации, которые помогают разобраться в теме.

-
algo
Решения основных задач по структурам данных и алгоритмам на нескольких языках программирования.
-
commit-messages-guide
Руководство по написанию сообщений коммитов Git. Есть версия на китайском.
-
hacker-laws
Разбор законов и принципов, которые пригодятся программистам в работе, особенно при разработке и проектировании. Полезное чтение.

-
vim-bootstrap
Простой генератор файла настроек
.vimrc; параметры можно выбрать и на сайте. Поддерживает Vim, NeoVim, NeoVim-Qt, MacVim и GVim. Особенности:- Лёгкая конфигурация: только необходимые плагины.
- Простота использования: подойдёт тем, кто только освоился в Vim.
- Настройка под язык: выберите нужные языки и получите подходящую конфигурацию.
- Vim-Plug для управления плагинами: простой и быстрый менеджер.
- Поддержка многих языков программирования.
-
vscode-extension-samples
Официальная подборка примеров кода для разработки расширений VS Code.
-
weekly
«Еженедельник Aliyun о фронтенд-технологиях».

