DDD峰會歸來話DDD
一場大戲落幕,首屆DDD中國峰會如大會主題色一般的紅。或許在12月9日這一天,全中國的DDD粉絲大約有一半都匯聚在了國家會議中心。聽起來是幸,其實是不幸,因為DDD在中國的人群基數實在是太少了。 因為要負責大會的其中一個Track,期間又要接受采訪,另外還有朋友到訪,所以除了前面的兩個keynote ...
分布式、服務化的ERP系統架構設計
ERP之痛 曾幾何時,我混跡于電商、珠寶行業4年多,為這兩個行業開發過兩套大型業務系統(ERP)。作為一個ERP系統,系統主要功能模塊無非是訂單管理、商品管理、生產采購、倉庫管理、物流管理、財務管理等等。作為一個管理系統,大家的一般開發習慣就是使用.Net或Java技術,建立一個單塊(單進程)架構的 ...
設計稿自動生成可用頁面的展望
這篇文章只打算描述我加入支付寶之后,在設計稿生成代碼這個方向上自己做的嘗試和看到的團隊中的嘗試。不談行業歷史,不爭論方向。文章以現狀的形成和我的想法演進為主脈絡,文末會提到我所看到的新契機。所以讀者如果對現狀和推演沒興趣可以直接翻到后面《投石》一章。 立足 三年前剛開始做 Sketch 生成代碼插件 ...
.NET Core跨平臺的奧秘[下篇]:全新的布局
綜上所述,要真正實現.NET 的跨平臺偉業,主要需要解決兩個問題,一是針對不同的平臺設計相應的運行時為中間語言CIL提供一個一致性的執行環境,而是提供統一的BCL以徹底解決代碼復用的難題。對于真正跨平臺的.NET Core來說,微軟不僅為它設計了針對不同平臺被成為CoreCLR的運行時,同時還重新設... ...
什么是內存(二):虛擬內存
通過上一篇文章的扯淡,我們應該已經明白了存儲器的層次結構,技術細節很復雜,但是思想卻不難理解,因為就是很簡單的緩存思想。那么本文我們開始討論關于內存的另一個話題. 虛擬內存 。其實思想也是很容易理解的。 我不知道有多少人聽過虛擬內存這個概念,但是虛擬內存是計算機系統最重要的概念之一,并且它成功的主要 ...
.NET Core跨平臺的奧秘[中篇]:復用之殤
在《.NET Core跨平臺的奧秘[上篇]:歷史的枷鎖》中我們談到:由于.NET是建立在CLI這一標準的規范之上,所以它天生就具有了“跨平臺”的基因。在微軟發布了第一個針對桌面和服務器平臺的.NET Framework之后,它開始 “樂此不疲” 地對這個完整版的.NET Framework進行不同范... ...
.NET Core跨平臺的奧秘[上篇]:歷史的枷鎖
微軟推出的第一個版本的.NET Framework是一個面向Windows桌面和服務器的基礎框架,在此之后,為此微軟根據設備自身的需求對.NET Framework進行裁剪,不斷推出了針對具體設備類型的.NET Framework版本以實現針對移動、平板和嵌入式設備提供支持。除此之外,在Window... ...
剖析Linux系統調用的執行路徑
本文主要描述了操作系統是如何通過系統調用這個接口為上層提供服務的。文章通過printf函數調用過程為例,詳細剖析了系統調用是如何一層層由用戶態深入到內核態的過程,同時涉及到Linux處理中斷的一般流程。 ...
初探性能優化——2個月到4小時的性能提升
一次項目架構和性能上的優化,該項目功能更描述十分簡單,但可以說麻雀雖小五臟俱全,可以掌握Java很多優化性能的知識。 ...
一個程序員送給大學生弟弟的那些話
前言: 昨天一個大學生弟娃問了我一些問題,他是想賺點錢,因為讀書嘛沒什么錢,又談了戀愛,想通過一些方式賺點外快。 雖然平時也沒怎么聯系,但是作為大濕人,也不免多啰嗦幾句,把我能想到的一些觀點告訴他,希望對他能有所啟發。 在博客園里,我越來越傾向于寫更多“硬菜”,和技術緊密相關的文章。 但也如我博客園 ...
從銀行轉賬失敗到分布式事務:總結與思考
思考這個問題的初衷,是有一次給朋友轉賬,結果我的錢被扣了,朋友沒收到錢。而我之前一直認為銀行轉賬一定是由事務保證強一致性的,于是學習、總結了一下分布式事務的各種理論、方法。 事務是一個非常廣義的詞匯,各行各業解讀都不一樣。對于程序員,事務等價于Transaction,是指一組連續的操作,這些操作組合 ...
MMORPG戰斗系統隨筆(三)、AI系統簡介
轉載請標明出處http://www.jsfhjj.com/zblade/ 在設計一款游戲的時候,如果我們是玩家,是希望自己能夠操作角色暢玩游戲的。在一款MMORPG游戲中,大部分的實際游戲角色,是需要玩家來操作的,通過在游戲大世界相互完成游戲中的任務等等來體驗游戲。在大世界交互場景中,不可避免的會 ...
前端系列——jquery.i18n.properties前端國際化解決方案“填坑日記”
前言:最近,新的平臺還沒有開發完成,原來的老項目又提出了新的需求:系統國際化。如果是前后端完全分離的開發模式,要做國際化,真的太簡單了,有現成的解決方案,基于Node構建的時下熱門的任何一種技術選型都有成熟的方案,比如: vue + vue-i18n angular + angular-transl ...
如何寫代碼 —— 編程內功心法
寫代碼就是學一門語言然后開始擼代碼嗎?看完了我的[《GoF設計模式》](https://www.bughui.com/2017/06/10/gof-design-pattern-overview/)系列文章的同學或者本身已經就是老鳥的同學顯然不會這么認為。編程是一項非常嚴謹的工作!雖然我們自嘲為碼農... ...
【javascript】函數中的this的四種綁定形式 — 大家準備好瓜子,我要講故事啦~~
最近在閱讀《你不知道的javascript》,里面關于this的介紹的那個章節真的很贊!! 基本把this使用的各種場景都講清楚了,今天,我就給大家講講我的“讀后感”,為了讓文章不顯得枯燥,我決定講述一個叫"迪斯"(this)的年輕人穿越到一個叫 “伽瓦斯克利”(javascript)的異世界的故事 ...
如何編寫輕量級 CSS 框架
Github: https://github.com/nzbin/snack Docs: https://nzbin.github.io/snack 前言 這篇文章我已經醞釀了半年之久,或者說拖沓了這么久吧。想說的東西很多,卻又無從說起。如今輕量級框架如雨后春筍,層出不窮。我想每個人都應該歸納總結工 ...
小時到分鐘 - 一步步優化巨量關鍵詞的匹配
60萬 條短消息記錄,5萬 關鍵詞,看我如何一步步地將耗時 10小時 的作業優化到 10分鐘 以內。優化過程中的心得、坑和結論方法,希望能大家一些啟發。 ...
在Visual Studio 2017中使用Asp.Net Core構建Angular4應用程序
前言Visual Studio 2017已經發布了很久了。做為集成了Asp.Net Core 1.1的地表最強IDE工具,越來越受.NET系的開發人員追捧。隨著Google Angular4的發布。我一直在想,怎么能夠用這個地表最強IDE工具編寫Angular4的Asp.Net Core項目。經過不... ...