來(lái)源:嘀嗒嘀嗒 作者:朱赟 2018-06-14 11:16:47
但是用 Scala 寫(xiě) Spark 相關(guān)的代碼,邏輯正確是不夠的,一定要對(duì)代碼執(zhí)行的性能有所考慮。比如需要知道一些常見(jiàn)函數(shù)大概的時(shí)間代價(jià),例如 group by 和 order by 其實(shí)都是比較昂貴的,應(yīng)該避免一些不必要的頻繁使用。而有些操作又是相當(dāng)?shù)痛鷥r(jià),可以隨意使用。另一個(gè)就是 Lambda 嵌套使用過(guò)程中語(yǔ)言的一些局限性等。好在組里當(dāng)時(shí)有幾個(gè) Scala 比較熟的,所以一些不規(guī)范或者低效的使用方式,在 Code Review 中也會(huì)被指出。所以,幾個(gè)月后,雖然用 Scala 也寫(xiě)了不少代碼,過(guò)程中也了解了很多這樣的易出錯(cuò)的地方,但是感覺(jué)如果不是因?yàn)槭窃谝粋(gè)協(xié)作的過(guò)程中有人幫忙,這種裸上寫(xiě)代碼的方式還是可能引起一些性能上自己沒(méi)有意識(shí)到的問(wèn)題。
再說(shuō)說(shuō) Ruby 以及 Rails。Ruby 是語(yǔ)言,Rails 是框架,但是實(shí)際工作中極大多數(shù)時(shí)候 Ruby 都是在 Rails 下使用的。因此放到一起說(shuō)。Ruby 語(yǔ)言語(yǔ)法簡(jiǎn)單、使用靈活,看似好學(xué),其實(shí)又是最難學(xué)的語(yǔ)言之一。因?yàn)榭偤推渑鋵?duì)的 Rails 中的 Magic 太多。很多在別的語(yǔ)言上挺有造詣的朋友,對(duì)這門語(yǔ)言/框架自學(xué)和速成都遇到一些困難。Ruby / Rails 其實(shí)是我最精通的語(yǔ)言/框架之一,卻也是我學(xué)習(xí)的時(shí)間最長(zhǎng)的語(yǔ)言/框架之一。一來(lái)在 Square 的時(shí)候 Rails 就是主要(語(yǔ)言)架構(gòu),且公司有很多 Rails 的專家大牛,所以給了我一個(gè)極好的學(xué)習(xí)氛圍。且 Airbnb 也是重度使用 Rails。二來(lái)因?yàn)槌S,所以自己也愿意額外下功夫,整個(gè) RailsCast 幾百段教學(xué)錄像,當(dāng)時(shí)借用每天上下班坐車的時(shí)間都看完了。一些 Rails 的論壇也常常關(guān)注。所以對(duì)于 Rails,雖然坑很多,但是自己還是有信心能避開(kāi)大部分常見(jiàn)的問(wèn)題。之前的一篇《聊聊 Ruby on Rails》也寫(xiě)過(guò)一些心得體會(huì)。
最后說(shuō)說(shuō)幾種前端語(yǔ)言、框架、和庫(kù)的學(xué)習(xí),例如 JavaScript,Ember,React 等。我在學(xué)校的時(shí)候其實(shí)從來(lái)沒(méi)有碰過(guò)前端。后來(lái)因?yàn)楣ぷ餍枰湃W(xué)的這幾種。前端語(yǔ)言和后端語(yǔ)言差異還是蠻大的,尤其是語(yǔ)法上。如果一點(diǎn)底子都沒(méi)有,加上 Html,CSS 等,其實(shí)有時(shí)候讀懂代碼都費(fèi)勁。所以直接上手寫(xiě)幾乎是沒(méi)有可能了。
當(dāng)時(shí)一開(kāi)始是找的 W3School 上的一些教程類文檔,完整地過(guò)了一篇,不算很長(zhǎng),看起來(lái)倒也挺快。看完讀代碼問(wèn)題就不算太大。然后白天看看公司的代碼庫(kù),寫(xiě)一些簡(jiǎn)單的代碼練手。一有空,就拿語(yǔ)言的官方文檔邊看邊抄。什么意思呢?就是從頭細(xì)讀,遇到能立馬理解體會(huì)的,根據(jù)熟悉程度,或快或慢,一帶而過(guò)。遇到有點(diǎn)不知其所以然,或者雖然理解了,但是覺(jué)得自己沒(méi)有深刻體會(huì)的的,就做筆記摘錄下來(lái)。這樣有一些在實(shí)踐的過(guò)程中慢慢又會(huì)遇到,通過(guò)實(shí)際場(chǎng)景就會(huì)更深刻地理解。不時(shí)再溫習(xí)一遍自己的筆記,覺(jué)得已經(jīng)熟悉掌握的就劃掉。學(xué)和練交替,等到筆記上半懂不懂的內(nèi)容全部被 Mark 了,基本也算學(xué)的差不離了。
大致就是如此吧。
最后說(shuō)一下,語(yǔ)言畢竟只是工具。精通一門語(yǔ)言最多算是優(yōu)勢(shì),從長(zhǎng)久的職業(yè)生涯來(lái)說(shuō),只能算技能之一。簡(jiǎn)歷上多列幾門語(yǔ)言也不見(jiàn)得就在找工作的時(shí)候一定有優(yōu)勢(shì)。有一定的語(yǔ)言功底,每種典型的語(yǔ)言類型都能熟悉或精通一門。然后在需要的時(shí)候再去學(xué),學(xué)習(xí)的過(guò)程中能做到不想當(dāng)然,不套用定式。
其實(shí)沒(méi)有絕對(duì)好或者絕對(duì)不好的語(yǔ)言,因?yàn)槊糠N語(yǔ)言都是為了一些特定場(chǎng)景設(shè)計(jì)的。脫離了這些場(chǎng)景,就總有用起來(lái)比較尷尬的情況。多了解語(yǔ)言的特性,在使用過(guò)程中能做到揚(yáng)長(zhǎng)避短,大部分時(shí)候就足夠了。當(dāng)然,如果是項(xiàng)目里負(fù)責(zé)語(yǔ)言架構(gòu)的技術(shù)人員,那又另說(shuō)了。
因?yàn)槭菢O客邦老大霍泰穩(wěn)的親妹妹,年底了,不給我發(fā)紅包,卻被感情綁架發(fā)免費(fèi)廣告。也不知道有幾個(gè)妹妹能這么好使喚的。不過(guò)話說(shuō)回來(lái),極客邦的活動(dòng)和產(chǎn)品確實(shí)是高品位、高品質(zhì)的。所以推薦起來(lái),也算是良心推薦了。技術(shù)人的未來(lái)沒(méi)準(zhǔn)就在這里。
相關(guān)推薦:
小升初試題、期中期末題、小學(xué)奧數(shù)題
盡在奧數(shù)網(wǎng)公眾號(hào)
歡迎使用手機(jī)、平板等移動(dòng)設(shè)備訪問(wèn)幼教網(wǎng),幼兒教育我們一路陪伴同行!>>點(diǎn)擊查看