分布式鎖1 Java常用技術方案
前言: 由于在平時的工作中,線上服務器是分布式多臺部署的,經常會面臨解決分布式場景下數據一致性的問題,那么就要利用分布式鎖來解決這些問題。所以自己結合實際工作中的一些經驗和網上看到的一些資料,做一個講解和總結。希望這篇文章可以方便自己以后查閱,同時要是能幫助到他人那也是很好的。 長長的分割線 正文: ...
我眼中的技術地圖
一晃研究生畢業參加工作也已經8、9年,這些年搞過嵌入式、web開發、移動應用、IT咨詢、項目集成,零零種種到如今也不知是好事還是壞事。今天幾個項目進度不錯,上線的版本問題居然還沒有問題反饋,真是XX都笑歪了。抽下午的時間把自己這些年的技術梳理出來,能力有限,只算是羅列一些點吧(當然只要我列出的,多少 ...
【CSS進階】偽元素的妙用--單標簽之美
最近在研讀 《CSS SECRET》(CSS揭秘)這本大作,對 CSS 有了更深層次的理解,折騰了下面這個項目: CSS3奇思妙想 -- Demo (請用 Chrome 瀏覽器打開,非常值得一看)。采用單標簽完成各種圖案,許多圖案與本文有關。 也希望覺得不錯的同學順手在我的 Github 點個 st ...
那些年搞不懂的高深術語——依賴倒置?控制反轉?依賴注入?面向接口編程
那些年,空氣中仿佛還能聞到漢唐盛世的余韻,因此你決不允許自己的臉上有油光,時刻保持活力。然而,你一定曾為這些“高深術語”感到過困擾——依賴倒置?控制反轉?依賴注入?面向接口編程。也許時至今日,你仍對它們一知半解。不過就在今天,這一切都將徹底改變!我將帶領你以一種全新的高清視角進入奇妙的編程世界,領略 ...
【前端性能】高性能滾動 scroll 及頁面渲染優化
最近在研究頁面渲染及web動畫的性能問題,以及拜讀《CSS SECRET》(CSS揭秘)這本大作。 本文主要想談談頁面優化之滾動優化。 主要內容包括了為何需要優化滾動事件,滾動與頁面渲染的關系,節流與防抖,pointer-events:none 優化滾動。因為本文涉及了很多很多基礎,可以對照上面的知 ...
如何優雅的使用RabbitMQ
RabbitMQ無疑是目前最流行的消息隊列之一,對各種語言環境的支持也很豐富,作為一個.NET developer有必要學習和了解這一工具。消息隊列的使用場景大概有3種: 1、系統集成,分布式系統的設計。各種子系統通過消息來對接,這種解決方案也逐步發展成一種架構風格,即“通過消息傳遞的架構”。 2、 ...
游戲編程十年總結(下)
游戲編程十年總結的上篇總結了前五年初學編程的經歷,下篇總結的是開始工作之后的經歷,前面五年算是一帆風順,而接下來的經歷,則充滿了挫折與失敗。 第一份工作 由于學歷不高,還沒畢業,經驗不足讓我吃了不少閉門羹,在大三剛開始時就開始在網上投放簡歷了,但基本是石沉大海。雖然沒有面試邀請,我還是獨自一人來到了 ...
游戲編程十年總結(上)
自敲第一行代碼起,已經十年多了,今天既不是十年整的日子,也不是一個有特定意義的日子,本來像這種大總結的文章,當擇良辰吉日,齋戒沐浴三日,方可動筆。一開始計劃是寫一篇五年總結的,但各種原因一拖再拖,于是就變成了十年總結。光陰似箭,時不我待,轉眼已經在奔三的路上了,離大叔的稱呼很近了,但離大神的稱呼還很 ...
簡單粗暴地理解js原型鏈--js面向對象編程
1)人是人他媽生的,妖是妖他媽生的。人和妖都是對象實例,而人他媽和妖他媽就是原型。原型也是對象,叫原型對象。2)人他媽和人他爸啪啪啪能生出一堆人寶寶、妖他媽和妖他爸啪啪啪能生出一堆妖寶寶,啪啪啪就是構造函數,俗稱造人。3)人他媽也是由人他媽他媽生的,通過人他媽找到人他媽他媽,再通過人他媽他媽找到人他... ...
setTimeout 的黑魔法
setTimeout,前端工程師必定會打交道的一個函數.它看上去非常的簡單,樸實.有著一個很不平凡的名字--定時器.讓年少的我天真的以為自己可以操縱未來.卻不知樸實之中隱含著驚天大密.我還記得我第一次用這個函數的時候,我天真的以為它就是js實現多線程的工具.當時用它實現了一個坦克大戰的小游戲,玩兒不 ...
路漫漫其修遠兮,吾將上下而求索——小酌重構系列[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 等方面周到而強大的定制功能無不令人驚嘆。 另外,閱讀源碼讓我接 ...



