chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

UUID正在被NanoID取代?

Android編程精選 ? 來源:Android編程精選 ? 作者:Android編程精選 ? 2022-04-02 14:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

UUID 是軟件開發(fā)中最常用的通用標(biāo)識符之一。然而,在過去的幾年里,其他的競品挑戰(zhàn)了它的存在。 其中,NanoID 是 UUID 的主要競爭對手之一。 因此,在本文中,我們將展開討論 NanoID 的功能、它的亮點(diǎn)以及它的局限性,以便讓我們更好地了解何時(shí)使用它。

了解 NanoID 及其用法

對于 JavaScript,生成 UUID 或 NanoID 都非常簡單。它們都有對應(yīng)的 NPM 包來幫助我們實(shí)現(xiàn)生成。 我們所需要做的就是運(yùn)行npm i nanoid命令安裝 NanoID NPM 庫 并在我們的項(xiàng)目中使用它:

import{nanoid}from'nanoid'; model.id=nanoid();

你是否知道 NanoID 每周的 NPM 下載量超過 1175.4 萬,并且運(yùn)行起來比 UUID 快 60%?

此外,NanoID 比 UUID 年輕了將近 7 年,而且它的 GitHub 星數(shù)已經(jīng)比 UUID 多。 下圖顯示了這兩個(gè)之間的 npm 趨勢比較,我們可以看到 NanoID 的上升趨勢與 UUID 的平坦進(jìn)展有強(qiáng)烈的對比。

e378c2ee-b233-11ec-aa7f-dac502259ad0.png

image.png

https://www.npmtrends.com/nanoid-vs-uuid

我希望這些數(shù)字已經(jīng)說服你去嘗試 NanoID。

但是,這兩者之間的主要區(qū)別很簡單。它歸結(jié)為鍵使用的字母表。

由于 NanoID 使用比 UUID 更大的字母表,因此較短的 ID 可以用于與較長的 UUID 相同的目的。

1. NanoID 只有 108 個(gè)字節(jié)那么大

與 UUID 不同,NanoID 的大小要小 4.5 倍,并且沒有任何依賴關(guān)系。此外,大小限制已用于將大小從另外 35% 減小。 大小減少直接影響數(shù)據(jù)的大小。例如,使用 NanoID 的對象小而緊湊,能夠用于數(shù)據(jù)傳輸和存儲。隨著應(yīng)用程序的增長,這些數(shù)字變得明顯起來。

2. 更安全

在大多數(shù)隨機(jī)生成器中,它們使用不安全的Math.random()。但是,NanoID 使用crypto module和Web Crypto API,意味著 NanoID 更安全。 此外,NanoID 在 ID 生成器的實(shí)現(xiàn)過程中使用了自己的算法,稱為 統(tǒng)一算法,而不是使用“隨機(jī) % 字母表”random % alphabet。

3. 它既快速又緊湊

NanoID 比 UUID 快 60%。與 UUID 字母表中的 36 個(gè)字符不同,NanoID 只有 21 個(gè)字符。

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz-

此外,NanoID 支持 14 種不同的編程語言,它們分別是:

C#C++、Clojure 和 ClojureScript、Crystal、Dart & Flutter、Deno、Go、Elixir、Haskell、Janet、Java、Nim、Perl、PHP、帶字典的 Python、Ruby、Rust、Swift

4. 兼容性

它還支持 PouchDB、CouchDB WebWorkers、Rollup 以及 React 和 Reach-Native 等庫。 我們可以使用npx nanoid在終端中獲得唯一 ID。在 JavaScript 中使用 NanoID 唯一的要求是要先安裝 NodeJS。

e39d5a14-b233-11ec-aa7f-dac502259ad0.png

image.png

此外,我們還可以在 Redux toolkit 中找到 NanoID,并將其用于其他用例,如下所示;

import{nanoid}from‘@reduxjs/toolkit’ console.log(nanoid())//‘dgPXxUz_6fWIQBD8XmiSy’

5. 自定義字母

NanoID 的另一個(gè)現(xiàn)有功能是它允許開發(fā)人員使用自定義字母表。我們可以更改文字或 id 的大小,如下所示:

