自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

選擇開發(fā)技術(shù)四步曲

開發(fā) 后端
本文介紹的是選擇開發(fā)技術(shù)的四步曲,希望對你有幫助,一起來看。

我的一位朋友正在為一個即將啟動的編程項目而費腦筋:要在保證項目順利完成的同時提高性能。他問我:“我該如何挑選技術(shù)呢?”這位朋友時斷時續(xù)地編寫過代碼,但他還沒有做過任何實質(zhì)性的項目。他從未專注于任何特定的技術(shù),他對這個項目不知如何下手。雖然他基于以前的經(jīng)驗傾向于部署到Linux,但這還不是最終決定。

在這兒,我將自己給他提的建議分享出來。我將不推薦任何具體的技術(shù),而是告訴你,我在對技術(shù)和體系結(jié)構(gòu)制定決策時的方法。

第1步:為應(yīng)用程序作松耦合設(shè)計

敏捷方法已經(jīng)變得非常流行,一些人認為,這意味著你不要嘗試超越一兩個星期的時間表。但這在為應(yīng)用程序作松耦合設(shè)計準備時極具價值。您所需要做的只是使用一個具有流程圖功能(例如Visio)的工具來提供一個高層次的邏輯概述。您不必陷入這樣的細節(jié):“驗證這個字段至少包含五個字符”或數(shù)據(jù)布局。但你需要對應(yīng)用程序各組成部分所擔負的處理職責有一個總體思路。

這兒有圖中應(yīng)該包含的東西的一些例子:

  • 任何重大的批處理任務(wù)。
  • 數(shù)據(jù)存儲(文件,數(shù)據(jù)庫,“云”等)以及對之進行檢索并提供給應(yīng)用程序其它部分的組件。
  • 重要處理出現(xiàn)的地方(在數(shù)據(jù)庫中,在業(yè)務(wù)邏輯層,Web服務(wù),客戶端等)和它的作用。

第2步:確定資源的使用情況和特點

一旦邏輯概述圖完成了,我們可以用它來確定資源的使用情況。你需要注意的資源是CPU、內(nèi)存、硬盤空間和帶寬。你要向外部Web服務(wù)傳輸大量數(shù)據(jù)或者與之相反?這就需要注意應(yīng)用程序和服務(wù)之間的連接的帶寬資源。也許你的數(shù)據(jù)庫內(nèi)部要做密集的運算 - 那就注意數(shù)據(jù)庫的CPU使用情況,如此等等。

第3步:判斷性能臨界區(qū)域

一旦你明白了要使用哪里的資源,也就發(fā)現(xiàn)了潛在的性能瓶頸。這些地方會對你的技術(shù)選擇有最大的影響。如果事實證明你存儲在數(shù)據(jù)庫中信息很少,你在數(shù)據(jù)庫方面就有更多選擇。也許你要在業(yè)務(wù)邏輯層執(zhí)行的令CPU沉重的算法,這其中就表明你需要支持高速運算的語言和平臺。下面是我以前做的圖表,這會有助于您了解這會如何影響你的決策。

 

第4步:權(quán)衡需求規(guī)模

你可以從圖表中學到的另一件事是你的應(yīng)用程序的哪個地方需要權(quán)衡。例如,如果大部分處理需求是發(fā)生在應(yīng)用程序的客戶端,那么服務(wù)器架構(gòu)可以寬松得多。

您也將能明白自己需要何種規(guī)模。大多數(shù)數(shù)據(jù)庫有集群功能,所以如果你有選擇,這通常更容易,更好地把需要權(quán)衡的事情(特別是如果它們需要在請求之間共享狀態(tài))推進到已經(jīng)擴大規(guī)模的數(shù)據(jù)庫,或考慮具有內(nèi)置集群或縮放堆棧的更高級的技術(shù)。

結(jié)論

利用輕量級邏輯概圖來啟動應(yīng)用程序的發(fā)展過程,你會在正確的途徑上選擇適合自身需求的最佳技術(shù)。也存在很多非技術(shù)因素(如您的預(yù)算,特別是技術(shù)經(jīng)驗等),但你需要從某個地方開始,這個決策過程將有助于你縮小選擇范圍,并提前看清問題所在。我很樂意你在下面的留言中,從而可以獲得與這類問題相關(guān)的經(jīng)驗。

【編輯推薦】

  1. 漫談編程語言的數(shù)據(jù)親和力
  2. 2.1.2 ARM微處理器的編程模型概述
  3. 淺談Java編程中異常處理
  4. JAVA基礎(chǔ)之java面向?qū)ο缶幊?/span>
  5. 編程基礎(chǔ)之什么是元編程
責任編輯:于鐵 來源: CSDN
相關(guān)推薦

2011-03-22 17:51:57

2012-05-29 13:59:30

服務(wù)器選購曙光服務(wù)器

2014-10-27 12:34:50

JMP

2010-09-02 03:52:29

虛擬化云計算IBM

2021-07-26 09:35:26

SQL數(shù)據(jù)庫優(yōu)化

2010-04-28 12:02:37

Forefront網(wǎng)絡(luò)優(yōu)化

2021-11-23 23:43:16

MySQL數(shù)據(jù)庫Docker

2010-06-12 13:49:16

學習UML

2010-06-13 14:19:40

學習UML

2010-09-06 11:58:39

ppp撥號Linux

2010-09-14 17:35:52

2017-04-17 12:31:45

SDN網(wǎng)絡(luò)虛擬化

2010-04-20 10:12:05

2010-06-02 17:29:02

svnserve服務(wù)

2010-11-19 15:44:04

IT跳槽

2013-07-15 14:30:44

產(chǎn)品經(jīng)理

2020-02-05 08:47:31

數(shù)據(jù)科學編程數(shù)據(jù)庫

2010-05-28 09:47:43

SVN項目創(chuàng)建

2013-03-18 11:03:48

云計算部署云計算CIO

2010-06-02 18:22:43

SVN本地設(shè)置
點贊
收藏

51CTO技術(shù)棧公眾號