Проекты на C
-
reading-code-of-nginx-1.9.2
Подробный разбор исходного кода nginx 1.9.2 с пояснениями на китайском к функциям и комментариями о последовательности их вызовов.
Проекты на Go
-
knowledge
Карта знаний по Go.
-
lux
Быстрая, простая и аккуратная программа для скачивания видео на Go. Поддерживает Bilibili (китайский видеохостинг) и YouTube.
$ annie -c cookies.txt https://www.bilibili.com/video/av20203945/ Site: 哔哩哔哩 bilibili.com Title: 【2018拜年祭单品】相遇day by day Type: video Stream: [default] ------------------- Quality: 高清 1080P60 Size: 220.65 MiB (231363071 Bytes) # download with: annie -f default "URL" 16.03 MiB / 220.65 MiB [==>----------------------------] 7.26% 9.65 MiB/s 19s
Проекты на Java
-
PreLoader
В Android сетевой запрос обычно отправляют только после инициализации UI, чтобы корректно показать полученные данные. Из-за такого последовательного выполнения общая инициализация экрана занимает больше времени. Инструмент позволяет загрузить данные перед открытием экрана, а после инициализации UI получить готовый результат и показать его. Это сокращает время запуска и улучшает впечатления пользователя. Пример:
// 开启预加载任务 int preLoaderId = PreLoader.preLoad(new Loader()); Intent intent = new Intent(this, PreLoadBeforeLaunchActivity.class); intent.putExtra("preLoaderId", preLoaderId); startActivity(intent); // 预加载任务:模拟网络接口请求获取数据 class Loader implements DataLoader<String> { @Override public String loadData() { //此方法在线程池中运行,无需再开子线程去加载数据 try { Thread.sleep(600); } catch (InterruptedException ignored) { } return "data from network server"; } } // 在Activity(或Fragment)中UI初始化完成后开始监听预加载数据 PreLoader.listenData(preLoaderId, new Listener()); // 数据加载完成后,会调用DataListener.onDataArrived(...)来处理加载后的数据 class Listener implements DataListener<String> { @Override public void onDataArrived(String data) { //此方法在主线程中运行,无需使用Handler切换线程运行 Toast.makeText(activity, data, Toast.LENGTH_SHORT).show(); } } -
SuperLike
Анимация вылетающих реакций из Toutiao — китайского новостного сервиса.

Проекты на JavaScript
-
30-seconds-of-code
Подборка полезных фрагментов кода на JavaScript, каждый из которых можно понять за 30 секунд или быстрее.

-
chrome-music-lab
Музыкальная лаборатория Chrome — сайт, с которым учиться музыке проще и интереснее. Он полностью работает в браузере, доступен в Китае, подходит людям любого возраста и поддерживает разные музыкальные инструменты.

-
mpvue
Фронтенд-фреймворк для мини-приложений. Он основан на ядре Vue.js, но использует изменённые реализации runtime и compiler, поэтому работает в среде мини-приложений и даёт привычные возможности разработки на Vue.js. Пятиминутное вводное видео
- Полноценная компонентная разработка повышает повторное использование кода
- Все привычные возможности разработки на Vue.js
- Удобное управление данными через Vuex для создания сложных приложений
- Быстрая сборка с webpack: собственные стратегии сборки и hotReload во время разработки
- Поддержка внешних зависимостей из npm
- Быстрая инициализация проекта с помощью консольной утилиты vue-cli
- Преобразование и компиляция H5-кода в целевой код мини-приложения
-
node-in-debugging
Автор «Руководства по отладке Node.js» собрал опыт и подходы к отладке, накопленные за несколько лет разработки на Node.js.
Проекты на Objective-C
-
LSAnimator
LSAnimator для Objective-C и CoreAnimator для Swift позволяют создавать сложные и удобные в сопровождении анимации небольшим объёмом кода, а также устраняют критический недостаток JHChainableAnimations. Подробное описание

-
WeChatPlugin-MacOS
Помощник для WeChat на Mac. Поддерживает автоматические ответы, защиту сообщений от отзыва, удалённое управление, запуск нескольких копий WeChat, перемещение диалогов вниз списка, вход без подтверждения и быстрые ответы из уведомлений.

Проекты на PHP
-
dzzoffice
Комплект офисных приложений с открытым кодом. Позволяет компаниям и командам развернуть собственную платформу для совместной работы, похожую на Google Workspace и Microsoft Office 365. Онлайн-демонстрация

Проекты на Python
-
haipproxy
Высокодоступный распределённый пул IP-прокси на Scrapy и Redis. Обеспечивает крупные распределённые веб-краулеры доступными прокси с низкой задержкой.
from client.py_cli import ProxyFetcher args = dict(host='127.0.0.1', port=6379, password='123456', db=0) # 这里`zhihu`的意思是,去和`zhihu`相关的代理ip校验队列中获取ip # 这么做的原因是同一个代理IP对不同网站代理效果不同 fetcher = ProxyFetcher('zhihu', strategy='greedy', redis_args=args) # 获取一个可用代理 print(fetcher.get_proxy()) # 获取可用代理列表 print(fetcher.get_proxies()) # or print(fetcher.pool)Результаты реального теста производительности пула при сборе данных с Zhihu (китайского аналога Quora):

-
MovieHeavens
Программа на PyQt4 для поиска фильмов на сайте Movie Heaven: больше не придётся терпеть рекламу и лишние переходы по ссылкам.

-
WechatSogou
Простая в освоении библиотека для сбора данных о публичных аккаунтах WeChat через поиск Sogou WeChat. Пример:
import wechatsogou ws_api = wechatsogou.WechatSogouAPI() ws_api.get_gzh_info('微信名称')
Проекты на Swift
-
iina
Мультимедийный проигрыватель с открытым кодом для Mac. Поддерживает несколько языков и предлагает стильный интерфейс. Установка:
brew cask install iina
Искусственный интеллект
-
ailearning
«Машинное обучение на практике» от ApacheCN. Если вы уверенно программируете, рекомендуем видео «Машинное обучение на практике — учебная версия» на Bilibili (китайском видеохостинге).
Если опыта программирования меньше, рекомендуем «Машинное обучение на практике — версия с обсуждением».
-
DeepLeague
Небольшой проект по машинному обучению для League of Legends, подходящий для изучения применения алгоритмов компьютерного зрения и ML.

-
tensorflow-docs
Китайская версия официальной документации TensorFlow, которую постоянно обновляет переводческий проект Juejin (китайского сообщества разработчиков). Над переводом работают разработчики крупных компаний, а также исследователи и студенты известных университетов со всего мира.
Прочее
-
blog
Блог технической команды Ant Data Experience.
-
CS-Notes
Основы для подготовки к техническим собеседованиям: компьютерные сети, операционные системы, алгоритмы, базы данных, Java, распределённые системы и другие темы.
-
front-end-interview-handbook
В отличие от обычных собеседований разработчиков, на фронтенд-собеседованиях алгоритмам уделяют меньше внимания. Вместо них чаще проверяют обширные знания HTML, CSS, JavaScript и других фронтенд-технологий. Проект собрал такие вопросы, ответы на них и ссылки на дополнительные материалы. Версия на китайском
-
work-in-australia
Руководство о том, как программисту устроиться на работу в Австралии.