import{customAlphabet}from'nanoid'; constnanoid=customAlphabet('ABCDEF1234567890',12); model.id=nanoid();

在上面的示例中,我將自定義字母表定義為ABCDEF1234567890,并將 Id 的大小定義為 12。另外,搜索公眾號互聯(lián)網(wǎng)架構(gòu)師后臺回復(fù)“面試”,獲取一份驚喜禮包。

6. 沒有第三方依賴

由于 NanoID 不依賴任何第三方依賴,隨著時(shí)間的推移,它能夠變得更加穩(wěn)定自治。 從長遠(yuǎn)來看,這有利于優(yōu)化包的大小,并使其不太容易出現(xiàn)依賴項(xiàng)帶來的問題。

局限性和未來重點(diǎn)

根據(jù) StackOverflow 中的許多專家意見,使用 NanoID 沒有明顯的缺點(diǎn)或限制。 非人類可讀是許多開發(fā)人員在 NanoID 中看到的主要缺點(diǎn),因?yàn)樗拐{(diào)試變得更加困難。但是,與 UUID 相比,NanoID 更短且可讀。 另外,如果你使用 NanoID 作為表的主鍵,如果你使用相同的列作為聚集索引也會出現(xiàn)問題。這是因?yàn)?NanoID 不是連續(xù)的。

在將來……

NanoID 正逐漸成為 JavaScript 最受歡迎的唯一 id 生成器,大多數(shù)開發(fā)人員更喜歡選擇它而不是更喜歡 UUID。

e3aadd10-b233-11ec-aa7f-dac502259ad0.png

來源:https://www.npmjs.com/package/nanoid 上述基準(zhǔn)測試顯示了 NanoID 與其他主要 id 生成器相比的性能。

使用默認(rèn)字母表每秒可生成超過 220 萬個(gè)唯一 ID,使用自定義字母表每秒可生成超過 180 萬個(gè)唯一 ID。

根據(jù)我使用 UUID 和 NanoID 的經(jīng)驗(yàn),考慮到它的小尺寸、URL 友好性、安全性和速度,我建議在任何未來的項(xiàng)目中使用 NanoID 而不是 UUID。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 軟件開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    656

    瀏覽量

    29597
  • UUID
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    8473

原文標(biāo)題:UUID正在被NanoID取代?

