国产免费一区二区三区最新不卡_gogo全球大胆高清人露出91_国产无遮挡一区二区三区毛片日本_免费淫视频_俄罗斯16一20sex牲色另类_免费观看黄色片视频

您現(xiàn)在的位置:智能制造網(wǎng)>技術(shù)中心>軟件工程師不可不知的10個概念

直播推薦

更多>

企業(yè)動態(tài)

更多>

推薦展會

更多>

軟件工程師不可不知的10個概念

2011年04月08日 11:05:42人氣:1459來源:

  出色的軟件工程師善用設(shè)計模式,勤于代碼重構(gòu),編寫單元測試,并對簡單有宗教般的追求。除了這些,的軟件工程師還要通曉10個概念,這10個概念超越了編程語言與設(shè)計模式,軟件工程師應(yīng)當從更廣的范圍內(nèi)明白這些道理。
  
  關(guān)系數(shù)據(jù)庫(RelationalDatabases)
  
  關(guān)系數(shù)據(jù)庫因為在大規(guī)模Web服務(wù)上缺乏可擴充性而頗受微詞,然而,關(guān)系數(shù)據(jù)庫仍然是近20年來計算機技術(shù)中zui偉大的成就。關(guān)系數(shù)據(jù)庫對處理訂單,公司數(shù)據(jù)方面有著出色的表現(xiàn)。
  
  關(guān)系數(shù)據(jù)庫的核心是以記錄表示數(shù)據(jù),記錄存放在數(shù)據(jù)庫表,數(shù)據(jù)庫使用查詢語言(SQL)對數(shù)據(jù)進行搜索與查詢,同時,數(shù)據(jù)庫對各個數(shù)據(jù)表進行關(guān)聯(lián)。
  
  數(shù)據(jù)庫的標準化技術(shù)(normalization)講的是使用正確的方式對數(shù)據(jù)進行分存以降低冗余,并加快存取速度。
  
  安全(Security)
  
  隨著黑客的崛起與數(shù)據(jù)敏感性的上升,安全變得非常重要。安全是個廣義的概念,涉及驗證,*與信息傳輸。
  
  驗證是對用戶的身份進行檢查,如要求用戶輸入密碼。驗證通常需要結(jié)合SSL(securesocketlayer)進行;*在公司業(yè)務(wù)系統(tǒng)中非常重要,尤其是一些工作流系統(tǒng)。zui近開發(fā)的OAuth協(xié)議可以幫助Web服務(wù)將相應(yīng)信息向相應(yīng)用戶開放。Flickr便使用這種方式管理私人照片和數(shù)據(jù)的訪問權(quán)限。
  
  另外一個安全領(lǐng)域是網(wǎng)絡(luò)設(shè)防,這關(guān)系到操作系統(tǒng),配置與監(jiān)控。不僅網(wǎng)絡(luò)危險重重,任何軟件都是。Firefox被稱為zui安全的瀏覽器,仍然需要頻頻發(fā)布安全補丁。要為你的系統(tǒng)編寫安全代碼就需要明白各種潛在的問題。
  
  云計算(CloudComputing)
  
  RWWzui近的關(guān)于云計算的文章ReachingForTheSkyThroughComputeClouds講到了云計算如何改變大規(guī)模Web應(yīng)用的發(fā)布。大規(guī)模的并行,低成本,與快速投入市場。
  
  并行算法發(fā)明以來,首先迎來的是網(wǎng)格計算,網(wǎng)格計算是借助空閑的桌面計算機資源進行并行計算。zui的例子是Berkley大學(xué)的SETI@home計劃,該計劃使用空閑的CPU資源分析太空數(shù)據(jù)。金融機構(gòu)也大規(guī)模實施網(wǎng)格計算進行風險分析。空閑的資源,加上J2EE平臺的崛起,迎來了云計算的概念:應(yīng)用服務(wù)虛擬化。就是應(yīng)用按需運行,并可以隨著時間和用戶規(guī)模而實時改變。
  
  云計算zui生動的例子是Amazon的Web服務(wù),一組可以通過API進行調(diào)用的應(yīng)用,如云服務(wù)(EC2),一個用來存儲大型媒體文件的數(shù)據(jù)庫(S3),索引服務(wù)(SimpleDB),序列服務(wù)(SQS)。
  
  并發(fā)(Concurrency)
  
  并發(fā)是軟件工程師zui容易犯錯的地方,這可以理解,因為我們一直遵從線形思維,然而并發(fā)在現(xiàn)代系統(tǒng)中非常重要。
  
  并發(fā)是程序中的并行處理,多數(shù)現(xiàn)代編程語言包含內(nèi)置的并發(fā)能力,在Java,指的是線程。關(guān)于并發(fā),zui經(jīng)典的例子是“生產(chǎn)/消費”模式,生產(chǎn)方生產(chǎn)數(shù)據(jù)和任務(wù),并放入工作線程消費或執(zhí)行。并發(fā)的復(fù)雜性在于,線程需要經(jīng)常訪問共同數(shù)據(jù),每個線程都有自己的執(zhí)行順序,但需要訪問共同數(shù)據(jù)。DougLea曾寫過一個zui復(fù)雜的并發(fā)類,現(xiàn)在是coreJava的一部分。
  
  緩存(Caching)
  
  緩存對現(xiàn)代Web程序*,緩存是從數(shù)據(jù)庫取回,并存放在內(nèi)存中的數(shù)據(jù)。因為數(shù)據(jù)庫直接存取的代價非常高,將數(shù)據(jù)從數(shù)據(jù)庫取回并放在緩存中訪問就變得十分必要。比如,你有一個,要顯示上周的書,你可以從數(shù)據(jù)將書榜一次性取回放在緩存中,而不必在每次訪問時都去數(shù)據(jù)庫讀數(shù)據(jù)。
  
  緩存需要代價,只有zui常用的內(nèi)容才可以放入緩存。很多現(xiàn)代程序,包括Facebook,依靠一種叫做Memcached的分布式緩存系統(tǒng),該系統(tǒng)是BradFirzpatrick在工作于LiveJournal項目時開發(fā)的,Memcached使用網(wǎng)絡(luò)中空閑的內(nèi)存資源建立緩存機制,Memcached類庫在很多流行編程語言,包括Java和PHP中都有。
  
  散列法(Hashing)
  
  Hashing的目的是加速訪問速度。如果數(shù)據(jù)是序列存儲的,從中查詢一個項的時間取決于數(shù)據(jù)列的大小。而散列法對每一個項計算一個數(shù)字作為索引,在一個好的Hashing算法下,數(shù)據(jù)查找的速度是一樣的。
  
  除了存儲數(shù)據(jù),散列法對分布式系統(tǒng)也很重要。統(tǒng)一散列法(uniformhash)用來在云數(shù)據(jù)庫環(huán)境下,在不同計算機之間分存數(shù)據(jù)。Google的索引服務(wù)就是這種方法的體現(xiàn),每一個URL都被散列分布到特定計算機。
  
  散列函數(shù)非常復(fù)雜,但現(xiàn)代類庫中都有現(xiàn)成的類,重要的是,如何對散列法進行細調(diào)以獲得的性能。
  
  算法的復(fù)雜性(AlgorithmicComplexity)
  
  關(guān)于算法的復(fù)雜性,軟件工程師需要理解這樣幾件事。*,大O標記法(bigOnotation);第二,你永遠都不應(yīng)該使用嵌套式循環(huán)(循環(huán)里面套循環(huán)),你應(yīng)該使用Hash表,數(shù)組或單一循環(huán);第三,如今類庫比比皆是,我們不必過分糾纏于這些庫的效能的差別,我們以后還有機會進行細調(diào);zui后,不要忽視算法的優(yōu)雅及性能,編寫緊湊的,可讀的代碼可以讓你的算法更簡單,更干凈。
  
  分層(Layering)
  
  用分層來討論軟件架構(gòu)是zui容易的。JohnLakos曾出版過一本關(guān)于大型C++系統(tǒng)的書。Lakos認為軟件包含了層,書中介紹了層的概念,方法是,對每個軟件組件,數(shù)一下它所依賴的組件數(shù)目就可以知道它的復(fù)雜程度。
  
  Lakos認為,一個好的軟件擁有金字塔結(jié)構(gòu),就是說,軟件組件擁有層層積累的復(fù)雜度,但每個組件本身必須簡單,一個的軟件包含很多小的,可重復(fù)使用的模塊,每個模塊有自己的職責。一個好的系統(tǒng)中,組件之間的依賴性不可交叉,整個系統(tǒng)是各種各樣的組件堆積起來,形成一個金字塔。
  
  Lakos在軟件工程的很多方面都是,zui的是Refactoring(代碼重構(gòu))。代碼重構(gòu)指的是,在編程過程中需要不斷地對代碼進行改造以保證其結(jié)構(gòu)的健壯與靈活。
  
  慣例與模板(ConventionsandTemplates)
  
  命名慣例和基礎(chǔ)模板在編程模式中常被忽視,然而它可能是zui強大的方法。命名慣例使軟件自動化成為可能,如,JavaBeans框架在getter和setter方法中,使用簡單的命名慣例。del.icio.us的URL命名也使用統(tǒng)一的格式,如http://del.icio.us/tag/software會將用戶帶到所有標簽為software的頁。
  
  很多社會網(wǎng)絡(luò)均使用簡單命名,如,你的名字是johnsmith,那你的頭像可能命名為johnsmith.jpg,而你的rss聚合文件的命名很可能是johnsmith.xml。
  
  命名慣例還用于單元測試,如,JUnit單元測試工具會辨認所有以test開頭的類。
  
  我們這里說的模板(templates)指的并不是C++或Java語言中的constructs,我們說的是一些包含變量的模板文件,用戶可以替換變量并輸出zui終結(jié)果。
  
  ColdFusion是zui先使用模板的程序之一,后來,Java使用JSP實現(xiàn)模板功能。Apache近來為Java開發(fā)了非常好用的通用模板,Velocity。PHP本身就是基于模板的,因為它支持eval函數(shù)。
  
  界面(Interfaces)
  
  軟件工程中zui重要的概念是界面。任何軟件都是一個真實系統(tǒng)的模型。
  
  如何使用簡單的用戶界面進行模型化至關(guān)重要。很多軟件系統(tǒng)走這樣的,缺乏抽象的冗長代碼,或者過分設(shè)計而導(dǎo)致無謂的復(fù)雜。
  
  在眾多軟件工程書籍中,RobertMartin寫的《敏捷編程》值得一讀。
  
  關(guān)于模型化,以下方法對你會有幫助。首先,去掉那些只有在將來才可能用得著的方法,代碼越精練越好。第二,不要總認為以前的東西是對的,要善于改變。第三,要有耐心并享受過程。
