Физический рендеринг и распределённая база временных рядов

Выпуск № 65 ·

Проекты на C

  1. cpufetch

    Консольная утилита для получения сведений о процессоре.

    cpufetch

Проекты на C#

  1. AduSkin

    Лаконичная и красивая библиотека пользовательского интерфейса для WPF.

    AduSkin

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

  1. filament

    Лёгкий движок физически корректного рендеринга в реальном времени. Его можно использовать для рендеринга в играх и проектах по монтажу аудио и видео. Если нужны 3D-эффекты без тяжёлого игрового движка, стоит рассмотреть его, особенно для Android.

    filament
  2. simdjson

    Высокопроизводительная библиотека для разбора JSON, способная обрабатывать гигабайты данных в секунду.

    simdjson

Проекты на CSS

  1. devices.css

    Макеты телефонов и планшетов в плоском стиле, созданные только средствами CSS. Есть модели iPhone, Android, Lumia и iPad.

    <div class="marvel-device iphone-x">
        <div class="notch">
            <div class="camera"></div>
            <div class="speaker"></div>
        </div>
        <div class="top-bar"></div>
        <div class="sleep"></div>
        <div class="bottom-bar"></div>
        <div class="volume"></div>
        <div class="overflow">
            <div class="shadow shadow--tr"></div>
            <div class="shadow shadow--tl"></div>
            <div class="shadow shadow--br"></div>
            <div class="shadow shadow--bl"></div>
        </div>
        <div class="inner-shadow"></div>
        <div class="screen">
    
        </div>
    </div>
    devices.css

Проекты на Go

  1. gocron

    Лёгкая платформа управления задачами по расписанию на Go. Возможности:

    • Веб-интерфейс управления
    • Настройка запуска задач с точностью до секунды
    • Повторный запуск при ошибке и принудительная остановка по тайм-ауту
    • Управление правами учётных записей
    • И другие
    gocron
  2. learning_tools

    Сборник кода, написанного автором во время изучения Go. В нём есть примеры работы с полезными библиотеками, микросервисами, базами данных и алгоритмами. Материала много, но ему не хватает систематизации и рубрик. И всё же сборник стоит посмотреть тем, кто ищет путь к более глубокому изучению Go: содержание действительно хорошее.

    learning_tools
  3. lindb

    Высокопроизводительная распределённая база данных временных рядов с горизонтальным масштабированием. Поддерживает хранение огромных объёмов данных, быстрые параллельные запросы и вычисления. Базу используют внутри Ele.me — китайского сервиса доставки еды — для хранения всех данных мониторинга. Суточный прирост составляет терабайты, а общий объём данных достиг петабайт.

    lindb
  4. sharingan

    Инструмент на Go для записи и воспроизведения трафика. Он позволяет тестировать сервисы вне рабочего контура на реальных запросах и параметрах, не влияя на работающую систему. Особенно полезен для регрессионного тестирования после переработки важных сервисов: проверка на реальном трафике помогает заранее обнаружить проблемы и избежать серьёзных сбоев.

    sharingan

Проекты на Java

  1. Android-skin-support

    Удобный фреймворк для смены тем оформления Android.

    @Override
    public void onCreate() {
        super.onCreate();
        SkinCompatManager.withoutActivity(this)                         // 基础控件换肤初始化
                .addInflater(new SkinMaterialViewInflater())            // material design 控件换肤初始化[可选]
                .addInflater(new SkinConstraintViewInflater())          // ConstraintLayout 控件换肤初始化[可选]
                .addInflater(new SkinCardViewInflater())                // CardView v7 控件换肤初始化[可选]
                .setSkinStatusBarColorEnable(false)                     // 关闭状态栏换肤,默认打开[可选]
                .setSkinWindowBackgroundEnable(false)                   // 关闭windowBackground换肤,默认打开[可选]
                .loadSkin();
    }
    Android-skin-support
  2. lettuce

    Потокобезопасный Java-клиент Redis с расширенными возможностями. Построен на Netty и поддерживает неблокирующий ввод-вывод, синхронные и асинхронные операции, кластеры, Sentinel и конвейерную обработку.

    RedisClient redisClient = RedisClient.create("redis://localhost/0");
    StatefulRedisConnection<String, String> connection = redisClient.connect();
    
    System.out.println("Connected to Redis");
    connection.sync().set("key", "Hello World");
    
    connection.close();
    redisClient.shutdown(); 

