乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      基于.Net進(jìn)行前端開發(fā)的技術(shù)棧發(fā)展路線(一)

       印度阿三17 2019-01-29

      今天想講講的是我的技術(shù)樹。我最初是做CS開發(fā)的,第一階段的技術(shù)經(jīng)歷是以Powerbuilder來做CS開發(fā),第二階段開始基于C#做winform開發(fā),眼看前端開發(fā)越來越流行,需要更廣泛的技術(shù)棧勢在必行。因此以.Net為基礎(chǔ),我開始拓展自己的技術(shù)棧。從14年到18年,跨越了很多界限,到現(xiàn)在為止,應(yīng)該說.Net,Java,Android,基于nodejs的web開發(fā)都積累了一些經(jīng)驗(yàn),可以給大家分享一下。

       

      01

      我的技能樹

       

      我對技能的培養(yǎng),是很有目的性的。我在開啟我的第二階段技能增長的時候,就預(yù)先對自己未來的技術(shù)樹發(fā)展進(jìn)行了選擇。因此當(dāng)時就畫了思維導(dǎo)圖并逐漸補(bǔ)充和調(diào)整。現(xiàn)在我就將我的“技能樹”思維導(dǎo)圖跟大家分享。

       

      其中,標(biāo)注為黃色旗幟的是基本掌握,標(biāo)注為紅色旗幟的為使用熟練。未標(biāo)注的只是了解。

       

      首先提一下我的技能樹的底色。從我進(jìn)入IT行業(yè)開始,一直從事的是企業(yè)信息化系統(tǒng)的開發(fā),所以在技術(shù)樹里,還看不到算法、集群、微服務(wù)這類技能,這還不在我的技能需求列表內(nèi)。我的技能覆蓋范圍是:如何做好一個企業(yè)信息化系統(tǒng)。但我未來對這些還是很有興趣并會進(jìn)行研究。

       

      史前技能:

      作為IT行業(yè)的老爺爺,我還有前一段的技術(shù)經(jīng)歷,是使用PowerBuilder Sybase數(shù)據(jù)庫進(jìn)行CS應(yīng)用開發(fā)。我剛進(jìn)入IT行業(yè)的時候,PowerBuilder還是非?;鸬?,那時候有兩火,PowerBuilder和Delphi。那時候也剛好是互聯(lián)網(wǎng)時代剛開啟的時候,所以幾年之后,技能便逐漸過時,我從程序員到部門經(jīng)理,感覺技能無法進(jìn)步,最后我轉(zhuǎn)行做了產(chǎn)品經(jīng)理。

       

      在幾年前,經(jīng)過n年的折騰產(chǎn)品,我發(fā)現(xiàn)搞技術(shù)也挺適合我的,我又回頭拿起了技術(shù)。一手產(chǎn)品,一手技術(shù),都是我喜歡的事情,因此我想如何能盡快的精進(jìn)技術(shù),我的技能樹思維導(dǎo)圖就是那時候誕生的。

       

      首先開刀的就是C#。為什么要選擇C#這個看起來似乎有點(diǎn)“沒落”的技術(shù)呢?這里我得感嘆,公司對個人的發(fā)展影響重大,一個人的一生,隱約的都在循著某條路線前進(jìn),最終形成了你獨(dú)特的個人人生。你就職的公司是你人生軌跡的重要部分。我在之前的公司擔(dān)任產(chǎn)品職位,因?yàn)樽龅氖呛蚏FID硬件相關(guān)的行業(yè),因此選擇了C#。在產(chǎn)品研發(fā)過程中,逐漸了解C#。之后我進(jìn)入了一家外貿(mào)電商企業(yè),負(fù)責(zé)企業(yè)ERP的研發(fā),因?yàn)閷Σ僮鞅憬菪缘臉O致追求,仍然采用了C#基于Winform進(jìn)行開發(fā),這也使得我更深入的介入到研發(fā)中去。在這期間,為了攻克技術(shù)難題,優(yōu)化系統(tǒng)架構(gòu),提高部門開發(fā)效率,我花了大半年的業(yè)余時間,把《C#高級編程》啃下來了,至今仍反復(fù)閱讀,從此也真正的重新進(jìn)入了程序員的行列。

       

      但從0開始何其之難,因?yàn)榛A(chǔ)太低。為了盡快的達(dá)成目標(biāo),我采用了“跳遠(yuǎn)”式的學(xué)習(xí)模式,這種模式現(xiàn)在仍然采用,那就是學(xué)習(xí)的新技術(shù)要和上一個技術(shù)要有相當(dāng)程度的升級,盡量避免同級別技術(shù)都去學(xué)習(xí),且要不斷的學(xué)習(xí)技術(shù)和拋棄技術(shù)。技術(shù)要跳躍式升級是因?yàn)閷W(xué)習(xí)時間有限,而為什么要學(xué)習(xí)技術(shù)又要拋棄?這是多余么?我認(rèn)為并不多余,我非常認(rèn)同一句話:“人生中你所走的每一步,都是構(gòu)成你人生的基石”,技術(shù)大廈的基石,一定是要牢固的,沒有扎實(shí)的技術(shù)基礎(chǔ),就去學(xué)新技術(shù),必然走火入魔(產(chǎn)生大量的認(rèn)知錯誤)。這也是為什么我看《C#高級編程》的版本是第四版,而不是第六版,因?yàn)榈谒陌婊?Net2.0,那是一個技術(shù)基石,我未來可以不用,但不能不學(xué)。

       

      因?yàn)楣镜漠a(chǎn)品是基于C#和WinForm,因此我首先學(xué)精的就是它們了。

       

      02

      C#相關(guān)技術(shù)

      C#:必須

      C#本身就不用說了,需要深度學(xué)習(xí)。

      Linq:必須

      Linq是個好東西,我覺得如果C#沒有Linq,那可能就索然無味了。使用Linq可以大大的精簡代碼。而Linq的技術(shù)鏈其實(shí)很長,它是從委托、匿名委托、lamda表達(dá)式、表達(dá)式樹,最后才有Linq。

      DI/IOC/AOP:值得了解

      我覺得深入理解這些概念,對程序員來說很重要。這可以讓我們把架構(gòu)做的非常優(yōu)化,也有利于我們更好的理解asp.net mvc。

      其中微軟企業(yè)庫EntLib我是詳細(xì)了解過的,受益匪淺,但實(shí)際工作中沒有用到,因?yàn)榧夹g(shù)已經(jīng)過時了。而對于MEF和Spring.Net有興趣,但沒時間去了解。

      Membership:值得研究

      對于網(wǎng)站的權(quán)限控制,不管是webform還是mvc,微軟都提供了自己的解決方案,但在實(shí)際使用中,企業(yè)的需求各異,一般大家都是自己實(shí)現(xiàn),不會用Membership。但了解它,從而了解微軟的網(wǎng)站權(quán)限設(shè)計(jì)原理,從而定制自己的權(quán)限控制架構(gòu),是很有幫助的。

      正則表達(dá)式:值得研究

      我覺得這東西非常有用,但表達(dá)式太難記,又用的少。所以到現(xiàn)在為止,還只停留在碰到問題就百度的業(yè)余水平。

      EmitMapper:必用

      在.Net2.0時代,大家大量用DataTable,但它五年前甚至更早就應(yīng)該被拋棄了,List對象使用起來非常方便,而映射工具使得將前端的數(shù)據(jù)映射到后端變得非常方便,使用強(qiáng)類型編程變得非常有優(yōu)勢,DataTable應(yīng)該走入歷史了。除了EmitMapper,也有人用其他的比如AutoMapper等,都可以。

      Log4Net:必用

      對于一個完整的應(yīng)用系統(tǒng),怎么能沒有日志記錄系統(tǒng)?Log4Net已經(jīng)非常強(qiáng)大,沒有必要自己去寫一個。

      Asp.Net WebForm:未來會繼續(xù)研究

      我算是大致研究過WebForm,雖然沒有用于實(shí)用,但我始終保持一種想把它實(shí)用,并進(jìn)一步深入了解它的興趣??隙ㄓ腥藭X得,WebForm已經(jīng)過時了,為什么還要研究它?因?yàn)橐蚝眉夹g(shù)大廈的基礎(chǔ),WebForm可以說是一個非常經(jīng)典的設(shè)計(jì),雖然已經(jīng)過時,但拿來把玩也是很好的。

      Asp.Net Mvc:正在使用

      當(dāng)前我的產(chǎn)品里,在后端使用的就是Mvc。但我所使用的Mvc遠(yuǎn)遠(yuǎn)不是asp.net mvc。因?yàn)閷?shí)際上只用了其中很少的一部分,而完全拋棄了Razor。因?yàn)镽azor也過時了,現(xiàn)在流行的是前端開發(fā),后端只要簡簡單單,就好。

      .Net Core:未來應(yīng)該會使用

      當(dāng)前產(chǎn)品還不需要跨平臺,但我感覺未來可能會需要跨平臺。

      CodeSmith:在用

      為什么會使用CodeSmith?這是歷史遺留問題,因?yàn)楫?dāng)初公司使用的架構(gòu),是博客園上的一篇文章推薦的基于Repository的經(jīng)典架構(gòu),那個架構(gòu)下需要生成大量的類,Model,ViewModel,Access,Service等,所以需要代碼生成工具,就用上了CodeSmith。

      但隨著我后來徹底拋棄了Repository架構(gòu),架構(gòu)越來越簡單,CodeSmith也用的越來越少,現(xiàn)在只用于生成ViewModel類。其實(shí)就生成VM這種簡單的POCO類,用C#直接寫一個就行了,但用習(xí)慣了CodeSmith不用白不用吧。

       

      不知不覺已經(jīng)寫了5頁了,今天就到此為止,下一次繼續(xù)寫完我的技能樹。

       

      覺得文章有意義的話,請動動手指,分享給朋友一起來共同學(xué)習(xí)進(jìn)步。

      歡迎關(guān)注本人微信公眾號,更及時的關(guān)注最新文章(每周三篇原創(chuàng)文章,以及多篇專題文章):

      來源:http://www./content-4-105601.html

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多