自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JSON非常慢:這里有更快的替代方案!

開發(fā) 前端
在不斷變化的網(wǎng)絡(luò)開發(fā)環(huán)境中,優(yōu)化 JSON 性能是一項(xiàng)寶貴的技能,它能讓你的項(xiàng)目與眾不同,并確保你的應(yīng)用程序在即時(shí)數(shù)字體驗(yàn)時(shí)代茁壯成長(zhǎng)。

是的,你沒聽錯(cuò)!JSON,這種在網(wǎng)絡(luò)開發(fā)中普遍用于數(shù)據(jù)交換的格式,可能正在拖慢我們的應(yīng)用程序。在速度和響應(yīng)性至關(guān)重要的世界里,檢查 JSON 的性能影響至關(guān)重要。在這篇博客中,深入探討 JSON 可能成為應(yīng)用程序瓶頸的原因,并探索更快的替代方法和優(yōu)化技術(shù),使您的應(yīng)用程序保持最佳運(yùn)行狀態(tài)。

JSON 是什么,為什么要關(guān)心?

圖片圖片

JSON 是 JavaScript Object Notation 的縮寫,一種輕量級(jí)數(shù)據(jù)交換格式,已成為應(yīng)用程序中傳輸和存儲(chǔ)數(shù)據(jù)的首選。它的簡(jiǎn)單性和可讀格式使開發(fā)者和機(jī)器都能輕松使用。但是,為什么要在項(xiàng)目中關(guān)注 JSON 呢?

JSON 是應(yīng)用程序中數(shù)據(jù)的粘合劑。它是服務(wù)器和客戶端之間進(jìn)行數(shù)據(jù)通信的語言,也是數(shù)據(jù)庫和配置文件中存儲(chǔ)數(shù)據(jù)的格式。從本質(zhì)上講,JSON 在現(xiàn)代網(wǎng)絡(luò)開發(fā)中起著舉足輕重的作用。

JSON 的流行以及人們使用它的原因...

主要有就下幾點(diǎn):

  1. 人類可讀格式:JSON 采用簡(jiǎn)單明了、基于文本的結(jié)構(gòu),便于開發(fā)人員和非開發(fā)人員閱讀和理解。這種人類可讀格式增強(qiáng)了協(xié)作,簡(jiǎn)化了調(diào)試。
  2. 語言無關(guān):JSON 與任何特定編程語言無關(guān)。它是一種通用的數(shù)據(jù)格式,幾乎所有現(xiàn)代編程語言都能對(duì)其進(jìn)行解析和生成,因此具有很強(qiáng)的通用性。
  3. 數(shù)據(jù)結(jié)構(gòu)一致性:JSON 使用鍵值對(duì)、數(shù)組和嵌套對(duì)象來實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)的一致性。這種一致性使其具有可預(yù)測(cè)性,便于在各種編程場(chǎng)景中使用。
  4. 瀏覽器支持:瀏覽器原生支持 JSON,允許應(yīng)用程序與服務(wù)器進(jìn)行無縫通信。這種本地支持極大地促進(jìn)了 JSON 在開發(fā)中的應(yīng)用。
  5. JSON API:許多服務(wù)和應(yīng)用程序接口默認(rèn)以 JSON 格式提供數(shù)據(jù)。這進(jìn)一步鞏固了 JSON 在網(wǎng)絡(luò)開發(fā)中作為數(shù)據(jù)交換首選的地位。
  6. JSON 模式:開發(fā)人員可以使用 JSON 模式定義和驗(yàn)證 JSON 數(shù)據(jù)的結(jié)構(gòu),從而為其應(yīng)用程序增加一層額外的清晰度和可靠性。

鑒于這些優(yōu)勢(shì),難怪全球的開發(fā)人員都依賴 JSON 來滿足他們的數(shù)據(jù)交換需求。不過,隨著我們深入探討,會(huì)發(fā)現(xiàn)與 JSON 相關(guān)的潛在性能問題以及如何有效解決這些挑戰(zhàn)。

對(duì)速度的需求

應(yīng)用速度和響應(yīng)速度的重要性

