資料庫和 SQL 是什麼關係

来源:https://www.cnblogs.com/vin-c/archive/2022/05/25/16309136.html
-Advertisement-
Play Games

本文介紹資料庫的結構和基本理論,以及資料庫的實際應用。同時還介紹關係資料庫專用的 SQL 語句的書寫方法和規則。 一、資料庫是什麼 本節重點 資料庫是將大量數據保存起來,通過電腦加工而成的可以進行高效訪問的數據集合。 用來管理資料庫的電腦系統稱為資料庫管理系統(DBMS)。 通過使用 DBMS, ...


目錄

本文介紹資料庫的結構和基本理論,以及資料庫的實際應用。同時還介紹關係資料庫專用的 SQL 語句的書寫方法和規則。

一、資料庫是什麼

本節重點

  • 資料庫是將大量數據保存起來,通過電腦加工而成的可以進行高效訪問的數據集合。

  • 用來管理資料庫的電腦系統稱為資料庫管理系統(DBMS)。

  • 通過使用 DBMS,多個用戶便可安全、簡單地操作大量數據。

  • 資料庫有很多種類,本文將介紹如何使用專門的 SQL 語言來操作關係資料庫。

  • 關係資料庫通過關係資料庫管理系統(RDBMS)進行管理。

1.1 我們身邊的資料庫

大家都有過下麵這樣的經歷吧?

  • 收到曾經為自己診治過的牙醫寄來的明信片,上面寫著“距上次檢查已有半年,請您再來做個牙齒健康檢查”。

  • 在生日的前一個月,收到曾入住過的旅店或賓館發來的“生日當月入住優惠”的郵件或者明信片。

  • 在網上商城購物之後,收到內附“推薦商品列表”的郵件。

這可能是因為牙醫、旅店或商城的經營者掌握了顧客上一次的就診日期、生日和購買歷史等信息,並且擁有能夠從大量彙總信息中快速獲取所需信息(比如你的住址或愛好)的設備(電腦系統)。

如果利用人工完成同樣的工作,真不知道要多長時間呢。

另外,現在所有地區的圖書館都配備了電腦,實現了圖書的自動查詢。

使用該系統,可以通過檢索書名或出版年份快速查找出希望借閱的圖書的所在位置,以及是否已經借出等信息。

正是因為擁有了可以保存圖書名稱、出版年份以及保管位置和外借情況等信息,並且可以按需查詢的設備,才使這一切成為可能。

像這樣將大量數據保存起來,通過電腦加工而成的可以進行高效訪問的數據集合稱為資料庫(Database,DB)。

將姓名、住址、電話號碼、郵箱地址、愛好和家庭構成等數據保存到資料庫中,就可以隨時迅速獲取想要的信息了。

