Python編程快速上手 PDF高清版下載

来源:https://www.cnblogs.com/Pythonyebai/archive/2022/08/31/16642906.html
-Advertisement-
Play Games

《Python編程快速上手》PDF高清版免費下載地址 內容簡介 · · · · · · 如今,人們面臨的大多數任務都可以通過編寫電腦軟體來完成。Python是一種解釋型、面向對象、動態數據類型的高級程式設計語言。通過Python編程,我們能夠解決現實生活中的很多任務。 本書是一本面向實踐的Pyth ...


 

 《Python編程快速上手》PDF高清版免費下載地址

 

內容簡介  · · · · · ·

如今,人們面臨的大多數任務都可以通過編寫電腦軟體來完成。Python是一種解釋型、面向對象、動態數據類型的高級程式設計語言。通過Python編程,我們能夠解決現實生活中的很多任務。

本書是一本面向實踐的Python編程實用指南。本書的目的,不僅是介紹Python語言的基礎知識,而且還通過項目實踐教會讀者如何應用這些知識和技能。本書的首部分介紹了基本Python編程概念,第二部分介紹了一些不同的任務,通過編寫Python程式,可以讓電腦自動完成它們。第二部分的每一章都有一些項目程式,供讀者學習。每章的末尾還提供了一些習題和深入的實踐項目,幫助讀者鞏固所學的知識。附錄部分提供了所有習題的解答。

本書適合任何想要通過Python學習編程的讀者,尤其適合缺乏編程基礎的初學者。通過閱讀本書,讀者將能利用強大的編程語言和工具,並且會體會到Python編程的快樂。

作者簡介  · · · · · ·

Al Sweigart 是一名軟體開發者,還教小孩和成人編程。他為初學者寫了幾本Python 書籍,包括《Python 密碼學編程》、《Python 游戲編程快速上手》和《Python 和Pygame 游戲開髮指南》。

 

目錄  · · · · · ·