Проекты на JavaScript

  1. didact

    Научитесь писать React-фреймворк с нуля. Серия статей и примеров кода показывает, как реализовать его самостоятельно и лучше понять внутреннее устройство React.

    didact
  2. flat

    Онлайн-класс с открытым кодом клиентской и серверной частей и широким набором функций. На его основе можно быстро создать виртуальный класс с групповыми видео- и аудиозвонками, интерактивной доской, записью и воспроизведением занятий.

    flat
  3. iDataV

    Подборка проектов для визуализации данных на больших экранах.

    iDataV
  4. milkdown

    Лаконичный Markdown-редактор с визуальным редактированием. В отличие от большинства редакторов Markdown, он построен на плагинах и напоминает расширяемый редактор Typora с открытым кодом. Проект основан на prosemirror и remark; начинающие разработчики могут изучить на нём создание редакторов форматированного текста с помощью prosemirror и проектирование плагинной системы для редактора.

    import { Editor } from '@milkdown/core';
    import { commonmark } from '@milkdown/preset-commonmark';
    
    import { history } from '@milkdown/plugin-history';
    
    // import theme
    import '@milkdown/theme-nord/lib/theme.css';
    
    new Editor()
      .use(commonmark)
      .use(history)
      .create();
    milkdown
  5. react-beautiful-dnd

    Изящная и удобная библиотека React для перетаскивания элементов в списках.

    react-beautiful-dnd

Проекты на PHP

  1. icon-workshop

    Инструмент для создания иконок мобильных приложений. Одним нажатием он генерирует значки разных размеров для iOS и Android, а также изображения экранов запуска приложений.

    icon-workshop

Проекты на Python

  1. moviepy

    Библиотека Python для обработки видео: она позволяет монтировать ролики, применять собственные эффекты, объединять видео, менять формат и добавлять текст. Библиотека специализируется на видео, но работает также со звуком и GIF-анимацией. Инструментов для монтажа сейчас много, но для пакетной обработки видео удобно написать скрипт на Python с moviepy и сэкономить время.

    moviepy
  2. pyinstrument

    Простая в использовании библиотека для анализа производительности кода на Python. Поддерживает Python 3.7 и новее, умеет анализировать асинхронный код. Одной команды достаточно, чтобы увидеть время выполнения отдельных функций и быстро найти узкие места, замедляющие программу.

    # 命令模式
    Usage: pyinstrument [options] scriptfile [arg] ...
    # 代码片段模式
    from pyinstrument import Profiler
    
    profiler = Profiler()
    profiler.start()
    # 要分析的代码
    profiler.stop()
    
    profiler.print()
    # 还支持 flask 等 Web 框架
    pyinstrument
  3. ray

    Фреймворк распределённых вычислений на Python с моделью динамических вычислительных графов. Работать с ним просто: достаточно добавить декораторы и внести минимум изменений в код, чтобы распределить вычисления в программе Python, прежде запускавшейся на одном компьютере. Сейчас его чаще всего используют в машинном обучении.

    import ray
    ray.init()
    
    @ray.remote
    def f(x):
        return x * x
    
    futures = [f.remote(i) for i in range(4)]
    print(ray.get(futures))
    ray
  4. termpair

    Инструмент для удалённого управления командной строкой в браузере в реальном времени. Он позволяет безопасно открыть другим доступ к терминалу и особенно удобен на серверах без графической среды. С ним проще попросить опытного специалиста удалённо помочь разобраться с проблемой.

    # 安装
    pip install termpair
    # 起服务
    termpair serve
    # 生成远程控制终端的链接
    termpair share
    termpair
  5. weiboSpider

    Консольный сборщик данных о Weibo (китайской социальной сети), написанный на Python. Он позволяет собирать данные о пользователях и подробно получать сведения о публикациях. Хотя примеров парсеров немало, регулярно обновляемых проектов мало: при изменении источника данных их приходится дорабатывать. Этот проект стабильно обновляется, а автор быстро отвечает на вопросы — это редкость. Пользуясь им, можно поддержать автора, поставив звезду на GitHub.

    # 安装
    $ git clone https://github.com/dataabc/weiboSpider.git
    $ cd weiboSpider
    $ pip install -r requirements.txt
    # 启动
    $ python3 -m weibo_spider

