2018年終總結,一份遲到了的年終總結 | 掘金年度徵文

chaychan發表於2019-01-03

遲到的原因

  本來年前就準備寫年終總結的,在12月18號的時候提交了CSDN的部落格專家申請(去年定下的目標之一),本想月底可以知道稽核結果,看看完成去年的目標沒有,結果稽核了好久,到了今天才通過了我的申請,不過也算是完成了去年的目標了————成為CSDN部落格專家,所以今天才開始寫2018年終總結,一份遲到了的年終總結。

image

我的部落格地址:https://blog.csdn.net/Chay_Chan

允許我下面使用“今年”來稱呼2018,儘管現在寫部落格的時候已經是2019了。

image

我的開源專案

image

我的github地址:https://github.com/chaychan

今年擁有了第一個star數突破1k的專案————精仿今日頭條,記得去年寫年終總結的時候才616個star數,沒想到這個專案已經過去那麼久了,依然還有不少人點star,所以今年我在空閒之餘也做了幾次維護。

其中主要的兩次更新是:

  1. 引入MultipleItemRvAdapter,優化新聞列表的adapter,不同條目的處理放在各自的ItemProvider中處理;

  2. 優化視訊解析邏輯,徹底解決視訊列表播放錯亂的問題;

MultipleItemRvAdapter 面世的原因

  由於公司專案中IM功能使用到了融雲,融雲中每一種訊息的處理都在對應的ItemProvider中,這樣可以讓不同item的處理邏輯寫在不同的ItemProvider中,方便往後的維護工作,而且這樣做邏輯清晰,所以很認同他們開發人員的這種封裝思想,隨即想到之前做精仿今日頭條專案的時候,儘管已經使用了BaseRecyclerViewAdapterHelper,但是處理邏輯還是寫得很多,一個新聞列表,有不同樣式的新聞條目,或是純文字新聞,或是帶圖片新聞、或是帶視訊的新聞,擁有多種條目樣式,但是全部都寫在一個NewsListAdapter中,顯得特別臃腫,所以我就想到學習融雲那種思路,對BaseRecyclerViewAdapterHelper進行封裝,以後用到多條目佈局的時候,就可以使用到,方便以後的維護工作,於是便有了MultipleItemRvAdapter

經過處理後,不同樣式的item的處理邏輯,就歸於不同的ItemProvider中:

image

視訊解析的探索

  由於一開始發表精仿今日頭條這個專案的時候,使用到的視訊解析是通過抓取今日頭條視訊解析網站的包進行分析知道如何請求的,但是後面該網站加了一系列的防護措施,畢竟人家也是依靠這個賺錢的,有開放給開放者呼叫,不過需要付費,想到我這個專案僅僅只是為了學習交流,所以就沒有購買他們的服務,自己尋求解析視訊的方法,一開始僅僅只是通過WebView載入原網頁成功後,通過注入js獲取到video標籤,取出裡面src的連結,但是有個不好的地方就是等待時間太長,需要等頁面完全載入成功後才可以獲取到,所以體驗很差。

但是忙於工作的原因,一直沒有優化這個問題,一直到了12月份的時候,抽空再次研究解析視訊的方法,後來根據自己的理解找到了方法,解決了這個問題,併發布了部落格 今日頭條最新視訊解析方法

BRVAH 建立者的邀請

BRVAH 即 BaseRecyclerViewAdapterHelper,一個特別火的Android開源框架,目前擁有近16K的star數,用於方便快捷地建立RecylerView的Adapter,大大減少了程式碼量。

在釋出 MultipleItemRvAdapter 的一個星期後,接收到了BRVAH 建立者的邀請:

image

於是在BaseRecyclerViewAdapterHelper 2.9.37版本後,開始加入了MultipleItemRvAdapter,那時候接收到邀請心裡特別開心,第一次參與到如此火爆的框架的維護工作中來,從中也學習到了不少維護的經驗。

使用Kotlin進行開發

  去年寫年終總結的時候,已經初步入門了Kotlin語言,在寫一些Demo的時候也開始使用到,今年在公司的專案中,也開始使用Kotlin開發,說實話,當了解到Kotlin擁有簡潔的語法可以大大減少程式碼量的時候,真的忍不住想要使用其進行開發,覺得寫Kotlin程式碼簡直是一種享受,那時候和另外一個Android同事協商好,在新的專案中使用了Kotlin進行開發,並對專案框架進行了封裝。

自己對工作的一些看法

  作為程式設計師,其實有時候真的厭倦千篇一律地開發新專案,感覺現在開發新專案的時候,大多用到的都是現有自己瞭解到的一些技術。對我來說,我更加喜歡的是維護工作,感覺維護工作中學到的更多,當專案使用者量逐漸增長的時候,不同的機型的適配問題、出現問題後如何處理將影響降低到最小、程式碼的優化等方面,這些對於自己技術的提升都有很大的幫助,帶著問題去深入研究,覺得這樣對程式設計師的成長很有幫助。

  同時,我也喜歡學習一些新技術,當自己的技術到達瓶頸,突然瞭解還有新技術的時候,會覺得豁然開朗。幸好公司專案維護的時候有空暇之餘,可以抽空學習新的技術和寫部落格。

談談我對寫年終總結的看法

  在我看來,寫年終總結其實好處還是挺多的,儘管有些人寫年終總結僅僅只是為了顯擺自己今年做了哪些了不起的事,但是個人認為,寫年終總結,除了要總結自己今年完成了哪些目標外,還要會總結自己處理事情的經驗,這才是最難得的。一件事情,單純做好了還是不夠的,還要學會總結,從中獲得了哪些東西,這些才是最珍貴的。同時,寫年終總結還可以展望明年,為自己定下一些目標,然後利用一年的時間逐步去實現,年終總結可以說是去年目標的成績單。

  儘管我的這份年終總結遲到了幾天,但是我覺得還是很有意義的,挺享受寫這篇文章的過程,在寫的同時回首這一年踩過哪些坑,完成了哪些目標,加深了對自己的認識。

對於2019年的寄望

  1. 逐漸深入學習,研究一些常用開源框架的原始碼,學習其程式碼思想,讓自己的技術更近一層樓,對自身進行提升;

  2. 堅持寫部落格,提高自己的知名度,後續打算開通自己的技術分享公眾號;

  3. 學習新技術,打算學習Dart語言,掌握Flutter框架,開發跨平臺應用。

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

相關文章