0920~0926_夏季暢銷第三波BN

從新手到高手:.NET框架程式開發實作

  • 9 792
    880
  • 分類:
    中文書電腦資訊網路/架站架站技術
    追蹤
    ? 追蹤分類後,您會在第一時間收到分類新品通知。
  • 作者: 馮輝 追蹤 ? 追蹤作者後,您會在第一時間收到作者新書通知。
  • 出版社: 深智數位 追蹤 ? 追蹤出版社後,您會在第一時間收到出版社新書通知。
  • 出版日:2023/09/20

活動訊息

想找書的時候,特別想偷看網友的書櫃... 原來大家都在看這本 ↓↓↓

用閱讀開啟視野,讓書成為照亮你人生的光
【金石堂選書】本月推薦您這些好書👉 快來看看

內容簡介

還在擔心微軟產品的跨平台相容性嗎?或者你認為Linux才是真正的程式開發嗎?時代真的變了,.NET架構應該是全世界最多人使用的框架,只要安裝了Visual Studio,就可以開發Windows、MacOS、Linux、Web、雲端、Docker/K8S、主控台等應用,只要你會使用C#!但本書不強調C#的語法,本書的重點在於.NET框架中的開發及設定,並且全書都圍繞在Visual Studio上,也包含了目前最流行的.vscode的應用。在了解基本使用之外,本書直攻問題的核心,包括執行緒、鎖定等機制,並且也精解了JIT等編輯器的原理及方法。最後就是大家關心的平台部署了。本書使用了目前業界最新的部署標準Docker/K8s,更完整說明了compose、swarm等進階Docker技術。還等什麼,Linux的世界也可以用.NET進入,學習一個.NET就可以完成跨平臺開發,這本書就是你贏在終點的起跑點。

【本書看點】
✪ .NET環境安裝、Visual Studio最新版安裝
✪ .NET執行原理、CLI介紹
✪ ASP.NET的多執行模式介紹
✪ 相依性插入、設定和選項、工作排程
✪ IHostedService和BackgroundService的背景工作介紹
✪ 中介軟體完整攻略,快取的應用,當地語系,系統健康檢查
✪ 檔案系統的開發及詳解,各種日誌的詳細說明
✪ 多執行緒及工作平行,執行緒同步及鎖定
✪ 記憶體管理、診斷偵錯
✪ 編輯技術及部署
✪ Docker、K8S的部署

【適合讀者】
☛ 初級和中級開發人員。
☛ 對.NET技術有興趣的讀者。
☛ 準備投入.NET開發,或進一步提升自己的讀者

 

作者

馮輝

Microsoft MVP、Dapr Member、.NET Conf China 2020/2021講師、開源技術的積極倡導者與貢獻者。具有豐富的.NET開發經驗,並專注於.NET平臺、雲原生、服務化和DevOps等技術領域的研究。

目錄

第1章    .NET概述和環境安装
1.1  .NET框架簡介
1.2  .NET的開發環境
1.3  小結

第2章 .NET執行原理概述
2.1  .NET CLI概述
2.2  小結

第 3 章  ASP.NET Core 應用程式的多種執行模式
3.1  自宿主
3.2  IIS服務承載
3.3  將WebAPI嵌入桌面應用程式中
3.4  服務承載
3.5  延伸閱讀:WindowsFormsLifetime
3.6  小結

第 4 章  相依性插入
4.1.NET相依性插入
4.2實作批次服務註冊
4.3小結

第 5 章  設定與選項
5.1  設定模式
5.2  選項模式
5.3  設計一個簡單的設定中心
5.4  小結

第 6 章  使用IHostedService和BackgroundService實作背景工作
6.1  IHostedService    
6.2  BackgroundService
6.3  工作排程
6.4  小結

第 7 章  中介軟體
7.1  中介軟體的作用
7.2  中介軟體的呼叫過程
7.3  撰寫自訂中介軟體
7.4  在篩檢程式中應用中介軟體
7.5  製作簡單的API統一回應格式與自動包裝
7.6  延伸閱讀:責任鏈模式
7.7  延伸閱讀:中介軟體常見的擴充方法
7.8  小結

