Проекты на C
-
mgba
Эмулятор GBA на C. Помогает вспомнить детство, заодно поиграть и чему-нибудь научиться, а затем позвать пару друзей посмотреть исходный код и разобраться, как всё устроено. Счастье так просто

Проекты на C++
-
rocksdb
Высокопроизводительный движок хранения пар «ключ — значение» на C++. Разработан командой баз данных Facebook на основе LevelDB; и ключи, и значения поддерживают бинарные потоки. Движок эффективно использует многоядерные CPU, сохраняет совместимость с API LevelDB и во многом превзошёл предшественника. RocksDB сейчас очень популярен и лежит в основе хранения данных в некоторых open-source базах
Проекты на Go
-
fzf
Консольная утилита для нечёткого поиска по всему подряд. Ищет файлы, историю команд, процессы, коммиты Git и другие данные; позволяет просматривать результаты, интегрируется с Vim/Neovim и работает очень быстро

-
glab
Консольная утилита GitLab на Go. С её помощью можно управлять проектами, issues и merge requests из терминала, а также смотреть состояние CI
api: Make authenticated REST/GRAPHQL auth: Manage glab's authentication state issue: Work with GitLab issues label: Manage labels on remote mr: Create, view and manage merge requests ci: Work with GitLab CI pipelines and jobs release: Manage GitLab releases repo: Work with GitLab repositories and projects
-
godis
Сервер Redis на Go. Реализует протокол Redis и совместим с клиентом redis-cli. Включает пять распространённых структур данных и команды, например TTL, публикацию и подписку, геолокацию и сохранение данных в AOF. Новички в Go могут изучить на этом проекте TCP, реализацию протоколов и распространённые структуры данных. Надоела веб-разработка? Попробуйте другой формат практики — напишите свой Redis-сервер
-
learngo
Open-source проект для изучения синтаксиса Go с нуля. Лучший способ выучить язык программирования — писать код. В репозитории больше 1000 задач по синтаксису Go с ответами, которые можно решать одну за другой
-
tunny
Библиотека пула горутин с фиксированным числом обработчиков. Позволяет повторно использовать горутины и не создавать лишние, снижая расход памяти
package main import ( "io/ioutil" "net/http" "runtime" "github.com/Jeffail/tunny" ) func main() { numCPUs := runtime.NumCPU() pool := tunny.NewFunc(numCPUs, func(payload interface{}) interface{} { var result []byte // TODO: Something CPU heavy with payload return result }) defer pool.Close() http.HandleFunc("/work", func(w http.ResponseWriter, r *http.Request) { input, err := ioutil.ReadAll(r.Body) if err != nil { http.Error(w, "Internal error", http.StatusInternalServerError) } defer r.Body.Close() // Funnel this work into our pool. This call is synchronous and will // block until the job is completed. result := pool.Process(input) w.Write(result.([]byte)) }) http.ListenAndServe(":8080", nil) }
Проекты на Java
-
airbyte
Open-source платформа EL(T). Она позволяет быстро собрать данные из указанных пользователем приложений, баз данных и других источников, а затем запрашивать, показывать, обновлять и управлять ими на одной платформе

-
ExoPlayer
Официальный open-source медиаплеер Google для Android. Его легко настраивать и расширять; он поддерживает множество форматов, включая FMP4, FLV, SmoothStreaming и MP3

-
traccar
Платформа GPS-мониторинга. Поддерживает более 170 протоколов GPS и более 1500 моделей устройств; умеет отслеживать местоположение в реальном времени, строить отчёты по данным, отправлять предупреждения и уведомления
-
Ward
Система мониторинга серверов с красивой панелью управления

Проекты на JavaScript
-
cusdis
Лёгкая система комментариев для блогов с лаконичным интерфейсом и вниманием к приватности. Её легко подключить к React, Vue и другим блоговым системам; комментарии можно модерировать в панели управления. Также доступны импорт из Disqus в один клик и уведомления по электронной почте

-
eruda
Инструмент отладки веб-страниц на телефоне. Это миниатюрная версия режима разработчика для мобильного браузера. Показывает логи console, позволяет проверять состояние элементов и перехватывать XHR-запросы, а также просматривать локальное хранилище, Cookie и другие данные

-
lowdb
Лёгкая JSON-база данных на основе файлов для браузера и Electron. Подойдёт для небольших frontend-проектов без серверной части, которым всё же нужно хранить данные и управлять ими
import { join } from 'path' import { Low, JSONFile } from 'lowdb' // 新建 JSON 文件用于存储数据 const file = join(__dirname, 'db.json') const adapter = new JSONFile(file) const db = new Low(adapter) // 把内容更新到 db.data 并写入 JSON 文件 db.data.posts.push({ id: 1, title: 'lowdb is awesome' }).write() db.get('posts') .filter({title: 'lowdb is awesome'}) .sortBy('id') .take(5) .value() -
moovie.js
HTML5-плеер для фильмов. Прост в освоении и использовании; поддерживает ускоренное воспроизведение, горячие клавиши и настройку смещения субтитров на лету

-
nativefier
Консольная утилита, которая превращает веб-страницы в локальные приложения. Упаковывает сайты в исполняемые файлы .app, .exe и другие форматы с помощью Electron и Chromium; работает на Windows, macOS и Linux

Проекты на Kotlin
-
mirai
Фреймворк для QQ-ботов на Kotlin. Предоставляет API протокола Android QQ для автоматизации, например управления группами. Важно: проект не поддерживает коммерческое использование. Код на Kotlin написан очень хорошо — заинтересованным разработчикам будет полезно его изучить
Проекты на Python
-
GitHubPoster
Инструмент, который строит графики в духе зелёного календаря GitHub по данным с разных платформ. Например, так можно визуализировать частоту публикаций в Twitter или отметки о занятиях в приложении Shanbay для изучения слов. Пользоваться просто — можно попробовать для интереса

-
guietta
Python-библиотека для создания простых GUI-приложений. Позволяет писать интерфейсы более простым способом
from guietta import _, Gui, Quit gui = Gui( [ "Enter numbers:", "__a__", "+", "__b__", ["Calculate"] ], [ "Result: -->", "result", _, _, _ ], [ _, _, _, _, Quit ] ) with gui.Calculate: gui.result = float(gui.a) + float(gui.b) gui.run()
-
pygame
Python-библиотека для разработки игр. Pygame развивается уже много лет, поэтому в интернете полно руководств и материалов. Python не самый сильный язык в геймдеве, но на этой библиотеке удобно делать небольшие 2D-игры. Подойдёт тем, кто хочет написать простую игру на Python

Проекты на Ruby
-
forem
Open-source Ruby-проект для создания сообществ. Готовый форумный движок, с которым можно быстро развернуть сообщество. Его использует известное зарубежное сообщество программистов dev

Проекты на Rust
-
azul
Кроссплатформенный GUI-фреймворк на Rust и C/C++. Использует движок рендеринга WebRender и DOM, похожий на CSS/HTML; на его основе можно создавать красивые нативные приложения для рабочего стола
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] use azul::prelude::*; use azul_widgets::table_view::*; struct TableDemo { // cells: BTreeMap<TableCell, String>, } extern "C" fn layout(data: &mut RefAny, _: LayoutCallbackInfo) -> StyledDom { let mut table_view_state = TableViewState::default(); table_view_state.set_cell_content(TableCellIndex { row: 2, column: 2 }, "Hello World"); table_view_state.set_selection(Some(TableCellSelection::from(3, 4).to(3, 4))); TableView::new(table_view_state).dom().style(Css::empty()) } fn main() { let app = App::new(RefAny::new(TableDemo { }), AppConfig::new(LayoutSolver::Default)); app.run(WindowCreateOptions::new(layout)); }
-
indicatif
Библиотека на Rust с набором выразительных индикаторов выполнения для терминала
use indicatif::ProgressBar; let bar = ProgressBar::new(1000); for _ in 0..1000 { bar.inc(1); // ... } bar.finish();
-
rustdesk
Бесплатная open-source программа для удалённого рабочего стола. Работает сразу без настройки на Linux, macOS, Windows и Android. Можно развернуть собственный сервер и хранить данные под своим контролем. Это альтернатива растущему числу платных программ удалённого доступа

Проекты на Swift
-
Grid
Open-source проект на SwiftUI для компоновки представлений (view), вдохновлённый CSS Grid

-
SwiftyJSON
Сторонняя библиотека Swift для работы с JSON, которая упрощает его обработку
let json = JSON(data: dataFromNetworking) if let userName = json[0]["user"]["name"].string { //Now you got your value }
Искусственный интеллект
-
AugLy
Библиотека для аугментации данных на Python, опубликованная Facebook. Поддерживает аудио, изображения, текст и видео: помогает расширять данные на основе реальных примеров и находить похожий контент, чтобы дубликаты не искажали результаты

-
Real-Time-Voice-Cloning
ИИ-проект для клонирования голоса. Достаточно нескольких секунд аудио, чтобы сымитировать голос человека из записи

Прочее
-
aind
Проект, который позволяет запускать Android-приложения в Docker
docker run -td --name aind --privileged -p 5900:5900 -v /lib/modules:/lib/modules:ro ghcr.io/aind-containers/aind docker exec aind cat /home/user/.vnc/passwdfile
-
android-foss
Подборка open-source приложений для Android
-
hello-world
Проект с примерами Hello World на более чем 800 языках программирования
-
Kanmail
Почтовый клиент, который помогает управлять письмами в виде канбан-доски. Работает на macOS и Windows, поддерживает Gmail, Outlook и другие почтовые сервисы

-
librime
Open-source система ввода китайского языка. На рынке много подобных программ — возможно, здесь найдётся подходящая именно вам. RIME не отслеживает ввод, а его исходный код полностью открыт. Можно переключаться между традиционным и упрощённым китайским, выбирать или настраивать схемы ввода и темы; система особенно хорошо подходит для ввода традиционных иероглифов. Она даёт пользователю свободу и широкие возможности настройки, а разработчикам предлагает основу для собственных решений. Есть варианты для разных ОС: Rime для Linux, Weasel для Windows, Squirrel для macOS и Trime для Android. Из-за большого числа настроек потребуется время на освоение — такова, вероятно, цена свободы

-
material-theme-jetbrains
Тема в стиле Material для IDE JetBrains

-
secguide
Руководство Tencent по безопасному написанию кода. Содержит простые и понятные рекомендации для C/C++, Python, JavaScript, Java, Go и других языков, которые помогают разработчикам избегать рисков и сокращать число уязвимостей ещё на этапе написания кода

Открытые книги
-
awesome-fenix
Open-source книга о том, как создавать крупные и надёжные распределённые системы. Рекомендуем тем, кто хочет стать архитектором. Читать онлайн
-
google-sre-ebook
Книга о Google SRE. Так называют инженеров Site Reliability Engineer из профессиональной команды Google по эксплуатации. В книге специалисты Google SRE делятся технологиями и знаниями, связанными с эксплуатацией сервисов компании
