ИИ, SQL и инструменты для C++

Выпуск № 97 ·

Проекты на C

  1. freeswitch

    Телефонная платформа уровня оператора связи с открытым кодом. Коммуникационный фреймворк поддерживает SIP, WebRTC и другие протоколы; как универсальный программный коммутатор он помогает создавать сервисы голосовой связи и обмена сообщениями: корпоративную телефонию, виртуальные колл-центры, видеоконференции и другие решения.

  2. NetHack

    Классическая Roguelike-игра с долгой историей. Игрок выступает исследователем подземелий и отправляется на поиски таинственного амулета Йендора. Интерфейс состоит из ASCII-символов; для игры характерны высокая свобода действий, сложность, случайная генерация карт и перманентная смерть. Игроки называют её игрой на всю жизнь.

    NetHack
  3. rt-thread

    Компактная и продуманная ОС для Интернета вещей. Открытая ОС для IoT, созданная китайской командой, отличается гибкостью настройки и расширяемостью. Минимальное ядро работает на чипах ARM Cortex-M0, система среднего размера — на ARM Cortex-M3/4/7, а также поддерживаются многоядерные 64-битные процессоры ARM Cortex-A, MIPS32/64 и другие архитектуры. Богатый набор компонентов и пакетов помогает быстро создавать продукты на базе встраиваемых систем.

    rt-thread

Проекты на C#

  1. g-helper

    Лёгкая замена ASUS Armoury Crate. Открытая замена центра управления ноутбуками ASUS Armoury Crate, предназначенного для игровых ноутбуков, отличается лаконичным интерфейсом и почти не расходует системные ресурсы. Поддерживает плавное переключение режимов видеокарты, настройку частоты обновления экрана, кривых вентиляторов, энергопотребления и подсветки клавиатуры.

    g-helper
  2. UniGetUI

    Пакетный менеджер Windows с графическим интерфейсом. Графическая оболочка для популярных консольных менеджеров Windows — Winget, Scoop, Pip, NPM, .NET Tool и других. Удобный красивый интерфейс поддерживает китайский язык; через него можно скачивать, устанавливать, обновлять и удалять любые пакеты, а также обычные приложения вроде браузеров и PDF-ридеров.

    UniGetUI

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

  1. cppinsights

    Взгляд на код C++ глазами компилятора. Инструмент разработки на базе Clang преобразует исходный код в результат работы компилятора, помогая понять внутренние механизмы языка; подходит для демонстрации и объяснения абстрактного синтаксического дерева (AST) и новых возможностей C++.

    cppinsights
  2. stellarium

    Открытая программа для моделирования звёздного неба. Точно воспроизводит вид неба над головой — звёзды, созвездия, планеты, кометы и другие небесные тела. Можно выбирать время и место наблюдения, приближать изображение и изучать схемы созвездий. Клиенты доступны для Windows, Linux, macOS, iOS и Android.

    stellarium
  3. VideoPipe

    Кроссплатформенный фреймворк структурирования и анализа видео. Написан на C++, имеет мало зависимостей и прост в освоении. Подобно конвейеру, он состоит из независимых узлов, которые можно комбинировать для построения разных конвейеров видеоаналитики: структурирование видео, поиск по изображениям, распознавание лиц и анализ поведения в системах безопасности, например обнаружение дорожных происшествий.

    VideoPipe

Проекты на Go

  1. freeze

    Консольная утилита для создания изображений из кода. Преобразует фрагменты кода и вывод терминала в PNG, SVG и WebP; написана на Go, проста в установке и использовании. Изображение можно создать одной командой или настроить в интерактивном режиме.

    # macOS or Linux
    brew install charmbracelet/tap/freeze
    
    # Arch Linux (btw)
    pacman -S freeze
    
    # Nix
    nix-env -iA nixpkgs.charm-freeze
    freeze
  2. jaeger

    Открытая платформа распределённой трассировки. Созданная Uber под влиянием Dapper и OpenZipkin, платформа отслеживает цепочки вызовов в распределённых приложениях и микросервисах. Поддерживает несколько языков, полную трассировку, передачу контекста, метрики производительности, визуализацию и оповещения.

    jaeger
  3. opengist

    Открытая замена GitHub Gist. Хранит фрагменты кода и текста в Git-репозиториях; просматривать и изменять их можно командами Git или через Web, как в сервисе Gist. Поддерживает публичные и приватные фрагменты, подсветку синтаксиса, поиск по коду, встраивание на другие сайты и историю изменений; сервис можно разместить на своём сервере.

    opengist

