寫技術博客的初衷

關于寫技術博客的初衷,我想說幾句哈

在我的博客里會有一些,IT技術側的基礎知識,大都算不上很深入很底層的東西,當然了,能一篇文章說清楚的東西,大概率涉及不到太深度底層的知識。

這篇文相當于是前言,會解釋以下兩個問題:

  • 我為什么寫這些很基礎的東西,目的是什么?
  • 知識總量太大,哪些點是我會拿出來寫的?

首先,我不是為了做知識筆記或者說什么梳理。所以打比方說,Android的消息機制大概是怎樣的?Android的View事件分發機制是怎樣的?渲染機制是怎樣的?線程池的基本用法?等等等等,這些相對基礎的知識,市面上的相關書籍或者網上的博客能搜到非常多,這也是一個高級開發技術成長道路上必知必會的東西,我再重新寫一遍沒意義,估計也沒有別的博客寫得好。

但是比如說子線程能不能展示toast?它和looper有啥關系,涉及到NMS里怎樣的機制? Looper掛起以及喚醒涉及到的內核態的線程調度是怎樣的? view的渲染具體到SurfaceFlinger服務里做了怎樣的事情?再深入可以聊下Ashem匿名共享內存的東西? 這些都是可以從上面的基礎知識往深度擴展來的,但是把下面這些問題弄明白的開發,數量應該是相對少一些的。

但是,有些知識點,很經典很基礎,網上大部分的文章沒有講清楚(后面會舉例)。

國內網站的很多博客目前存在幾個問題:

  • 還沒真的弄明白的情況下,就照搬照抄其他博主的文章。

    抄沒有問題,但是最好在真正理解吸收以后,再抄比較好。

  • 不同博客平臺用爬蟲互爬數據,原樣照抄連圖床都不處理,配圖掛了也不管。

    這導致一個問題百度出來(國內大部分工程師還是用百度,我也經常用),會有幾十篇相關的文章解析,咋一看信息量很足,實則千篇一律,錯別字都是一樣的。

  • 沒有把點子講明白,有的甚至講錯了,也被別人抄了幾十份。

    比如雙緩沖和垂直同步,這么簡單的概念,大部分文章卻沒能講清楚。ThreadLocal也是如此。比如關于客戶端緩存方案,我看很多候選人的簡歷上寫著“三級緩存”,大家自己思考一下,網絡這層能不能算作緩存,不知道哪個人說了這個“三級緩存”(估計是借鑒了操作系統 磁盤/ram/高速緩存 的三級緩存概念),后面看的人就跟著叫“三級緩存”。

    說實話,工程師面試,考察的重點之一就是解決問題的能力。肯定不會因為你說"三級"就比“二級緩存”更厲害,更加分,這是不可能的。所以在學習的時候一定要有自己的思考和思辨的過程,不要人云亦云。

  • 一些博客行文方式更像是做記錄,不像在做分享。

    打個比方,代碼細節,大多數情況下是為了“證偽”。很多博客,標題寫著“深入解析”,然后進來一句話不說開始暴力貼代碼,如果是為了做筆記,這個無可厚非,但是做筆記可以在本地文檔做,發布到網上一是給搜索引擎增添負擔,二是降低其他工程師的搜索效率。

    怎樣才算是好的技術分析,我的理解是,要盡可能的消除平臺差異性,將具體的平臺細節脫敏,把原理流程抽象出來。比如你說一個Android的知識,要盡可能讓沒有這方面基礎的新人或者甚至是iOS的開發能聽得懂,能做到這一點,應該至少是及格了。

總結

所以綜上所述,網上書上現成的基礎知識文章我大概率不會去寫了(除非真有人想看我重新寫一遍??)(上面文字里挖的坑,都會填上的)

然后我寫這些博客的目的是,希望能用盡可能友好不炫技的方式,把一些目前其他博客都沒能講清楚的東西講清楚。(回答了第一個問題) 而且,我會把那些雖然基礎,但是很經典很重要,但是很容易理解錯的知識拿出來寫。(回答了第二個問題)。

最后,我一直是一個很自謙,一直抱有空杯心態的人。技術水平也極為有限,難免會說錯理解錯,也希望發現我行文紕漏的同行們能不吝賜教,通過私下聯系或者評論的方式指出我的問題,以免我誤人子弟。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。