第 8 章  快取
8.1  記憶體快取
8.2  分散式快取
8.3  HTTP快取
8.4  小結

第 9 章  當地語系化
9.1  內容當地語系化
9.2  多樣化的資料來源
9.3  小結

第 10 章  健康檢查
10.1  檢查當前應用的健康狀態
10.2  發佈健康報告
10.3  視覺化健康檢查介面
10.4  小結

第 11 章  檔案系統
11.1  ASP.NET Core靜態檔案
11.2  自訂一個簡單的檔案系統
11.3  小結

第 12 章  日誌
12.1  主控台日誌
12.2  偵錯日誌
12.3  事件日誌
12.4  EventSource日誌
12.5  TraceSource日誌
12.6  DiagnosticSource日誌
12.7  小結

第 13 章  多執行緒與工作平行
13.1  執行緒簡介
13.2  基於工作的非同步程式設計
13.3  執行緒平行
13.4  小結

第 14 章  執行緒同步機制和鎖定
14.1  不可部分完成作業
14.2  自旋鎖    
14.3  混合鎖    
14.4  互斥鎖    
14.5  旗號
14.6  讀寫鎖    
14.7  小結

第 15 章  記憶體管理
15.1  記憶體分配
15.2  垃圾回收器
15.3  資源釋放
15.4  垃圾回收器的設定
15.5  小結

第 16 章  診斷和偵錯
16.1  性能診斷工具
16.2  Linux偵錯
16.3  小結

第 17 章  編譯技術精講
17.1  IL解析    
17.2  JIT簡介
17.3  JIT編譯
17.4  AOT編譯
17.5  小結

第 18 章  部署
18.1  發佈與部署    
18.2  Docker    
18.3  撰寫Dockerfile檔案
18.4  建構.NET應用鏡像
18.5  Docker Compose
18.6  Docker Swarm
18.7  Kubernetes
18.8  小結

序/導讀

前言

隨著.NET技術的發展,湧現出眾多的設計思想和核心概念。值得開發人員關注的技術點有很多,如ASP.NET Core模組的設計、跨平台偵錯與部署等。

.NET已經成為一種熱門的現代技術系統,從.NET徹底邁向跨平台和開放原始碼開始,已經歷經了約10個版本。新一代的.NET平台以擁抱雲端原生為核心,擁有更小的體積、更少的資源佔用和更快的啟動速度,並且支援水平擴充。

筆者也算是一個親歷者,從.NET Core 1.0到現在,是一個從重生到繁榮的成長階段,.NET生態更加開放,開放原始碼社區越來越活躍,不僅支持傳統的x86架構系統,還支持ARM架構,並且獲得了諸多新興架構系統的踴躍支持,同時在工業、IoT、車聯網等領域獲得了廣泛運用。無論是從社區參與度,還是從NuGet的下載量,都不難看出.NET的發展速度。

.NET具備原生的跨平台部署能力,是一種用於建構多端應用的開放平台。使用.NET可以建構桌面應用、雲端服務、嵌入式應用及機器學習應用等,讀者可以從GitHub官網的dotnet組織中獲取它所有的原始程式碼。

電腦科學家Alan J. Perlis曾說過:“不能影響你的程式設計思維方式的語言不值得學習和使用。”由此可知,“思維”非常重要,只有了解一門程式語言或框架的基礎模型與核心設計,才能將其應用到日常的程式設計中。

框架的設計過程是非常複雜的,筆者偏向於將複雜問題簡單化,先研究它的實現方式,再了解它的設計模式,透過這一層層的推導過程,慢慢地了解整體脈絡。閱讀原始程式碼是一個枯燥但會帶來收穫的過程。在本書中,筆者將框架設計方法,以及它們的實現(可擴充性)方式毫無保留地寫下來。

本書整合了筆者在工作中使用.NET開發應用程式的撰寫經驗和偵錯經驗,同時結合了筆者關於Linux平台和容器雲端平台的使用經驗。透過本書,筆者將介紹每個模組的核心設計與實現,因為要想在生產環境中大規模使用,就需要在這個複雜而龐大的專案中抓到主線,了解內部的實現和偵錯技術,以便快速定位問題和解決問題。

