1. 程式人生 > >2018年度業余學習總結

2018年度業余學習總結

utl The mongo 後來 dsl 深入 測試 節點 包含

回首2018,時間如此之快;今年工作之余的學習也有較多收獲,故予以總結,一來以便回顧查漏補缺,二來制定明年學習計劃。

備註:本篇只總結業余時間的學習,工作相關的不便公開。

年度知識關鍵詞

Clojure DNS協議 數據可視化 IoT數字電路 移動端開發 NAS 全棧 Postgresql 黎曼猜想

學習總結

clojure

學習使用clojure+clojurescript進行全棧開發,實現了單頁面應用基本網站架構,和較為復雜的頁面查詢。完成了兩個網頁:工作的一些測試工具展示;自己的個人工具集網站。

使用clojurescript+react native編寫app,計劃做個手機APP來將照片加密上傳存儲在OSS或者S3,目前進度是完成了初步的頁面,主要的加密、上傳功能還沒有開始做。

技術分享圖片技術分享圖片技術分享圖片

使用gloss庫進行網絡協議開發

為了獲取單個域名CDN節點,想法是搜集全國的DNS服務器,然後向這些DNS服務發起查詢請求,得到CDN節點。由於DNS協議比較奇葩,目前gloss庫對這種可變頭部決定後續內容,目前實現了構造數據包,對於響應包解析還存在問題,目前gloss庫作者已經不再維護,後續有時間可以再研究下這個問題。

技術分享圖片

clojure luminus非常好用, 可以直接生成一個包含各個組件的應用。

http://www.luminusweb.net/

書寫自己的工具時使用了postgresql,發現其非常好用,不僅和mongodb一樣,支持存儲json格式,而且和mysql一樣, 是關系型數據庫。

管道數據流思想

https://github.com/linpengcheng/PurefunctionPipelineDataflow

使用該思想,可以方便的將代碼結構簡化,但是入門時還是總是會不自覺的將代碼復雜度提高,需要不斷練習、體會。

12306

使用chinaz工具獲取CDN節點,學習使用clojure async批量請求,實現同時查詢多個CDN節點功能。

IoT

IoT本年度主要思考智能家居方面,從去年的嘗試模擬身份證ID,想著直接拆解室內終端,嘗試監聽電路信號,模擬重放開門信號;發現了數字分析儀,於是購買了Digilent OpenScope MZ,直接連接在線路上,沒做任何保護,結果就是燒毀了。

後來又發現了物美價廉的DsLogic數字分析儀,於是入手一個,采集信號後,利用樹莓派模擬發現信號電壓不夠,多試了幾次發現樹莓派也被燒毀了……

下圖是DsLogic的監聽數字信號的結果:

技術分享圖片

和同學聊天中知曉了些電路知識,發現自己這塊還是空白,於是找了麻省理工的數字電路公開課,學習第一節就明顯感覺牛逼學校教授知識確實很贊,從基本的電路知識,一層一層介紹了後續知識的拓展,描繪出了數字電路一層一層抽象發展出的計算機學科。

好用的工具

  • Explainshell

好用的Linux命令參數解釋工具,對於復雜命令可以拆解理解。

示例:https://explainshell.com/explain?cmd=git+log+--all+--graph+--decorate+--oneline+--simplify-by-decoration

  • graph-easy

生成ascii圖形,相比較graphviz,可以方便生成ascii圖形,對於利用github搭建的靜態博客,圖片存儲很麻煩,所以寫博客時使用ascii圖形表達更加方便。

  • outline

google的母公司出品,包裝了ss,傻瓜式安裝、配置、管理,多平臺,非常方便。

https://www.getoutline.org/(需要梯子)

  • Notion

用過的最好的筆記軟件

Other

黎曼猜想

黎曼猜想被證明可謂是一大新聞。

業余買了兩本相關書籍,大概了解了黎曼猜想講了什麽,但是其中很多概念不了解。

比如虛數,之前學習的時候記得規定i的平方是-1,但是為什麽是這樣的呢?當查閱資料了解更多時,就會發現數學發展與人類進步密切相關。

從最開始的正整數1、2、3……,到加入0後的自然數,再到負數,然後到有理數(3/5等),接著到無理數(根號2),已經到了實數域。

可以將復數看作為一種工具,它的引入是為了解決問題。那麽為什麽是引入這樣的,而不是那樣的?

關於復數的引入,可在網上找到很多文章
比如:http://www.ruanyifeng.com/blog/2012/09/imaginary_number.html

總結

2018年相比2017年學到的東西深入了一點,這一年業余主要寫clojure,但是很多項目都比較零碎,目前正在做的就是一個自己工具,將零碎的小工具整合,主要實現web頁面,方便使用管理。
工作上的事情也頗多,較為好的一點是做自己擅長且喜歡的工作了,心裏壓力小了很多;這也是利用業余時間能夠學習更多的原因。

新的一年,繼續整理自己工具,寫clojure,折騰智能家居,順便看看那些年不知道的所以然(數學為什麽是這樣的?),^_^

2018年度業余學習總結