.NET Core 2.0 應(yīng)用程序高級(jí)調(diào)試-完全掌握Linux.macOS和 Windows跨平
-
>
決戰(zhàn)行測(cè)5000題(言語(yǔ)理解與表達(dá))
-
>
軟件性能測(cè)試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍(lán)圖完全學(xué)習(xí)教程
-
>
深入理解計(jì)算機(jī)系統(tǒng)-原書第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門到精通-(附贈(zèng)1DVD.含語(yǔ)音視頻教學(xué)+辦公模板+PDF電子書)
.NET Core 2.0 應(yīng)用程序高級(jí)調(diào)試-完全掌握Linux.macOS和 Windows跨平 版權(quán)信息
- ISBN:9787302505334
- 條形碼:9787302505334 ; 978-7-302-50533-4
- 裝幀:一般膠版紙
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類:>>
.NET Core 2.0 應(yīng)用程序高級(jí)調(diào)試-完全掌握Linux.macOS和 Windows跨平 本書特色
本書系統(tǒng)論述了.NET Core 的相關(guān)概念、編譯方法、命令行工具使用方法、調(diào)試環(huán)境搭建,調(diào)試器基本使用方法、.NET Core 調(diào)試擴(kuò)展基本使用方法、.NET Core 多線程應(yīng)用程序調(diào)試、以及.NET Core 內(nèi)存管理垃圾收集器等相關(guān)知識(shí)。全書論述了如下主題: .NET Core 你需要知道的; .NET Core 的編譯; .NET Core 命令行工具; 調(diào)試環(huán)境的配置; 調(diào)試器的基本命令; .NET 基本調(diào)試命令; 多線程調(diào)試; async 和await; 內(nèi)存和垃圾收集。
.NET Core 2.0 應(yīng)用程序高級(jí)調(diào)試-完全掌握Linux.macOS和 Windows跨平 內(nèi)容簡(jiǎn)介
隨著.NET Core 開(kāi)源和跨平臺(tái)的特性逐漸被廣大開(kāi)發(fā)者熟知和接受,有越來(lái)越多的.NET 應(yīng)用從Windows 平臺(tái)向Linux 平臺(tái)進(jìn)行遷移,有越來(lái)越多的開(kāi)發(fā)者在Linux 或者macOS 操作系統(tǒng)上開(kāi)發(fā).NET 應(yīng)用。同時(shí),這也給之前只熟悉在Windows 平臺(tái)上開(kāi)發(fā).NET 應(yīng)用的開(kāi)發(fā)者帶來(lái)了一系列挑戰(zhàn)。怎樣在Linux 和macOS操作系統(tǒng)上有效地使用工具對(duì).NET Core 應(yīng)用程序進(jìn)行調(diào)試,找出程序中隱藏的代碼錯(cuò)誤和內(nèi)存中的問(wèn)題成為保障應(yīng)用程序在Linux 和macOS 上平穩(wěn)運(yùn)行的重要課題。本書從.NET Core概念、.NET Core 相關(guān)工具、調(diào)試器選擇、調(diào)試命令介紹和多線程、內(nèi)存調(diào)試實(shí)踐等多個(gè)環(huán)節(jié)對(duì).NET Core在Linux、macOS和Windows 三個(gè)操作系統(tǒng)上如何進(jìn)行調(diào)試做了詳盡的介紹。內(nèi)容包括.NET Core基礎(chǔ)知識(shí)、.NET Core 的編譯、.NET Core 命令行工具、調(diào)試環(huán)境的配置、調(diào)試器的基本命令、.NET 基本調(diào)試命令、多線程、async和await、內(nèi)存和垃圾收集等,分9章全面地闡述了.NET Core 跨平臺(tái)調(diào)試技術(shù)。
.NET Core 2.0 應(yīng)用程序高級(jí)調(diào)試-完全掌握Linux.macOS和 Windows跨平 目錄
推薦序Ⅲ
前言Ⅴ
贊譽(yù)Ⅸ
第1章.NET Core基礎(chǔ)知識(shí)
1.1.NET Core到底是什么
1.1.1從軟件許可協(xié)議說(shuō)開(kāi)源
1.1.2構(gòu)成.NET Core的重要組件
1.2.NET Standard又是什么
1.3.NET Core的一些重要工具
1.4常見(jiàn)問(wèn)題解答
第2章.NET Core的編譯
2.1.NET Core源代碼在Linux操作系統(tǒng)上的編譯
2.1.1獲取.NET Core源代碼
2.1.2安裝編譯源代碼必要的工具
2.1.3在CentOS上手工編譯LLVM、Clang和LLDB
2.1.4在Linux上編譯.NET Core源代碼
2.2.NET Core源代碼在Windows操作系統(tǒng)上的編譯
2.2.1下載和安裝Visual Studio
2.2.2安裝其他**軟件
2.2.3在Windows系統(tǒng)上執(zhí)行.NET Core編譯
2.3.NET Core源代碼在macOS操作系統(tǒng)上的編譯
第3章.NET Core命令行工具
3.1.NET Core CLI的安裝
3.2創(chuàng)建.NET Core項(xiàng)目
3.3.NET Core項(xiàng)目的遷移
3.4.NET Core項(xiàng)目的構(gòu)建
3.5.NET Core項(xiàng)目的發(fā)布
3.6對(duì).NET Core項(xiàng)目進(jìn)行管理
3.6.1dotnet sln命令介紹
3.6.2項(xiàng)目之間的引用管理
3.6.3項(xiàng)目的包管理
3.6.4項(xiàng)目引用NuGet包的恢復(fù)
3.7.NET Core應(yīng)用的執(zhí)行
3.8將.NET Core項(xiàng)目發(fā)布成NuGet包
3.8.1dotnet pack命令介紹
3.8.2dotnet nuget push命令介紹
3.8.3dotnet nuget locals命令介紹
3.8.4dotnet nuget delete命令介紹
3.9dotnet相關(guān)命令的使用
3.9.1創(chuàng)建解決方案和項(xiàng)目
3.9.2設(shè)置項(xiàng)目的引用
3.9.3添加測(cè)試工程
第4章調(diào)試環(huán)境的配置
4.1調(diào)試環(huán)境設(shè)置概述
4.2Linux操作系統(tǒng)調(diào)試環(huán)境設(shè)置
4.2.1在Linux上設(shè)置ulimit
4.2.2在Linux操作系統(tǒng)上部署調(diào)試器
4.2.3在Linux操作系統(tǒng)上抓取內(nèi)存轉(zhuǎn)儲(chǔ)文件
4.3在macOS操作系統(tǒng)上部署調(diào)試器
4.4在Windows操作系統(tǒng)上部署調(diào)試器
4.4.1Windows上安裝Windbg
4.4.2在Windows上抓取內(nèi)存轉(zhuǎn)儲(chǔ)
第5章調(diào)試器的基本命令
5.1使用LLDB進(jìn)行調(diào)試
5.1.1LLDB調(diào)試器簡(jiǎn)介
5.1.2命令行參數(shù)
5.1.3一段用于演示的代碼
5.1.4LLDB的啟動(dòng)和退出
5.1.5設(shè)置斷點(diǎn)
5.1.6單步調(diào)試指令
5.1.7查看調(diào)用堆棧
5.1.8線程切換
5.1.9寄存器調(diào)試指令
5.1.10查看內(nèi)存數(shù)據(jù)
5.2Windbg調(diào)試器和基本指令
5.2.1Windbg簡(jiǎn)介
5.2.2Windbg的啟動(dòng)和退出
5.2.3Windbg設(shè)置斷點(diǎn)
5.2.4Windbg查看堆棧調(diào)用
5.2.5Windbg線程相關(guān)指令
5.2.6Windbg寄存器相關(guān)指令
5.2.7Windbg查看內(nèi)存數(shù)據(jù)
第6章.NET基本調(diào)試命令
6.1.NET調(diào)試擴(kuò)展概覽
6.2.NET數(shù)據(jù)結(jié)構(gòu)的基本知識(shí)
6.2.1對(duì)象在內(nèi)存中的形態(tài)
6.2.2MethodTable和EEClass
6.2.3MethodDesc
6.3.NET調(diào)試擴(kuò)展命令
6.3.1代碼和堆棧調(diào)試命令
6.3.2CLR數(shù)據(jù)結(jié)構(gòu)相關(guān)調(diào)試命令
6.3.3內(nèi)存對(duì)象分析相關(guān)命令
6.4那些所謂的調(diào)試套路
第7章多線程
7.1多線程基礎(chǔ)
7.1.1線程的基本概念
7.1.2.NET Core多線程同步對(duì)象
7.2一個(gè)簡(jiǎn)單的多線程程序調(diào)試
7.2.1MassiveThreads程序
7.2.2LLDB調(diào)試MassiveThreads
7.2.3Windbg調(diào)試MassiveThreads
7.2.4MassiveThreads調(diào)試總結(jié)
7.3程序死鎖的調(diào)試
7.3.1DBDeadlockHang應(yīng)用程序
7.3.2使用LLDB調(diào)試死鎖
7.3.3使用Windbg調(diào)試死鎖
7.3.4死鎖調(diào)試總結(jié)
第8章async和await
8.1基于任務(wù)的異步編程模式
8.2如何寫好一個(gè)TAP異步方法
8.2.1函數(shù)的命名和聲明
8.2.2異步方法中的代碼
8.2.3函數(shù)中的異常處理
8.2.4異步方法執(zhí)行過(guò)程中的終止
8.2.5異步任務(wù)執(zhí)行進(jìn)度的通知
8.3async/await是什么
8.4async/await調(diào)試
8.4.1使用LLDB在Linux上調(diào)試異步方法
8.4.2在Visual Studio 2017上調(diào)試異步方法
第9章內(nèi)存和垃圾收集
9.1.NET Core內(nèi)存管理工作原理
9.1.1從一行簡(jiǎn)單的代碼看內(nèi)存申請(qǐng)
9.1.2.NET Core內(nèi)存管理概覽
9.1.3托管堆內(nèi)存的分代管理
9.1.4Finalizer隊(duì)列
9.2內(nèi)存泄漏調(diào)試
9.2.1如何診斷內(nèi)存泄漏
9.2.2Linux的內(nèi)存泄漏調(diào)試
9.2.3Windows下的內(nèi)存泄漏調(diào)試
9.3Finalizer隊(duì)列調(diào)試
后記
.NET Core 2.0 應(yīng)用程序高級(jí)調(diào)試-完全掌握Linux.macOS和 Windows跨平 節(jié)選
第3章 .NET Core命令行工具 第3章.NET Core命令行工具 .NET Core命令行工具簡(jiǎn)稱.NET Core CLI,是開(kāi)發(fā)人員與.NET Core交互的唯一用戶界面。開(kāi)發(fā)人員通過(guò).NET Core CLI可以創(chuàng)建、恢復(fù)和發(fā)布.NET Core應(yīng)用程序。本章將介紹.NET Core CLI的詳細(xì)用法! 3.1.NET Core CLI的安裝 .NET Core CLI是一個(gè)獨(dú)立的開(kāi)源項(xiàng)目,可以獨(dú)立安裝。在一些特殊的情況下,需要單獨(dú)部署和更新.NET Core CLI的版本。更多時(shí)候.NET Core CLI是隨.NET Core SDK一起安裝的。.NET Core SDK下載地址: https: //www.microsoft.com/net/download/all! 3.2創(chuàng)建.NET Core項(xiàng)目 在正式開(kāi)發(fā).NET Core應(yīng)用之前,需要首先創(chuàng)建一個(gè).NET Core的項(xiàng)目。使用.NET Core CLI可以創(chuàng)建已經(jīng)支持的各種類型.NET Core應(yīng)用程序! otnet new命令用來(lái)創(chuàng)建.NET Core的項(xiàng)目相關(guān)文件,例如用來(lái)描述項(xiàng)目的csproj文件,項(xiàng)目模板中自帶的一些頁(yè)面和代碼文件等。dotnet new的參數(shù)如命令3.1所示! otnet new 。-o|--output] [-all|--show-all] [-h|--help] 。跿emplate options] [--force] [--type] [-i|--install] 。-u|--uninstall] dotnet new dotnet new [-all|--show-all] dotnet new [-h|--help] 命令3.1dotnet new 其中TEMPLATE參數(shù)用來(lái)指明創(chuàng)建新.NET項(xiàng)目的項(xiàng)目模板。目前,.NET Core支持的項(xiàng)目模板主要類型如表3.1所示! ”3.1dot new項(xiàng)目模板明細(xì)表 項(xiàng) 目 模 板項(xiàng) 目 類 型 支 持 語(yǔ) 言 console 創(chuàng)建一個(gè).NET Core控制臺(tái)應(yīng)用項(xiàng)目 C# VB.NET F# classlib .NET Core類庫(kù)項(xiàng)目 C# VB.NET F# mstest 創(chuàng)建一個(gè)mstest框架為基礎(chǔ)的單元測(cè)試項(xiàng)目 C# VB.NET F# xunit 創(chuàng)建一個(gè)XUnit開(kāi)源測(cè)試框架為基礎(chǔ)的單元測(cè)試項(xiàng)目 C# VB.NET F# web 創(chuàng)建一個(gè)空的ASP.NET Core Web項(xiàng)目 C# mvc 創(chuàng)建一個(gè)ASP.NET Core MVC Web項(xiàng)目 C# F# razor 創(chuàng)建一個(gè)支持Razor頁(yè)面的ASP.NET Core MVC項(xiàng)目 C# webapi 創(chuàng)建一個(gè)ASP.Net Core WebAPI項(xiàng)目 C# nugetconfig 創(chuàng)建一個(gè)用于制作NuGet包的配置文件 sln 創(chuàng)建一個(gè)與Visual Studio兼容的sln解決方案文件 page 創(chuàng)建一個(gè)僅支持Razor視圖的ASP.NET Core項(xiàng)目 viewimports 創(chuàng)建一個(gè)ASP.NET Core MVC使用的視圖模板_ViewImports.cshtml文件 viewstart 創(chuàng)建一個(gè)ASP.NET Core StartMVC使用的視圖模板_ViewStart.cshtml文件 參數(shù)lang或language用于指定項(xiàng)目所使用的編程語(yǔ)言。目前.NET Core的一些項(xiàng)目模板可以指定C#、VB.NET或者F#作為編程語(yǔ)言,其他的編程語(yǔ)言暫不支持。在Linux和macOS上,有一個(gè)常識(shí): 參數(shù)通常分為長(zhǎng)參數(shù)(以開(kāi)頭)和短參數(shù)(以),lang作為language的縮寫是以為開(kāi)頭的,而language把參數(shù)名寫全了,因此使用作為開(kāi)頭。 參數(shù)n或name用來(lái)指定項(xiàng)目的名稱,如果不指定項(xiàng)目名稱,那么dotnet new將會(huì)使用當(dāng)前所在目錄的目錄名稱作為項(xiàng)目的名稱! (shù)o或output用來(lái)指定dotnet new生成的項(xiàng)目文件的輸出目錄。在指定這個(gè)參數(shù)后,dotnet new會(huì)在當(dāng)前目錄中創(chuàng)建一個(gè)指定名字的子目錄,并將生成的項(xiàng)目文件放入子目錄中! (shù)all或showall用來(lái)顯示dotnet new所支持的項(xiàng)目模板信息! (shù)l或list用來(lái)顯示dotnet new的全部參數(shù)幫助信息和支持的項(xiàng)目模板信息。 參數(shù)h或help用來(lái)顯示dotnet new的全部參數(shù)幫助信息,支持的項(xiàng)目模板信息和使用樣例! (shù)force讓dotnet new生成的全新項(xiàng)目文件覆蓋現(xiàn)有項(xiàng)目文件! (shù)type過(guò)濾顯示dotnet new支持的項(xiàng)目模板。type默認(rèn)支持的類型有project、item和other。例如,可以使用dotnet new type item來(lái)顯示dotnet new支持創(chuàng)建的單個(gè)文件類型,例如sln、viewimport和viewstart類型! (shù)i或install用來(lái)安裝自定義項(xiàng)目模板。自定義項(xiàng)目模板格式與Visual Studio支持的自定義項(xiàng)目模板相同,都是一個(gè)zip文件! (shù)u或uninstall用來(lái)卸載已安裝的自定義項(xiàng)目模板! 3.3.NET Core項(xiàng)目的遷移 對(duì)于早期版本的如.Net Core 1.0或者1.1版本的應(yīng)用程序,dotnet命令行工具提供了dotnet migrate命令來(lái)幫助開(kāi)發(fā)者從低版本的項(xiàng)目文件遷移到高版本的項(xiàng)目文件! otnet migrate遷移命令的語(yǔ)法如命令3.2所示! otnet migrate [] [-t|--template-file] 。-v|--sdk-package-version] [-x|--xproj-file] 。-s|--skip-project-references] [-r|--report-file] 。--format-report-file-json] [--skip-backup] [-h|--help] 命令3.2dotnet migrate dotnet migrate既支持根據(jù)解決方案文件sln以遞歸的形式遷移整個(gè)解決方案的所有項(xiàng)目,也可以通過(guò)指定一個(gè)單獨(dú)的項(xiàng)目路徑來(lái)遷移單個(gè).Net Core項(xiàng)目。從目前的具體情況來(lái)看,dotnet migrate的主要作用是根據(jù)指定的sln文件或者JSON格式的.NET 1.x項(xiàng)目的project.json文件內(nèi)容分析項(xiàng)目之間的引用關(guān)系,并把JSON格式的項(xiàng)目?jī)?nèi)容翻譯成MSBuild支持的XML格式的csproj文件,*后把舊的project.json格式的項(xiàng)目文件刪除! (shù)t或templatefile用來(lái)顯式地指定一個(gè)MSBuild模板,讓要轉(zhuǎn)化的項(xiàng)目以這種項(xiàng)目模板作為目標(biāo)進(jìn)行轉(zhuǎn)化。.NET Core 2.0支持的項(xiàng)目模板可參考dotnet new命令一節(jié)中支持的項(xiàng)目模板列表! (shù)v或sdkpackageversion用來(lái)指定項(xiàng)目遷移后將基于哪個(gè).NET Core版本。默認(rèn)情況下,dotnet migrate進(jìn)行遷移操作是不會(huì)修改項(xiàng)目依賴的.NET Core版本的。對(duì)于一個(gè).NET Core 1.x的項(xiàng)目,如果不指定這個(gè)參數(shù),那么項(xiàng)目遷移之后僅僅是把project.json文件轉(zhuǎn)化為MSBuild格式的csproj文件,但是并不會(huì)強(qiáng)制升級(jí)項(xiàng)目所依賴的.NET Core版本。如果想把一個(gè).NET Core 1.x項(xiàng)目升級(jí)到.NET Core 2.0,那么需要通過(guò)v或者sdkpackageversion參數(shù)指定.NET Core版本,如命令3.3所示。 dotnet migrate -v netcoreapp2.0 命令3.3dotnet項(xiàng)目遷移到2.0 參數(shù)x或xprojfile用來(lái)指定xproj文件的位置! ∪绻(dāng)前文件夾內(nèi)不止一個(gè)xproj文件,則必須指定該參數(shù)。 xproj文件是.NET Core 1.x中用來(lái)描述構(gòu)建配置的文件。由于.NET Core 1.x期望獲得Visual Sudio和Xamarin Studio(現(xiàn)在已經(jīng)更名為Visual Studio for Mac)等集成開(kāi)發(fā)環(huán)境之間構(gòu)建的兼容性,因此發(fā)明了xproj文件。這個(gè)文件以XML格式的形式描述了構(gòu)建一個(gè).NET Core 1.x項(xiàng)目的基本參數(shù)。由于是.NET Core 1.x定義的xproj,因此被所有支持.NET Core 1.x開(kāi)發(fā)的集成開(kāi)發(fā)環(huán)境所支持。在.NET Core 2.0時(shí)代,項(xiàng)目文件將重新回歸csproj或vbproj等項(xiàng)目文件類型,構(gòu)建參數(shù)包含于csproj等項(xiàng)目文件中。通常情況下,project.json文件和xproj文件共存于同一個(gè)目錄下,dotnet migrate可以自動(dòng)定位xproj文件的位置。在一些特殊情況下,就需要通過(guò)x或xprojfile來(lái)指定待轉(zhuǎn)換項(xiàng)目的xproj文件的路徑。 參數(shù)s或skipprojectreferences,用來(lái)告訴dotnet migrate在進(jìn)行項(xiàng)目遷移時(shí),僅遷移當(dāng)前項(xiàng)目,而不對(duì)其引用的項(xiàng)目進(jìn)行遷移。而在默認(rèn)情況下,dotnet migrate會(huì)根據(jù)project.json文件中描述的項(xiàng)目引用關(guān)系,遞歸式地將全部相關(guān)項(xiàng)目進(jìn)行遷移! (shù)r或reportfile用來(lái)指定遷移過(guò)程中產(chǎn)生的遷移報(bào)告的保存路徑。如果不指定這個(gè)參數(shù),就不會(huì)產(chǎn)生遷移報(bào)告! (shù)formatreportfilejson將遷移報(bào)告轉(zhuǎn)化成json格式文件進(jìn)行輸出! (shù)skipbackup在指定dotnet migrate操作時(shí)不對(duì)待遷移項(xiàng)目進(jìn)行備份,直接執(zhí)行遷移操作并刪除project.json文件。在默認(rèn)情況下,即不指定該參數(shù)時(shí),dotnet migrate需要先備份整個(gè)項(xiàng)目再執(zhí)行遷移操作。 3.4.NET Core項(xiàng)目的構(gòu)建 .NET Core 2.0項(xiàng)目的構(gòu)建主要依賴于MSBuild實(shí)現(xiàn)。通過(guò)MSBuild讀取項(xiàng)目文件中的構(gòu)建配置,調(diào)用編譯器、腳本等完成一系列的構(gòu)建動(dòng)作。通過(guò)項(xiàng)目構(gòu)建,可以獲得用于執(zhí)行的二進(jìn)制輸出結(jié)果! otnet build命令用來(lái)構(gòu)建指定的項(xiàng)目和指定項(xiàng)目的依賴項(xiàng)目。通過(guò)構(gòu)建,得到.NET Core的二進(jìn)制可執(zhí)行輸出。dotnet build命令語(yǔ)法如命令3.4所示! otnet build [] [-o|--output] [-f|--framework] 。-c|--configuration] [-r|--runtime] [--version-suffix] 。--no-incremental] [--no-dependencies] [-v|--verbosity] 。-h|--help] 命令3.4dotnet build 如果要編譯的項(xiàng)目不在當(dāng)前目錄,那么可以通過(guò)dotnet build項(xiàng)目所在目錄的方式進(jìn)行編譯,即使用參數(shù)。如果沒(méi)有指定項(xiàng)目目錄,就編譯當(dāng)前目錄下的項(xiàng)目! (shù)o或output用來(lái)指定構(gòu)建結(jié)果的輸出目錄。項(xiàng)目經(jīng)過(guò)構(gòu)建而生成的*終二進(jìn)制可執(zhí)行內(nèi)容將被保存在指定目錄下! (shù)f或framework用來(lái)指定未來(lái)的編譯結(jié)果要運(yùn)行在哪一個(gè).NET Framework版本上。并且,這個(gè)Framework版本已經(jīng)在該項(xiàng)目文件中指定了。這也很好理解,不能指望一個(gè)為.NET Core 2.0編寫的項(xiàng)目可以運(yùn)行在.NET Framework 2.0版本上,因此目標(biāo)框架必須在項(xiàng)目文件中已經(jīng)聲明過(guò)。Framework通常按簡(jiǎn)短的目標(biāo)框架名字對(duì)象(Target Framework Moniker,TFM)來(lái)表示。在給定framework參數(shù)時(shí),使用TFM名稱即可,詳見(jiàn)表3.2所示! ”3.2簡(jiǎn)短目標(biāo)框架與.NET版本對(duì)照表 名稱縮寫TFM .NET Standard netstandard netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netstandard2.0 .NET Core netcoreapp netcoreapp1.0 netcoreapp1.1 .NET Framework net net11 net20 ……
.NET Core 2.0 應(yīng)用程序高級(jí)調(diào)試-完全掌握Linux.macOS和 Windows跨平 作者簡(jiǎn)介
李爭(zhēng) 微軟(中國(guó))有限公司開(kāi)發(fā)者體驗(yàn)與平臺(tái)合作事業(yè)部資深技術(shù)顧問(wèn)。專注于微軟公有云平臺(tái)Azure的解決方案和架構(gòu)設(shè)計(jì)、Azure應(yīng)用的實(shí)施,以及Azure上的開(kāi)源技術(shù)等工作。曾在微軟企業(yè)服務(wù)部作為原廠技術(shù)支持工程師工作多年,承擔(dān)企業(yè)開(kāi)發(fā)者代碼調(diào)試和技術(shù)支持、Web應(yīng)用前端后端代碼調(diào)優(yōu),以及IIS 的問(wèn)題診斷、調(diào)優(yōu)、培訓(xùn)等工作。具有豐富的企業(yè)客戶臨場(chǎng)解決嚴(yán)重系統(tǒng)問(wèn)題的經(jīng)驗(yàn)。擁有四十多門微軟認(rèn)證證書,涵蓋了幾乎全部微軟開(kāi)發(fā)相關(guān)技術(shù),同時(shí)也是一位具有十多年授課經(jīng)驗(yàn)的微軟認(rèn)證講師(MCT)。 著有《微軟互聯(lián)網(wǎng)信息服務(wù)(IIS)實(shí)踐》《微軟開(kāi)源跨平臺(tái)移動(dòng)開(kāi)發(fā)實(shí)踐》暢銷圖書。
- >
巴金-再思錄
- >
回憶愛(ài)瑪儂
- >
隨園食單
- >
姑媽的寶刀
- >
朝聞道
- >
月亮與六便士
- >
唐代進(jìn)士錄
- >
史學(xué)評(píng)論