??一年的時間如白駒過隙,2019年馬上就要過去,嶄新的2020年即將到來,在此提前祝大家新年快樂!今天也是2019年最后一個周六,在此我打算寫一篇文章來記錄2019年所做的事,總結過往,展望未來。
1. 總結2019
??在寫這篇文章之前,我在腦子里面簡單過了一遍整個2019年所做的事。2019年對于我來說是非常特殊的一年,因為這一年我從大學畢業了,所以上半年我是在學校度過的,而下半年為了工作從成都跑到了北京。
(1). 2019年的學習
??在2018年的年度總結中,我給自己定下了4個目標:
- 完成對
RecyclerView
源碼的學習與分析。- 學習jetpack。
- 學習kotlin及其Android底層知識。
- 學習后臺知識及人工智能相關算法。
??上面的4個目標,我算是完成了3個半。其中人工智能相關算法
一直沒有機會和時間去接觸和學習,所以這個計劃算是擱淺了。
??首先,我完成了當初立的flag--看完RecyclerView
源碼,并且將學習的過程寫成了一個系列博客,博客如下:
- RecyclerView 源碼分析(一) - RecyclerView的三大流程
- RecyclerView 源碼分析(二) - RecyclerView的滑動機制
- RecyclerView 源碼分析(三) - RecyclerView的緩存機制
- RecyclerView 源碼分析(四) - RecyclerView的動畫機制
- RecyclerView 源碼分析(五) - Adapter的源碼分析
- RecyclerView 源碼分析(六) - DiffUtil的差量算法分析
- RecyclerView 源碼分析(七) - 自定義LayoutManager及其相關組件的源碼分析
- RecyclerView 源碼分析(八) - ItemAnimator的源碼分析(源碼分析系列終篇)
??這8篇文章一共花了3個月左右的時間,在寫過程中同時也在學習,經過三個月的嘔心瀝血的學習,自己已經對RecyclerView
有了非常深入的理解。而完成的系列文章也算是全網比較完整的文章。
??其次就是學習kotlin,入門是通過一本《kotlin 實戰》書,不過相對來說,kotlin跟Java比較相似,所以學習起來比較輕松。后面為了深入的學習,在掘金上買了一個相關小冊來學習。
??然后就是學習jetpack,學習方式主要是通過官方文檔來學習。不過官方文檔介紹的東西都是比較簡單的,所以為了深入的學習,我讀完了官方推薦的英文博客,在推薦的文章學習到了非常多知識;同時為了能夠將學習的知識運用到實踐當中,我也不記得自己看了多少開源的repository。學習的知識越多,看的東西越多,腦子就越容易糊涂,所以為了鞏固學習成果和梳理知識,我現在正在寫一個kotlin + mvvm的腳手架,如今已經往github上傳了部分代碼:jade-mvvm,完成這個腳手架也是2020年的計劃的一部分。經過jetpack學習,我發現了一點,就是英語理解能力得到大幅度的提升,這也算是對自己在其他方面有額外的提高吧。
??最后就是學習后臺知識,在完成我的畢設過程中,我學習了Spring boot + mybatis的后臺框架,這個就不多介紹。
??除了完成2018年定下的目標之外,還有額外的學習成果。
- 對Android中嵌套滑動有了深入理解。這個成果算是意料之外的,在去年的時候,我對嵌套滑動有了一個簡單的理解,當時只是為了學習而學習,而今年是通過實際項目踩坑深入理解的,并且相關經驗寫成了一篇博客:從一次真實經歷中說說使用嵌套滑動過程中常見的坑
- 對Android aosp有一定的了解。Android aosp是比較難以理解的知識,我在去年的時候也嘗試入門,不過當時覺得自身還差一定的火候,所以沒有成功;在今年,我也嘗試著去了解aosp的世界,不出意料的是也失敗,總之還是自身能力不夠。不過在整個探索過程中,也了解到不少的知識,比如activity的啟動過程以及app的啟動過程。這一塊知識,我并沒有寫成博客,因為我知道,我現在學到的知識只是冰山一角,學習過程中肯定有所考慮不周。
- 算法能力有一定的提升。當我畢業之后來公司的上班之后,當時我給自己定了一個計劃:刷題。所以,2019年的下半年,我經常會去LeetCode上去刷相關的算法題。經過一段時間的沉淀,我的算法能力也算是有了一定的提升,不過說實在話,感覺還是比不上我大三的時候,所以,這方面我還得加油!!!
- 學習了Java中APT 知識,并且完成Blade依賴注入框架。我記得,我之前在學校在做畢設時候,當時考慮整個項目的設計和降低項目的耦合度,學習了APT相關知識,并且完成寫了人生中的第一個輪子:blade。為了達到預期的效果,在完成Blade過程中,我嘗試了各種方法,只記得我把代碼刪了又寫,寫了又刪,前前后后花了差不多2月的時間才正式完成。最近,我將Blade整個項目結構重構了一遍,相比于以前,使用上更加靈活,性能上更加優秀,代碼上設計上也更加優雅。并且,我打算我一直維護這個項目,后續我會根據自身的工作經驗不斷的更新和優化這個項目,我也不求這個輪子有多少人使用,只要能保證自己在使用上得心應手,其中包括我最新的mvvm框架,我就結合了Blade的使用。Blade對我來說,有非常重要的意義。
(2).2019年的生活
??首先,我完成了大學的學業。所以今年的上半年的時間大部分都是在完成自己的畢業設計,幾乎每天的時間都是三點一線。在整個過程中,最難熬的無非就是孤獨,因為我回學校的時間比較早,大部分的同學都還沒有回到學校,包括在寢室里面,有很長的一段時間都只有自己一個人;同時吃飯也是如此。當然,真實的情況也不是那么凄慘,畢竟那段時間除了完成畢設就沒有其他事,所以相對來說還是比較自由輕松。完成畢設之后,就是畢業結題,我沒有想到的是,我居然稀里糊涂的拿了一個優秀畢業設計。唉,感覺自己有點飄了。在那段時間里面,唯一遺憾的就是錯過了她......
??其次,我完成了自己人生的第一大計劃--給父母在老家買了一套房子。在今年8月份左右,我在老家給父母買了一套房子,大概是90平。雖然房子不算是很貴的,但是也算是我對父母的回報,感謝他們把我從懵懵懂懂的小孩子培養成一個有知識有能力的成年人。房子前期給的錢并不多,比較花錢就是裝修,所以我每個月除了留下房租和日常開銷需要的錢,其余全部打給我父母去裝修。不得不說,裝修這段時間,我過得確實比較拮據,比如說,能想象我現在身上只有200元錢嘛。不過我覺得這一切都是值得,因為到現在,房子已經裝修完畢了,我們一家人打算在今年春節搬進新的家,想一想還挺激動的。所以,2020年我還得加油,因為我還得還房貸!
??然后就是公司的工作,才來公司的時候,還比較輕松,摸了差不多一個月的魚。后面的工作壓力稍微有點大,先是參加一個重要項目的開發,差不多加了一個半月的班;后面一個月便是自己一個人參與大功能的開發,由于自身能力和經驗的不足,這個功能在上線之后出了一個鍋,唉,大家能想到經過一個月的時間完成一個功能,上線之后就出問題的心情,所以經過這事之后,幾乎每天晚上我都要在睡覺之前深思自己一天的工作,主要是反思工作上是否有遺漏的地方,溝通中是否有不合適的地方。在那段時間里面,我壓力特別大,幾乎每天晚上 2、3點才能睡著。其次,我來公司工作之后,我還給自己定了一個目標,就是上班時間,每天必須在7點半準時起床,這個計劃已經執行了好幾個月,如今感覺已經形成了生物鐘了,不管晚上多晚睡覺,每天早上7點半都能準時醒來。
(3) .總結2019年的不足
?? 雖然感覺自己在2019年還是做了不少事,當時還有地方做的不夠好。
- 目空一切。不管之前在學校還是現在在公司,感覺自己有時候真的很驕傲,比如說,有時候聽見別人說,某某某完成了啥東西,自己內心卻在想,這有啥,這不是很簡單或者我又不搞這個的,如果我搞的話,肯定也可以。自己沒有從別人的角度上來思考問題,或者說,自己從來沒有想過如果自己真的來搞這個,真的能比別人做的好嗎?所以,至今我給自己的信條是:虛懷若谷,韜光養晦。正所謂"滿瓶不響,半瓶晃蕩",給自己設置這樣的信條的目的就是,告誡自己不要驕傲,虛懷若谷,取長補短。
- 拖沓。自己在準備做某一件事,總是拖沓,比如說,告訴自己今晚必須洗衣服,總是拖了又拖,要么拖到很晚才洗,要么第二天才洗。
- 沒有主見。有時候,給自己設定了一個目標,說要完成它,但是往往因為覺得這個目標完成之后沒啥意思,或者發現有更好的目標,而放棄已經設定好的目標。
2. 展望2020
??2020年即將到來,而我在新的一年也應該有新的計劃。
- 改掉2019年的不足。
- 完成mvvm框架,維護Blade,并且深入學習jetpack。
- 深入學習Android 相關知識,比如說Java 虛擬機,Android虛擬機以及應用層相關知識。
- 堅持對算法和英語的學習。
- 閱讀1 ~ 2本文學名著。
??2020年送給自己一句話:要想快速提高自己,就去做讓自己害怕的事情!!!