Проекты на Rust

  1. toydb

    Учебный проект распределённой SQL-базы данных на Rust. Для эксплуатации в рабочей среде он не подходит, зато на нём можно изучить реализацию протокола Raft, транзакционного движка с гарантиями ACID, разбор SQL и хранение данных. Подойдёт тем, кто интересуется внутренним устройством баз данных.

    toydb

Проекты на Swift

  1. FlappySwift

    Игра Flappy Bird, написанная на Swift.

    FlappySwift
  2. NetNewsWire

    RSS-читалка для macOS и iOS.

    NetNewsWire

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

  1. ASRT_SpeechRecognition

    Система распознавания китайской речи на основе глубокого обучения.

  2. chineseocr_lite

    Лёгкий проект для распознавания китайского текста на изображениях и преобразования его в строку.

    chineseocr_lite

Прочее

  1. authpass

    Кроссплатформенный менеджер паролей на Flutter. Он синхронизирует данные через облачные сервисы, например Dropbox, и поддерживает автозаполнение паролей.

    authpass
  2. brave-browser

    Быстрый, лаконичный браузер с открытым кодом. Его создал автор JavaScript Брендан Айк на базе браузера Chromium и движка для отображения веб-страниц Blink. Браузер блокирует отслеживание пользователей сайтами и имеет встроенный блокировщик рекламы. Поддерживает Android, Linux, macOS, iOS и Windows; закладки, историю просмотров, пароли и расширения можно импортировать одним нажатием, чтобы пользоваться интернетом без лишнего мусора.

    brave-browser
  3. canvas-special

    Подборка классических примеров на Canvas: гомоку, танковые сражения, анимированные фоны и эффекты из частиц.

    canvas-special
  4. insomnia

    Приложение для отладки сетевых API на Electron с поддержкой GraphQL, REST и gRPC. У него лаконичный и красивый интерфейс, а само приложение работает в Windows, Linux и macOS.

    insomnia
  5. keframe

    Компонент для повышения плавности Flutter-приложений. Он устраняет подтормаживания из-за построения интерфейса, разбивая отрисовку по кадрам, и подходит для сложных списков и переключения между экранами.

    keframe
  6. macos-virtualbox

    Инструмент для установки macOS в VirtualBox. Это скрипт на Bash: после запуска для завершения установки достаточно нажимать Enter. Он поддерживает Linux, Windows и macOS и позволяет установить Catalina (10.15), Mojave (10.14), High Sierra (10.13) и другие версии системы Apple.

    macos-virtualbox
  7. QASystemOnMedicalKG

    Открытый проект, который показывает, как с нуля построить медицинский и фармацевтический граф знаний. Он охватывает сбор и очистку информации, проектирование графа и создание на его основе сервиса, автоматически отвечающего на вопросы о медицине и лекарствах.

    QASystemOnMedicalKG
  8. Unity3DTraining

    Подборка учебных проектов по разработке игр на Unity. В неё входят исходный код игр в духе «Пузырьков», раннера и нарезания фруктов, а также собранные автором примеры игровых эффектов и статьи.

    Unity3DTraining

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

  1. Learn-Web-Hacking

    Конспект по изучению безопасности веб-приложений. Читать онлайн

  2. LearnOpenGL-CN

    Китайский перевод учебника LearnOpenGL. OpenGL — графический API с набором функций для работы с графикой и изображениями. Для использования API нужен язык программирования; примеры в учебнике написаны на C++. Читать онлайн

    LearnOpenGL-CN