路漫漫其修遠兮,吾將上下而求索——小酌重構系列[0]開篇有益
相信博客園的讀者大多都是千萬“碼農”中的一員,每個人都寫過很多代碼,但并不是每一個人都能寫出高質量的代碼。
rome is not built in one day !——完成高質量的代碼也不是一蹴而就的。為了寫出高質量的代碼,我們需要借助一些手段,“代碼重構”基本上是最常用的手段,甚至是唯一的手段... ...
JAVA回調機制(CallBack)詳解
序言 最近學習java,接觸到了回調機制(CallBack)。初識時感覺比較混亂,而且在網上搜索到的相關的講解,要么一言帶過,要么說的比較單純的像是給CallBack做了一個定義。當然了,我在理解了回調之后,再去看網上的各種講解,確實沒什么問題。但是,對于初學的我來說,缺了一個循序漸進的過程。此處, ...
我眼中的領域驅動設計
有幸參與了一些領域驅動的項目,讀了一些文章,也見識了一些不倫不類的架構,感覺對領域驅動有了更進一步的認識。所以今天跟大伙探討一下領域驅動設計,同時也對一些想要實踐領域驅動設計卻又無處下手,或者一些正在實踐卻又說不上領域驅動設計到底好在哪的朋友一些指引方向。當然對于”領域驅動設計”這個主題而言從來不乏 ...
異步并行批處理框架設計的一些思考
隨著互聯網信息技術日新月異的發展,一個海量數據爆炸的時代已經到來。如何有效地處理、分析這些海量的數據資源,成為各大技術廠商爭在激烈的競爭中脫穎而出的一個利器。可以說,如果不能很好的快速處理分析這些海量的數據資源,將很快被市場無情地所淘汰。當然,處理分析這些海量數據目前可以借鑒的方案有很多:首先,在分 ...
TDD在Unity3D游戲項目開發中的實踐
關于TDD測試驅動開發的文章已經有很多了,但是在游戲開發尤其是使用Unity3D開發游戲時,卻聽不到特別多關于TDD的聲音。那么本文就來簡單聊一聊TDD如何在U3D項目中使用以及如何使用U3D 5.3.X之后版本已經集成的單元測試模塊Editor Test Runner。 ...
或許是領域建模的真相
我們一提及領域建模,就好像回到了石器時代。然而這個謎題至今還未解決,就好像穴居人的生存方式,我們只能猜測、推測以及演繹,卻不能真實復現。 Martin Fowler的《分析模式》總結了諸多領域分析模式,Eric Evans開創了領域驅動設計的辦法,至于還要老的CRC方法,用例驅動,ICONIX方法以 ...
“四核”驅動的“三維”導航 -- 淘寶新UI(需求分析篇)
前言 孔子說:"軟件是對客觀世界的抽象"。 首先聲明,這里的"三維導航"和地圖沒一毛錢關系,"四核驅動"和硬件也沒關系,而是為了復雜的應用而發明創造的導航邏輯。說這是發明創造,也不是危言聳聽,因為它完全突破了傳統意義的頁面導航概念,看完了本博客以后,相信會讓你腦洞大開。當然這也是一種嘗試,只有UWP ...
Microservice Anti-patterns
在最近的一次Microservices Practitioner Summit中,原Netflix工程師介紹了一種越來越常見的對Microservice的誤用。簡單地說,大家在搭建一個基于Microservice的服務時常常依賴同一套類庫,進而使得Microservice中的各個子服務無法選擇最適合 ...
Cassandra簡介
在前面的一篇文章《圖形數據庫Neo4J簡介》中,我們介紹了一種非常流行的圖形數據庫Neo4J的使用方法。而在本文中,我們將對另外一種類型的NoSQL數據庫——Cassandra進行簡單地介紹。 接觸Cassandra的原因與接觸Neo4J的原因相同:我們的產品需要能夠記錄一系列關系型數據庫所無法快速 ...
【深入淺出jQuery】源碼淺析--整體架構
最近一直在研讀 jQuery 源碼,初看源碼一頭霧水毫無頭緒,真正靜下心來細看寫的真是精妙,讓你感嘆代碼之美。 其結構明晰,高內聚、低耦合,兼具優秀的性能與便利的擴展性,在瀏覽器的兼容性(功能缺陷、漸進增強)優雅的處理能力以及 Ajax 等方面周到而強大的定制功能無不令人驚嘆。 另外,閱讀源碼讓我接 ...
面試感悟----一名3年工作經驗的程序員應該具備的技能
原文地址http://www.jsfhjj.com/xrq730/p/5260294.html,轉載請注明出處,謝謝! 前言 因為和同事有約定再加上LZ自己也喜歡做完一件事之后進行總結,因此有了這篇文章。這篇文章大部分內容都是面向整個程序員群體的,當然因為LZ本身是做Java開發的,因此有一部分內 ...
Java 征途:行者的地圖
前段時間應因緣梳理了下自己的 Java 知識體系, 成文一篇望能幫到即將走進或正在 Java 世界跋涉的程序員們。 第一張,基礎圖 大約在 2003 年我開始知道 Java 的(當時還在用 Delphi),但到 2004 年本科畢業才開始正式決定學習 Java。 那時覺得用 Delphi 寫 C/S ...
首個threejs項目-前端填坑指南
第一次使用threejs到實際項目中,開始的時候心情有點小激動,畢竟是第一次嘛,然而做著做著就感受到這玩意水好深,滿滿的都是坑,填都填不過來。經過老板20天慘無人道的摧殘,終于小有成就。 因為第一次搞這玩意,相對的遇到的問題也是大把的,讓我來一一訴說一路上遇到的各種問題。 開發使用: C4D、Ble ...
ASP.NET路由模型解析
大家好,我又來吹牛逼了 ~-_-~ 轉載請注明出處:來自吹牛逼之《ASP.NET路由模型解析》 背景:很多人知道Asp.Net中路由怎么用的,卻不知道路由模型內部的運行原理,今天我就給大家吹下ASP.NET的路由模塊是如何工作的。 ps:這是針對ASP.NET4.5版本的,好像在最新的5.0版本中加 ...
DDD CQRS架構和傳統架構的優缺點比較
明天就是大年三十了,今天在家有空,想集中整理一下CQRS架構的特點以及相比傳統架構的優缺點分析。先提前祝大家猴年新春快樂、萬事如意、身體健康! 最近幾年,在DDD的領域,我們經常會看到CQRS架構的概念。我個人也寫了一個ENode框架,專門用來實現這個架構。CQRS架構本身的思想其實非常簡單,就是讀 ...
C#高性能TCP服務的多種實現方式
本篇文章的主旨是使用 .NET/C# 實現 TCP 高性能服務的不同方式,包括但不限于如下內容:APM 方式,即 Asynchronous Programming Model;TAP 方式,即 Task-based Asynchronous Pattern;SAEA 方式,即 SocketAsync... ...
游戲服務端究竟解決了什么問題?
既然是游戲服務端程序員,那博客里至少還是得有一篇跟游戲服務端有關的文章,今天文章主題就關于游戲服務端。 ...
大型網站架構系列:分布式消息隊列(一)
本文主要介紹消息隊列概述,消息隊列應用場景(異步處理,應用解耦,流量削鋒,日志處理,消息通訊)和消息中間件示例(電商,日志系統)。 ...
C#與C++的發展歷程第三 - C#5.0異步編程巔峰
系列文章目錄1.C#與C++的發展歷程第一 - 由C#3.0起2.C#與C++的發展歷程第二 - C#4.0再接再厲3. C#與C++的發展歷程第三 - C#5.0異步編程的巔峰C#5.0作為第五個C#的重要版本,將異步編程的易用度推向一個新的高峰。通過新增的async和await關鍵字,幾乎可以使... ...