也談TDD,以及三層架構、設計模式、ORM……:沒有免費的午餐
想在園子里寫點東西已經很久了,但一直沒有落筆,忙著做 一起幫 的開發直播,還有些軟文做推廣,還要做奶爸帶孩子,還要……好吧,我承認,真正的原因是: 太特么的難寫了! 但再難寫也要寫啊,要等到“能寫好了再寫”,怕是黃花菜都涼了——尤其是技術類文章,時效性非常強的。 剛好壇子里這篇博客:關于拒絕測試驅動 ...
微服務架構:基于微服務和Docker容器技術的PaaS云平臺架構設計(微服務架構實施原理)
版權聲明:本文為博主原創文章,轉載請注明出處,歡迎交流學習! 基于微服務架構和Docker容器技術的PaaS云平臺建設目標是給我們的開發人員提供一套服務快速開發、部署、運維管理、持續開發持續集成的流程。平臺提供基礎設施、中間件、數據服務、云服務器等資源,開發人員只需要開發業務代碼并提交到平臺代碼庫, ...
理工男打造帝都89平智能家庭
畢業后的2016年年初,搬入新家,總算不用在出租屋里鬼混了,于是就想把之前童年的夢想:智能家居+家庭影院好好實現一下~ 相比帝都高昂的房價,這些東東還湊合玩得起,不過在有限預算下實現盡可能定制和強大的功能會更有意思。我yy了以下幾個場景: 每當下班回家,指紋解鎖大門,家里溫馨的燈光自動打開,天氣熱的 ...
MySQL · 引擎特性 · InnoDB Buffer Pool
前言 用戶對數據庫的最基本要求就是能高效的讀取和存儲數據,但是讀寫數據都涉及到與低速的設備交互,為了彌補兩者之間的速度差異,所有數據庫都有緩存池,用來管理相應的數據頁,提高數據庫的效率,當然也因為引入了這一中間層,數據庫對內存的管理變得相對比較復雜。本文主要分析MySQL Buffer Pool的相 ...
如何實現在Windows上運行Linux程序,附示例代碼
微軟在去年發布了Bash On Windows, 這項技術允許在Windows上運行Linux程序, 我相信已經有很多文章解釋過Bash On Windows的原理, 而今天的這篇文章將會講解如何自己實現一個簡單的原生Linux程序運行器, 這個運行器在用戶層實現, 原理和Bash On Windo ...
從性能角度看react組件拆分的重要性
React是一個UI層面的庫,它采用虛擬DOM技術減少Javascript與真正DOM的交互,提升了前端性能;采用單向數據流機制,父組件通過 將數據傳遞給子組件,這樣讓數據流向一目了然。一旦組件的 或則 發生改變,組件及其子組件都將重新re render和vdom diff,從而完成數據的流向交互。 ...
在微服務中使用領域事件
稍微回想一下計算機硬件的工作原理我們便不難發現,整個計算機的工作過程其實就是一個對事件的處理過程。當你點擊鼠標、敲擊鍵盤或者插上U盤時,計算機便以中斷的形式處理各種外部事件。在軟件開發領域,事件驅動架構(Event Driven Architecture,EDA)早已被開發者用于各種實踐,典型的應用 ...
為了快一點為什么卻要慢一點
原文首發于我的微信公眾號:GeekArtT. 將代碼分層,當然是為了控制復雜度,讓你的管理井井有條。那為什么非得要建立多個不同的獨立文件夾,再創建不同的文件呢? 一個直接的考慮是,在同一個文件下,也就是同一個文本環境之下,當然會有非常大的自由度去增添代碼,沒有任何的條款限制。但同樣是因為這樣的“自由 ...
沒有功能需求設計文檔?對不起,拒絕開發!
在很多軟件公司,特別是一些創業型的團隊中,對于這樣的情景可能大家都很熟悉:項目經理或者產品經理( 產品狗 )口頭或者簡單記錄一下軟件產品的大致要做的功能,直接就讓研發團隊的兄弟( 程序猿 )去狂擼代碼。然后他就去喝茶撩妹或者回家陪老婆了... 這種擼起袖子就開干的方式,看似簡單高效,便于直接溝通,能 ...
打破牢籠,展望更高層次的世界
筆者袁永福是一個十多年的老程序猿出來創業多年,期間經歷許多曲折和磨難,成功的在炮火連天的商業戰場上活了下來,并持續發展中。其中不少體會,于是提出本文的主題--打破牢籠,展望更高層次的世界。 ...
一個由進程內存布局異常引起的問題
前段時間業務反映某類服務器上更新了 bash 之后,ssh 連上去偶發登陸失敗,客戶端吐出錯誤信息如下所示: 圖 0 該版本 bash 為部門這邊所定制,但是實現上與原生版并沒有不同,那么這些錯誤從哪里來? 是 bash 的鍋嗎 從上面的錯誤信息可以猜測,異常是 bash 在啟動過程中分配內存失敗所 ...
一次生產事故的優化經歷
在一次正常的活動促銷之后,客服開始陸續反饋有用戶反應在搶標的時候打不開網頁或者APP,在打開的時候標的就已經被搶光了,剛開始沒有特別的上心,覺得搶標不就是這樣嗎,搶小米手機的時候也不就這樣嗎?隨著活動繼續推進,有更多的用戶強烈抗議,用戶領了加息卷或者抵現卷之后搶不上標的,認為是平臺作假故意不讓使用以 ...
奶爸程序員的“育兒”心得
自我介紹一下,本人以前是.net程序員,去年下半年負責把項目從.net轉到java,并且有跨機房遷移,億級訪問量,app服務端項目。 自我吐槽一下,工作了8年了,沒有成為架構師,也沒有進入管理層,沒有成為技術大師,也沒能成為分享大師。一直在做業務,并在這條路上越走越遠。有的時候覺得很尷尬,但又有的時 ...
我的編程經歷與我所熱愛的游戲服務端開發
嗨,大家好,我是風雅,有一段時間沒寫博客了,其實我在持續進步中,每天都成長很快,這段時間有很多次想寫博客的想法,但都因為當時的狀態更想敲一些代碼或是看一些書而沒有立馬去寫博客總結,后來再想去寫時,靈感過了,也寫不出什么東西了。所以這次,借著最近的一些想法和成長,我知道我必須得留下點什么了,感謝我身邊 ...
從零到百億互聯網金融架構發展史
回想起從公司成立敲出的第一行代碼算起到現在也快三年了,平臺的技術架構,技術體系也算是經歷了四次比較重大的升級轉化(目前第四代架構體系正在進行中),臨近年底也想抽出時間來回顧一下,一個小公司從最開始的零交易到現在交易量超過百億背后的技術變遷。 總體介紹 在互聯網金融行業一百多億其實也算不上大平臺,也就 ...
app開發:模擬服務器數據接口 - MockApi
為了方便app開發過程中,不受服務器接口的限制,便于客戶端功能的快速測試,可以在客戶端實現一個模擬服務器數據接口的MockApi模塊。本篇文章就嘗試為使用gradle的android項目設計實現MockApi。 ...
記錄服務上線一年來的點點滴滴
2015年12月,也就是在一年前,開發了半年的云存儲服務上線。這對于付出了半年努力的我們來說,是一件鼓舞人心的事件。因為這個服務在我們手上經歷了從0到1的過程。這是我們自己的一小步,卻是整個云存儲服務的一大步。 我們開發的是一款視頻監控類的軟件,分為視頻采集端跟觀看端。采集端可以是專業攝像頭,手機, ...