文章出處:【微信號:AndroidPush,微信公眾號:Android編程精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    【HZ-T536開發(fā)板免費(fèi)體驗(yàn)】4、使用藍(lán)牙模塊讀取小米溫濕度計(jì)的數(shù)據(jù)

    BleakScanner def parse_broadcast(device, advertisement_data): # 檢查服務(wù)數(shù)據(jù)是否包含目標(biāo)UUID前綴
    發(fā)表于 08-25 22:16

    自動(dòng)駕駛中Transformer大模型會取代深度學(xué)習(xí)嗎?

    [首發(fā)于智駕最前沿微信公眾號]近年來,隨著ChatGPT、Claude、文心一言等大語言模型在生成文本、對話交互等領(lǐng)域的驚艷表現(xiàn),“Transformer架構(gòu)是否正在取代傳統(tǒng)深度學(xué)習(xí)”這一話題一直被
    的頭像 發(fā)表于 08-13 09:15 ?3770次閱讀
    自動(dòng)駕駛中Transformer大模型會<b class='flag-5'>取代</b>深度學(xué)習(xí)嗎?

    MEMS陀螺儀正在取代光纖陀螺儀?

    一、微型科技巨匠:MEMS陀螺儀揭秘 何謂MEMS? MEMS(微機(jī)電系統(tǒng))是融合了微電子與微機(jī)械的神奇技術(shù)。它能在指甲蓋大小的硅芯片上集成復(fù)雜的傳感器、執(zhí)行器和處理電路,實(shí)現(xiàn)微觀世界的數(shù)據(jù)感知、處理與輸出。 MEMS陀螺如何“感知”旋轉(zhuǎn)? 別被名字迷惑!現(xiàn)代MEMS陀螺儀并非依靠傳統(tǒng)陀螺的旋轉(zhuǎn)飛輪。其核心原理是科里奧利力。想象一下: 芯片內(nèi)部有微小的振動(dòng)質(zhì)量塊(“驅(qū)動(dòng)”方向振動(dòng))。 當(dāng)整個(gè)器件發(fā)生旋轉(zhuǎn)時(shí),振動(dòng)質(zhì)量塊會受到一個(gè)垂直方
    的頭像 發(fā)表于 07-08 16:45 ?477次閱讀

    2025年倉儲革命:不用RFID數(shù)據(jù)采集器的企業(yè)正在被淘汰!

    在2025年,倉儲領(lǐng)域正經(jīng)歷著一場前所未有的革命。隨著科技的飛速發(fā)展,RFID(射頻識別)技術(shù)已成為倉儲管理變革的核心驅(qū)動(dòng)力,那些尚未采用RFID數(shù)據(jù)采集器的企業(yè),正面臨著被市場淘汰的嚴(yán)峻挑戰(zhàn)。傳統(tǒng)倉儲管理模式主要依靠人工盤點(diǎn)和條碼掃描,效率低下且容易出錯(cuò)。據(jù)統(tǒng)計(jì),制造業(yè)因倉儲管理缺陷造成的年損失高達(dá)營收的3%-5%。而RFID技術(shù)的出現(xiàn),徹底改變了這一局面
    的頭像 發(fā)表于 07-07 15:43 ?408次閱讀
    2025年倉儲革命:不用RFID數(shù)據(jù)采集器的企業(yè)<b class='flag-5'>正在被</b>淘汰!

    傳統(tǒng)的芯片設(shè)計(jì),正在被顛覆

    幾十年來,半導(dǎo)體開發(fā)一直遵循著24至36個(gè)月的穩(wěn)定設(shè)計(jì)開發(fā)周期。雖然這種模式在計(jì)算需求較低且創(chuàng)新速度更易于管理的情況下運(yùn)作良好,但人工智能卻創(chuàng)造了一套新的規(guī)則。人工智能的飛速發(fā)展正在迅速超越當(dāng)前芯片
    的頭像 發(fā)表于 06-27 12:38 ?606次閱讀
    傳統(tǒng)的芯片設(shè)計(jì),<b class='flag-5'>正在被</b>顛覆

    藍(lán)牙UUID:無線通信中的唯一標(biāo)識符

    一、藍(lán)牙UUID:1、我們將從機(jī)具有的數(shù)據(jù)或者屬性特征,稱之為從機(jī)中添加(profile配置文件),作為profile包含一個(gè)或者多個(gè)服務(wù),每個(gè)服務(wù)又包含一個(gè)或者多個(gè)特征。每個(gè)特征值都有自己的屬性
    的頭像 發(fā)表于 03-25 16:48 ?743次閱讀
    藍(lán)牙<b class='flag-5'>UUID</b>:無線通信中的唯一標(biāo)識符

    VIAVI Xgig4K-PCIe-X4-FL飛行引導(dǎo)插入器適用于PCIE4.0在被測設(shè)備和VIAVI協(xié)議分析儀機(jī)箱箱之間提供數(shù)據(jù)信號連接

    VIAVI 16GTps PCIe 4.0 多模塊分析器(PCIE4-X4-FL)適用于PCI Express 4.0在被測設(shè)備和VIAVI協(xié)議分析儀機(jī)箱之間提供數(shù)據(jù)信號連接
    的頭像 發(fā)表于 03-19 16:22 ?618次閱讀
    VIAVI Xgig4K-PCIe-X4-FL飛行引導(dǎo)插入器適用于PCIE4.0<b class='flag-5'>在被</b>測設(shè)備和VIAVI協(xié)議分析儀機(jī)箱箱之間提供數(shù)據(jù)信號連接

    這些崗位正在被復(fù)合機(jī)器人取代

    機(jī)器人
    fuweizn
    發(fā)布于 :2025年03月04日 14:54:52

    想要用一個(gè)藍(lán)牙模塊與 DLP NIRscan Nano連接,怎么知道哪一個(gè)UUID才是該設(shè)備藍(lán)牙連接的UUID?

    DLP NIRscan Nano用戶指南里邊給了很多UUID,我現(xiàn)在想要用一個(gè)藍(lán)牙模塊與 DLP NIRscan Nano連接,但是沒弄明白哪一個(gè)UUID才是該設(shè)備藍(lán)牙連接的UUID?謝謝!
    發(fā)表于 03-03 07:19

    Techwiz LCD 1D案例:賓主效應(yīng)液晶模式

    二色性染料分子的運(yùn)動(dòng)取決于入射光的偏振。在包括透明顯示器和智能窗口在內(nèi)的各個(gè)顯示領(lǐng)域,賓主效應(yīng)設(shè)備正在被廣泛研究。 (a)具有二向色性材料的液晶盒結(jié)構(gòu) (b)具有和沒有二向色性材料的透射率差異
    發(fā)表于 02-07 08:57

    簡單認(rèn)識AMQP通信協(xié)議

    在工業(yè)4.0、物聯(lián)網(wǎng)、智能工廠和智能設(shè)備構(gòu)建的未來藍(lán)圖中,跨層級的連接扮演著核心角色。我們正見證著一場變革:傳統(tǒng)的、分層的自動(dòng)化金字塔結(jié)構(gòu)正在被一種更大、更全面的網(wǎng)絡(luò)結(jié)構(gòu)所取代。在這種新結(jié)構(gòu)中,各個(gè)節(jié)點(diǎn)不僅相互連接,還實(shí)時(shí)交換數(shù)據(jù),共同編織出智能化的網(wǎng)絡(luò)。
    的頭像 發(fā)表于 01-10 18:05 ?1225次閱讀
    簡單認(rèn)識AMQP通信協(xié)議

    KT6368A藍(lán)牙芯片的uuid完整的是多少,以及app或者小程序開發(fā)的注意點(diǎn)

    目前KT6368A藍(lán)牙雙模芯片用的是16位的uuid,當(dāng)然這個(gè)uuid或者特征值有很多種 16位的uuid是最簡單的一種,如下圖所示,當(dāng)然網(wǎng)上隨便搜搜也有很多的介紹,想了解也可以搜搜
    的頭像 發(fā)表于 12-29 09:46 ?1009次閱讀
    KT6368A藍(lán)牙芯片的<b class='flag-5'>uuid</b>完整的是多少,以及app或者小程序開發(fā)的注意點(diǎn)

    ADS1278在靈敏度上是否可以取代ADS1282芯片?

    公司在做地震檢測儀器,不知道ADS1278在靈敏度上是否可以取代ADS1282芯片?
    發(fā)表于 12-16 07:02

    Techwiz LCD 1D:賓主效應(yīng)液晶模式

    二色性染料分子的運(yùn)動(dòng)取決于入射光的偏振。在包括透明顯示器和智能窗口在內(nèi)的各個(gè)顯示領(lǐng)域,賓主效應(yīng)設(shè)備正在被廣泛研究。 (a)具有二向色性材料的液晶盒結(jié)構(gòu) (b)具有和沒有二向色性材料的透射率差異
    發(fā)表于 12-11 11:42

    科技先鋒:物聯(lián)網(wǎng)(RFID)在被裝信息化中的應(yīng)用

    整合進(jìn)入BD裝備的物聯(lián)網(wǎng)系統(tǒng)中,實(shí)現(xiàn)裝備的智能識別、準(zhǔn)確定位、即時(shí)跟蹤、有效監(jiān)管以及高效的管理流程。這包括在被裝物品中植入傳感器和智能單元,使其能夠接入網(wǎng)絡(luò),并根據(jù)既定的協(xié)議進(jìn)行信息的相互交流和傳遞。 二、被裝物聯(lián)網(wǎng)信息化硬
    的頭像 發(fā)表于 11-14 16:37 ?1190次閱讀
    科技先鋒:物聯(lián)網(wǎng)(RFID)<b class='flag-5'>在被</b>裝信息化中的應(yīng)用