SlideShare a Scribd company logo
1 of 14
透過Nuget管理內部共用元件
劉昱劭
使用別人的DLL-以前你會這樣做

• 下載
• 解壓縮到你的專案裡
• 添加引用
使用別人的JS-以前你會這樣做

• 下載
• 解壓縮到你的專案裡
萬一別人的DLL又要用另外的DLL,別人的JS
又要用另外的JS

• 運氣好的話,他的網站會說…
• 運氣不好就看compiler跟你說有什麼錯…
• 問有用過的人…
版本更新了怎麼辦?有錯誤修正了怎麼辦?

• 時時刻刻關注它?
• 等他主動通知你?
程式庫套件管理員(nuget)

• 2010年十月
• C#開發
• Apache License 2.0
Demo
看一下現在大家都怎麼用
服務共用V.S.程式庫共用
服務共用
• 通常是Web Service(SOAP , RESTful)
• 已存在的Instance
• 已經包含部份商業邏輯(多或少)
• 提供API SPEC & example
• 需要”使用”的人就來呼叫
• Service Bus
程式庫共用
• 通常是Framework或工具(複雜或簡單)
•

Framework的定義?(半成品)

• 通常是不包含Business Logic的
• 提供package、doc、example
• “開發”時會用到的人就抓package回去包在自己的程式裡
情境

• 我想要把檔案放到CHT S3上
• 我想要開發code ui自動測試
• 我也想開發asp.net mvc專案,會用到kendo ui
• 我想要開發rest api,而且有odata功能
Demo
用NuGet Package Explorer看一下
結論
• 我們想要做到真正的程式碼Reuse與知識分享
•
•

拆出共用框架,拿掉business logic
拆出共用工具,開放簡單乾淨且有彈性的API

• 使用正確的工具解決程式庫引用與更新的問題(nuget)
• 建立內部程式庫repository(http://10.13.18.24:6621/nuget)
• 分享你的程式碼吧!!
Q&A

More Related Content

Viewers also liked (16)

Restful & odata using asp.net web api
Restful & odata using asp.net web apiRestful & odata using asp.net web api
Restful & odata using asp.net web api
 
持續整合與單元測試
持續整合與單元測試持續整合與單元測試
持續整合與單元測試
 
Jindal group
Jindal groupJindal group
Jindal group
 
Mongo db 簡介
Mongo db 簡介Mongo db 簡介
Mongo db 簡介
 
設計模式的解析與活用讀後心得
設計模式的解析與活用讀後心得設計模式的解析與活用讀後心得
設計模式的解析與活用讀後心得
 
Tcvn 5574 2012
Tcvn 5574 2012Tcvn 5574 2012
Tcvn 5574 2012
 
Python開發環境建立(使用ECLIPSE)
Python開發環境建立(使用ECLIPSE)Python開發環境建立(使用ECLIPSE)
Python開發環境建立(使用ECLIPSE)
 
Hoahoc
HoahocHoahoc
Hoahoc
 
Dj9 vfdlw
Dj9 vfdlwDj9 vfdlw
Dj9 vfdlw
 
Sophuc
SophucSophuc
Sophuc
 
Dtth
DtthDtth
Dtth
 
Super transa
Super transa Super transa
Super transa
 
Artigo de opinião aida chamiça - julho de 2015
Artigo de opinião   aida chamiça - julho de 2015Artigo de opinião   aida chamiça - julho de 2015
Artigo de opinião aida chamiça - julho de 2015
 
Apresentação Clube Empresas
Apresentação Clube EmpresasApresentação Clube Empresas
Apresentação Clube Empresas
 
Consumismo status
Consumismo statusConsumismo status
Consumismo status
 
Comercia red
Comercia redComercia red
Comercia red
 

Similar to 透過Nuget管理內部共用元件

快速入坑 Node.js - 0613 SITCON 雲林定期聚
快速入坑 Node.js - 0613 SITCON 雲林定期聚快速入坑 Node.js - 0613 SITCON 雲林定期聚
快速入坑 Node.js - 0613 SITCON 雲林定期聚Lorex L. Yang
 
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?Miles Chou
 
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計Amigo 陳兆祥
 
讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術Yu Lung Shao
 
出了问题不要靠猜
出了问题不要靠猜出了问题不要靠猜
出了问题不要靠猜LI Daobing
 
Artifacts management with CI and CD
Artifacts management with CI and CDArtifacts management with CI and CD
Artifacts management with CI and CDChen-Tien Tsai
 
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩Wen-Tien Chang
 
李成银:前端编译平台
李成银:前端编译平台李成银:前端编译平台
李成银:前端编译平台taobao.com
 
前端编译平台
前端编译平台前端编译平台
前端编译平台Welefen Lee
 
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲ChinaNetCloud
 
利用Nchan快速打造即時通知系統
利用Nchan快速打造即時通知系統利用Nchan快速打造即時通知系統
利用Nchan快速打造即時通知系統herb herb
 
網站上線了,然後呢?
網站上線了,然後呢?網站上線了,然後呢?
網站上線了,然後呢?Kirk Chen
 
2012,我的技术之选
2012,我的技术之选2012,我的技术之选
2012,我的技术之选勇浩 赖
 
做自己的可可豆夾 @ cocoahead.tw
做自己的可可豆夾 @ cocoahead.tw做自己的可可豆夾 @ cocoahead.tw
做自己的可可豆夾 @ cocoahead.twKai-Yuan Cheng
 
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)National Cheng Kung University
 
