1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        【拓展】騰訊十大最受歡迎的開源項(xiàng)目!

        共 4963字,需瀏覽 10分鐘

         ·

        2021-09-14 13:45




        高性能通用 key-value 組件

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

        MMKV 原理

        • 內(nèi)存準(zhǔn)備
          通過 mmap 內(nèi)存映射文件,提供一段可供隨時(shí)寫入的內(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 在性能和空間占用上都有不錯(cuò)的表現(xiàn)。

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

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

        項(xiàng)目地址

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

        APIJSON

        APIJSON 是一種專為 API 而生的 JSON 網(wǎng)絡(luò)傳輸協(xié)議 以及 基于這套協(xié)議實(shí)現(xiàn)的 ORM 庫(kù)。
        為 簡(jiǎn)單的增刪改查、復(fù)雜的查詢、簡(jiǎn)單的事務(wù)操作 提供了完全自動(dòng)化的萬能 API。
        能大幅降低開發(fā)和溝通成本,簡(jiǎn)化開發(fā)流程,縮短開發(fā)周期。
        適合中小型前后端分離的項(xiàng)目,尤其是 BaaS、Serverless、互聯(lián)網(wǎng)創(chuàng)業(yè)項(xiàng)目和企業(yè)自用項(xiàng)目。

        對(duì)于前端

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

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

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

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

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

        對(duì)于后端

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

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

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

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

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

        項(xiàng)目地址

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

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

        Mars 是微信官方的跨平臺(tái)跨業(yè)務(wù)的終端基礎(chǔ)組件。

        • comm:可以獨(dú)立使用的公共庫(kù),包括 socket、線程、消息隊(duì)列、協(xié)程等;

        • xlog:高可靠性高性能的運(yùn)行期日志組件;

        • SDT:網(wǎng)絡(luò)診斷組件;

        • STN:信令分發(fā)網(wǎng)絡(luò)模塊,也是 Mars 最主要的部分。

        項(xiàng)目地址

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

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

        ncnn 是一個(gè)為手機(jī)端極致優(yōu)化的高性能神經(jīng)網(wǎng)絡(luò)前向計(jì)算框架。ncnn 從設(shè)計(jì)之初深刻考慮手機(jī)端的部署和使用。無第三方依賴,跨平臺(tái),手機(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),可計(jì)算部分分支

        • 無任何第三方庫(kù)依賴,不依賴 BLAS/NNPACK 等計(jì)算框架

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

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

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

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

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

        • 整體庫(kù)體積小于 700K,并可輕松精簡(jiǎn)到小于 300K

        項(xiàng)目地址

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

        Android熱補(bǔ)丁解決方案

        Tinker是微信官方的Android熱補(bǔ)丁解決方案,它支持動(dòng)態(tài)下發(fā)代碼、So庫(kù)以及資源,讓應(yīng)用能夠在不需要重新安裝的情況下實(shí)現(xiàn)更新。當(dāng)然,你也可以使用Tinker來更新你的插件。

        它主要包括以下幾個(gè)部分:

        • gradle編譯插件: tinker-patch-gradle-plugin

        • 核心sdk庫(kù): tinker-android-lib

        • 非gradle編譯用戶的命令行版本: tinker-patch-cli.jar

        項(xiàng)目地址

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

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

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

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

        libco的特性

        • 無需侵入業(yè)務(wù)邏輯,把多進(jìn)程、多線程服務(wù)改造成協(xié)程服務(wù),并發(fā)能力得到百倍提升;

        • 支持CGI框架,輕松構(gòu)建web服務(wù)(New);

        • 支持gethostbyname、mysqlclient、ssl等常用第三庫(kù)(New);

        • 可選的共享?xiàng)DJ剑瑔螜C(jī)輕松接入千萬連接(New);

        • 完善簡(jiǎn)潔的協(xié)程編程接口

        • 類pthread接口設(shè)計(jì),通過co_create、co_resume等簡(jiǎn)單清晰接口即可完成協(xié)程的創(chuàng)建與恢復(fù);

        • __thread的協(xié)程私有變量、協(xié)程間通信的協(xié)程信號(hào)量co_signal (New);

        • 語(yǔ)言級(jí)別的lambda實(shí)現(xiàn),結(jié)合協(xié)程原地編寫并執(zhí)行后臺(tái)異步任務(wù) (New);

        • 基于epoll/kqueue實(shí)現(xiàn)的小而輕的網(wǎng)絡(luò)框架,基于時(shí)間輪盤實(shí)現(xiàn)的高性能定時(shí)器;

        項(xiàng)目地址

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

        10個(gè)表單特效,你可能會(huì)用到!

        Android插件框架

        Shadow是一個(gè)騰訊自主研發(fā)的Android插件框架,經(jīng)過線上億級(jí)用戶量檢驗(yàn)。Shadow不僅開源分享了插件技術(shù)的關(guān)鍵代碼,還完整的分享了上線部署所需要的所有設(shè)計(jì)。

        與市面上其他插件框架相比,Shadow主要具有以下特點(diǎn):

        復(fù)用獨(dú)立安裝App的源碼:插件App的源碼原本就是可以正常安裝運(yùn)行的。
        零反射無Hack實(shí)現(xiàn)插件技術(shù):從理論上就已經(jīng)確定無需對(duì)任何系統(tǒng)做兼容開發(fā),更無任何隱藏API調(diào)用,和Google限制非公開SDK接口訪問的策略完全不沖突。
        全動(dòng)態(tài)插件框架:一次性實(shí)現(xiàn)完美的插件框架很難,但Shadow將這些實(shí)現(xiàn)全部動(dòng)態(tài)化起來,使插件框架的代碼成為了插件的一部分。插件的迭代不再受宿主打包了舊版本插件框架所限制。
        宿主增量極?。旱靡嬗谌珓?dòng)態(tài)實(shí)現(xiàn),真正合入宿主程序的代碼量極?。?5KB,160方法數(shù)左右)。
        Kotlin實(shí)現(xiàn):core.loader,core.transform核心代碼完全用Kotlin實(shí)現(xiàn),代碼簡(jiǎn)潔易維護(hù)。

        項(xiàng)目地址

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

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

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

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

        特征

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

        • 不同的平臺(tái)保持了相同的接口。

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

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

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

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

        項(xiàng)目地址

        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ā)小程序項(xiàng)目變得更加簡(jiǎn)單,高效。

        同時(shí) WePY 也是一款成長(zhǎng)中的框架,大量吸收借鑒了一些優(yōu)化前端工具以及框架的設(shè)計(jì)理念和思想。如果 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)化,如請(qǐng)求列隊(duì),事件優(yōu)化等

        項(xiàng)目地址

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

        css 之美,11個(gè)登錄表單特效,你可能會(huì)用到!

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

        TencentOS tiny 是騰訊面向物聯(lián)網(wǎng)領(lǐng)域開發(fā)的實(shí)時(shí)操作系統(tǒng),具有低功耗,低資源占用,模塊化,安全可靠等特點(diǎn),可有效提升物聯(lián)網(wǎng)終端產(chǎn)品開發(fā)效率。TencentOS tiny 提供精簡(jiǎn)的 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)平臺(tái)。

        TencentOS tiny整體架構(gòu)

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

        CPU 庫(kù) :TencentOS tiny 支持的 CPU IP 核架構(gòu),當(dāng)前主要支持 ARM Cortex M0/3/4/7,Cortex A7,RISC-V、MSP430、AVR、STM8 等。

        驅(qū)動(dòng)管理層 :包括板級(jí)支持包(BSP,主要由 MCU 芯片廠家開發(fā)與維護(hù))、硬件抽象層(HAL,主要由 TencentOS tiny 提供,方便不同芯片的適配與移植)、設(shè)備驅(qū)動(dòng)(Drivers,例如 Wi-Fi、GPRS、LoRa 等模塊的驅(qū)動(dòng)程序)。

        內(nèi)核 :TencentOS tiny 實(shí)時(shí)內(nèi)核包括任務(wù)管理、實(shí)時(shí)調(diào)度、時(shí)間管理、中斷管理、內(nèi)存管理、異常處理、軟件定時(shí)器、鏈表、消息隊(duì)列、信號(hào)量、互斥鎖、事件標(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)終端在對(duì)接騰訊云時(shí)實(shí)現(xiàn)安全認(rèn)證和數(shù)據(jù)加密;另外針對(duì)低資源的終端硬件,安全框架還提供與騰訊云 IoTHub 配套的密鑰認(rèn)證方案,確保資源受限設(shè)備也能在一定程度上實(shí)現(xiàn)設(shè)備安全認(rèn)證。

        組件框架:TencentOS tiny 提供文件系統(tǒng)、KV 存儲(chǔ)、自組網(wǎng)、JS 引擎、低功耗框架、設(shè)備框架、OTA、調(diào)試工具鏈等一系列組件,供用戶根據(jù)業(yè)務(wù)場(chǎng)景選用。

        項(xiàng)目地址

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

        瀏覽 33
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            舔逼视频在线观看 | 操逼123-首页 | 女人18片毛片90分钟视频播放 | 国产在线观看无码 | 欧美一区二区三区大片 | 丰满少妇高潮惨叫久久久久 | 欧美精品xxx | 插美女小穴黄色视频网站免费观看 | 淫香淫色综合网天天插 | 高清无码操逼 |