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

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

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

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

UUID正在被NanoID取代?

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

掃碼添加小助手

加入工程師交流群

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

了解 NanoID 及其用法

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

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

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

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

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

image.png

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

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

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

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

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

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

2. 更安全

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

3. 它既快速又緊湊

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

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz-

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

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 等庫(kù)。 我們可以使用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)有功能是它允許開(kāi)發(fā)人員使用自定義字母表。我們可以更改文字或 id 的大小,如下所示:

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

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

6. 沒(méi)有第三方依賴

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

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

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

在將來(lái)……

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

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

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

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

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

審核編輯 :李倩

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

    關(guān)注

    0

    文章

    711

    瀏覽量

    30146
  • UUID
    +關(guān)注

    關(guān)注

    0

    文章

    25

    瀏覽量

    8612

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    移為通信精彩亮相GITEX AFRICA 2026

    在多數(shù)成熟市場(chǎng),物聯(lián)網(wǎng)的討論往往圍繞數(shù)據(jù)、平臺(tái)與智能應(yīng)用展開(kāi),但在非洲這樣的新興市場(chǎng),這一邏輯正在被重新定義。
    的頭像 發(fā)表于 04-17 15:32 ?413次閱讀

    科大訊飛AstronClaw全棧升級(jí)發(fā)布

    當(dāng)AI成為“思考的中樞”,硬件成為“行動(dòng)的觸角”,一個(gè)屬于AI Agent的執(zhí)行時(shí)代,正在被重新定義!
    的頭像 發(fā)表于 04-16 14:58 ?362次閱讀

    OpenClaw 部署完成后,你的系統(tǒng)正在被 4 萬(wàn)個(gè)攻擊者盯著

    巨大的安全漏洞里裸奔。這不是危言聳聽(tīng)。以下所有數(shù)據(jù)均有據(jù)可查。01丨三個(gè)真實(shí)漏洞,三組真實(shí)數(shù)據(jù)漏洞一:你的OpenClaw正在被人暴力破解CVE-2026-25253,CVSS評(píng)分8.
    的頭像 發(fā)表于 04-15 11:32 ?7550次閱讀
    OpenClaw 部署完成后,你的系統(tǒng)<b class='flag-5'>正在被</b> 4 萬(wàn)個(gè)攻擊者盯著

    未來(lái)測(cè)試圈新范式:不懂Skills的測(cè)試人,正在被AI悄悄淘汰

    最近,在測(cè)試圈和AI圈,"Skills"這個(gè)概念的熱度高居不下,成為行業(yè)熱議的焦點(diǎn)話題。不少測(cè)試工程師和AI愛(ài)好者都在詢問(wèn)我:Skills到底是什么?它和剛推出的MCP(ModelControlPlatform)有什么關(guān)系?作為測(cè)試人員有必要學(xué)習(xí)這項(xiàng)技術(shù)嗎?如果是零基礎(chǔ)該如何快速上手?其實(shí),作為測(cè)試從業(yè)者,我們學(xué)習(xí)Skills的核心目的極其樸素且實(shí)用:用最低
    的頭像 發(fā)表于 04-10 10:02 ?369次閱讀
    未來(lái)測(cè)試圈新范式:不懂Skills的測(cè)試人,<b class='flag-5'>正在被</b>AI悄悄淘汰

    全方位對(duì)比:Redis能取代MySQL嗎?看完這篇你就懂了

    Redis能不能取代MySQL?答案很明確:不能取代,但可以互補(bǔ)。
    的頭像 發(fā)表于 04-07 10:50 ?162次閱讀
    全方位對(duì)比:Redis能<b class='flag-5'>取代</b>MySQL嗎?看完這篇你就懂了

    固態(tài)變壓器(SST):破解 AI 工廠電力接入瓶頸的“核武器”

    人工智能(Generative AI)、大語(yǔ)言模型(LLM)以及深度學(xué)習(xí)網(wǎng)絡(luò)的指數(shù)級(jí)增長(zhǎng),正在對(duì)底層的計(jì)算基礎(chǔ)設(shè)施提出前所未有的苛刻要求。當(dāng)前,傳統(tǒng)的“數(shù)據(jù)中心”(Data Centers)正在被以智算為主的“AI 工廠”(AI Factories)所
    的頭像 發(fā)表于 03-15 18:09 ?474次閱讀
    固態(tài)變壓器(SST):破解 AI 工廠電力接入瓶頸的“核武器”

    算法一年一變,芯片十年不換:邊緣計(jì)算正在被時(shí)間差撕裂

    算法迭代速度正在顯著快于硬件更換周期,邊緣GPU正面臨一場(chǎng)日益嚴(yán)峻的考驗(yàn)?!斑@款芯片設(shè)計(jì)之時(shí),Transformer模型才剛剛進(jìn)入主流視野;等到芯片完成量產(chǎn)并大規(guī)模裝車,主流算法形態(tài)可能已經(jīng)發(fā)生
    的頭像 發(fā)表于 01-15 11:14 ?602次閱讀
    算法一年一變,芯片十年不換:邊緣計(jì)算<b class='flag-5'>正在被</b>時(shí)間差撕裂

    一文搞清 BLE 藍(lán)牙 UUID

    一文帶你搞清楚藍(lán)牙 UUID ...... 矜辰所致
    的頭像 發(fā)表于 12-18 11:23 ?4826次閱讀
    一文搞清 BLE 藍(lán)牙 <b class='flag-5'>UUID</b>

    安世正在被一點(diǎn)點(diǎn)吃掉份額?

    行業(yè)資訊
    芯廣場(chǎng)
    發(fā)布于 :2025年12月09日 16:53:49

    輕資產(chǎn)時(shí)代來(lái)臨!為何UPS租賃正在取代傳統(tǒng)采購(gòu)模式?

    UPS
    上海優(yōu)比施電子科技有限公司
    發(fā)布于 :2025年12月09日 09:53:35

    AI接手,微博正在重寫(xiě)廣告的傳播邏輯

    正在被AI改寫(xiě)為品牌與用戶對(duì)話的起點(diǎn)。 微博通過(guò)AI原生評(píng)論、智能評(píng)論引導(dǎo)、微博商搜話題詞、視頻語(yǔ)義套裝等廣告產(chǎn)品,分別切入評(píng)論、話題與視頻三大核心場(chǎng)景,為品牌打開(kāi)了傳播的“后半場(chǎng)”。 它的目標(biāo)很明確:讓廣告不止于被
    的頭像 發(fā)表于 11-21 10:03 ?429次閱讀
    AI接手,微博<b class='flag-5'>正在</b>重寫(xiě)廣告的傳播邏輯

    在修改廣播內(nèi)容(如名稱、UUID、廣播數(shù)據(jù)等)時(shí)是否需要停用當(dāng)前廣播功能

    在修改廣播內(nèi)容(如名稱、UUID、廣播數(shù)據(jù)等)時(shí), 通常需要先停止當(dāng)前廣播,修改參數(shù)后再重新啟動(dòng)廣播 ,才能確保新配置生效且功能穩(wěn)定。具體邏輯如下: 1. 主流藍(lán)牙芯片的操作流程(以 NORDIC
    發(fā)表于 10-31 13:01

    NORDIC藍(lán)牙芯片修改廣播內(nèi)容(如名稱、MAC 地址、UUID 等)后是否需要重啟才能生效

    藍(lán)牙芯片修改廣播內(nèi)容(如名稱、MAC 地址、UUID 等)后是否需要重啟才能生效,取決于芯片的硬件設(shè)計(jì)、固件實(shí)現(xiàn)以及具體修改的參數(shù)類型,不能一概而論。以下是常見(jiàn)情況的分析: 1. 大部分廣播參數(shù)
    發(fā)表于 10-31 12:57

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

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

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

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