Docker技术介绍
Docker技术介绍Docker技术介绍
Docker技术介绍LI jeanphorn
 
Running a Service in Production without Losing Your Sanity
Running a Service in Production without Losing Your SanityRunning a Service in Production without Losing Your Sanity
Running a Service in Production without Losing Your SanityPoga Po
 

Similar to 透過Nuget管理內部共用元件 (20)

Linking error
Linking errorLinking error
Linking error
 
快速入坑 Node.js - 0613 SITCON 雲林定期聚
快速入坑 Node.js - 0613 SITCON 雲林定期聚快速入坑 Node.js - 0613 SITCON 雲林定期聚
快速入坑 Node.js - 0613 SITCON 雲林定期聚
 
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
 
Idea13
Idea13Idea13
Idea13
 
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計
 
讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術
 
出了问题不要靠猜
出了问题不要靠猜出了问题不要靠猜
出了问题不要靠猜
 
vmarket in action
vmarket in actionvmarket in action
vmarket in action
 
Artifacts management with CI and CD
Artifacts management with CI and CDArtifacts management with CI and CD
Artifacts management with CI and CD
 
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
 
李成银:前端编译平台
李成银:前端编译平台李成银:前端编译平台
李成银:前端编译平台
 
前端编译平台
前端编译平台前端编译平台
前端编译平台
 
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
 
利用Nchan快速打造即時通知系統
利用Nchan快速打造即時通知系統利用Nchan快速打造即時通知系統
利用Nchan快速打造即時通知系統
 
網站上線了,然後呢?
網站上線了,然後呢?網站上線了,然後呢?
網站上線了,然後呢?
 
2012,我的技术之选
2012,我的技术之选2012,我的技术之选
2012,我的技术之选
 
做自己的可可豆夾 @ cocoahead.tw
做自己的可可豆夾 @ cocoahead.tw做自己的可可豆夾 @ cocoahead.tw
做自己的可可豆夾 @ cocoahead.tw
 
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
 
Docker技术介绍
Docker技术介绍Docker技术介绍
Docker技术介绍
 
Running a Service in Production without Losing Your Sanity
Running a Service in Production without Losing Your SanityRunning a Service in Production without Losing Your Sanity
Running a Service in Production without Losing Your Sanity
 

透過Nuget管理內部共用元件