Эмулятор GBA, быстрый поиск и приватные комментарии

Выпуск № 63 ·

Проекты на C

  1. mgba

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

    mgba

Проекты на C++

  1. rocksdb

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

Проекты на Go

  1. fzf

    Консольная утилита для нечёткого поиска по всему подряд. Ищет файлы, историю команд, процессы, коммиты Git и другие данные; позволяет просматривать результаты, интегрируется с Vim/Neovim и работает очень быстро

    fzf
  2. 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
    glab
  3. godis

    Сервер Redis на Go. Реализует протокол Redis и совместим с клиентом redis-cli. Включает пять распространённых структур данных и команды, например TTL, публикацию и подписку, геолокацию и сохранение данных в AOF. Новички в Go могут изучить на этом проекте TCP, реализацию протоколов и распространённые структуры данных. Надоела веб-разработка? Попробуйте другой формат практики — напишите свой Redis-сервер

  4. learngo

    Open-source проект для изучения синтаксиса Go с нуля. Лучший способ выучить язык программирования — писать код. В репозитории больше 1000 задач по синтаксису Go с ответами, которые можно решать одну за другой

  5. 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

  1. airbyte

    Open-source платформа EL(T). Она позволяет быстро собрать данные из указанных пользователем приложений, баз данных и других источников, а затем запрашивать, показывать, обновлять и управлять ими на одной платформе

    airbyte
  2. ExoPlayer

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

    ExoPlayer
  3. traccar

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

  4. Ward

    Система мониторинга серверов с красивой панелью управления

    Ward

Проекты на JavaScript

  1. cusdis

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

    cusdis
  2. eruda

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

    eruda
  3. 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()
  4. moovie.js

    HTML5-плеер для фильмов. Прост в освоении и использовании; поддерживает ускоренное воспроизведение, горячие клавиши и настройку смещения субтитров на лету

    moovie.js
  5. nativefier

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

    nativefier

Проекты на Kotlin

  1. mirai

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

Проекты на Python

  1. GitHubPoster

    Инструмент, который строит графики в духе зелёного календаря GitHub по данным с разных платформ. Например, так можно визуализировать частоту публикаций в Twitter или отметки о занятиях в приложении Shanbay для изучения слов. Пользоваться просто — можно попробовать для интереса

    GitHubPoster
  2. 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()
    guietta
  3. pygame

    Python-библиотека для разработки игр. Pygame развивается уже много лет, поэтому в интернете полно руководств и материалов. Python не самый сильный язык в геймдеве, но на этой библиотеке удобно делать небольшие 2D-игры. Подойдёт тем, кто хочет написать простую игру на Python

    pygame

Проекты на Ruby

  1. forem

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

    forem

Проекты на Rust

  1. 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));
    }
    azul
  2. indicatif

    Библиотека на Rust с набором выразительных индикаторов выполнения для терминала

    use indicatif::ProgressBar;
    
    let bar = ProgressBar::new(1000);
    for _ in 0..1000 {
        bar.inc(1);
        // ...
    }
    bar.finish();
    indicatif
  3. rustdesk

    Бесплатная open-source программа для удалённого рабочего стола. Работает сразу без настройки на Linux, macOS, Windows и Android. Можно развернуть собственный сервер и хранить данные под своим контролем. Это альтернатива растущему числу платных программ удалённого доступа

    rustdesk

Проекты на Swift

  1. Grid

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

    Grid
  2. SwiftyJSON

    Сторонняя библиотека Swift для работы с JSON, которая упрощает его обработку

    let json = JSON(data: dataFromNetworking)
    if let userName = json[0]["user"]["name"].string {
      //Now you got your value
    }

Искусственный интеллект

  1. AugLy

    Библиотека для аугментации данных на Python, опубликованная Facebook. Поддерживает аудио, изображения, текст и видео: помогает расширять данные на основе реальных примеров и находить похожий контент, чтобы дубликаты не искажали результаты

    AugLy
  2. Real-Time-Voice-Cloning

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

    Real-Time-Voice-Cloning

Прочее

  1. 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
    aind
  2. android-foss

    Подборка open-source приложений для Android

  3. hello-world

    Проект с примерами Hello World на более чем 800 языках программирования

  4. Kanmail

    Почтовый клиент, который помогает управлять письмами в виде канбан-доски. Работает на macOS и Windows, поддерживает Gmail, Outlook и другие почтовые сервисы

    Kanmail
  5. librime

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

    librime
  6. material-theme-jetbrains

    Тема в стиле Material для IDE JetBrains

    material-theme-jetbrains
  7. secguide

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

    secguide

Открытые книги

  1. awesome-fenix

    Open-source книга о том, как создавать крупные и надёжные распределённые системы. Рекомендуем тем, кто хочет стать архитектором. Читать онлайн

  2. google-sre-ebook

    Книга о Google SRE. Так называют инженеров Site Reliability Engineer из профессиональной команды Google по эксплуатации. В книге специалисты Google SRE делятся технологиями и знаниями, связанными с эксплуатацией сервисов компании

    google-sre-ebook