在當(dāng)今快節(jié)奏的數(shù)字環(huán)境中,應(yīng)用程序的速度和響應(yīng)能力是不容忽視的。用戶希望在網(wǎng)絡(luò)和移動(dòng)應(yīng)用中即時(shí)獲取信息、快速交互和無縫體驗(yàn)。對(duì)速度的這種要求是由多種因素驅(qū)動(dòng)的:

  1. 用戶期望:用戶已習(xí)慣于從數(shù)字互動(dòng)中獲得閃電般快速的響應(yīng)。他們不想等待網(wǎng)頁加載或應(yīng)用程序響應(yīng)。哪怕是幾秒鐘的延遲,都會(huì)導(dǎo)致用戶產(chǎn)生挫敗感并放棄使用。
  2. 競(jìng)爭(zhēng)優(yōu)勢(shì):速度可以成為重要的競(jìng)爭(zhēng)優(yōu)勢(shì)。與反應(yīng)慢的應(yīng)用程序相比,反應(yīng)迅速的應(yīng)用程序往往能更有效地吸引和留住用戶。
  3. 搜索引擎排名:谷歌等搜索引擎將頁面速度視為排名因素。加載速度更快的網(wǎng)站往往在搜索結(jié)果中排名靠前,從而提高知名度和流量。
  4. 轉(zhuǎn)換率:電子商務(wù)網(wǎng)站尤其清楚速度對(duì)轉(zhuǎn)換率的影響。網(wǎng)站速度越快,轉(zhuǎn)換率越高,收入也就越高。
  5. 移動(dòng)性能:隨著移動(dòng)設(shè)備的普及,對(duì)速度的需求變得更加重要。移動(dòng)用戶的帶寬和處理能力往往有限,因此,快速的應(yīng)用程序性能必不可少。

JSON 會(huì)拖慢我們的應(yīng)用程序嗎?

在某些情況下,JSON 可能是導(dǎo)致應(yīng)用程序運(yùn)行速度減慢的罪魁禍?zhǔn)住=馕?JSON 數(shù)據(jù)的過程,尤其是在處理大型或復(fù)雜結(jié)構(gòu)時(shí),可能會(huì)耗費(fèi)寶貴的毫秒時(shí)間。此外,低效的序列化和反序列化也會(huì)影響應(yīng)用程序的整體性能。

JSON 為什么會(huì)變慢

1.解析開銷

JSON 數(shù)據(jù)到達(dá)應(yīng)用程序后,必須經(jīng)過解析過程才能轉(zhuǎn)換成可用的數(shù)據(jù)結(jié)構(gòu)。解析過程可能相對(duì)較慢,尤其是在處理大量或深度嵌套的 JSON 數(shù)據(jù)時(shí)。

2.序列化和反序列化

JSON 要求在從客戶端向服務(wù)器發(fā)送數(shù)據(jù)時(shí)進(jìn)行序列化(將對(duì)象編碼為字符串),并在接收數(shù)據(jù)時(shí)進(jìn)行反序列化(將字符串轉(zhuǎn)換回可用對(duì)象)。這些步驟會(huì)帶來開銷并影響應(yīng)用程序的整體速度。

在微服務(wù)架構(gòu)的世界里,JSON 通常用于在服務(wù)之間傳遞消息。但是,JSON 消息需要序列化和反序列化,這兩個(gè)過程會(huì)帶來巨大的開銷。

在眾多微服務(wù)不斷通信的情況下,這種開銷可能會(huì)累積起來,有可能會(huì)使應(yīng)用程序減慢到影響用戶體驗(yàn)的程度。

圖片圖片

3.字符串操作

JSON 以文本為基礎(chǔ),主要依靠字符串操作來進(jìn)行連接和解析等操作。與處理二進(jìn)制數(shù)據(jù)相比,字符串處理速度較慢。

4.缺乏數(shù)據(jù)類型

JSON 的數(shù)據(jù)類型(如字符串、數(shù)字、布爾值)有限。復(fù)雜的數(shù)據(jù)結(jié)構(gòu)可能需要效率較低的表示方法,從而導(dǎo)致內(nèi)存使用量增加和處理速度減慢。

圖片圖片

5.冗長(zhǎng)性

JSON 的人機(jī)可讀設(shè)計(jì)可能導(dǎo)致冗長(zhǎng)。冗余鍵和重復(fù)結(jié)構(gòu)會(huì)增加有效載荷的大小,導(dǎo)致數(shù)據(jù)傳輸時(shí)間延長(zhǎng)。

6.不支持二進(jìn)制

JSON 缺乏對(duì)二進(jìn)制數(shù)據(jù)的本地支持。在處理二進(jìn)制數(shù)據(jù)時(shí),開發(fā)人員通常需要將其編碼和解碼為文本,這可能會(huì)降低效率。

