2018年度總結,三個角色的轉變 | 掘金年度徵文

桃翁發表於1970-01-01

2018已經結束了,總結自己這一年來就是三個角色的轉變:自己從一個學生成為了一個社會人,從一個讀者變成了一個自媒體人,從一個在校學習者變成了終身學習者。

每一種角色的轉變意味著責任的轉變,每多一種角色,就會多承擔一份責任。角色變得越大,責任也會承擔得越大,當然收穫得也更大。

技術成長

對於技術成長,我感覺我莫名其妙的就走在了前端的前沿,剛剛在知乎上看到一個帖子2019 前端技術規劃該包含什麼?很多大佬在規劃裡面都談到 RxjsTypescript函數語言程式設計FlutterPWANode 相關, 然而事實就是這麼巧(或者可以說我眼界比較遠,偷笑),在 2018 年我很多都已經接觸過了,比如 Rxjs、TS、函數語言程式設計、Node 等。

聊 Typescript(TS)

特別是對於 TS,我在公眾號,然後我維護的微信群裡早就已經說過,TS 最近會火起來的,沒學的趕緊學起來,不知道有多少人聽了我的,看了那麼多大佬的規劃,我更加的堅信了 TS 將會變成未來前端工程師一項必備的技能。

然後對於 TS 的學習,我看過這些東西,我推薦一下,不過對於 TS 我仍然是個初學者,不敢說有多精通,我只在我自己的小專案中用過,沒有在公司的專案中使用。

如果問我使用 TS 感覺是什麼樣的,我只能說相逢恨晚,就跟 vim 一樣,用過之後就像一直用。

聊 Rxjs

對於學 Rxjs 來說,我想說的是,Rxjs 是我學過最難學的一個庫了,目前為止沒有之一。現在回想起來,要是早點接觸函數語言程式設計就好了,如果先是研究函數語言程式設計,再去學習 Rxjs,我相信會輕鬆 40% 以上。但是目前為止,我並沒有拿到真正的生產環境去用過,只是寫過一些簡單的 demo,然後看過一些資料和書籍,同時也在團隊做過相關的普及。

Rxjs 難的就是思維方式以及 api 很多,然後就是由於一些概念不知道為什麼要這麼設計(很多思想我相信學了函數語言程式設計就會明白了)。

對於 rxjs 的學習看過很多的文章,我這裡還是推薦三個我覺得比較全的學習資料。

聊函數語言程式設計

學習函數語言程式設計給我最大的感受就是讓我拓寬了我的眼界,突然的就彌補了以前知識體系缺的點。比如對於 compose、curry 這些 js 裡面也算一直提及的重要概念,但是總是記了又忘,忘了又記,就算自己手寫來實現過了,但是隔了幾個月還是又忘了,因為沒用過。但是學了函數語言程式設計以後,發現全是這些東西,compose 呀、柯里化呀、部分應用呀,就跟用陣列的 map、reduce 這些方法那麼熟練,所以,現在閉著眼睛也能寫出來,就幾行程式碼的事兒。

函數語言程式設計裡面的基本工具函式實現, 用 ES6 簡單的實現了這些概念的核心原理,真的就幾行程式碼。

之前也談到過學 Rxjs 的時候要是先學了函數語言程式設計就好了,那是因為 Rxjs 用的也是函數語言程式設計,而且那裡面的操作符也是,然後比如 rxjs 的鏈式呼叫當時覺得很不錯,jQuery 也有這種,當時還無法確切的知道是怎樣的機制,然而當了解了函數語言程式設計的 Functor 之後,就不再感到迷惑了,再比如實現一個 Promise,我相信是對於大部人前端開發者來說還是有一定的難度的,當 學習了 Monad 之後,可能再去寫一個 Promise 就沒那麼難了,因為 Promise 就是一個 Monad,Monad 是函數語言程式設計裡面一個非常非常難以理解的概念,我覺得是最難的概念之一。

另外可能就會有朋友問,既然函數語言程式設計這麼好,那你平時在用嗎?說實話,我不敢在公司的專案裡面使用,要用也最多隻會用下組合,柯里化,部分應用這些,不敢去用 Monad 相關的東西,因為團隊用函式式的人很少,一個人去用,會給團隊帶來很大的維護成本。而且目前感覺這些高階概念在 js 裡面不太適合,可能因為我還是個初學者,還沒學到精華吧。

但是對於函式式裡面的組合,我是非常之贊成,通過抽象顆粒度更小的函式,然後再組成滿足任務函式,這點我感覺是函數語言程式設計的精華之一,想要用好組合,柯里化和部分應用的靈活使用就顯得非常重要,可能剛開始不知道有啥區別,或者說什麼時候該用哪個,當你真正遇到的時候,你自然就會區分出來。

