Mattermost, VS Code и исправление команд в Linux

Выпуск № 21 ·

Проекты на C

  1. kcp

    Быстрый надёжный протокол, реализованный как чистый алгоритм. Ценой увеличения расхода пропускной способности на 10–20% по сравнению с TCP он снижает среднюю задержку на 30–40%, а максимальную — в три раза.

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

  1. OpenCC

    Open-source проект для преобразования китайского текста между упрощённым и традиционным письмом. Попробовать онлайн

    • Строго различает случаи, когда одному упрощённому иероглифу соответствуют несколько традиционных форм или несколько вариантных написаний.
    • Полностью поддерживает вариантные иероглифы и их динамическую замену.
    • Словарные статьи с несколькими традиционными соответствиями тщательно выверены по принципу «разделять всё, что можно разделить».
    • Преобразует вариантные иероглифы и региональную лексику, например разные написания слова «внутри» и региональные обозначения компьютерной мыши: shǔbiāo («мышь») и huáshǔ («мышь»).
    • Словари полностью отделены от библиотеки: их можно свободно изменять, импортировать и расширять.
    • Поддерживает C++, Python, PHP, Java, Ruby, Node.js и другие языки.
    • Работает в Windows, Linux и macOS.

Проекты на Go

  1. mattermost

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

    mattermost

Проекты на Java

  1. android-material-design-icon-generator-plugin

    Простой в установке и использовании плагин для создания и оформления иконок в IntelliJ IDEA и Android Studio. Пример показан ниже:

    android-material-design-icon-generator-plugin
  2. blade

    Лёгкий, быстрый и лаконичный Java-фреймворк для веб-разработки, который помогает независимым разработчикам быстрее создавать веб-приложения. Доступны подробная документация на китайском языке и вводное видео на Bilibili (китайском видеохостинге). Пример кода:

    public static void main(String[] args) {
        Blade.me().get("/", (req, res) -> {
            res.text("Hello Blade");
        }).start();
    }
  3. canal

    Компонент для подписки на изменения в binlog MySQL и их обработки. Имитирует работу реплики MySQL, обеспечивая синхронизацию ведущего и ведомого серверов, а также разбирает журналы изменений. Ниже показана стандартная схема репликации MySQL:

    canal
  4. grain

    Минималистичный компонентный RPC-фреймворк — гибкий и удобный для изучения. Включает универсальную многопоточную модель и обмен сообщениями, распределённые блокировки для связей «многие ко многим», WebSocket-фреймворк на основе той же многопоточной модели и многопоточные блокировки с поддержкой блокировки на уровне строк.

    grain
  5. RxGalleryFinal

    Средство выбора изображений и видео для Android. Поддерживает выбор одного или нескольких файлов, съёмку и кадрирование.

Проекты на JavaScript

  1. anyupload

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

    anyupload
  2. git-point

    Неофициальный open-source клиент GitHub на React Native с широким набором функций: просмотр проектов и профилей пользователей, получение уведомлений и управление

    issues и pull request. Поддерживает Android и iOS; нужную версию можно скачать на странице релизов.

    git-point
  3. numeric-keyboard

    Цифровая клавиатура для мобильных устройств, включающая самостоятельный UI-компонент клавиатуры и комплект полей ввода. Доступна в трёх версиях: на чистом JavaScript, React и Vue.

    numeric-keyboard
  4. webster

    Распределённый фреймворк для веб-скрейпинга, способный извлекать асинхронно загружаемое AJAX-содержимое страниц.

    webster
  5. wepy

    Официальный open-source фреймворк WeChat для компонентной разработки мини-приложений. Возможности:

    • Стиль разработки, похожий на Vue.
    • Создание собственных компонентов.
    • Подключение пакетов NPM.
    • И многое другое.

Проекты на Kotlin

  1. profile-summary-for-github

    Сервис визуализации данных аккаунта GitHub с необычной механикой: статистика становится доступна после добавления звезды репозиторию.

    profile-summary-for-github

