1 為什么想寫這個(gè)主題
工作的這些年远搪,對于一個(gè)技術(shù)初級到高級劣纲,到架構(gòu),到總監(jiān)的轉(zhuǎn)身谁鳍,有許多的感概味廊,有許多的想法。
曾經(jīng)會想那個(gè)還在大學(xué)的自己棠耕,忙碌于圖書館博覽全書,從概率論的股票分析柠新,到人工智能的機(jī)器學(xué)習(xí)窍荧,每一本你能看到的前沿的書,如果咱們是一個(gè)學(xué)校的恨憎,或許你也曾經(jīng)摸到過一樣的破舊的或者散發(fā)著書香的紙皮和書名蕊退,文人說“書非借不可讀也”,“隨便翻翻”憔恳,所以我看書也是以這個(gè)理論來指導(dǎo)瓤荔,當(dāng)然核心的知道思想就是我非常明確我上這個(gè)學(xué)就是為了更容易的找到一份好工作。
轉(zhuǎn)眼間終于畢業(yè)了钥组,剛工作那會看著自己手里拿的工資输硝,想著也聽說著高級工程師的工資水準(zhǔn),以及高級工程師們的住宿方式(有自己獨(dú)立的空間程梦,花費(fèi)我1/2的工資來租房点把,房間啥都有,可能最重要的是有一個(gè)自己獨(dú)立的空間屿附,可以好好思考怎么寫代碼吧)郎逃。
北上廣深,一線城市挺份,我都去了一遍褒翰,終于也熬到了高級,然后變成了架構(gòu),最后也忙碌于總監(jiān)的產(chǎn)品追求优训。
這么說著幾年過去了朵你,總覺得回顧以往,總結(jié)型宙,復(fù)盤撬呢,總覺得哪里可能可以不那么走,可能可以走得更快妆兑,如果形象的比喻魂拦,那就是成長曲線是不是可以平方指數(shù),或者直線(那角度也要比45度要大)搁嗓,可最終感覺平均下來也就是一個(gè)正常的45度曲線的成長水準(zhǔn)芯勘。
any way 啰嗦了很多,切入主題腺逛,有很多想做的事情荷愕,幾年前就在思考,但是總找不到切入點(diǎn)棍矛,直到15年接觸了go語言安疗,并快速學(xué)習(xí)了它(這里說的快速就是3天看看,然后直接寫common的框架——當(dāng)然這個(gè)用了很多的設(shè)計(jì)模式)够委,然后這幾年也帶了很多新人荐类,沉淀了以go語言為技術(shù)棧基礎(chǔ)的技術(shù)棧茁帽,并向微服務(wù)靠齊玉罐,前后端分離的產(chǎn)品架構(gòu)和方案。從中我發(fā)現(xiàn)潘拨,不單單是我這種老兵吊输,即時(shí)從大二的實(shí)習(xí)生,到剛畢業(yè)的學(xué)生铁追,到畢業(yè)2年的季蚂,到畢業(yè)4年的,到畢業(yè)6年的等等小伙伴琅束,無一不是在實(shí)踐著快速學(xué)習(xí)golang癣蟋,然后起早貪黑的幫我寫業(yè)務(wù)代碼,用go狰闪。
而我想基于go語言(雖然與其他語言比起來疯搅,這是一門最好學(xué)的語言),講一講如何快速的學(xué)習(xí)一門語言埋泵。
2 怎么做到快速
那就直接上干貨幔欧,直接上套路罪治,下面是我的實(shí)踐經(jīng)驗(yàn):
2.1 語言總體介紹
熟悉這個(gè)”語言的總體介紹”——需要對這個(gè)語言的歷史、語言的特性(可以做什么礁蔗,不可以做什么觉义,適合什么場景等)有個(gè)熟悉和了解。然后要專門去看看誰在用這個(gè)語言浴井,可以通過開源庫晒骇,語言官網(wǎng),以及語言社區(qū)知道這個(gè)語言有多火爆磺浙。當(dāng)然最重要一點(diǎn)洪囤,不要忘了,看下招聘網(wǎng)站上撕氧,這個(gè)語言的薪資水平瘤缩,人才需求(數(shù)量的和能力的),仔細(xì)看看初伦泥、中剥啤、高級的jd要求細(xì)節(jié)。
2.2 語言的語法和關(guān)鍵字
這個(gè)沒啥好說的不脯,直接去看吧府怯。
2.3 選擇學(xué)習(xí)的方法
一個(gè)語言的學(xué)習(xí)方法主要有兩種,而對于一個(gè)語言初學(xué)者來說防楷,可能系統(tǒng)的學(xué)習(xí)方法是比較奏效的富腊。
而對于本身有語言實(shí)踐基礎(chǔ)的人來說,對比學(xué)習(xí)的方法會效率非常高(而我說的快速的學(xué)習(xí)主要的人員都是這個(gè)背景基礎(chǔ)的)域帐。
2.4 執(zhí)行一些例子
一個(gè)語言它的官網(wǎng)或者開源庫總會提供一些快速入門的例子,以及針對每個(gè)特性的例子是整,我覺得你有必要去執(zhí)行一遍肖揣。
在執(zhí)行例子的過程中,你會有以下思考思路:安裝好學(xué)習(xí)開發(fā)編譯環(huán)境浮入,看一遍代碼龙优,運(yùn)行一遍,看結(jié)果和自己看的理解的是不是一致的事秀。最后手癢還回去改改代碼彤断,在編譯運(yùn)行一遍。于是你有可能就快速的掌握了這個(gè)特性易迹。
2.5 針對語言的特性進(jìn)行專門的針對性學(xué)習(xí)
語言的特性宰衙,也特指這個(gè)語言針對某一個(gè)業(yè)務(wù)領(lǐng)域的一些特點(diǎn),比如go語言睹欲,針對高并發(fā)供炼,分布式一屋,后臺服務(wù)開發(fā),簡化了服務(wù)開發(fā)模型袋哼,不管是初學(xué)者還是老手都不需要掌握諸如epoll那么復(fù)雜的服務(wù)開發(fā)模式冀墨,就是使用go開發(fā)一個(gè)還不錯(cuò)的服務(wù)端。還有諸如python的科學(xué)計(jì)算框架針對科學(xué)計(jì)算那就是信手拈來涛贯。
2.6 寫一些小項(xiàng)目或者工作直接使用
最后需要為自己準(zhǔn)備一些小項(xiàng)目诽嘉,這個(gè)建議使用這個(gè)語言的一些成熟的框架,什么是成熟的框架弟翘,比如開源庫上評分比較高虫腋,搜索引擎的搜索出來最多帖子的,stars排名比較靠前的衅胀。這些都是成熟的框架岔乔,把這些框架的例子跑起來,同時(shí)拿框架來重寫(或者直接工作使用)進(jìn)行項(xiàng)目業(yè)務(wù)編寫滚躯,并調(diào)試應(yīng)用起來雏门。最后去在實(shí)踐中踩坑,去成長掸掏。
3 效果
我可以告訴你:
那個(gè)大二的實(shí)習(xí)生茁影,沒什么語言和工作基礎(chǔ)的,花了2周時(shí)間掌握了go語言并開始參與工作項(xiàng)目丧凤,交付了很好的實(shí)習(xí)項(xiàng)目成果募闲。
那個(gè)1年c++工作經(jīng)驗(yàn)的朋友,轉(zhuǎn)go語言只花了5天時(shí)間變參與團(tuán)隊(duì)的基礎(chǔ)庫和框架的編寫愿待,并參與最終在半年內(nèi)負(fù)責(zé)團(tuán)隊(duì)最重要的分布式技術(shù)架構(gòu)的核心代碼編寫浩螺。
那個(gè)有4年工作經(jīng)驗(yàn)的朋友,對仍侥,你能想到要出,他基本上是一來就開始變學(xué)習(xí),變寫看項(xiàng)目代碼农渊,并開始著手工作了的患蹂。
4 你呢
你呢?你會花多久砸紊,1周传于,1個(gè)月,3天醉顽?
5 最后我想說的
曾經(jīng)我?guī)Я艘蝗盒』锇椋ㄓ袦y試沼溜,運(yùn)維,開發(fā)游添,技術(shù)新手盛末,技術(shù)老兵)建立一個(gè)社群弹惦,帶了他們學(xué)習(xí)go語言,所以也才有了我啟動的這個(gè)go語言專欄——如何快速學(xué)習(xí)一門語言悄但。其實(shí)我想說的就是如何快速學(xué)習(xí)一門語言棠隐。
我還是希望你們都能體會我上面所說的,就像某位大咖說的檐嚣,“學(xué)習(xí)英語不應(yīng)該是學(xué)習(xí)一門語言和知識助泽,而是應(yīng)該學(xué)習(xí)一個(gè)技能”,那么我也想說嚎京,如何快速學(xué)習(xí)一門語言嗡贺,這個(gè)也是一個(gè)技能。希望你能掌握鞍帝,當(dāng)然我的專欄是針對go語言的诫睬,那么最基本的我會有所奢求的就是,你們都能快速的學(xué)習(xí)了go語言帕涌,并給自己添加一個(gè)技能摄凡。
當(dāng)然更高的奢求就是,能有人可以從中總結(jié)或者復(fù)盤蚓曼,掌握如何快速學(xué)習(xí)一門語言的技能亲澡。當(dāng)然是編程語言。