關(guān)鍵詞:操作系統(tǒng)
全年征稿/資訊合作 聯(lián)系郵箱:[email protected]

免責聲明

  • 凡本網(wǎng)注明"來源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請必須注明智能制造網(wǎng),http://www.lfljgfsj.com。違反者本網(wǎng)將追究相關(guān)法律責任。
  • 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔責任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責任。
  • 本網(wǎng)轉(zhuǎn)載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品來源,并自負版權(quán)等法律責任。
  • 如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

<
更多 >

工控網(wǎng)機器人儀器儀表物聯(lián)網(wǎng)3D打印工業(yè)軟件金屬加工機械包裝機械印刷機械農(nóng)業(yè)機械食品加工設(shè)備制藥設(shè)備倉儲物流環(huán)保設(shè)備造紙機械工程機械紡織機械化工設(shè)備電子加工設(shè)備水泥設(shè)備海洋水利裝備礦冶設(shè)備新能源設(shè)備服裝機械印染機械制鞋機械玻璃機械陶瓷設(shè)備橡塑設(shè)備船舶設(shè)備電子元器件電氣設(shè)備


我要投稿
  • 投稿請發(fā)送郵件至:(郵件標題請備注“投稿”)1271141964.qq.com
  • 聯(lián)系電話0571-89719789