Проекты на Java

  1. CompreFace

    Бесплатная система распознавания лиц с открытым кодом. Предоставляет REST API для распознавания, обнаружения и верификации лиц, определения положения головы, пола и возраста; интегрировать её в любую систему можно без знаний машинного обучения. Бэкенд написан на Java, распознавание основано на FaceNet и InsightFace, поддерживается развёртывание в Docker.

    CompreFace
  2. fdroidclient

    Бесплатный магазин приложений Android с открытым кодом. Клиент F-Droid — магазин Android-приложений, собранных из открытых программ (FOSS). Большинство приложений бесплатны и не содержат рекламы; если загрузка ресурсов идёт медленно, можно настроить зеркало.

    fdroidclient

Проекты на JavaScript

  1. cmdk

    Быстрый компонент React для меню команд без встроенных стилей. Помогает легко создавать интуитивное и функциональное меню команд, похожее на интерактивное меню по сочетанию ⌘K, улучшая взаимодействие с пользователем в любых веб-приложениях.

    import { Command } from 'cmdk'
    
    const CommandMenu = () => {
      return (
        <Command label="Command Menu">
          <Command.Input />
          <Command.List>
            <Command.Empty>No results found.</Command.Empty>
    
            <Command.Group heading="Letters">
              <Command.Item>a</Command.Item>
              <Command.Item>b</Command.Item>
              <Command.Separator />
              <Command.Item>c</Command.Item>
            </Command.Group>
    
            <Command.Item>Apple</Command.Item>
          </Command.List>
        </Command>
      )
    }
    cmdk
  2. outline

    Открытый инструмент для документов и командной базы знаний. Онлайн-редактор и сервис совместной работы на React и Node.js с красивым интерфейсом, богатыми возможностями и поддержкой Markdown; есть китайский язык и развёртывание в Docker. Клиенты доступны для Windows, macOS, iOS и Android. Сервис можно использовать как личную wiki или внутреннюю базу документов и знаний небольшой или средней компании.

    outline
  3. Photo-Sphere-Viewer

    JavaScript-библиотека для сферических панорам 360°. Просмотрщик панорамных фотографий на Three.js с удобным управлением и множеством возможностей. Поддерживает разные форматы и режимы: панорамы 2:1, кубические панорамы, разбиение панорамы на фрагменты, отображение текста и панорамное видео.

    Photo-Sphere-Viewer
  4. strapi

    Ведущая в мире CMS с открытым кодом и headless-архитектурой. Полностью бесплатная система управления контентом на JavaScript/TypeScript предоставляет API из коробки и удобную админ-панель, а также управление правами, безопасные настройки по умолчанию и SEO-оптимизацию. Strapi — одна из самых популярных CMS с открытым кодом на GitHub и выбор многих компаний из списка Fortune 500.

    strapi
  5. tailwind-landing-page-template

    Бесплатный шаблон landing page с открытым кодом. Шаблон создан на TailwindCSS, React и Next.js; у него красивый интерфейс, простой код и современный дизайн. Подходит для быстрой подготовки главной страницы компании, промостраницы мероприятия и других лендингов.

    git clone 项目
    yarn install
    yarn dev
    # http://localhost:3000
    tailwind-landing-page-template

