博客起步
在今年之前,偶爾在簡書上寫一點博客,閱讀量也很少,斷斷續續的寫了一點。后面看了一篇文章說。
其實工作的時候你是做過,但是很難講出來,所以得經常整理思路,而寫作就是很好的思路整理
就開始寫技術博客之路了,開始就寫一些自己工作中遇到的一些問題和難點總結。
其實很多人看到別人寫的文章,很多會覺得也是很一般,或者自己早就知道,只是沒有寫而已。
但是對於知道和做到之間是一個很長的距離,所以這里給我的第一個提示是:
知道了一定要去做,而不是僅僅覺得寫得很一般,就不行動,只有行動了,才可能有更高的難度。就像走階梯一樣,你只有走了第一步才能走第二步,一步一個腳印的往上走,很少有一下子就跳上去的。
開始寫了幾篇自己工作遇到的一些問題總結,以及一些比較基本的問題。比如緩存和數據庫不一致解決方案、Mac遠程上傳文件到Liunx、使用二分查找獲取非遞減數組的下標......。很多都是平時工作中遇到的問題,博客也是一種記錄和總結,下次再次遇到同樣的問題也更快的解決。
求解非遞減數組范圍下標
解決數據庫和緩存數據不一致情況:延遲雙刪
Mac 遠程上傳文件到 Linux
后面有一篇有意思的文章,在數據庫添加百萬數據,當時是為了測試數據庫加和不加索引,查詢數據的差別。最開始是使用 Java 代碼循環添加,這種估計得搞一天。后面直接使用了儲存過程,幾分鍾就解決。這篇文章的點擊率也很大,給了我一些寫作的動力。
Mysql使用存儲過程快速添加百萬數據
后續寫的也是一些基礎的知識,我的基礎知識是比較薄弱的,基礎薄弱這可能是很多程序員的通病,平時工作70% 是寫業務代碼,其中大部分都是 CURD,對於原理的問題,會處於一知半解的狀態,如果有個在面試中經常問的 == 和 equals 的區別,常用在數值比較和對象比較,如果不去看源碼,很容易會犯錯,比如,Integer a = 1,Byte b = 1, 判斷兩者的數值使用 equals 是不會相等的,因為源碼先判斷是否是同一個類型,如果不是直接返回 false。日常開發多去記錄,下次遇到同樣問題會有更多的解題思路。
Java == 和 equals的區別
在開發中分析源碼,比如集合源碼,比較常見的 ArrayList 和 LinkedList 源碼,以及查看 Redis 源碼,都需要看到實現思路,后續更好的排查問題。
LinkedList 添加元素源碼解析
HashSet 如何保證元素不重復——hash碼
深入理解Redis 數據結構—簡單動態字符串sds
深入理解Redis 數據結構—雙鏈表
閱讀數
平台 | 閱讀數 |
---|---|
cnblog | 8751 |
csdn | 5629 |
掘金 | 5791 |
頭條 | 9400 |
segmentfault | 2300 |
半年的時間,有這些閱讀也是一個好的起步,博客園只要推薦到首頁,閱讀都是幾百的。而掘金需要閱讀上去之后才會推薦到首頁,流量有不太穩定。csdn 也是有時候閱讀量大,有時候會很小。
leetcode
刷算法題開始是沒有目的,按照題目,從頭開始刷,從簡單的開始刷,一年的累計也刷了快兩百題,github leetcode。刷題也是一個很考驗人耐心的過程,開始都是很難想到思路,刷多了,都是那幾個套路,比如二分查找、數組、字符串、回溯、雙指針,后面根據這些解法做了一個總結。點我查看解法總結
總結
- 無論是哪個平台,都需要多寫,寫的好不好,都是需要多寫,現在便捷的網絡可以低成本的寫作。多寫,多總結,最好在工作有實踐,有反饋。
- 多了解原理,底層源碼,開始別人問原理,我覺得比較疑惑,需要了解這么多原理?其實只是需要怎么用只是基礎,要知道如何實現,在工作可以借鑒解題思路。
- 很多原理學多了發現原理是相同,比如用數組存儲的數據,為了避免每次擴容。都使用動態擴容的方法,每次增加原來長度1.5倍,不用頻繁的申請分配內存。redis 的簡單動態字符串 和ArrayList 都用了這個特性。
如果覺得文章對你有幫助的話,請點個推薦吧!