第一部分Python編程基礎
第1章 Python基礎 3
1.1 在互動式環境中輸入表達式 3
1.2 整型、浮點型和字元串數據類型 6
1.3 字元串連接和複製 6
1.4 在變數中保存值 7
1.4.1 賦值語句 7
1.4.2 變數名 9
1.5 第一個程式 9
1.6 程式剖析 11
1.6.1 註釋 11
1.6.2 print()函數 11
1.6.3 input()函數 11
1.6.4 列印用戶的名字 12
1.6.5 len()函數 12
1.6.6 str()、int()和float()函數 13
1.7 小結 15
1.8 習題 15
第2章 控制流 17
2.1 布爾值 18
2.2 比較操作符 19
2.3 布爾操作符 20
2.3.1 二元布爾操作符 20
2.3.2 not操作符 21
2.4 混合布爾和比較操作符 21
2.5 控制流的元素 22
2.5.1 條件 22
2.5.2 代碼塊 22
2.6 程式執行 23
2.7 控制流語句 23
2.7.1 if語句 23
2.7.2 else語句 24
2.7.3 elif語句 25
2.7.4 while迴圈語句 30
2.7.5 惱人的迴圈 31
2.7.6 break語句 33
2.7.7 continue語句 34
2.7.8 for迴圈和range()函數 37
2.7.9 等價的while迴圈 39
2.7.10 range()的開始、停止和步長參數 39
2.8 導入模塊 40from import語句 41
2.9 用sys.exit()提前結束程式 41
2.10 小結 41
2.11 習題 41
第3章 函數 43
3.1 def語句和參數 44
3.2 返回值和return語句 45
3.3 None值 46
3.4 關鍵字參數和print()47
3.5 局部和全局作用域 48
3.5.1 局部變數不能在全局作用域內使用 48
3.5.2 局部作用域不能使用其他局部作用域內的變數 49
3.5.3 全局變數可以在局部作用域中讀取 49
3.5.4 名稱相同的局部變數和全局變數 50
3.6 global語句 50
3.7 異常處理 52
3.8 一個小程式:猜數字 54
3.9 小結 55
3.10 習題 56
3.11 實踐項目 56
3.11.1 Collatz序列 56
3.11.2 輸入驗證 57
第4章 列表 59
4.1 列表數據類型 59
4.1.1 用下標取得列表中的單個值 60
4.1.2 負數下標 61
4.1.3 利用切片取得子列表 61
4.1.4 用len()取得列表的長度 62
4.1.5 用下標改變列表中的值 62
4.1.6 列表連接和列表複製 62
4.1.7 用del語句從列表中刪除值 63
4.2 使用列表 63
4.2.1 列表用於迴圈 64
4.2.2 in和notin操作符 65
4.2.3 多重賦值技巧 66
4.3 增強的賦值操作 66
4.4 方法 67
4.4.1 用index()方法在列表中查找值 67
4.4.2 用append()和insert()方法在列表中添加值 68
4.4.3 用remove()方法從列表中刪除值 69
4.4.4 用sort()方法將列表中的值排序 69
4.5 例子程式:神奇8球和列表 70
4.6 類似列表的類型:字元串和元組 71
4.6.1 可變和不可變數據類型 72
4.6.2 元組數據類型 73
4.6.3 用list()和tuple()函數來轉換類型 74
4.7 引用 75
4.7.1 傳遞引用 76
4.7.2 copy模塊的copy()和deepcopy()函數 77
4.8 小結 78
4.9 習題 78
4.10 實踐項目 79
4.10.1 逗號代碼 79
4.10.2 字元圖網格 79
第5章 字典和結構化數據 81
5.1 字典數據類型 81
5.1.1 字典與列表 82
5.1.2 keys()、values()和items()方法 83
5.1.3 檢查字典中是否存在鍵或值 84
5.1.4 get()方法 84
5.1.5 setdefault()方法 85
5.2 漂亮列印 86
5.3 使用數據結構對真實世界建模 87
5.3.1 井字棋盤 88
5.3.2 嵌套的字典和列表 91
5.4 小結 92
5.5 習題 93
5.6 實踐項目 93
5.6.1 好玩游戲的物品清單 93
5.6.2 列表到字典的函數,針對好玩游戲物品清單 94
第6章 字元串操作 95
6.1 處理字元串 95
6.1.1 字元串字面量 95
6.1.2 雙引號 96
6.1.3 轉義字元 96
6.1.4 原始字元串 96
6.1.5 用三重引號的多行字元串 97
6.1.6 多行註釋 97
6.1.7 字元串下標和切片 98
6.1.8 字元串的in和notin操作符 98
6.2 有用的字元串方法 99
6.2.1 字元串方法upper()、lower()、isupper()和islower()99
6.2.2 isX字元串方法 100
6.2.3 字元串方法startswith()和endswith()102
6.2.4 字元串方法join()和split()102
6.2.5 用rjust()、ljust()和center()方法對齊文本 103
6.2.6 用strip()、rstrip()和lstrip()刪除空白字元 104
6.2.7 用pyperclip模塊拷貝粘貼字元串 105
6.3 項目:口令保管箱 106
第1步:程式設計和數據結構 106
第2步:處理命令行參數 106
第3步:複製正確的口令 107
6.4 項目:在Wiki標記中添加無序列表 108
第1步:從剪貼板中複製和粘貼 108
第2步:分離文本中的行,並添加星號 109
第3步:連接修改過的行 109
6.5 小結 110
6.6 習題 110
6.7 實踐項目 111
表格列印 111
第二部分 自動化任務
第7章 模式匹配與正則表達式 115
7.1 不用正則表達式來查找文本模式 116
7.2 用正則表達式查找文本模式 117
7.2.1 創建正則表達式對象 118
7.2.2 匹配Regex對象 118
7.2.3 正則表達式匹配複習 119
7.3 用正則表達式匹配更多模式 119
7.3.1 利用括弧分組 119
7.3.2 用管道匹配多個分組 120
7.3.3 用問號實現可選匹配 121
7.3.4 用星號匹配零次或多次 121
7.3.5 用加號匹配一次或多次 122
7.3.6 用花括弧匹配特定次數 122
7.4 貪心和非貪心匹配 123
7.5 findall()方法 124
7.6 字元分類 124
7.7 建立自己的字元分類 125
7.8 插入字元和美元字元 126
7.9 通配字元 126
7.9.1 用點—星匹配所有字元 127
7.9.2 用句點字元匹配換行 127
7.10 正則表達式符號複習 128
7.11 不區分大小寫的匹配 128
7.12 用sub()方法替換字元串 129
7.13 管理複雜的正則表達式 129
7.14 組合使用re.IGNORECASE、re.DOTALL和re.VERBOSE 130
7.15 項目:電話號碼和Email地址提取程式 130
第1步:為電話號碼創建一個正則表達式 131
第2步:為email地址創建一個正則表達式 132
第3步:在剪貼板文本中找到所有匹配 132
第4步:所有匹配連接成一個字元串,複製到剪貼板 133
第5步:運行程式 133
第6步:類似程式的構想 134
7.16 小結 134
7.17 習題 134
7.18 實踐項目 136
7.18.1 強口令檢測 136
7.18.2 strip()的正則表達式版本 136
第8章 讀寫文件 137
8.1 文件與文件路徑 137
8.1.1 Windows上的倒斜杠以及OS X和Linux上的正斜杠 138
8.1.2 當前工作目錄 139
8.1.3 絕對路徑與相對路徑 139
8.1.4 用os.makedirs()創建新文件夾 140
8.1.5 os.path模塊 140
8.1.6 處理絕對路徑和相對路徑 141
8.1.7 查看文件大小和文件夾內容 142
8.1.8 檢查路徑有效性 143
8.2 文件讀寫過程 144
8.2.1 用open()函數打開文件 145
8.2.2 讀取文件內容 145
8.2.3 寫入文件 146
8.3 用shelve模塊保存變數 147
8.4 用pprint.pformat()函數保存變數 148
8.5 項目:生成隨機的測驗試卷文件 149
第1步:將測驗數據保存在一個字典中 149
第2步:創建測驗文件,並打亂問題的次序 150
第3步:創建答案選項 151
第4步:將內容寫入測驗試卷和答案文件 151
8.6 項目:多重剪貼板 153
第1步:註釋和shelf設置 153
第2步:用一個關鍵字保存剪貼板內容 154
第3步:列出關鍵字和載入關鍵字的內容 154
8.7 小結 155
8.8 習題 155
8.9 實踐項目 156
8.9.1 擴展多重剪貼板 156
8.9.2 瘋狂填詞 156
8.9.3 正則表達式查找 156
第9章 組織文件 157
9.1 shutil模塊 158
9.1.1 複製文件和文件夾 158
9.1.2 文件和文件夾的移動與改名 158
9.1.3 永久刪除文件和文件夾 160
9.1.4 用send2trash模塊安全地刪除 160
9.2 遍歷目錄樹 161
9.7 用zipfile模塊壓縮文件 162
9.3.1 讀取ZIP文件 163
9.3.2 從ZIP文件中解壓縮 164
9.3.3 創建和添加到ZIP文件 164
9.4 項目:將帶有美國風格日期的文件改名為歐洲風格日期 165
第1步:為美國風格的日期創建一個正則表達式 165
第2步:識別文件名中的日期部分 166
第3步:構成新文件名,並對文件改名 167
第4步:類似程式的想法 168
9.5 項目:將一個文件夾備份到一個ZIP文件 168
第1步:弄清楚ZIP文件的名稱 168
第2步:創建新ZIP文件 169
第3步:遍歷目錄樹並添加到ZIP文件。170
第4步:類似程式的想法 170
9.6 小結 171
9.7 習題 171
9.8 實踐項目 171
9.8.1 選擇性拷貝 171
9.8.2 刪除不需要的文件 172
9.8.3 消除缺失的編號 172
第10章 調試 173
10.1 拋出異常 174
10.2 取得反向跟蹤的字元串 175
10.3 斷言 176
10.3.1 在交通燈模擬中使用斷言 177
10.3.2 禁用斷言 178
10.4 日誌 178
10.4.1 使用日誌模塊 178
10.4.2 不要用print()調試 180
10.4.3 日誌級別 180
10.4.4 禁用日誌 181
10.4.5 將日誌記錄到文件 182
10.5 IDLE的調試器 182
10.5.1 Go 183
10.5.2 Step 183
10.5.3 Over 183
10.5.4 Out 183
10.5.5 Quit 183
10.5.6 調試一個數字相加的程式 184
10.5.7 斷點 185
10.6 小結 187
10.7 習題 187
10.7 實踐項目 188
調試硬幣拋擲 188
第11章 從Web抓取信息 189
11.1 項目:利用webbrowser模塊的mapIt.py 190
第1步:弄清楚URL 190
第2步:處理命令行參數 191
第3步:處理剪貼板內容,載入瀏覽器 191
第4步:類似程式的想法 192
11.2 用requests模塊從Web下載文件 192
11.2.1 用requests.get()函數下載一個網頁 193
11.2.2 檢查錯誤 193
10.3 將下載的文件保存到硬碟 194
10.4 HTML 195
10.4.1 學習HTML的資源 195
10.4.2 快速複習 195
10.4.3 查看網頁的HTML源代碼 196
10.4.4 打開瀏覽器的開發者工具 197
10.4.5 使用開發者工具來尋找HTML元素 198
10.5 用BeautifulSoup模塊解析HTML 199
10.5.1 從HTML創建一個BeautifulSoup對象 200
10.5.2 用select()方法尋找元素 200
10.5.3 通過元素的屬性獲取數據 202
10.6 項目:“I’mFeelingLucky”Google查找 202
第1步:獲取命令行參數,並請求查找頁面 203
第2步:找到所有的結果 203第3步:針對每個結果打開Web瀏覽器 204
第4步:類似程式的想法 205
10.7 項目:下載所有XKCD漫畫 205
第1步:設計程式 206
第2步:下載網頁 207
第3步:尋找和下載漫畫圖像 207
第4步:保存圖像,找到前一張漫畫 208
第4步:類似程式的想法 209
10.8 用selenium模塊控制瀏覽器 210
10.8.1 啟動selenium控制的瀏覽器 210
10.8.2 在頁面中尋找元素 211
10.8.3 點擊頁面 212
10.8.4 填寫並提交表單 212
10.8.5 發送特殊鍵 213
10.8.6 點擊瀏覽器按鈕 213
10.8.7 關於selenium的更多信息 214
10.9 小結 214
10.10 習題 214
10.11 實踐項目 215
10.11.1 命令行郵件程式 215
10.11.2 圖像網站下載 215
10.11.32048215
10.11.4 鏈接驗證 215
第12章 處理Excel電子錶格 217
12.1 Excel文檔 217
12.2 安裝openpyxl模塊 218
12.3 讀取Excel文檔 218
12.3.1 用openpyxl模塊打開Excel文檔 219
12.3.2 從工作簿中取得工作表 219
12.3.3 從表中取得單元格 220
12.3.4 列字母和數字之間的轉換 221
12.3.5 從表中取得行和列 222
12.3.6 工作薄、工作表、單元格 223
12.4 項目:從電子錶格中讀取數據 223
第1步:讀取電子錶格數據 224
第2步:填充數據結構 225
第3步:將結果寫入文件 226
第4步:類似程式的思想 227
12.5 寫入Excel文檔 227
12.5.1 創建並保存Excel文檔 227
12.5.2 創建和刪除工作表 228
12.5.3 將值寫入單元格 229
12.6 項目:更新一個電子錶格 229
第1步:利用更新信息建立數據結構 230
第2步:檢查所有行,更新不正確的價格 231
第4步:類似程式的思想 231
12.7 設置單元格的字體風格 232
12.8 Font對象 232
12.9 公式 234
12.10 調整行和列 235
12.10.1 設置行高和列寬 235
12.10.2 合併和拆分單元格 236
12.10.3 凍結窗格 237
12.10.4 圖表 238
12.11 小結 240
12.11 習題 240
12.12 實踐項目 241
12.12.1 乘法表 241
12.12.2 空行插入程式 241
12.12.3 電子錶格單元格翻轉程式 242
12.12.4 文本文件到電子錶格 242
12.12.5 電子錶格到文本文件 242
第13章 處理PDF和Word文檔 243
13.1 PDF文檔 243
13.1.1 從PDF提取文本 244
13.1.2 解密PDF 245
13.1.3 創建PDF 246
13.1.4 拷貝頁面 246
13.1.5 旋轉頁面 247
13.1.6 疊加頁面 248
13.1.7 加密PDF 249
13.2 項目:從多個PDF中合併選擇的頁面 250
第1步:找到所有PDF文件 250
第2步:打開每個PDF文件 251
第3步:添加每一頁 252
第4步:保存結果 252
第5步:類似程式的想法 253
13.3 Word文檔 253
13.3.1 讀取Word文檔 254
13.3.2 從.docx文件中取得完整的文本 254
13.3.3 設置Paragraph和Run對象的樣式 255
13.3.4 創建帶有非預設樣式的Word文檔 257
13.3.5 Run屬性 257
13.3.6 寫入Word文檔 258
13.3.7 添加標題 260
13.3.8 添加換行符和換頁符 261
13.3.9 添加圖像 261
13.4 小結 262
13.5 習題 262
13.6 實踐項目 263
13.6.1 PDF偏執狂 263
13.6.2 定製邀請函,保存為Word文檔 263
13.6.3 暴力PDF口令破解程式 264
第14章 處理CSV文件和JSON數據 265
14.1 csv模塊 265
14.2.1 Reader對象 266
14.2.2 在for迴圈中,從Reader對象讀取數據 267
14.2.3 Writer對象 268
14.2.4 delimiter和lineterminator關鍵字參數 269
14.3 項目:從CSV文件中刪除表頭 269
第1步:迴圈遍歷每個CSV文件 270
第2步:讀入CSV文件 270
第3步:寫入CSV文件,沒有
第一行 271
第4步:類似程式的想法 272
14.4 JSON和API 272
14.5 json模塊 273
14.5.1 用loads()函數讀取
JSON 273
14.5.2 用dumps函數寫出
JSON 273
14.6 項目:取得當前的天氣數據 274
第1步:從命令行參數獲取位置 274
第2步:下載JSON數據 275
第3步:載入JSON數據並列印天氣 275
第4步:類似程式的想法 277
14.7 小結 277
14.8 習題 277
14.9 實踐項目 277
Excel到CSV的轉換程式 277
第15章 保持時間、計劃任務和啟動程式 279
15.1 time模塊 279
15.1.1 time.time()函數 279
15.1.2 time.sleep()函數 280
15.2 數字四捨五入 281
15.3 項目:超級秒錶 282
第1步:設置程式來記錄時間 282
第2步:記錄並列印單圈時間 283
第4步:類似程式的想法 283
15.4 datetime模塊 284
15.4.1 timedelta數據類型 285
15.4.2 暫停直至特定日期 286
15.4.3 將datetime對象轉換為字元串 287
15.4.4 將字元串轉換成datetime對象 288
15.5 回顧Python的時間函數 288
15.6 多線程 289
15.6.1 向線程的目標函數傳遞參數 290
15.6.2 併發問題 291
15.7 項目:多線程XKCD下載程式 291
第1步:修改程式以使用函數 292
第2步:創建並啟動線程 293
第3步:等待所有線程結束 293
15.8 從Python啟動其他程式 294
15.8.1 向Popen()傳遞命令行參數 295
15.8.2 TaskScheduler、launchd和
cron 296
15.8.3 用Python打開網站 296
15.8.4 運行其他Python腳本 296
15.8.5 用預設的應用程式打開文件 297
15.9 項目:簡單的倒計時程式 298
第1步:倒計時 298
第2步:播放聲音文件 298
第3步:類似程式的想法 299
15.10 小結 299
15.11 習題 300
15.12 實踐項目 300
15.12.1 美化的秒錶 300
15.12.2 計劃的Web漫畫下載 301
第16章 發送電子郵件和簡訊 303
16.1 SMTP 303
16.2 發送電子郵件 304
16.2.1 連接到SMTP伺服器 304
16.2.2 發送SMTP的“Hello”消息 305
16.2.3 開始TLS加密 306
16.2.4 登錄到SMTP伺服器 306
16.2.5 發送電子郵件 306
16.2.6 從SMTP伺服器斷開 307
16.3 IMAP 307
16.4 用IMAP獲取和刪除電子郵件 307
16.4.1 連接到IMAP伺服器 308
16.4.2 登錄到IMAP伺服器 309
16.4.3 搜索電子郵件 309
16.4.4 選擇文件夾 309
16.4.5 執行搜索 310
16.4.6 大小限制 312
16.4.7 取郵件並標記為已讀 312
16.4.8 從原始消息中獲取電子郵件地址 313
16.4.9 從原始消息中獲取正文 314
16.4.10 刪除電子郵件 315
16.4.11 從IMAP伺服器斷開 315
16.5 項目:向會員發送會費提醒電子郵件 316
第1步:打開Excel文件 316
第2步:查找所有未付成員 317
第3步:發送定製的電子郵件提醒 318
16.6 用Twilio發送簡訊 319
16.6.1 註冊Twilio賬號 319
16.6.2 發送簡訊 320
16.7 項目:“只給我發簡訊”模塊 321
16.8 小結 322
16.9 習題 323
16.10 實踐項目 323
16.10.1 隨機分配家務活的電子郵件程式 323
16.10.2 傘提醒程式 324
16.10.3 自動退訂 324
16.10.4 通過電子郵件控制你的電腦 324
第17章 操作圖像 327
17.1 電腦圖像基礎 327
17.1.1 顏色和RGBA值 328
17.1.2 坐標和Box元組 329
17.2 用Pillow操作圖像 330
17.2.1 處理Image數據類型 331
17.2.2 裁剪圖片 332
17.2.3 複製和粘貼圖像到其他圖像 333
17.2.4 調整圖像大小 335
17.2.5 旋轉和翻轉圖像 336
17.2.6 更改單個像素 338
17.3 項目:添加徽標 339
第1步:打開徽標圖像 340
第2步:遍歷所有文件並打開圖像 341
第3步:調整圖像的大小 341
第4步:添加徽標,並保存更改 342
第5步:類似程式的想法 343
17.4 在圖像上繪畫 344
17.4.1 繪製形狀 344
17.4.2 繪製文本 346
17.5 小結 347
17.6 習題 348
17.7 實踐項目 348
17.7.1 擴展和修正本章項目的程式 348
17.7.2 在硬碟上識別照片文件夾 349
17.7.3 定製的座位卡 350
第18章 用GUI自動化控制鍵盤和滑鼠 351
18.1 安裝pyautogui模塊 351
18.2 走對路 352
18.2.1 通過註銷關閉所有程式 352
18.2.2 暫停和自動防故障裝置 352
18.3 控制滑鼠移動 353
18.3.1 移動滑鼠 354
18.3.2 獲取滑鼠位置 354
18.4 項目:“現在滑鼠在哪裡?”355
第1步:導入模塊 355
第2步:編寫退出代碼和無限迴圈 355
第3步:獲取並列印滑鼠坐標。356
18.5 控制滑鼠交互 357
18.5.1 點擊滑鼠 357
18.5.2 拖動滑鼠 357
18.5.3 滾動滑鼠 359
18.6 處理屏幕 360
18.6.1 獲取屏幕快照 360
18.6.2 分析屏幕快照 360
18.7 項目:擴展mouseNow程式 361
18.8 圖像識別 362
18.9 控制鍵盤 363
18.9.1 通過鍵盤發送一個字元串 363
18.9.2 鍵名 364
18.9.3 按下和釋放鍵盤 365
18.9.4 熱鍵組合 365
18.10 複習PyAutoGUI的函數 366
18.11 項目:自動填表程式 367
第1步:弄清楚步驟 368
第2步:建立坐標 368
第3步:開始鍵入數據 370
第4步:處理選擇列表和單選按鈕 371
第5步:提交表單並等待 372
18.12 小結 372
18.13 習題 373
18.14 實踐項目 373
18.14.1 看起來很忙 373
18.14.2 即時通信機器人 373
18.14.3 玩游戲機器人指南 374
附錄A 安裝第三方模塊 375
附錄B 運行程式 377
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • (這裡寫自定義目錄標題)Java開發入門 博客內容是本人自學java過程,所以具體工具的下載步驟會省略。其中的部分下載和安裝步驟,引用了其他博主的相關文章。 Java語言 Java是目前世界上最流行的電腦編程語言,是一種可以編寫跨平臺應用軟體的面向對象的程式設計語言,也是當今使用率最高的編程語言。 ...
  • 前兩天從網上採集到一條短視頻數據(刷短視頻),發現六公主連排5部劉亦菲主演的電影!甚是震驚,太有牌面了,看了一下日子是8月25號,嗷,原來當天是劉亦菲的生日。巧了,正好也是我家柴犬旺財的3歲生日😀。 言歸正傳,我們看到這條數據的 標題:#劉亦菲35歲生日獲央視獨寵# 神仙姐姐生日快樂! 為了分析數 ...
  • 首先,進行springboot2.7之後,官方不推薦使用/META-INF/spring.factories,轉成和SPI比較類似的/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件, ...
  • 近日,項目中有一個耗時較長的Job存在CPU占用過高的問題,經排查發現,主要時間消耗在往MyBatis中批量插入數據。mapper configuration是用foreach迴圈做的,差不多是這樣。(由於項目保密,以下代碼均為自己手寫的demo代碼) <insert id="batchInsert ...
  • 鏡像倉庫管理 docker倉庫,用來管理鏡像。主要分為公共倉庫和私人倉庫。下麵介紹了公共倉庫Docker Hub、私人倉庫Registry和harbor。 DockerHUb倉庫管理 什麼是DockerHUb 保存和分發鏡像的最直接方法就是使用 Docker Hub。 ​ Docker Hub 是 ...
  • get邏輯: HashMap數據結構為數組加鏈表加紅黑樹、只有當鏈表數量大於8時、才將鏈表轉換為紅黑樹、時間複雜度由鏈表的O(N)轉換為紅黑樹的O(logN) // 主要看getNode下的方法、傳入key的hash值和key public V get(Object key) { Node<K,V> ...
  • 我們知道加密後的數據對模糊查詢不是很友好,本篇就針對加密數據模糊查詢這個問題來展開講一講實現的思路,希望對大家有所啟發。 為了數據安全我們在開發過程中經常會對重要的數據進行加密存儲,常見的有:密碼、手機號、電話號碼、詳細地址、銀行卡號、信用卡驗證碼等信息,這些信息對加解密的要求也不一樣,比如說密碼我 ...
  • 摘要:JVM優化的目標就是:儘可能讓對象都在新生代里分配和回收,儘量別讓太多對象頻繁進入老年代,避免頻繁對老年代進行垃圾回收,同時給系統充足的記憶體大小,避免新生代頻繁的進行垃圾回收。 本文分享自華為雲社區《千萬不要在生產環境使用這個版本的JDK,這不?記憶體又溢出了!快要裂開了!(建議收藏)》,作者: ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...