Проекты на Kotlin

  1. breezy-weather

    Минималистичное погодное приложение для Android. Дизайн приложения построен на Material Design; оно простое и аккуратное, бесплатное и без рекламы, а также поддерживает китайский язык. Показывает осадки на ближайший час, качество воздуха, почасовой прогноз, текущую погоду, пыльцу, влажность и другие данные.

    breezy-weather

Проекты на Python

  1. dangerzone

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

    dangerzone
  2. great-tables

    Красивые таблицы на Python. Библиотека помогает создавать практичные и аккуратно оформленные таблицы. Набор компонентов позволяет комбинировать разные части таблицы — заголовок, подвал, метки строк (stub) и метки групп столбцов (spanner labels), — чтобы легко готовить красивые таблицы данных.

    from great_tables import GT
    from great_tables.data import sp500
    
    # Define the start and end dates for the data range
    start_date = "2010-06-07"
    end_date = "2010-06-14"
    
    # Filter sp500 using Pandas to dates between `start_date` and `end_date`
    sp500_mini = sp500[(sp500["date"] >= start_date) & (sp500["date"] <= end_date)]
    
    # Create a display table based on the `sp500_mini` table data
    (
        GT(sp500_mini)
        .tab_header(title="S&P 500", subtitle=f"{start_date} to {end_date}")
        .fmt_currency(columns=["open", "high", "low", "close"])
        .fmt_date(columns="date", date_style="wd_m_day_year")
        .fmt_number(columns="volume", compact=True)
        .cols_hide(columns="adj_close")
    )
    great-tables
  3. python-miio

    Python-библиотека для управления умной техникой Xiaomi. Библиотека и консольная утилита работают с устройствами, использующими протоколы Xiaomi miIO и MIoT. С их помощью можно обмениваться данными с умными устройствами Xiaomi и удалённо управлять ими: роботами-пылесосами, лампами, очистителями воздуха и другими. Подходит разработчикам, которые любят собирать системы умного дома своими руками.

  4. undetected-chromedriver

    Python-библиотека для обхода антибот-проверок. Оптимизированный патч Selenium WebDriver помогает не запускать механизмы обнаружения роботов во время автоматизации браузера. Он скрывает признаки браузера (отпечаток) и используется так же просто, как обычная сторонняя библиотека Python.

    import undetected_chromedriver as uc
    driver = uc.Chrome(headless=True,use_subprocess=False)
    driver.get('https://nowsecure.nl')
    driver.save_screenshot('nowsecure.png')
    undetected-chromedriver
  5. wereader

    Полнофункциональный помощник для заметок в WeChat Reading. Настольный клиент WeChat Reading (китайского сервиса чтения) на PySide6 поддерживает чтение книг и отдельный режим заметок, где можно просматривать все свои заметки и популярные выделения.

    wereader

Проекты на Rust

  1. grex

    Консольная утилита для автоматической генерации регулярных выражений. Если не знаете, как написать регулярное выражение, она может пригодиться. Утилита на Rust строит подходящее выражение по примерам, предоставленным пользователем, и доступна как библиотека или консольная команда.

    grex
  2. sqlx

    Мощный асинхронный набор инструментов SQL для Rust. Полностью асинхронная библиотека на Rust поддерживает базы PostgreSQL, MySQL, MariaDB и SQLite. Проверяет запросы во время компиляции и автоматически кэширует их, упрощая и ускоряя взаимодействие Rust с SQL-базами.

    use sqlx::postgres::PgPoolOptions;
    // use sqlx::mysql::MySqlPoolOptions;
    // etc.
    
    #[async_std::main] // Requires the `attributes` feature of `async-std`
    // or #[tokio::main]
    // or #[actix_web::main]
    async fn main() -> Result<(), sqlx::Error> {
        // Create a connection pool
        //  for MySQL/MariaDB, use MySqlPoolOptions::new()
        //  for SQLite, use SqlitePoolOptions::new()
        //  etc.
        let pool = PgPoolOptions::new()
            .max_connections(5)
            .connect("postgres://postgres:password@localhost/test").await?;
    
        // Make a simple query to return the given parameter (use a question mark `?` instead of `$1` for MySQL/MariaDB)
        let row: (i64,) = sqlx::query_as("SELECT $1")
            .bind(150_i64)
            .fetch_one(&pool).await?;
    
        assert_eq!(row.0, 150);
    
        Ok(())
    }
  3. zero-to-production

    Создание сервиса электронной почты на Rust с нуля. Это только исходный код к книге «Zero To Production In Rust» — самой книги в репозитории нет. В книге с нуля разбирается создание сервиса электронной почты на Rust: настройка среды, непрерывная интеграция, разработка API бэкенда, обработка ошибок и развёртывание.

    zero-to-production