函數語言程式設計給我帶來的收穫太多了,後面會陸續總結出我的學習總結,本來早就想寫,但是之前發表的一篇函數語言程式設計,真香令我有點心累,這篇文章是我剛開始學習函數語言程式設計不久寫的一篇文章,當時在看《javascript 函數語言程式設計指南》的時候寫的,這篇基本上是總結的那上面的第一章,因為我覺得這是我看到過的資料裡面對函數語言程式設計的總體概述說得最好的,所以我寫出來給大家分享一下,然後就被說,抄書有意思?等等之類的話,但是也有朋友說,感謝我的分享,書上有時候大段大段的文字,還不如別人一篇文章總結的好。反正這篇文章是我寫了之後最難受的一篇,在發這篇文章之後的幾天,我都很怕我的掘金賬號有通知訊息,生怕又要被罵了,那個時候本來就計劃著自己可以總結一下那本書的精華,然後寫一系列文章,但是為了維護我的玻璃心,就繼續買書,看資料,理解得更深刻了,變為自己東西了再寫。

我收集的一些函數語言程式設計的資料以及書籍,如果沒找到好的資料的可以點進去看下。

雖然我看了這麼多資料以及書籍,但是我還是一個在函式式領域的新手,要是寫得不好,歡迎大家拍磚(留點面子)。

之前以一篇《我如何零基礎轉行成為一個自信的前端》的文章,紅遍掘金的我的公眾號

做公眾號是我今年做得最正確的一個決定吧,也是令我收穫蠻大的。主要是寫了很多的文章,擴充套件了自己的社交圈,認識了很多朋友,也接觸到了很多大佬,還有了一點點運營的概念。

我的公眾號是【前端桃園】,做得不太好,最近沒有堅持更新了,因為在寫自己的小專案,後面可以看到自己規劃的專案還有好多沒寫完呢,希望有小夥伴來入個夥,早點讓這些專案上線用起來。

我的專案

今年計劃的專案其實還挺多的。不過目前為止一個拿得出手的都沒有,說出來慚愧呀。

1. github issue 部落格

專案地址

之前想在 github issue 上寫部落格,但是有嫌棄 issue 太醜了,所以就寫了一個靜態部落格,那個時候剛好 parcel 剛好釋出了,所以就用 vue + parcel 練練手,獲取 issue 的內容,然後展示在網站上,所以就做了一個極簡的部落格系統,但是寫好了就沒怎麼用了,現在似乎圖片都失效了。

2. 隨機小程式(決策那點事兒)

寫這個專案的原因是,最開始我們在公司的時候,中午總是不知道出去吃哪一家,所以就比較的糾結,當時我就想到要是有一個東西可以幫我做下決定,隨機一下,然後還可以給答案設定權重,比如比較喜歡吃張亮麻辣燙就權重設高一點,那麼隨機的概率就大點。然後想到這種對於選項太多,難以做決定的情況也很多,比如想去看電影,有好幾部都想看,這個時候就可以隨機一下,幫你做決定。其實對於這種小程式已經有了,但是他們都沒有設定權重的功能,所以我還是決定自己做一個,現在程式碼是寫完了,但是由於小程式是要用 https 的域名,所以目前還沒有上線。

3. 中文版的 medium

這個專案的來歷是因為我經常看 medium 上的文章,不過英語不是太好,所以很多時候都是都是翻譯了之後再看的,然後我也會經常翻譯這上面的文章到公眾號裡,但是就算翻譯,也很花時間,而且有些是機器翻譯的,所以比較的生硬。所以我就想著把 medium 上的文章爬下來,然後通過翻譯 api 翻譯之後得到一篇中文文章,然後中文文章每段判斷都有原文,然後使用者可以去修正翻譯的中文,這樣一次次的修正,相信文章被翻譯得越來越好,就跟做開源專案一樣。

在這個專案中我用的是 puppeteer 做的爬蟲,然後翻譯是用的劃詞翻譯的介面。目前做到的地步只是可以爬文章,然後翻譯文章(這個其實也不是那麼簡單,需要把英文的每個段落拿去翻譯,然後再把每段的翻譯組成文章),對於使用者修改中文這個還沒做好,這個比較複雜,還要管理員稽核啥的。有興趣的小夥伴可以和我一起做。

4. 聚合 github issue 部落格