7.深嵌套

在某些情況下,JSON 數(shù)據(jù)可能嵌套很深,需要進(jìn)行遞歸解析和遍歷。這種計(jì)算復(fù)雜性會(huì)降低應(yīng)用程序的運(yùn)行速度,尤其是在沒有優(yōu)化的情況下。

JSON 的替代品

雖然 JSON 是一種通用的數(shù)據(jù)交換格式,但由于其在某些情況下的性能限制,開發(fā)者開始探索更快的替代格式。我們來看囈2其中的一些替代方案。

1.協(xié)議緩沖區(qū)(protobuf)

協(xié)議緩沖區(qū)(通常稱為 protobuf)是谷歌開發(fā)的一種二進(jìn)制序列化格式。其設(shè)計(jì)宗旨是高效、緊湊和快速。Protobuf 的二進(jìn)制特性使其在序列化和反序列化時(shí)比 JSON 快得多。

何時(shí)使用:當(dāng)你需要高性能數(shù)據(jù)交換時(shí),尤其是在微服務(wù)架構(gòu)、物聯(lián)網(wǎng)應(yīng)用或網(wǎng)絡(luò)帶寬有限的情況下,請(qǐng)考慮使用 protobuf。

2. MessagePack 信息包

MessagePack 是另一種二進(jìn)制序列化格式,以速度快、結(jié)構(gòu)緊湊而著稱。其設(shè)計(jì)目的是在保持與各種編程語言兼容的同時(shí),提高比 JSON 更高的效率。

何時(shí)使用:當(dāng)你需要在速度和跨語言兼容性之間取得平衡時(shí),MessagePack 是一個(gè)不錯(cuò)的選擇。它適用于實(shí)時(shí)應(yīng)用程序和對(duì)減少數(shù)據(jù)量有重要要求的情況。

3. BSON(二進(jìn)制 JSON)

BSON 或二進(jìn)制 JSON 是一種從 JSON 衍生出來的二進(jìn)制編碼格式。它保留了 JSON 的靈活性,同時(shí)通過二進(jìn)制編碼提高了性能。BSON 常用于 MongoDB 等數(shù)據(jù)庫。

何時(shí)使用:如果你正在使用 MongoDB,或者需要一種能在 JSON 和二進(jìn)制效率之間架起橋梁的格式,那么 BSON 就是一個(gè)很有價(jià)值的選擇。

4. Apache Avro(阿帕奇 Avro)

Apache Avro 是一個(gè)數(shù)據(jù)序列化框架,專注于提供一種緊湊的二進(jìn)制格式。它基于模式,可實(shí)現(xiàn)高效的數(shù)據(jù)編碼和解碼。

何時(shí)使用:Avro 適用于模式演進(jìn)非常重要的情況,如數(shù)據(jù)存儲(chǔ),以及需要在速度和數(shù)據(jù)結(jié)構(gòu)靈活性之間取得平衡的情況。

與 JSON 相比,這些替代方案在性能上有不同程度的提升,具體選擇取決于您的具體使用情況。通過考慮這些替代方案,您可以優(yōu)化應(yīng)用程序的數(shù)據(jù)交換流程,確保將速度和效率放在開發(fā)工作的首位。


每個(gè)字節(jié)的重要性:優(yōu)化數(shù)據(jù)格式

JSON 數(shù)據(jù)

下面是我們的 JSON 數(shù)據(jù)示例片段:

{
  "id": 1,                                 // 14 bytes
  "name": "John Doe",                      // 20 bytes
  "email": "johndoe@example.com",          // 31 bytes
  "age": 30,                               // 9 bytes
  "isSubscribed": true,                    // 13 bytes
  "orders": [                              // 11 bytes
    {                                      // 2 bytes
      "orderId": "A123",                   // 18 bytes
      "totalAmount": 100.50                // 20 bytes
    },                                     // 1 byte
    {                                      // 2 bytes
      "orderId": "B456",                   // 18 bytes
      "totalAmount": 75.25                 // 19 bytes
    }                                      // 1 byte
  ]                                        // 1 byte
}

JSON 總大?。?~139 字節(jié)

JSON 功能多樣,易于使用,但也有缺點(diǎn),那就是它的文本性質(zhì)。每個(gè)字符、每個(gè)空格和每個(gè)引號(hào)都很重要。在數(shù)據(jù)大小和傳輸速度至關(guān)重要的情況下,這些看似微不足道的字符可能會(huì)產(chǎn)生重大影響。