Проекты на Swift

  1. pika

    Нативный выбор цвета для macOS. Специализированная утилита выбора цвета для macOS бесплатна, быстра и проста в использовании: помогает быстро узнать значение цвета на экране.

    pika
  2. reminders-menubar

    Минималистичный менеджер напоминаний в строке меню macOS. Небольшая утилита на SwiftUI показывает и напоминает о задачах в строке меню macOS. Она компактная, простая и аккуратно оформлена, поддерживает запуск при входе, несколько языков (включая китайский), счётчик в строке меню и горячие клавиши.

    reminders-menubar

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

  1. langchain

    Фреймворк для приложений на базе LLM. LLM — это большие модели глубокого обучения, предварительно обученные на больших массивах данных. Фреймворк даёт LLM доступ к новым наборам данных без дополнительного обучения и предоставляет модули для разработки приложений: подключение источников контекста и вывод на основе LLM. Поддерживает создание чат-ботов, баз знаний, систем извлечения информации и других приложений на базе LLM.

    langchain
  2. LlamaFactory

    Фреймворк для дообучения LLM. Открытый проект упрощает fine-tuning больших языковых моделей, поддерживает LLaMA, Mistral, ChatGLM и другие модели, а также дополнительное предобучение, обучение reward-моделей и разные уровни точности. Современные алгоритмы и практические приёмы дообучения дополняются удобными инструментами мониторинга экспериментов.

    LlamaFactory
  3. ollama

    Локальный запуск разных LLM. Утилита на Go устанавливает, запускает и управляет большими языковыми моделями одной командой. Поддерживает Llama 3, Gemma, Mistral и другие модели, работает в Windows, macOS и Linux.

    ollama
  4. vanna

    Чат с SQL-базой данных. Технологии LLM, RAG и баз данных позволяют запрашивать SQL-базу естественным языком и получать ответы в виде сгенерированного SQL.

    vanna

Прочее

  1. cat-catch

    Открытое расширение браузера для поиска медиаресурсов. Расширение «Кошачья лапка» перечисляет адреса для скачивания музыки и видео на текущей странице.

    cat-catch
  2. containers

    Коллекция контейнерных образов открытых программ. Поддерживаемый Bitnami набор Docker-контейнеров содержит открытые приложения, системы и веб-приложения. Образы оптимизированы и проверены на уязвимости, поддерживают установку Docker одной командой и позволяют быстро развернуть приложение без долгой настройки.

    docker pull bitnami/APP
    docker pull bitnami/APP:[TAG]
  3. KawaiiLogos

    Коллекция очень милых логотипов. Репозиторий хранит логотипы, созданные Sawaratsuki: аккуратно нарисованные и выполненные в милом стиле знаки языков программирования, фреймворков, инструментов и популярных соцсетей с товарным знаком ™️.

    KawaiiLogos
  4. ungoogled-chromium

    Более чистый браузер Chrome. Браузер удаляет из Chrome сервисы Google, сохраняя все основные возможности.

  5. web-activity-time-tracker

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

    web-activity-time-tracker

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

  1. how-to-learn-robotics

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

  2. llm-universe

    «Практическая разработка приложений на больших моделях». Учебник для начинающих разработчиков приложений на больших языковых моделях. Охватывает основы больших моделей, вызов API, создание базы знаний, разработку приложений RAG (Retrieval-Augmented Generation) и методы оценки.