Автопилот Apollo и универсальный клиент SQL

Выпуск № 27 ·

Проекты на C#

  1. cms

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

    cms
  2. Rosin

    Плагин для Fiddler, который помогает разрабатывать и отлаживать мобильные веб-страницы.

    Rosin

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

  1. apollo

    Открытая платформа автономного вождения, разработанная Baidu. Она помогает автопроизводителям и компаниям из этой отрасли объединять автомобили и аппаратные системы, чтобы быстро создавать собственные системы автопилота.

  2. brpc

    RPC-фреймворк от Baidu с открытым кодом, который используется более чем в миллионе экземпляров и свыше 500 сервисах.

  3. MyTinySTL

    Компактная реализация STL на C++11 с библиотеками контейнеров и алгоритмов. Код имеет ясную структуру, снабжён документацией и комментариями на китайском языке, а также простым тестовым фреймворком — хороший материал для начинающих. Пример:

    // 在尾部插入元素
    template <class T>
    void vector<T>::push_back(const value_type& value)
    {
      if (end_ != cap_)
      {
        data_allocator::construct(mystl::address_of(*end_), value);
        ++end_;
      }
      else
      {
        reallocate_insert(end_, value);
      }
    }

Проекты на Go

  1. appify

    Упаковщик программ на Go в приложения для macOS. С его помощью небольшую утилиту можно превратить в приложение, которое другие пользователи смогут скачать и запустить двойным щелчком. Поддерживает собственные название и логотип, поэтому подготовить программу к публикации можно за несколько минут:

    # 1.安装命令
    $ go get github.com/machinebox/appify
    
    # 2.封装命令
    $ appify -name "My Go Application" -icon ./icon.png /path/to/bin
    appify
  2. usql

    Универсальный консольный SQL-клиент. Поддерживает все перечисленные базы данных и протоколы:

    • Microsoft SQL Server (mssql) — ms, sqlserver
    • MySQL (mysql) — my, mariadb, maria, percona, aurora
    • Oracle (ora) — or, oracle, oci8, oci
    • PostgreSQL (postgres) — pg, postgresql, pgsql
    • SQLite3 (sqlite3) — sq, sqlite, file
    安装方法
    1. 根据你的系统下载最新的 binary
    2. 解压缩出 `usql` 或者 `usql.exe`
    3. 把binary放到你的 `$PATH` (Linux/macOS) 或 `%PATH%` (Windows)路径下
    4. 然后就可以用`usql`链接到你喜欢的SQL数据库啦~

Проекты на Java

  1. RetrofitUrlManager

    Простой API, который добавляет в Retrofit поддержку нескольких BaseUrl и позволяет менять их динамически.

    RetrofitUrlManager

Проекты на JavaScript

  1. echarts

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

    echarts
  2. simpread

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

    simpread
  3. v-region

    Компонент выбора провинции, города и района Китая на Vue. Его легко переиспользовать и подключить к проекту, а интерактивный выбор упрощает ввод адреса. Документация и пример:

    <v-region :city="false" :area="false" class="form-control"></v-region> // 只显示省份
    <v-region :area="false" class="form-control"></v-region> // 显示省市
    <v-region class="form-control"></v-region> // 显示省市区
    v-region
  4. whistle

    Кроссплатформенный прокси для отладки веб-приложений на Node.js, похожий на Fiddler для Windows. Позволяет просматривать и изменять запросы и ответы HTTP, HTTPS и WebSocket, а также работать как HTTP-прокси. В отличие от Fiddler, где запросы и ответы изменяют с помощью точек останова, whistle управляется правилами, похожими на настройки системного файла hosts. Через конфигурацию можно одним действием переключать сложное фронтенд-окружение между продакшеном, разработкой и исправлением ошибок.

Проекты на Objective-C

  1. KafkaRefresh

    Гибкий и настраиваемый iOS-фреймворк обновления жестом вниз со множеством встроенных анимаций. Документация на китайском языке.

    KafkaRefresh

Проекты на Python

  1. pudb

    Полноэкранный визуальный отладчик Python для терминала, намного удобнее pdb. Возможности:

    • Подсветка синтаксиса исходного кода; постоянно обновляемые стеки, точки останова и переменные. Отображение переменных гибко настраивается.
    • Простое и эффективное управление с клавиатуры, перемещение в стиле VI и поддержка некоторых команд PDB.
    • Поиск по исходному коду и просмотр загруженных модулей через обозреватель модулей командой m.
    • Установка точек останова: достаточно перейти на строку кода и нажать b, после чего точку можно отредактировать в отдельном окне.
    pudb
  2. tenacity

    Библиотека для изящной реализации повторных попыток по разным сценариям. Пример:

    from tenacity import retry, stop_after_attempt
    
    # 通过装饰器,实现遇到异常重试3次
    @retry(stop=stop_after_attempt(3)) 
    def get_data(url):
        response = requests.get(url)
        response_json = response.json()
  3. unimatrix

    Скрипт, имитирующий в терминале анимацию из фильма «Матрица».

    unimatrix

Проекты на Ruby

  1. hacker101

    Бесплатный курс по безопасности веб-приложений на английском языке. Полезные материалы найдут и разработчики, и участники программ поиска уязвимостей за вознаграждение, и опытные специалисты по безопасности. Курс Hacker101 содержит множество примеров кода на Ruby и интерактивных демонстраций.

Проекты на Swift

  1. IBAnimatable

    Библиотека с открытым кодом для проектирования интерфейсов, взаимодействий, навигации, переходов и анимаций в Interface Builder и Swift Playground. Показанное на иллюстрации приложение целиком создано с помощью IBAnimatable в Interface Builder без единой строки кода.

    IBAnimatable
  2. TuringCalendar

    Лимитированный «Календарь программиста 2018» от издательства Turing пользовался популярностью у разработчиков благодаря лаконичному дизайну и рассказам о новом языке программирования каждую неделю. После публикации исходных PDF-файлов появился этот проект — виджет календаря для рабочего стола macOS. Результат показан ниже:

    TuringCalendar

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

  1. elasticsearch-spark-recommender

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

    elasticsearch-spark-recommender
  2. simplified-deeplearning

    Конспект книги «Глубокое обучение» (Deep Learning Book).

Прочее

  1. build-your-own-x

    Коллекция руководств на английском языке по самостоятельному созданию известных программных инструментов на разных языках. Фейнман говорил: «Чего я не могу создать, того я не понимаю».

  2. Front-End-Checklist

    Подробный список тестов и проверок фронтенда перед выпуском сайта в продакшен. Версия на китайском языке.