專案背景:經過我的觀察,很多程式設計師喜歡在 github issue 裡面寫文章,往往這種人寫的部落格質量還比較高,但是 github 對於搜尋 issue 還是比較雞肋,搜尋引擎搜的呢又不是很全,所以我就想著做一個聚合的網站,在網站上填一個倉庫地址,就獲取 issue 以及作者的資訊,然後進行打標籤,分類等操作,主要是方便查詢,而且 UI 也可以定製得好看一些,同時還可以做訂閱功能等。

現在初版快完成了,儘量在春節之前上線。

其他方面的成長

雖然我們是程式設計師,但是人生裡面不能只有技術,還應該學習一些其他的知識。

投資理財

理財的重要性我就不闡述了,說下我的經歷吧,最開始接觸理財的書籍我看的是一本《指數基金投資指南》,文中就說指數基金是巴菲特在公眾場合唯一推薦的小白投資方式,無腦定投個幾年也會賺,然後我就跟著作者的公眾號推薦的一些指數,每個月投資了一點,投資了大半年了,目前還是虧的,我相信只是因為今年行情不好,中國沒到牛市,算是給自己的心理安慰吧。

另外看了《富爸爸與窮爸爸》,這本書是一本暢銷書,還是很推薦閱讀的,裡面提出的富人的金錢觀,以及一些思維我覺得對我們為人處世,以及花錢都還是有幫助的。

還在得到上買了兩門金融課程,當時為了學習炒股,所以就買了想學習,一門是《香帥的北大金融課》,現在我還沒有補完,才看了一百多節,另外一門是陸蓉的《行為金融學》課程,這個是每節都追的,剛出來我就買了,還是挺有收穫的,擴充套件了我的金融觀,以及一些投資技巧,雖然現在股票還沒賺,趁著現在沒啥錢,多鼓搗,摸索經驗,虧了也沒多少錢,等到以後有錢了,虧了就虧大了。

在聖誕節女朋友看我之前一直想買《窮查理寶典》,她在聖誕節幫我買了,這本書我相信是會對我的思維有所幫助的,是講的巴菲特的合夥人查理芒格的一些思考方式,巴菲特對查理芒格的評價很高,他覺得查理芒格比他自己更聰明。

產品

一直很喜歡極客時間的課程,當時也是想接觸一下產品方面的,然後就買了《邱嶽的產品實戰》課來看,很愧疚,都更新完很久了,我現在也才看了一半,立個 flag 春節後一個月內一定要看完。

寫作

做公眾號,或者說自媒體其實就是要寫作嘛,做內容,另外還需要宣傳,做營銷,但是現在我想的是先把內容做好,所以就買了粥左羅的《新媒體寫作 30 講》來看,這個是早已看了兩遍了,但是有很多自己還沒有實踐起來,最近粥老師又出新課了,差點又剁手了。

另外寫作真的是一門很重要的技能,真心希望大家多寫,打造自己的 IP。

總結

在文章的開頭我已經說了今年的我主要是三個角色的轉變,學生變成了社會人,今年六月份畢業,來到了蘑菇街工作;從一個讀者變成了一個自媒體人,自己開始做公眾號,開始經常寫作;從一個讀者變成了一個自媒體人,開始在網上買各種課程,在這個充滿著變化的世界裡不斷的為自己充能,學習新知識。

不知道有沒有覺得我的專案可能有類似的競品了,為什麼還要做,我的回答就是因為我還不夠滿意,我就想做一個我自己滿意的東西,就像尤大一樣,當初寫 vue 只是想寫一款自己好用的框架,沒想到大家也覺得好用,所以就火了,我的專案雖然沒抱著會火的心態,但是讓我自己用著很舒服也是一件不錯的事兒呢!

學到的技術儘量想辦法實踐,不實踐,永遠只是紙上談兵,而且紙上得到終覺淺。拿自己舉例吧,我不是做了好幾個自己的小專案麼,裡面都需要服務端吧,所以這個時候就是學習 node 的好機會,koa、ts 都用起來,前端也得寫,所以如果你想學習 vue,前端就用 vue 寫,想學 angular ,前端就用 angular 寫,最好學習了一個技術,有一定的專案經驗,才能說你會了。

另外再說下編輯器,現在 VSCode 很火,我司大部分前端開發者都在用,我也承認它是一款非常優秀的編輯器,但是 VSCode 還是有些地方我用著不是太滿意,所以我還是用繼續用了 Emacs。

哎,我這該死的,無處安放的 xx!

掘金年度徵文 | 2018 與我的技術之路 徵文活動正在進行中……

來源:https://juejin.im/post/5c3da261f265da61602d2819

來源:https://juejin.im/post/5c3da261f265da61602d2819

相關文章