效率挑戰(zhàn):使用二進(jìn)制格式減少數(shù)據(jù)大小

現(xiàn)在,我們提供其他格式的數(shù)據(jù)表示并比較它們的大?。?/p>

**協(xié)議緩沖區(qū) (protobuf)**:

syntax = "proto3";

message User {
  int32 id = 1;
  string name = 2;
  string email = 3;
  int32 age = 4;
  bool is_subscribed = 5;
  repeated Order orders = 6;

  message Order {
    string order_id = 1;
    float total_amount = 2;
  }
}
0A 0E 4A 6F 68 6E 20 44 6F 65 0C 4A 6F 68 6E 20 44 6F 65 65 78 61 6D 70 6C 65 2E 63 6F 6D 04 21 00 00 00 05 01 12 41 31 32 33 03 42 DC CC CC 3F 05 30 31 31 32 34 34 35 36 25 02 9A 99 99 3F 0D 31 02 42 34 35 36 25 02 9A 99 99 3F

協(xié)議緩沖區(qū)總大?。?~38 字節(jié)

MessagePack

二進(jìn)制表示法(十六進(jìn)制):

a36a6964000000000a4a6f686e20446f650c6a6f686e646f65406578616d706c652e636f6d042100000005011241313302bdcccc3f0530112434353625029a99993f

信息包總大?。?~34 字節(jié)

Binary Representation (Hexadecimal):

3e0000001069640031000a4a6f686e20446f6502656d61696c006a6f686e646f65406578616d706c652e636f6d1000000022616765001f04370e4940

BSON 總大?。?~43 字節(jié)

Avro

二進(jìn)制表示法(十六進(jìn)制):

0e120a4a6f686e20446f650c6a6f686e646f65406578616d706c652e636f6d049a999940040a020b4108312e3525312e323538323539

Avro 總大小: ~32 字節(jié)

圖片圖片

現(xiàn)在,你可能想知道,為什么這些格式中的某些會(huì)輸出二進(jìn)制數(shù)據(jù),但它們的大小卻各不相同。Avro、MessagePack 和 BSON 等二進(jìn)制格式具有不同的內(nèi)部結(jié)構(gòu)和編碼機(jī)制,這可能導(dǎo)致二進(jìn)制表示法的差異,即使它們最終表示的是相同的數(shù)據(jù)。下面簡(jiǎn)要介紹一下這些差異是如何產(chǎn)生的:

1. Avro

  • Avro 使用模式對(duì)數(shù)據(jù)進(jìn)行編碼,這種模式通常包含在二進(jìn)制表示法中。
  • Avro 基于模式的編碼通過提前指定數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)了高效的數(shù)據(jù)序列化和反序列化。
  • Avro 的二進(jìn)制格式設(shè)計(jì)為自描述格式,這意味著模式信息包含在編碼數(shù)據(jù)中。這種自描述性使 Avro 能夠保持不同版本數(shù)據(jù)模式之間的兼容性。

2. MessagePack

  • MessagePack 是一種二進(jìn)制序列化格式,直接對(duì)數(shù)據(jù)進(jìn)行編碼,不包含模式信息。
  • 它使用長(zhǎng)度可變的整數(shù)和長(zhǎng)度可變的字符串的緊湊二進(jìn)制表示法,以盡量減少空間使用。
  • MessagePack 不包含模式信息,因此更適用于模式已提前知曉并在發(fā)送方和接收方之間共享的情況。

3. BSON

  • BSON 是 JSON 數(shù)據(jù)的二進(jìn)制編碼,包括每個(gè)值的類型信息。
  • BSON 的設(shè)計(jì)與 JSON 緊密相連,但它增加了二進(jìn)制數(shù)據(jù)類型,如 JSON 缺乏的日期和二進(jìn)制數(shù)據(jù)。
  • 與 MessagePack 一樣,BSON 不包括模式信息。

這些設(shè)計(jì)和編碼上的差異導(dǎo)致了二進(jìn)制表示法的不同:

  • Avro 包含模式信息并具有自描述性,因此二進(jìn)制文件稍大,但與模式兼容。
  • MessagePack 的編碼長(zhǎng)度可變,因此非常緊湊,但缺乏模式信息,因此適用于已知模式的情況。
  • BSON 與 JSON 關(guān)系密切,并包含類型信息,與 MessagePack 等純二進(jìn)制格式相比,BSON 的大小會(huì)有所增加。

