原创 2019-07-23

工作中你希望成爲什麼樣的人?爲什麼?如何做?工作中希望成爲一個具有獨立思考,具有解決問題方法論的人。爲什麼?只有具有獨立思考工作纔會有意義,纔可能對事情存在影響力,具有主導事情的能力具有解決問題方法論能複用之前的能力,打怪升級如何做?獨立思

原创 如何做到數據一致性

最近在整理線上問題時發現絕大部分的問題都是由於數據不一致導致的,而且這類問題往往也比較難處理,那一般數據一致性都是由哪些原因造成的呢。分佈式數據一致性首先想到的就是分佈式場景下的數據一致性,這也是最難處理的一種一致性。單庫場景下的數據一致性

原创 打印日誌前真的要判斷級別麼

我們經常看到各種代碼規約都要求我們在打印日誌前先做一次日誌級別判斷,例如對於trace/debug/info級別的日誌輸出,必須進行日誌級別的開關判斷。這樣做的好處主要是爲了性能優化,雖然一般打印日誌的方法裏面都會判斷日誌級別,但是在調用時

原创 什麼叫做依賴倒置

前兩天小組裏面開週會,有一個議題就是大家舉例來談談對設計原則的理解(SOLID原則),第一個舉例的同學談到的就是依賴倒置原則,他的例子如下:上面的例子左邊的類顯示的是Person類依賴了具體的工具,例如Person中有一個方法drive(C

原创 如何編寫類

Java類是由屬性與方法組成,如何編寫類其實就是如何決定一個類應該包含哪些屬性或者方法,如果我們已經有了一些業務需求,也知道了需要哪些功能,那這個問題就變成了如何去判斷一個屬性或者方法是否屬於一個類。我們從上自下,寫一個類最先要做的是命名,

原创 謹慎使用getter/setter

在工作中,已經形成了一個習慣,常常在新加一個類時,在寫好一些private變量之後,會順手自動生成相應的getter/setter方法。《Clean Code》中提到將變量設置爲private有一個理由:我們不想其他人依賴這些變量確認,但是

原创 刻意練習

最近看了《刻意練習》,總體來說並沒有提供太多的方法論,更多的還是在講解原則,而且都是一些所熟知的一些原則。不過還是提醒了我需要去有意識的提升自己,每一天,而不是每天渾渾噩噩的渡過,不然的話三五年後還是在原地踏步。刻意練習要素合理的明確目標什

原创 Springboot兩要素

爲什麼需要有Springboot,我們知道一些腳本語言框架在web應用開發方面非常方便,比如常見的ROR,Node,php等,而使用tomcat開發一個簡單的hello world的頁面服務器就需要做很多配置,儘管可以使用之前的SSH we

原创 JavaConfig如何實現bean依賴

我們日常的工作中常常出現bean之間的相互依賴,如果使用xml配置,常常比較清晰,如下:而JavaConfig中的配置往往如下:最初看到這段代碼就在想Spring是如何來管理這種依賴,由於默認情況下bean會被設置成單例的,因此這裏foo調

原创 淺談Spring JavaConfig

之前一直都是使用xml以及@bean之類的註解的來配置spring容器中的bean,前幾天看springboot的啓動原理接觸到@configuration以及javaconfig,今天抽空了解了下。Javaconfig是在spring3中

原创 閉包 vs 對象

閉包是什麼示例:function counter() {   var n = 0;   return function() {        return n++;   }}var c1 = counter();c1();上面示例中coun

原创 如何owner一款產品

就目前的電票產品應該如何去owner好呢?電票這款產品對我來說還不算完全陌生,有一部分了解;owner一款產品應該要做到哪些事情呢?瞭解一款產品,瞭解哪些方面

原创 如何去參加一個會議

如何去有效的參加一個會議今天參加網商的系分評審,預定的是2小時,結果實際花了4個多小時,而且沒有能夠形成結論整個過程是因爲討論到子賬號的時候發散到整體方案的修改,導致某個團隊討論耗時很長,而且無法形成結論整個會議過程中浪費了不少人的時間,因

原创 我們該不該寫註釋

我們平時在編碼時總是伴隨着代碼與註釋,已經成爲了一直習慣,那我們應不應該去寫註釋呢?要回答這個問題,我們需要首先來看我們平時寫註釋的動機,既然平時經常去寫,肯定有寫的理由。概括來講,就是有一些代碼無法說明的東西需要通過註釋來表達出來,讓閱讀

原创 如何編寫清晰的函數

最近重新在讀《clean code》,讀到第三章函數,裏面列舉出了很多編寫函數的準則,比如:1. 短小2. 只做一件事3. 函數最好不要有參數...第一次讀的時候,會把這些準則記下來,就像學生時代去記課本一樣,自從看了一些批判性思維書籍之後