從銀行轉(zhuǎn)賬失敗到分布式事務(wù):總結(jié)與思考
思考這個問題的初衷,是有一次給朋友轉(zhuǎn)賬,結(jié)果我的錢被扣了,朋友沒收到錢。而我之前一直認為銀行轉(zhuǎn)賬一定是由事務(wù)保證強一致性的,于是學(xué)習(xí)、總結(jié)了一下分布式事務(wù)的各種理論、方法。 事務(wù)是一個非常廣義的詞匯,各行各業(yè)解讀都不一樣。對于程序員,事務(wù)等價于Transaction,是指一組連續(xù)的操作,這些操作組合 ...
MMORPG戰(zhàn)斗系統(tǒng)隨筆(三)、AI系統(tǒng)簡介
轉(zhuǎn)載請標明出處http://www.rzrgm.cn/zblade/ 在設(shè)計一款游戲的時候,如果我們是玩家,是希望自己能夠操作角色暢玩游戲的。在一款MMORPG游戲中,大部分的實際游戲角色,是需要玩家來操作的,通過在游戲大世界相互完成游戲中的任務(wù)等等來體驗游戲。在大世界交互場景中,不可避免的會 ...
前端系列——jquery.i18n.properties前端國際化解決方案“填坑日記”
前言:最近,新的平臺還沒有開發(fā)完成,原來的老項目又提出了新的需求:系統(tǒng)國際化。如果是前后端完全分離的開發(fā)模式,要做國際化,真的太簡單了,有現(xiàn)成的解決方案,基于Node構(gòu)建的時下熱門的任何一種技術(shù)選型都有成熟的方案,比如: vue + vue-i18n angular + angular-transl ...
如何寫代碼 —— 編程內(nèi)功心法
寫代碼就是學(xué)一門語言然后開始擼代碼嗎?看完了我的[《GoF設(shè)計模式》](https://www.bughui.com/2017/06/10/gof-design-pattern-overview/)系列文章的同學(xué)或者本身已經(jīng)就是老鳥的同學(xué)顯然不會這么認為。編程是一項非常嚴謹?shù)墓ぷ鳎‰m然我們自嘲為碼農(nóng)... ...
【javascript】函數(shù)中的this的四種綁定形式 — 大家準備好瓜子,我要講故事啦~~
最近在閱讀《你不知道的javascript》,里面關(guān)于this的介紹的那個章節(jié)真的很贊!! 基本把this使用的各種場景都講清楚了,今天,我就給大家講講我的“讀后感”,為了讓文章不顯得枯燥,我決定講述一個叫"迪斯"(this)的年輕人穿越到一個叫 “伽瓦斯克利”(javascript)的異世界的故事 ...
如何編寫輕量級 CSS 框架
Github: https://github.com/nzbin/snack Docs: https://nzbin.github.io/snack 前言 這篇文章我已經(jīng)醞釀了半年之久,或者說拖沓了這么久吧。想說的東西很多,卻又無從說起。如今輕量級框架如雨后春筍,層出不窮。我想每個人都應(yīng)該歸納總結(jié)工 ...
比較優(yōu)雅地編碼
丁酉年夏,鵬鎮(zhèn)守武漢。數(shù)月,政通人和,百廢俱興,乃重修代碼規(guī)范,屬予作文以記之。予觀博客園勝狀,駝峰命名,強制注釋,迫之蕓蕓碼士,俱迂腐巨細之論,此前人之述備矣。然,求同存異,團隊建設(shè),收買人心,論之甚少,此大道也,得之可平天下 ...
小時到分鐘 - 一步步優(yōu)化巨量關(guān)鍵詞的匹配
60萬 條短消息記錄,5萬 關(guān)鍵詞,看我如何一步步地將耗時 10小時 的作業(yè)優(yōu)化到 10分鐘 以內(nèi)。優(yōu)化過程中的心得、坑和結(jié)論方法,希望能大家一些啟發(fā)。 ...
在Visual Studio 2017中使用Asp.Net Core構(gòu)建Angular4應(yīng)用程序
前言Visual Studio 2017已經(jīng)發(fā)布了很久了。做為集成了Asp.Net Core 1.1的地表最強IDE工具,越來越受.NET系的開發(fā)人員追捧。隨著Google Angular4的發(fā)布。我一直在想,怎么能夠用這個地表最強IDE工具編寫Angular4的Asp.Net Core項目。經(jīng)過不... ...
也談TDD,以及三層架構(gòu)、設(shè)計模式、ORM……:沒有免費的午餐
想在園子里寫點東西已經(jīng)很久了,但一直沒有落筆,忙著做 一起幫 的開發(fā)直播,還有些軟文做推廣,還要做奶爸帶孩子,還要……好吧,我承認,真正的原因是: 太特么的難寫了! 但再難寫也要寫啊,要等到“能寫好了再寫”,怕是黃花菜都涼了——尤其是技術(shù)類文章,時效性非常強的。 剛好壇子里這篇博客:關(guān)于拒絕測試驅(qū)動 ...
性能優(yōu)化知多少
1. 引言 最近一段時間,系統(tǒng)新版本要發(fā)布,在beta客戶測試期間,暴露了很多問題,除了一些業(yè)務(wù)和異常問題外,其他都集中在性能上。有幸接觸到這些性能調(diào)優(yōu)的機會,當然要學(xué)習(xí)總結(jié)了。 性能優(yōu)化是一個老生常談的問題了,典型的性能問題如頁面響應(yīng)慢、接口超時,服務(wù)器負載高、并發(fā)數(shù)低,數(shù)據(jù)庫頻繁死鎖等。而造成性 ...
微服務(wù)架構(gòu):基于微服務(wù)和Docker容器技術(shù)的PaaS云平臺架構(gòu)設(shè)計(微服務(wù)架構(gòu)實施原理)
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請注明出處,歡迎交流學(xué)習(xí)! 基于微服務(wù)架構(gòu)和Docker容器技術(shù)的PaaS云平臺建設(shè)目標是給我們的開發(fā)人員提供一套服務(wù)快速開發(fā)、部署、運維管理、持續(xù)開發(fā)持續(xù)集成的流程。平臺提供基礎(chǔ)設(shè)施、中間件、數(shù)據(jù)服務(wù)、云服務(wù)器等資源,開發(fā)人員只需要開發(fā)業(yè)務(wù)代碼并提交到平臺代碼庫, ...
[認證 & 授權(quán)] 4. OIDC(OpenId Connect)身份認證(核心部分)
1 什么是OIDC? 看一下官方的介紹(http://openid.net/connect/): OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0 protocol. It allows Clients to ...
理工男打造帝都89平智能家庭
畢業(yè)后的2016年年初,搬入新家,總算不用在出租屋里鬼混了,于是就想把之前童年的夢想:智能家居+家庭影院好好實現(xiàn)一下~ 相比帝都高昂的房價,這些東東還湊合玩得起,不過在有限預(yù)算下實現(xiàn)盡可能定制和強大的功能會更有意思。我yy了以下幾個場景: 每當下班回家,指紋解鎖大門,家里溫馨的燈光自動打開,天氣熱的 ...
MySQL · 引擎特性 · InnoDB Buffer Pool
前言 用戶對數(shù)據(jù)庫的最基本要求就是能高效的讀取和存儲數(shù)據(jù),但是讀寫數(shù)據(jù)都涉及到與低速的設(shè)備交互,為了彌補兩者之間的速度差異,所有數(shù)據(jù)庫都有緩存池,用來管理相應(yīng)的數(shù)據(jù)頁,提高數(shù)據(jù)庫的效率,當然也因為引入了這一中間層,數(shù)據(jù)庫對內(nèi)存的管理變得相對比較復(fù)雜。本文主要分析MySQL Buffer Pool的相 ...
如何實現(xiàn)在Windows上運行Linux程序,附示例代碼
微軟在去年發(fā)布了Bash On Windows, 這項技術(shù)允許在Windows上運行Linux程序, 我相信已經(jīng)有很多文章解釋過Bash On Windows的原理, 而今天的這篇文章將會講解如何自己實現(xiàn)一個簡單的原生Linux程序運行器, 這個運行器在用戶層實現(xiàn), 原理和Bash On Windo ...
從性能角度看react組件拆分的重要性
React是一個UI層面的庫,它采用虛擬DOM技術(shù)減少Javascript與真正DOM的交互,提升了前端性能;采用單向數(shù)據(jù)流機制,父組件通過 將數(shù)據(jù)傳遞給子組件,這樣讓數(shù)據(jù)流向一目了然。一旦組件的 或則 發(fā)生改變,組件及其子組件都將重新re render和vdom diff,從而完成數(shù)據(jù)的流向交互。 ...
在微服務(wù)中使用領(lǐng)域事件
稍微回想一下計算機硬件的工作原理我們便不難發(fā)現(xiàn),整個計算機的工作過程其實就是一個對事件的處理過程。當你點擊鼠標、敲擊鍵盤或者插上U盤時,計算機便以中斷的形式處理各種外部事件。在軟件開發(fā)領(lǐng)域,事件驅(qū)動架構(gòu)(Event Driven Architecture,EDA)早已被開發(fā)者用于各種實踐,典型的應(yīng)用 ...
為了快一點為什么卻要慢一點
原文首發(fā)于我的微信公眾號:GeekArtT. 將代碼分層,當然是為了控制復(fù)雜度,讓你的管理井井有條。那為什么非得要建立多個不同的獨立文件夾,再創(chuàng)建不同的文件呢? 一個直接的考慮是,在同一個文件下,也就是同一個文本環(huán)境之下,當然會有非常大的自由度去增添代碼,沒有任何的條款限制。但同樣是因為這樣的“自由 ...