總之,這些差異源于每種格式的設(shè)計(jì)目標(biāo)和特點(diǎn)。Avro 優(yōu)先考慮模式兼容性,MessagePack 側(cè)重于緊湊性,而 BSON 在保持類似 JSON 結(jié)構(gòu)的同時(shí)增加了二進(jìn)制類型。格式的選擇取決于您的具體使用情況和要求,如模式兼容性、數(shù)據(jù)大小和易用性。

優(yōu)化 JSON 性能

下面是一些優(yōu)化 JSON 性能的實(shí)用技巧以及代碼示例和最佳實(shí)踐:

1.最小化數(shù)據(jù)大小

  • 使用簡(jiǎn)短的描述性鍵名:選擇簡(jiǎn)潔但有意義的鍵名,以減少 JSON 對(duì)象的大小
// Inefficient
{
  "customer_name_with_spaces": "John Doe"
}

// Efficient
{
  "customerName": "John Doe"
}
  • 盡可能縮寫:在不影響清晰度的情況下,考慮對(duì)鍵或值使用縮寫。
// 效率低
{
  "transaction_type": "purchase"
}
 
// 效率高
{
  "txnType": "purchase"
}

2.明智使用數(shù)組

  • 盡量減少嵌套:避免深度嵌套數(shù)組,因?yàn)樗鼈儠?huì)增加解析和遍歷 JSON 的復(fù)雜性。
// 效率低
{
  "order": {
    "items": {
      "item1": "Product A",
      "item2": "Product B"
    }
  }
}

// 效率高
{
  "orderItems": ["Product A", "Product B"]
}

3.優(yōu)化數(shù)字表示法

盡可能使用整數(shù):如果數(shù)值可以用整數(shù)表示,就用整數(shù)代替浮點(diǎn)數(shù)。

// 效率低
{
  "quantity": 1.0
}

// 效率高
{
  "quantity": 1
}

4.刪除冗余

避免重復(fù)數(shù)據(jù):通過引用共享值來消除冗余數(shù)據(jù)。

// 效率低
{
  "product1": {
    "name": "Product A",
    "price": 10
  },
  "product2": {
    "name": "Product A",
    "price": 10
  }
}

// 效率高
{
  "products": [
    {
      "name": "Product A",
      "price": 10
    },
    {
      "name": "Product B",
      "price": 15
    }
  ]
}

5.使用壓縮

應(yīng)用壓縮算法:如果適用,在傳輸過程中使用 Gzipor Brotlito 等壓縮算法來減小 JSON 有效負(fù)載的大小。

// 使用 zlib 進(jìn)行 Gzip 壓縮的 Node.js 示例
const zlib = require('zlib');

const jsonData = {
  // 在這里填入你的 JSON 數(shù)據(jù)
};

zlib.gzip(JSON.stringify(jsonData), (err, compressedData) => {
  if (!err) {
    // 通過網(wǎng)絡(luò)發(fā)送 compressedData
  }
});

6.采用服務(wù)器端緩存:

緩存 JSON 響應(yīng):實(shí)施服務(wù)器端緩存,高效地存儲(chǔ)和提供 JSON 響應(yīng),減少重復(fù)數(shù)據(jù)處理的需要。

7.配置文件和優(yōu)化

剖析性能:使用剖析工具找出 JSON 處理代碼中的瓶頸,然后優(yōu)化這些部分。

實(shí)際優(yōu)化:在實(shí)踐中加快 JSON 的處理速度

在本節(jié)中,我們將探討實(shí)際案例,這些案例在使用 JSON 時(shí)遇到性能瓶頸并成功克服。我們會(huì)看到諸如 LinkedIn、Auth0、Uber 等知名技術(shù)公司如何解決 JSON 的限制并改善他們應(yīng)用的性能。這些案例為如何提升應(yīng)用處理速度和響應(yīng)性提供了實(shí)用的策略。

1.LinkedIn 的協(xié)議緩沖區(qū)集成:

  • 挑戰(zhàn):LinkedIn 面臨的挑戰(zhàn)是 JSON 的冗長(zhǎng)以及由此導(dǎo)致的網(wǎng)絡(luò)帶寬使用量增加,從而導(dǎo)致延遲增加。
  • 解決方案:他們采用了 Protocol Buffers,這是一種二進(jìn)制序列化格式,用以替換微服務(wù)通信中的 JSON。
  • 影響:這一優(yōu)化將延遲降低了 60%,提高了 LinkedIn 服務(wù)的速度和響應(yīng)能力。