工業(yè)4.0時代智能制造領(lǐng)域“互聯(lián)網(wǎng)+”服務(wù)平臺
智能制造網(wǎng)APP

功能豐富 實時交流

智能制造網(wǎng)小程序

訂閱獲取更多服務(wù)

微信公眾號

關(guān)注我們

抖音

智能制造網(wǎng)

抖音號:gkzhan

打開抖音 搜索頁掃一掃

視頻號

智能制造網(wǎng)

公眾號:智能制造網(wǎng)

打開微信掃碼關(guān)注視頻號

快手

智能制造網(wǎng)

快手ID:gkzhan2006

打開快手 掃一掃關(guān)注
意見反饋
關(guān)閉
企業(yè)未開通此功能
詳詢客服 : 0571-87858618
主站蜘蛛池模板: 久久久久久久91 | 久久久久久久久国产 | 毛片大全免费看 | 久久99国产伦子精品免费 | 欧美久久久久久久久 | 国产精品一区二区三区在线看 | 狠狠操操 | 在线高清中文字幕 | 午夜视频在线看 | 亚洲电影免费观看国语版 | 一区二区免费网站 | 亚洲日韩精品欧美一区二区 | 成人精品 | 国产精品久久久久久久久久尿 | 欧美在线观看视频网站 | 亚洲精品午夜国产va久久成人 | 一区二区视频在线看 | 毛片在线免费视频 | 蜜桃视频网站www | 免费国产一级淫片 | 热99re久久免费视精品频软件 | 黄色午夜剧场 | 狠狠操夜夜爱 | 午夜视频观看 | 一本色道久久综合亚洲精品图片 | 欧美 videos粗暴 | 国产做爰全免费的视频黑人 | 美女喷水网站 | 国产精品无码久久久久 | 久久人添人人爽人人爽人人片av | 网站激情 | 久久亚洲春色中文字幕久久 | 天堂成人国产精品一区 | 亚洲伊人色欲综合网 | 中文字幕激情视频 | av电影在线观看网站 | 99影视在线视频免费观看 | 久久最新免费视频 | 今井夏帆av一区二区 | 日本成人一二三区 | 国产免费观看视频 |