本書對ASP.NET Core的部分核心內容進行了深入解析,在這個基礎上延伸內容,以及自訂擴充實例,初學者可以更深入地了解ASP.NET Core內部的運作方式。本書也涵蓋了很多基礎知識,如垃圾回收、偵錯、執行緒等,除此之外,增加了部署方面的內容,將應用程式部署到宿主機、Docker和Kubernetes中。

筆者透過對.NET技術的原理進行剖析及實例的演示,幫助讀者快速熟悉框架的核心設計及實現原理。希望讀者在閱讀完本書後,能夠將書中的內容學以致用,使用.NET建構出高性能的應用程式,同時為開放原始碼社區貢獻一份心力。

本書特色

本書主要介紹.NET框架的核心部分,不僅闡述了框架的核心設計,還展示了實作程式和執行效果,同時根據不同的功能模組擴充出屬於自己的小元件。透過閱讀本書,讀者可以深入了解.NET框架的核心設計,掌握.NET性能最佳化和ASP.NET Core的部署方式。本書包含18章。第1~3章主要介紹.NET框架、開發環境和運行模式。第4~12章主要介紹相依性插入、設定與選項、背景工作、中介軟體、快取、當地語系化、健康檢查、檔案系統和日誌等常用功能模組。第13~17章主要介紹執行緒、執行緒同步、記憶體管理、診斷和偵錯,以及編譯技術等內容。第18章主要介紹應用程式的部署方式,包括宿主機的部署,以及Docker和Kubernetes的部署。

本書可供.NET開發人員和.NET初學者閱讀與參考,也適合具備其他編程語言基礎且想要學習.NET的開發人員閱讀,還可為讀者在工作及鞏固基礎時提供有力的支援。

 

配送方式

  • 台灣
    • 國內宅配:本島、離島
    • 到店取貨:
      金石堂門市 不限金額免運費
      7-11便利商店 ok便利商店 萊爾富便利商店 全家便利商店
  • 海外
    • 國際快遞:全球
    • 港澳店取:
      ok便利商店 順豐 7-11便利商店

詳細資料

詳細資料

    • 語言
    • 中文繁體
    • 裝訂
    • 紙本平裝
    • ISBN
    • 9786267273944
    • 分級
    • 普通級
    • 頁數
    • 608
    • 商品規格
    • 23*17*2.7
    • 出版地
    • 台灣
    • 適讀年齡
    • 全齡適讀
    • 注音
    • 級別

商品評價

訂購/退換貨須知

加入金石堂 LINE 官方帳號『完成綁定』,隨時掌握出貨動態:

加入金石堂LINE官方帳號『完成綁定』,隨時掌握出貨動態
金石堂LINE官方帳號綁定教學

提醒您!!
金石堂及銀行均不會請您操作ATM! 如接獲電話要求您前往ATM提款機,請不要聽從指示,以免受騙上當!

退換貨須知:

**提醒您,鑑賞期不等於試用期,退回商品須為全新狀態**

  • 依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,以下商品購買後,除商品本身有瑕疵外,將不提供7天的猶豫期:
    1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮食品)
    2. 依消費者要求所為之客製化給付。(客製化商品)
    3. 報紙、期刊或雜誌。(含MOOK、外文雜誌)
    4. 經消費者拆封之影音商品或電腦軟體。
    5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等)
    6. 已拆封之個人衛生用品。(如:內衣褲、刮鬍刀、除毛刀…等)
  • 若非上列種類商品,均享有到貨7天的猶豫期(含例假日)。
  • 辦理退換貨時,商品(組合商品恕無法接受單獨退貨)必須是您收到商品時的原始狀態(包含商品本體、配件、贈品、保證書、所有附隨資料文件及原廠內外包裝…等),請勿直接使用原廠包裝寄送,或於原廠包裝上黏貼紙張或書寫文字。
  • 退回商品若無法回復原狀,將請您負擔回復原狀所需費用,嚴重時將影響您的退貨權益。
※ 網友掛保證,絕不踩雷書單如下 ↓↓↓
預計 2025/09/20 出貨 參考庫存量:1 
金石堂門市 全家便利商店 ok便利商店 萊爾富便利商店 7-11便利商店
World wide
活動ing