2.Uber 的 H3 地理索引:

挑戰(zhàn):Uber 使用 JSON 來表示各種地理空間數(shù)據(jù),但解析大型數(shù)據(jù)集的 JSON 會(huì)降低其算法速度。

解決方案:他們引入了 H3 Geo-Index,這是一種用于地理空間數(shù)據(jù)的高效六邊形網(wǎng)格系統(tǒng),可減少 JSON 解析開銷。

影響:這一優(yōu)化大大加快了地理空間業(yè)務(wù)的發(fā)展,增強(qiáng)了 Uber 的叫車和地圖服務(wù)。

3.Slack 的信息格式優(yōu)化:

挑戰(zhàn):Slack 需要在實(shí)時(shí)聊天中傳輸和呈現(xiàn)大量 JSON 格式的消息,這導(dǎo)致了性能瓶頸。

解決方案:他們優(yōu)化了 JSON 結(jié)構(gòu),減少了不必要的數(shù)據(jù),只在每條信息中包含必要的信息。

影響:這項(xiàng)優(yōu)化使得消息展現(xiàn)更快,從而提高了 Slack 用戶的整體聊天性能。

4.Auth0 的協(xié)議緩沖區(qū)實(shí)現(xiàn):

挑戰(zhàn):Auth0 是一個(gè)流行的身份和訪問管理平臺(tái),在處理身份驗(yàn)證和授權(quán)數(shù)據(jù)時(shí)面臨著 JSON 的性能挑戰(zhàn)。

解決方案:他們采用協(xié)議緩沖區(qū)(Protocol Buffers)來取代 JSON,以編碼和解碼與身份驗(yàn)證相關(guān)的數(shù)據(jù)。

影響:這一優(yōu)化大大提高了數(shù)據(jù)序列化和反序列化的速度,從而加快了身份驗(yàn)證流程,并增強(qiáng)了 Auth0 服務(wù)的整體性能。

這些現(xiàn)實(shí)世界中的例子展示了通過優(yōu)化策略解決 JSON 的性能挑戰(zhàn)如何對(duì)應(yīng)用程序的速度、響應(yīng)速度和用戶體驗(yàn)產(chǎn)生實(shí)質(zhì)性的積極影響。它們強(qiáng)調(diào)了考慮替代數(shù)據(jù)格式和高效數(shù)據(jù)結(jié)構(gòu)的重要性,以克服各種情況下與 JSON 相關(guān)的速度減慢問題。

結(jié)論

在不斷變化的網(wǎng)絡(luò)開發(fā)環(huán)境中,優(yōu)化 JSON 性能是一項(xiàng)寶貴的技能,它能讓你的項(xiàng)目與眾不同,并確保你的應(yīng)用程序在即時(shí)數(shù)字體驗(yàn)時(shí)代茁壯成長(zhǎng)。

責(zé)任編輯:武曉燕 來源: 大遷世界
相關(guān)推薦

2024-01-10 08:36:10

延時(shí)關(guān)閉訂單

2018-03-25 09:11:31

大數(shù)據(jù)機(jī)器學(xué)習(xí)分析軟件

2020-03-09 14:42:40

人工智能機(jī)器學(xué)習(xí)技術(shù)

2023-10-19 11:58:56

2020-06-12 07:36:33

Redis

2019-09-17 17:21:42

數(shù)據(jù)庫ElasticSear跳槽那些事兒

2018-04-02 11:22:31

大數(shù)據(jù)Hadoop數(shù)據(jù)處理

2015-09-20 15:50:46

2021-10-13 17:58:57

模型人工智能函數(shù)

2020-11-02 15:49:35

機(jī)器學(xué)習(xí)技術(shù)云計(jì)算

2016-08-23 00:39:25

2019-11-08 09:46:34

技術(shù)功能開發(fā)

2019-09-22 18:53:27

Jupyter Not代碼開發(fā)

2020-03-17 10:35:40

大數(shù)據(jù)IT人工智能

2020-11-30 10:58:52

Linux操作系統(tǒng)Windows

2018-07-30 09:33:21

2020-05-22 13:32:24

可視化詞云圖數(shù)據(jù)

2015-08-04 10:34:13

Windows 10升級(jí)

2022-12-27 14:52:31

Kubernetes云原生開發(fā)

2020-03-30 11:32:49

IT技術(shù)面試
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)