<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          騰訊十大最受歡迎的開源項目!

          共 5169字,需瀏覽 11分鐘

           ·

          2021-09-26 07:24

          高性能通用 key-value 組件

          MMKV 是基于 mmap 內(nèi)存映射的 key-value 組件,底層序列化/反序列化使用 protobuf 實現(xiàn),性能高,穩(wěn)定性強。從 2015 年中至今在微信上使用,其性能和穩(wěn)定性經(jīng)過了時間的驗證。近期也已移植到 Android / macOS / Win32 / POSIX 平臺,一并開源。

          MMKV 原理

          • 內(nèi)存準(zhǔn)備
            通過 mmap 內(nèi)存映射文件,提供一段可供隨時寫入的內(nèi)存塊,App 只管往里面寫數(shù)據(jù),由操作系統(tǒng)負(fù)責(zé)將內(nèi)存回寫到文件,不必?fù)?dān)心 crash 導(dǎo)致數(shù)據(jù)丟失。
          • 數(shù)據(jù)組織
            數(shù)據(jù)序列化方面我們選用 protobuf 協(xié)議,pb 在性能和空間占用上都有不錯的表現(xiàn)。

          • 寫入優(yōu)化
            考慮到主要使用場景是頻繁地進(jìn)行寫入更新,我們需要有增量更新的能力。我們考慮將增量 kv 對象序列化后,append 到內(nèi)存末尾。

          • 空間增長
            使用 append 實現(xiàn)增量更新帶來了一個新的問題,就是不斷 append 的話,文件大小會增長得不可控。我們需要在性能和空間上做個折中。

          項目地址

          開源地址:https://github.com/Tencent/MMKV

          APIJSON

          APIJSON 是一種專為 API 而生的 JSON 網(wǎng)絡(luò)傳輸協(xié)議 以及 基于這套協(xié)議實現(xiàn)的 ORM 庫。

          為 簡單的增刪改查、復(fù)雜的查詢、簡單的事務(wù)操作 提供了完全自動化的萬能 API。

          能大幅降低開發(fā)和溝通成本,簡化開發(fā)流程,縮短開發(fā)周期。
          適合中小型前后端分離的項目,尤其是 BaaS、Serverless、互聯(lián)網(wǎng)創(chuàng)業(yè)項目和企業(yè)自用項目。

          對于前端

          • 不用再向后端催接口、求文檔

          • 數(shù)據(jù)和結(jié)構(gòu)完全定制,要啥有啥

          • 看請求知結(jié)果,所求即所得

          • 可一次獲取任何數(shù)據(jù)、任何結(jié)構(gòu)

          • 能去除重復(fù)數(shù)據(jù),節(jié)省流量提高速度

          對于后端

          • 提供通用接口,大部分 API 不用再寫

          • 自動生成文檔,不用再編寫和維護(hù)

          • 自動校驗權(quán)限、自動管理版本、自動防 SQL 注入

          • 開放 API 無需劃分版本,始終保持兼容

          • 支持增刪改查、模糊搜索、正則匹配、遠(yuǎn)程函數(shù)等

          項目地址

          github地址:https://github.com/Tencent/APIJSON

          跨平臺跨業(yè)務(wù)的終端基礎(chǔ)組件

          Mars 是微信官方的跨平臺跨業(yè)務(wù)的終端基礎(chǔ)組件。
          • comm:可以獨立使用的公共庫,包括 socket、線程、消息隊列、協(xié)程等;
          • xlog:高可靠性高性能的運行期日志組件;
          • SDT:網(wǎng)絡(luò)診斷組件;
          • STN:信令分發(fā)網(wǎng)絡(luò)模塊,也是 Mars 最主要的部分

          項目地址

          開源地址:https://github.com/Tencent/Mars

          高性能神經(jīng)網(wǎng)絡(luò)前向計算框架

          ncnn 是一個為手機(jī)端極致優(yōu)化的高性能神經(jīng)網(wǎng)絡(luò)前向計算框架。ncnn 從設(shè)計之初深刻考慮手機(jī)端的部署和使用。無第三方依賴,跨平臺,手機(jī)端 cpu 的速度快于目前所有已知的開源框架。基于 ncnn,開發(fā)者能夠?qū)⑸疃葘W(xué)習(xí)算法輕松移植到手機(jī)端高效執(zhí)行,開發(fā)出人工智能 APP,將 AI 帶到你的指尖。ncnn 目前已在騰訊多款應(yīng)用中使用,如 QQ,Qzone,微信,天天P圖等。

          功能概述

          • 支持卷積神經(jīng)網(wǎng)絡(luò),支持多輸入和多分支結(jié)構(gòu),可計算部分分支

          • 無任何第三方庫依賴,不依賴 BLAS/NNPACK 等計算框架

          • 純 C++ 實現(xiàn),跨平臺,支持 android ios 等

          • ARM NEON 匯編級良心優(yōu)化,計算速度極快

          • 精細(xì)的內(nèi)存管理和數(shù)據(jù)結(jié)構(gòu)設(shè)計,內(nèi)存占用極低

          • 支持多核并行計算加速,ARM big.LITTLE cpu 調(diào)度優(yōu)化

          • 支持基于全新低消耗的 vulkan api GPU 加速

          • 整體庫體積小于 700K,并可輕松精簡到小于 300K

          項目地址

          開源地址:https://github.com/Tencent/ncnn

          Android熱補丁解決方案

          Tinker是微信官方的Android熱補丁解決方案,它支持動態(tài)下發(fā)代碼、So庫以及資源,讓應(yīng)用能夠在不需要重新安裝的情況下實現(xiàn)更新。當(dāng)然,你也可以使用Tinker來更新你的插件。
          它主要包括以下幾個部分:
          • gradle編譯插件: tinker-patch-gradle-plugin
          • 核心sdk庫: tinker-android-lib
          • 非gradle編譯用戶的命令行版本: tinker-patch-cli.jar

          項目地址

          github地址:https://github.com/Tencent/tinker

          c/c++協(xié)程庫

          libco是微信后臺大規(guī)模使用的c/c++協(xié)程庫,2013年至今穩(wěn)定運行在微信后臺的數(shù)萬臺機(jī)器上。

          libco通過僅有的幾個函數(shù)接口 co_create/co_resume/co_yield 再配合 co_poll,可以支持同步或者異步的寫法,如線程庫一樣輕松。同時庫里面提供了socket族函數(shù)的hook,使得后臺邏輯服務(wù)幾乎不用修改邏輯代碼就可以完成異步化改造。

          libco的特性

          • 無需侵入業(yè)務(wù)邏輯,把多進(jìn)程、多線程服務(wù)改造成協(xié)程服務(wù),并發(fā)能力得到百倍提升;
          • 支持CGI框架,輕松構(gòu)建web服務(wù)(New);
          • 支持gethostbyname、mysqlclient、ssl等常用第三庫(New);
          • 可選的共享棧模式,單機(jī)輕松接入千萬連接(New);
          • 完善簡潔的協(xié)程編程接口
          • 類pthread接口設(shè)計,通過co_create、co_resume等簡單清晰接口即可完成協(xié)程的創(chuàng)建與恢復(fù);
          • __thread的協(xié)程私有變量、協(xié)程間通信的協(xié)程信號量co_signal (New);
          • 語言級別的lambda實現(xiàn),結(jié)合協(xié)程原地編寫并執(zhí)行后臺異步任務(wù) (New);
          • 基于epoll/kqueue實現(xiàn)的小而輕的網(wǎng)絡(luò)框架,基于時間輪盤實現(xiàn)的高性能定時器;

          項目地址

          開源地址:https://github.com/Tencent/libco

          Android插件框架

          Shadow是一個騰訊自主研發(fā)的Android插件框架,經(jīng)過線上億級用戶量檢驗。Shadow不僅開源分享了插件技術(shù)的關(guān)鍵代碼,還完整的分享了上線部署所需要的所有設(shè)計。
          與市面上其他插件框架相比,Shadow主要具有以下特點:
          復(fù)用獨立安裝App的源碼:插件App的源碼原本就是可以正常安裝運行的。
          零反射無Hack實現(xiàn)插件技術(shù):從理論上就已經(jīng)確定無需對任何系統(tǒng)做兼容開發(fā),更無任何隱藏API調(diào)用,和Google限制非公開SDK接口訪問的策略完全不沖突。
          全動態(tài)插件框架:一次性實現(xiàn)完美的插件框架很難,但Shadow將這些實現(xiàn)全部動態(tài)化起來,使插件框架的代碼成為了插件的一部分。插件的迭代不再受宿主打包了舊版本插件框架所限制。
          宿主增量極小:得益于全動態(tài)實現(xiàn),真正合入宿主程序的代碼量極小(15KB,160方法數(shù)左右)。
          Kotlin實現(xiàn):core.loader,core.transform核心代碼完全用Kotlin實現(xiàn),代碼簡潔易維護(hù)。

          項目地址

          github地址:https://github.com/Tencent/Shadow

          新生的跨端開發(fā)框架

          Hippy 是一個新生的跨端開發(fā)框架,目標(biāo)是使開發(fā)者可以只寫一套代碼就直接運行于三個平臺(iOS、Android 和 Web)。Hippy 的設(shè)計是面向傳統(tǒng) Web 開發(fā)者的,特別是之前有過 React Native 和 Vue 的開發(fā)者用起來會更為順手,Hippy 致力于讓前端開發(fā)跨端 App 更加容易。

          到目前為止,騰訊內(nèi)已經(jīng)有了27款流行 App 在使用 Hippy 框架,包括手機(jī)QQ、手機(jī)QQ瀏覽器、騰訊視頻App,QQ音樂App等,每日觸達(dá)數(shù)億用戶。

          特征

          • 為傳統(tǒng) Web 前端設(shè)計,官方支持 React 和 Vue 兩種主流前端框架。

          • 不同的平臺保持了相同的接口。

          • 通過 JS 引擎 binding 模式實現(xiàn)的前終端通訊,具備超強性能。

          • 提供了高性能的可復(fù)用列表。

          • 皆可平滑遷移到 Web 瀏覽器。

          • 完整支持 Flex 的布局引擎。

          項目地址

          github地址:https://github.com/Tencent/Hippy

          小程序支持組件化開發(fā)的框架

          WePY (發(fā)音: /'wepi/)是一款讓小程序支持組件化開發(fā)的框架,通過預(yù)編譯的手段讓開發(fā)者可以選擇自己喜歡的開發(fā)風(fēng)格去開發(fā)小程序。框架的細(xì)節(jié)優(yōu)化,Promise,Async Functions 的引入都是為了能讓開發(fā)小程序項目變得更加簡單,高效。
          同時 WePY 也是一款成長中的框架,大量吸收借鑒了一些優(yōu)化前端工具以及框架的設(shè)計理念和思想。如果 WePY 有不足地方,或者你有更好的想法,歡迎提交 ISSUE 或者 PR。

          特性:

          • 類 Vue 開發(fā)風(fēng)格
          • 支持自定義組件開發(fā)
          • 支持引入 NPM 包
          • 支持 Promise
          • 支持 ES2015+ 特性,如 Async Functions
          • 支持多種編譯器,Less/Sass/Stylus/PostCSS、Babel/Typescript、Pug
          • 支持多種插件處理,文件壓縮,圖片壓縮,內(nèi)容替換等
          • 支持 Sourcemap,ESLint 等
          • 小程序細(xì)節(jié)優(yōu)化,如請求列隊,事件優(yōu)化等

          項目地址

          github地址:https://github.com/Tencent/wepy

          物聯(lián)網(wǎng)領(lǐng)域開發(fā)的實時操作系統(tǒng)

          TencentOS tiny 是騰訊面向物聯(lián)網(wǎng)領(lǐng)域開發(fā)的實時操作系統(tǒng),具有低功耗,低資源占用,模塊化,安全可靠等特點,可有效提升物聯(lián)網(wǎng)終端產(chǎn)品開發(fā)效率。TencentOS tiny 提供精簡的 RTOS 內(nèi)核,內(nèi)核組件可裁剪可配置,可快速移植到多種主流 MCU (如 STM32 全系列)及模組芯片上。而且,基于 RTOS 內(nèi)核提供了豐富的物聯(lián)網(wǎng)組件,內(nèi)部集成主流物聯(lián)網(wǎng)協(xié)議棧(如 CoAP/MQTT/TLS/DTLS/LoRaWAN/NB-IoT 等),可助力物聯(lián)網(wǎng)終端設(shè)備及業(yè)務(wù)快速接入騰訊云物聯(lián)網(wǎng)平臺。

          TencentOS tiny整體架構(gòu)

          TencentOS tiny 主體架構(gòu)圖,從下到上主要包括:

          CPU 庫 :TencentOS tiny 支持的 CPU IP 核架構(gòu),當(dāng)前主要支持 ARM Cortex M0/3/4/7,Cortex A7,RISC-V、MSP430、AVR、STM8 等。
          驅(qū)動管理層 :包括板級支持包(BSP,主要由 MCU 芯片廠家開發(fā)與維護(hù))、硬件抽象層(HAL,主要由 TencentOS tiny 提供,方便不同芯片的適配與移植)、設(shè)備驅(qū)動(Drivers,例如 Wi-Fi、GPRS、LoRa 等模塊的驅(qū)動程序)。
          內(nèi)核 :TencentOS tiny 實時內(nèi)核包括任務(wù)管理、實時調(diào)度、時間管理、中斷管理、內(nèi)存管理、異常處理、軟件定時器、鏈表、消息隊列、信號量、互斥鎖、事件標(biāo)志等模塊。
          IoT 協(xié)議棧:TencentOS tiny 提供 lwip、AT Adapter、SAL 層,支持不同的網(wǎng)絡(luò)硬件,例如以太網(wǎng)、串口 Wi-Fi、GPRS、NB-IoT、4G 等通信模塊。TCP/IP 網(wǎng)絡(luò)協(xié)議棧上提供常用的物聯(lián)網(wǎng)協(xié)議棧,例如 CoAP、MQTT,支撐終端業(yè)務(wù)快速接入騰訊云。
          安全框架:TencentOS tiny 為了確保物聯(lián)網(wǎng)終端數(shù)據(jù)傳輸安全以及設(shè)備認(rèn)證安全,提供了完整的安全解決方案。安全框架提供的 DTLS 和 TLS 安全協(xié)議,加固了 COAP 及 MQTT 的傳輸層,可確保物聯(lián)網(wǎng)終端在對接騰訊云時實現(xiàn)安全認(rèn)證和數(shù)據(jù)加密;另外針對低資源的終端硬件,安全框架還提供與騰訊云 IoTHub 配套的密鑰認(rèn)證方案,確保資源受限設(shè)備也能在一定程度上實現(xiàn)設(shè)備安全認(rèn)證。
          組件框架:TencentOS tiny 提供文件系統(tǒng)、KV 存儲、自組網(wǎng)、JS 引擎、低功耗框架、設(shè)備框架、OTA、調(diào)試工具鏈等一系列組件,供用戶根據(jù)業(yè)務(wù)場景選用。

          項目地址

          github地址:https://github.com/Tencent/TencentOS-tiny

          推薦閱讀:

          世界的真實格局分析,地球人類社會底層運行原理

          不是你需要中臺,而是一名合格的架構(gòu)師(附各大廠中臺建設(shè)PPT)

          企業(yè)IT技術(shù)架構(gòu)規(guī)劃方案

          論數(shù)字化轉(zhuǎn)型——轉(zhuǎn)什么,如何轉(zhuǎn)?

          華為干部與人才發(fā)展手冊(附PPT)

          企業(yè)10大管理流程圖,數(shù)字化轉(zhuǎn)型從業(yè)者必備!

          【中臺實踐】華為大數(shù)據(jù)中臺架構(gòu)分享.pdf

          華為的數(shù)字化轉(zhuǎn)型方法論

          華為如何實施數(shù)字化轉(zhuǎn)型(附PPT)

          超詳細(xì)280頁Docker實戰(zhàn)文檔!開放下載

          華為大數(shù)據(jù)解決方案(PPT)

          瀏覽 38
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲xxxxx | 青娱乐亚洲精品在线观看 | 亚洲丁香花在线 | 久久少妇视频 | aa黃色片 |