Проекты на Python

  1. jieba

    Мощная библиотека для сегментации китайского текста на Python, готовая к использованию без дополнительной настройки. Пример кода:

    # encoding=utf-8
    import jieba
    
    seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
    print("Full Mode: " + "/ ".join(seg_list))  # 全模式
    
    seg_list = jieba.cut("我来到北京清华大学", cut_all=False)
    print("Default Mode: " + "/ ".join(seg_list))  # 精确模式
    
    seg_list = jieba.cut("他来到了网易杭研大厦")  # 默认是精确模式
    print(", ".join(seg_list))
    
    seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造")  # 搜索引擎模式
    print(", ".join(seg_list))
    
    【全模式】: 我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学
    
    【精确模式】: 我/ 来到/ 北京/ 清华大学
    
    【新词识别】:他, 来到, 了, 网易, 杭研, 大厦    (此处,“杭研”并没有在词典中,但是也被Viterbi算法识别出来了)
    
    【搜索引擎模式】: 小明, 硕士, 毕业, 于, 中国, 科学, 学院, 科学院, 中国科学院, 计算, 计算所, 后, 在, 日本, 京都, 大学, 日本京都大学, 深造
  2. pydu

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

  3. thefuck

    Помощник для исправления опечаток в консольных командах Linux: после ошибочной команды достаточно ввести fuck, и утилита автоматически выполнит исправленный вариант. Пример работы показан ниже:

    thefuck
  4. youtube-dl

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

    # 1. 安装命令:sudo pip install youtube-dl
    Installing collected packages: youtube-dl
    Successfully installed youtube-dl-2017.12.14
    
    # 2. 查看 URL 支持格式:youtube-dl --list-formats URL
    format code  extension  resolution note
    134          mp4        450x360    DASH video  449k , avc1.4d4015, 25fps, video only
    17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k
    36           3gp        300x240    small , mp4v.20.3, mp4a.40.2
    18           mp4        450x360    medium , avc1.42001E, mp4a.40.2@ 96k
    43           webm       640x360    medium , vp8.0, vorbis@128k (best)
    
    # 3. 选择格式下载视频:youtube-dl -f 18 URL (18为mp4 450x360格式)
    [youtube:playlist] Downloading playlist PLF90USSyuoYzPhhFG7XFBRn63Zvs--lNP - add --no-playlist to just download video JyLducMVYVg
    [youtube:playlist] PLF90USSyuoYzPhhFG7XFBRn63Zvs--lNP: Downloading webpage
    [download] Downloading playlist: 情满四合院完整版
    [youtube:playlist] playlist 情满四合院完整版: Downloading 42 videos
    [download] Downloading video 1 of 42
    ...
    
    # 4. 下载完成后,最后使用 https://github.com/houtianze/bypy 库把下载的视频同步到百度网盘上

Прочее

  1. android-training-course-in-chinese

    Перевод официального учебного курса по Android на китайский язык. Читать онлайн

  2. git-flight-rules

    «Правила полётов» для Git — подробные стандартные процедуры для конкретных ситуаций. В проекте собраны способы и последовательности действий для решения проблем, возникающих при работе с Git. Доступен перевод на китайский язык.

  3. go-advice

    Советы по Go. Китайская версия

  4. hello-comic

    Подборка комиксов о программистах. Авторы приглашают присоединиться к проекту и поделиться интересными комиксами на эту тему.

  5. vscode

    Visual Studio Code — кроссплатформенный редактор Microsoft с открытым исходным кодом: компактный, функциональный, производительный и легко расширяемый. Он сразу подходит для написания фрагментов кода, статей и документации. По мнению автора, для проектов среднего размера и отладки удобнее полноценная IDE, но редактор определённо заслуживает рекомендации. Скачать

    vscode

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

  1. pydata-notebook

    Заметки к китайскому переводу второго издания книги «Python для анализа данных» (2017).