用來管理資料庫的電腦系統稱為資料庫管理系統(Database Management System,DBMS[1]

系統的使用者通常無法直接接觸到資料庫。因此,在使用系統的時候往往意識不到資料庫的存在。

其實大到銀行賬戶的管理,小到手機的電話簿,可以說社會的所有系統中都有資料庫的身影(圖 1)。

資料庫無處不在

圖 1 資料庫無處不在

1.2 為什麼 DBMS 那麼重要

那麼,為什麼要使用專用系統(DBMS)來管理數據呢?我們通過電腦管理數據的時候,通常使用文本文件 [2] 或者 Excel 那樣的電子製表軟體就可以完成了,非常簡單。

確實,通過文本文件或者電子製表軟體來管理數據的方法非常簡便,但也有不足。下麵就舉幾個有代表性的例子。

  • 無法多人共用數據

    保存在已連接網路的電腦中的文件,可以通過共用設定實現多個用戶線上閱讀或編輯。但是,當某個用戶打開該文件的時候,其他用戶就無法進行編輯了。

    如果是網上商城的話,當某個用戶購買商品的時候,其他用戶就無法購買了。

  • 無法提供操作大量數據所需的格式

    要想瞬間從幾十萬或者上百萬的數據中獲取想要的數據,必須把數據保存為適當的格式,但是文本文件和 Excel 工作表等無法提供相應的格式。

  • 實現讀寫自動化需要編程能力

    通過編寫電腦程式(以下簡稱程式)可以實現數據讀取和編輯自動化,但這必須以瞭解數據結構為前提,還需具備一定的電腦編程技術。

  • 無法應對突發事故

    當文件被誤刪、硬碟出現故障等導致無法讀取的時候,可能會造成重要數據丟失,同時數據還可能被他人輕易讀取或竊用。

DBMS 可以剋服這些不足,實現多個用戶同時安全簡單地操作大量數據(圖 2)。這也是我們一定要使用 DBMS 的原因。

DBMS 能夠實現多個用戶同時安全簡單地操作大量數據

圖 2 DBMS 能夠實現多個用戶同時安全簡單地操作大量數據

1.3 DBMS 的種類

DBMS 主要通過數據的保存格式(資料庫的種類)來進行分類,現階段主要有以下 5 種類型。

  • 層次資料庫(Hierarchical Database,HDB

    最古老的資料庫之一,它把數據通過層次結構(樹形結構)的方式表現出來。層次資料庫曾經是資料庫的主流,但隨著關係資料庫的出現和普及,現在已經很少使用了。

  • 關係資料庫(Relational Database,RDB

    關係資料庫是現在應用最廣泛的資料庫。關係資料庫在 1969 年誕生,可謂歷史悠久。和 Excel 工作表一樣,它也採用由行和列組成的二維表來管理數據,所以簡單易懂(表 1)。

    同時,它還使用專門的 SQL(Structured Query Language,結構化查詢語言)對數據進行操作。

    表 1  關係資料庫中的數據

    商品編號 商品名稱 商品種類 銷售單價 進貨單價 登記日期
    0001 T 恤衫 衣服 1000 500 2009-09-20
    0002 打孔器 辦公用品 500 320 2009-09-11
    0003 運動 T 恤 衣服 4000 2800
    0004 菜刀 廚房用具 3000 2800 2009-09-20
    0005 高壓鍋 廚房用具 6800 5000 2009-01-15
    0006 叉子 廚房用具 500 2009-09-20
    0007 擦菜板 廚房用具 880 790 2008-04-28
    0008 圓珠筆 辦公用品 100 2009-11-11

    這種類型的 DBMS 稱為關係資料庫管理系統(Relational Database Management System,RDBMS)。比較具有代表性的 RDBMS 有如下 5 種。

    • Oracle Database :甲骨文公司的 RDBMS

    • SQL Server :微軟公司的 RDBMS

    • DB2 :IBM 公司的 RDBMS

    • PostgreSQL :開源的 RDBMS

    • MySQL :開源的 RDBMS

    另外,Oracle Database 通常簡稱為 Oracle。

  • 面向對象資料庫(Object Oriented Database,OODB

    編程語言當中有一種被稱為面向對象語言的語言 [3]。把數據以及對數據的操作集合起來以對象為單位進行管理,因此得名。面向對象資料庫就是用來保存這些對象的資料庫。

  • XML 資料庫(XML Database,XMLDB

    最近幾年,XML [4] 作為在網路上進行交互的數據的形式逐漸普及起來。XML 資料庫可以對 XML 形式的大量數據進行高速處理。

  • 鍵值存儲系統(Key-Value Store,KVS

    這是一種單純用來保存查詢所使用的主鍵(Key)和值(Value)的組合的資料庫。具有編程語言知識的讀者可以把它想象成關聯數組或者散列(hash)。

    近年來,隨著鍵值存儲系統被應用到 Google 等需要對大量數據進行超高速查詢的 Web 服務當中,它正逐漸為人們所關註。

本文向大家介紹使用 SQL 語言的資料庫管理系統,也就是關係資料庫管理系統(RDBMS)的操作方法

接下來還會深入講解 RDBMS。如無特殊說明,本文所提到的資料庫以及 DBMS 都是指 RDBMS。

另外,有的 RDBMS 也可以像 XML 資料庫那樣操作 XML 形式的數據,或者具有面向對象資料庫的功能。

本文並不會介紹用於這些擴展功能的 SQL,如果要瞭解這些內容,請參考 RDBMS 附帶的 SQL 手冊或者針對不同的 RDBMS 介紹 SQL 的圖書。

二、資料庫的結構

本節重點

  • RDBMS 通常使用客戶端/伺服器這樣的系統結構。

  • 通過從客戶端向伺服器端發送 SQL 語句來實現資料庫的讀寫操作。

  • 關係資料庫採用被稱為資料庫表的二維表來管理數據。

  • 資料庫表由表示數據項目的列(欄位)和表示一條數據的行(記錄)所組成,以記錄為單位進行數據讀寫。

  • 本文將行和列交匯的方格稱為單元格,每個單元格只能輸入一個數據。

2.1 RDBMS 的常見系統結構

使用 RDBMS 時,最常見的系統結構就是 客戶端/伺服器類型(C/S 類型) 這種結構(圖 3)。

使用 RDBMS 時的系統結構

圖 3 使用 RDBMS 時的系統結構

伺服器指的是用來接收其他程式發出的請求,並對該請求進行相應處理的程式(軟體),或者是安裝了此類程式的設備(電腦)。在電腦上持續執行處理,並等待接收下一條請求。

RDBMS 也是一種伺服器,它能夠從保存在硬碟上的資料庫中讀取數據並返回,還可以把數據變更為指定內容。

與之相對,向伺服器發出請求的程式(軟體),或者是安裝了該程式的設備(電腦)稱為客戶端。訪問由 RDBMS 管理的資料庫,進行數據讀寫的程式稱為 RDBMS 客戶端。

RDBMS 客戶端將想要獲取什麼樣的數據,或者想對哪些數據進行何種變更等信息通過 SQL 語句發送給 RDBMS 伺服器。

RDBMS 根據該語句的內容返回所請求的數據,或者對存儲在資料庫中的數據進行更新。

客戶端就如同委托方,而伺服器就像是受托方。由於兩者關係類似受托方執行委托方發出的指令,故而得名。

這樣就可以使用 SQL 語句來實現關係資料庫的讀寫操作了。

本文為了給大家講解 SQL,使用了可以顯示如何將 SQL 語句發送到 RDBMS,以及接收返回信息(數據)的客戶端。具體內容請參考 如何在 Windows 10 中安裝 PostgreSQL 和連接設置

另外,RDBMS 既可以和其客戶端安裝在同一臺電腦上,也可以分別安裝在不同的電腦上。這樣一來,不僅可以通過網路使二者相互關聯,還可以實現多個客戶端訪問同一個 RDBMS(圖 4)。

通過網路可以實現多個客戶端訪問同一個資料庫

圖 4 通過網路可以實現多個客戶端訪問同一個資料庫

客戶端沒有必要使用同樣的程式,只要能將 SQL 發送給 RDBMS,就可以操作資料庫了。並且,多個客戶端還可以同時對同一個資料庫進行讀寫操作。

另外,RDBMS 除了需要同時接收多個客戶端的請求之外,還需要操作存有大量數據的資料庫,因此通常都會安裝在比客戶端性能更優越的電腦上。

操作數據量特別巨大的資料庫時,還可以將多台電腦組合使用。

雖然 RDBMS 的系統結構多種多樣,但是從客戶端發來的 SQL 語句基本上都是一樣的。

2.2 表的結構

讓我們再具體瞭解一下 RDBMS 的結構。上一節我們講到了關係資料庫通過類似 Excel 工作表那樣的、由行和列組成的二維表來管理數據。用來管理數據的二維表在關係資料庫中簡稱為

表存儲在由 RDBMS 管理的資料庫中,如圖 5 所示。一個資料庫中可以存儲多個表。

資料庫和表的關係

圖 5 資料庫和表的關係

根據 SQL 語句的內容返回的數據同樣必須是二維表的形式,這也是關係資料庫的特征之一。返回結果如果不是二維表的 SQL 語句則無法執行。

另外,圖 5 中只有一個資料庫,我們還可以創建多個資料庫分別用於不同用途。

圖 6 所示為之後的學習中實際用到的商品表的內容。

表的示例(商品表)

圖 6 表的示例(商品表)

表的(垂直方向)稱為欄位,它代表了保存在表中的數據項目。在表 2 的商品表中,從商品編號到登記日期一共有 6 列。

對於列的約束比 Excel 更加嚴格,定義為數字的列只能輸入數字,定義為日期的列只能輸入日期(在 SQL 如何對錶進行創建、更新和刪除操作 詳細介紹)。

與之相對,表的(水平方向)稱為記錄,它相當於一條數據。商品表中總共有 8 行數據。關係資料庫必須以行為單位進行數據讀寫,請大家牢記。

法則 1

關係資料庫以行為單位讀寫數據。

本文將圖 6 所示的行和列交匯的方格稱為單元格。一個單元格中只能輸入一個數據。像圖 7 那樣,在一個單元格中輸入 2 個或 2 個以上的數據是不允許的,請大家牢記。

一個單元格中只能輸入一個數據

圖 7 一個單元格中只能輸入一個數據

法則 2

一個單元格中只能輸入一個數據。

專欄

RDBMS 的用戶管理

為了防止重要數據被竊讀或篡改,RDBMS 只允許註冊用戶接觸資料庫。

這裡的用戶並不是指 Windows 等操作系統的註冊用戶,而是只能用於 RDBMS 的用戶。RDBMS 允許註冊多個用戶。

註冊用戶的時候除了設定用戶名(賬號),還需要設定密碼。雖然密碼並不是必需的,但為了防止重要信息的泄露,還是希望大家能夠設定密碼。

三、SQL 簡介

本節要點

  • SQL 是為操作資料庫而開發的語言。

  • 雖然 SQL 也有標準,但實際上根據 RDBMS 的不同 SQL 也不盡相同。

  • SQL 通過一條語句來描述想要進行的操作,發送給 RDBMS。

  • 原則上 SQL 語句都會使用分號結尾。

  • SQL 根據操作目的可以分為 DDL、DML 和 DCL。

3.1 標準 SQL

如前所述,本文所要學習的 SQL 是用來操作關係資料庫的語言。

它原本是為了提高資料庫查詢效率而開發的語言,但是現在不僅可以進行數據查詢,就連數據的插入和刪除等操作也基本上都可以通過 SQL 來完成了。

國際標準化組織(ISO)為 SQL 制定了相應的標準,以此為基準的 SQL 稱為標準 SQL(相關信息請參考專欄——標準 SQL 和特定的 SQL)。

以前,完全基於標準 SQL 的 RDBMS 很少,通常需要根據不同的 RDBMS 來編寫特定的 SQL 語句。

這樣一來,就會造成能夠在 Oracle 中使用的 SQL 語句卻無法在 SQL Server 中使用,反之亦然。

近來,對標準 SQL 的支持取得了一些進展,因此希望準備學習 SQL 的讀者們能夠從現在開始就牢記標準 SQL 的書寫方式。

原則上,本文介紹的都是標準 SQL [5] 的書寫方式,但是根據 RDBMS 的不同也會存在一些特殊的 SQL 語句。如果遇到這種情況,將會通過其他途徑對其進行說明。

法則 3

學會標準 SQL 就可以在各種 RDBMS 中書寫 SQL 語句了。

3.2 SQL 語句及其種類

SQL 用關鍵字、表名、列名等組合而成的一條語句(SQL 語句)來描述操作的內容。

關鍵字是指那些含義或使用方法已事先定義好的英語單詞,存在包含“對錶進行查詢”或者“參考這個表”等各種意義的關鍵字。

根據對 RDBMS 賦予的指令種類的不同,SQL 語句可以分為以下三類。

  • DDL

    DDL(Data Definition Language,數據定義語言) 用來創建或者刪除存儲數據用的資料庫以及資料庫中的表等對象。DDL 包含以下幾種指令。

    • CREATE:創建資料庫和表等對象

    • DROP:刪除資料庫和表等對象

    • ALTER:修改資料庫和表等對象的結構

  • DML

    DML(Data Manipulation Language,數據操縱語言) 用來查詢或者變更表中的記錄。DML 包含以下幾種指令。

    • SELECT:查詢表中的數據

    • INSERT:向表中插入新數據

    • UPDATE:更新表中的數據

    • DELETE:刪除表中的數據

  • DCL

    DCL(Data Control Language,數據控制語言) 用來確認或者取消對資料庫中的數據進行的變更。

    除此之外,還可以對 RDBMS 的用戶是否有許可權操作資料庫中的對象(資料庫表等)進行設定。DCL 包含以下幾種指令。

    • COMMIT:確認對資料庫中的數據進行的變更

    • ROLLBACK:取消對資料庫中的數據進行的變更

    • GRANT:賦予用戶操作許可權

    • REVOKE:取消用戶的操作許可權

實際使用的 SQL 語句當中有 90% 屬於 DML,本文同樣會以 DML 為中心進行講解。

法則 4

SQL 根據功能不同可以分為三類,其中使用最多的是 DML。

3.3 SQL 的基本書寫規則

書寫 SQL 語句時必須要遵守一些規則。這些規則都非常簡單,接下來就讓我們逐一認識一下吧。

  • SQL 語句要以分號(;)結尾

    一條 SQL 語句可以描述一個資料庫操作。在 RDBMS 當中,SQL 語句也是逐條執行的。

    眾所周知,我們在句子的句尾加註標點表示結束,中文句子以句號(。)結尾,英文以點號(.)結尾,而 SQL 語句則使用 分號(; 結尾。

    法則 5

    SQL 語句以分號(;)結尾。

  • SQL 語句不區分大小寫

    SQL 不區分關鍵字的大小寫。例如,不管寫成 SELECT 還是 select,解釋都是一樣的。表名和列名也是如此。

    雖然可以根據個人喜好選擇大寫還是小寫(或大小寫混雜),但為了理解起來更加容易,本文使用以下規則來書寫 SQL 語句。

    • 關鍵字大寫

    • 表名的首字母大寫

    • 其餘(列名等)小寫

    法則 6

    關鍵字不區分大小寫。

    但是插入到表中的數據是區分大小寫的。例如,在操作過程中,數據 ComputerCOMPUTERcomputer,三者是不一樣的。

  • 常數的書寫方式是固定的

    SQL 語句常常需要直接書寫字元串 [6]、日期或者數字。例如,書寫向表中插入字元串、日期或者數字等數據的 SQL 語句。

    在 SQL 語句中直接書寫的字元串、日期或者數字等稱為常數。常數的書寫方式如下所示。

    SQL 語句中含有字元串的時候,需要像 'abc' 這樣,使用單引號(')將字元串括起來,用來標識這是一個字元串。

    SQL 語句中含有日期的時候,同樣需要使用單引號將其括起來。日期的格式有很多種('26 Jan 2010' 或者 '10/01/26' 等),本文統一使用 '2010-01-26' 這種 '年-月-日' 的格式。

    在 SQL 語句中書寫數字的時候,不需要使用任何符號標識,直接寫成 1000 這樣的數字即可。

    法則 7

    字元串和日期常數需要使用單引號(')括起來。

    數字常數無需加註單引號(直接書寫數字即可)。

  • 單詞需要用半形空格或者換行來分隔

    SQL 語句的單詞之間需使用半形空格或換行符來進行分隔。如下這種未加分隔的語句會發生錯誤,無法正常執行。

    ○ CREATE TABLE Product

    × CREATETABLE Product

    × CREATE TABLEProduct

    但是不能使用全形空格作為單詞的分隔符,否則會發生錯誤,出現無法預期的結果。

    法則 8

    單詞之間需要使用半形空格或者換行符進行分隔。

專欄

標準 SQL 和特定的 SQL

每隔幾年,ANSI(美國國家標準協會)或 ISO(國際標準化組織)等便會修訂 SQL 的標準,進行語法的修訂並追加新功能。

1986 年,ANSI 首次制定了 SQL 的標準,之後又進行了數次修訂。修訂後的標準以修訂年份來命名,例如 SQL:1999、SQL:2003、SQL:2008 等。以這些標準為基準的 SQL 就是標準 SQL。

但是,SQL 的標準並不強制“每種 RDBMS 都必須使用”。雖然支持標準 SQL 的 RDBMS 越來越多,但還是存在標準 SQL 無法執行的情況。這時就需要使用只能在特定 RDBMS 中使用的特殊 SQL 語句。

其實,這也是沒有辦法的事情,起初(大約在 20 世紀 80 年代到 90 年代),標準 SQL 能夠實現的功能非常有限,無法完全滿足實際需要。RDBMS 的供應商為了彌補這些不足,不得不再單獨追加所需要的功能。

儘管如此,這些特定的 SQL 所帶來的並不都是負面的影響。標準 SQL 將一些獨特的功能收錄其中,對其自身的發展起到了積極的推進作用。

過去,各個供應商為了展現本公司的優勢和獨特性,也曾不遺餘力地開發各自特定的 SQL。目前的標準 SQL 經過多次修訂,功能已經十分完善。

準備學習 SQL 的讀者們,就讓我們先從牢記標準 SQL 的書寫方法開始吧。

原文鏈接:https://www.developerastrid.com/sql/database-and-sql/

(完)


  1. 資料庫(DB)和 DBMS 經常被混淆。為了加以區別,本文將資料庫管理系統統稱為 DBMS。 ↩︎

  2. 保存只通過文字記錄的數據的文件。 ↩︎

  3. 主要的面向對象語言包括 Java 和 C++ 等。 ↩︎

  4. eXtensible Markup Language 的縮寫,一種使用 HTML 那樣的標簽來表現數據結構的語言。以 <name>鈴木</name> 這樣的形式來保存數據。 ↩︎

  5. 本文將介紹以 [SQL :2003] 為基準的標準 SQL 的書寫方式。 ↩︎

  6. 一個以上的連續字元。 ↩︎


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.什麼是quota 簡單的說就是限制用戶對磁碟空間的使用量。 因為Linux是多用戶多任務的操作系統,許多人共用磁碟空間,為了合理的分配磁碟空間,於是就有了quota的出現。 2.quota的用途 顯示磁碟使用情況和配額 3.quota的一般作用對象 (1)針對WWW server (2)針對ma ...
  • 1、引言 最近在查一個bug,查到最後發現是數組越界導致的。數組只有30個位元組,代碼卻向這個數組填充了35個數據,這個bug還是偶現的,查到它確實廢了一番功夫。我就突然想到:C語言為什麼不檢查數組下標呢???先來個demo驗證下 #include<stdio.h> #include<stdlib.h ...
  • 一 、通過雲開發平臺快速創建初始化應用 1.創建相關應用模版請參考鏈接:基於 vue.js 的 SSR 技術—Nuxt.js // 註意在後面提示中,上移下移,按空格選中 Element 2.完成創建後就可以在github中查看到新增的Nuxt倉庫 二 、 本地編寫 流程圖、拓撲圖項目 1.將應用模 ...
  • 思路: 1、執行df -h 找到 帶mnt的行。將結果存入一個文件中。 system("df -h |grep mnt >./extendevinfo.txt"); 也可以直接popen用管道打開,感覺效率可能會更高一些。 2、解析文件中最後/mnt/XXX部分即為掛載路徑。(具體看自己內核掛載路徑 ...
  • 為什麼要使用Nuxt.js Nuxt 基於一個強大的模塊化架構。你可以從 50 多個模塊中進行選擇,讓你的開發變得更快、更簡單。對 PWA 的支持、添加谷歌分析到你的網頁或生成網站地圖,這些功能都無需重新發明輪子來獲得。 Nuxt.js 預設會優化你的應用程式。我們儘可能地利用 Vue.js 和 N ...
  • 一、概述 EFAK(Eagle For Apache Kafka,以前稱為 Kafka Eagle)是一款由國內公司開源的Kafka集群監控系統,可以用來監視kafka集群的broker狀態、Topic信息、IO、記憶體、consumer線程、偏移量等信息,併進行可視化圖表展示。獨特的KQL還可以通過 ...
  • 導讀: 在電商推薦中,除了推送商品的圖片和價格信息外,文案也是商品非常重要的維度。基於編碼器解碼器範式的序列文本生成模型是文案挖掘的核心,但該種方法面臨著兩大技術挑戰:一是文案生成結果不可靠和生成質量不可控,無法滿足業務對電商商品文案內容可靠性的嚴格要求;二是序列文本生成模型經常面臨數據坍塌,比較容 ...
  • DR實驗存在的隱患 DR可能會掛,單點故障 RS可能會掛 解決方案: 解決單點故障 主備:準備多個DR備用機,做好配置,主機掛掉備用機頂上 主主 解決RS會掛的問題 給RS發送請求,如果收到200 ok回覆則說明RS正常 keepalived keepalived就是實現了上述解決方法的工具,檢測w ...
一周排行
    -Advertisement-
    Play Games
  • 基於.NET Framework 4.8 開發的深度學習模型部署測試平臺,提供了YOLO框架的主流系列模型,包括YOLOv8~v9,以及其系列下的Det、Seg、Pose、Obb、Cls等應用場景,同時支持圖像與視頻檢測。模型部署引擎使用的是OpenVINO™、TensorRT、ONNX runti... ...
  • 十年沉澱,重啟開發之路 十年前,我沉浸在開發的海洋中,每日與代碼為伍,與演算法共舞。那時的我,滿懷激情,對技術的追求近乎狂熱。然而,隨著歲月的流逝,生活的忙碌逐漸占據了我的大部分時間,讓我無暇顧及技術的沉澱與積累。 十年間,我經歷了職業生涯的起伏和變遷。從初出茅廬的菜鳥到逐漸嶄露頭角的開發者,我見證了 ...
  • C# 是一種簡單、現代、面向對象和類型安全的編程語言。.NET 是由 Microsoft 創建的開發平臺,平臺包含了語言規範、工具、運行,支持開發各種應用,如Web、移動、桌面等。.NET框架有多個實現,如.NET Framework、.NET Core(及後續的.NET 5+版本),以及社區版本M... ...
  • 前言 本文介紹瞭如何使用三菱提供的MX Component插件實現對三菱PLC軟元件數據的讀寫,記錄了使用電腦模擬,模擬PLC,直至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1. PLC開發編程環境GX Works2,GX Works2下載鏈接 https:// ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • 1、jQuery介紹 jQuery是什麼 jQuery是一個快速、簡潔的JavaScript框架,是繼Prototype之後又一個優秀的JavaScript代碼庫(或JavaScript框架)。jQuery設計的宗旨是“write Less,Do More”,即倡導寫更少的代碼,做更多的事情。它封裝 ...
  • 前言 之前的文章把js引擎(aardio封裝庫) 微軟開源的js引擎(ChakraCore))寫好了,這篇文章整點js代碼來測一下bug。測試網站:https://fanyi.youdao.com/index.html#/ 逆向思路 逆向思路可以看有道翻譯js逆向(MD5加密,AES加密)附完整源碼 ...
  • 引言 現代的操作系統(Windows,Linux,Mac OS)等都可以同時打開多個軟體(任務),這些軟體在我們的感知上是同時運行的,例如我們可以一邊瀏覽網頁,一邊聽音樂。而CPU執行代碼同一時間只能執行一條,但即使我們的電腦是單核CPU也可以同時運行多個任務,如下圖所示,這是因為我們的 CPU 的 ...
  • 掌握使用Python進行文本英文統計的基本方法,並瞭解如何進一步優化和擴展這些方法,以應對更複雜的文本分析任務。 ...
  • 背景 Redis多數據源常見的場景: 分區數據處理:當數據量增長時,單個Redis實例可能無法處理所有的數據。通過使用多個Redis數據源,可以將數據分區存儲在不同的實例中,使得數據處理更加高效。 多租戶應用程式:對於多租戶應用程式,每個租戶可以擁有自己的Redis數據源,以確保數據隔離和安全性。 ...