提高代碼質量系列之三:我是怎么設計函數的?
前言 這篇其實是上兩篇的兩個主題思想的承接和發散: 我也想少寫注釋,想用2-4個很清晰的單詞去描述函數,但是這個函數好復雜啊,我恨不得寫近百字去描述它,要我用幾個單詞去描述?臣妾實在是做不到啊~ <如何做到少寫注釋> 我也不想寫這么多if else,然后看著那一堆一堆{}{{}{}{{}}}}}}} ...
為什么做java的web開發我們會使用struts2,springMVC和spring這樣的框架?
今年我一直在思考web開發里的前后端分離的問題,到了現在也頗有點心得了,隨著這個問題的深入,再加以現在公司很多web項目的控制層的技術框架由struts2遷移到springMVC,我突然有了一個新的疑問無法得到正確的解釋,為什么我們現在做java的web開發,會選擇struts2或者spring..... ...
使用Visual Studio SDK制作GLSL詞法著色插件
使用Visual Studio SDK實現GLSL詞法著色插件。實現了關鍵字,類型,限定符,系統變量,系統函數的詞法著色。 ...
一次修改閉源 Entity Provider 程序集以兼容新 EntityFramework 的過程
讀完本文你會知道,如何在沒有源碼的情況下,直接修改一個 DLL 以去除 DLL 上的強命名限制,并在該程序集上直接添加你的“友元程序集(一種特殊的 Attribute,將它應用在程序集上,使得程序集內的 internal 類型能夠被其它程序集直接調用)”。以此類推,你可以用此方法,直接修改程序集,達... ...
[C#] 軟硬結合第二篇——酷我音樂盒的逆天玩法
1、靈感來源: LZ是純宅男,一天從早上8:00起一直要呆在電腦旁到晚上12:00左右吧~平時也沒人來閑聊幾句,刷空間暑假也沒啥動態,聽音樂吧...~有些確實不好聽,于是就不得不打斷手頭的工作去點擊下一曲或是找個好聽的歌來聽...但是,[移動手鎖定鼠標-->移動鼠標關閉當前頁面選擇音樂軟件頁面--> ...
Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作
首先,不得不說,許多語言都實現了連接Memcached的客戶端,其中以Perl、PHP為主。 僅僅memcached網站上列出的語言就有:Perl、PHP、Python、Ruby、C#、C/C++以及Lua等。那么,我們作為.Net碼農,自然是使用C#。既然Memcached客戶端有.Net版,那我... ...
游戲引擎不僅是代碼,更多的是完善的工具
記得若干年前,在做公司引擎研發的時候,時常會念到的一句話:引擎不僅是代碼,更多的是完善的工具。當時只是用這句話還激勵自己,找準引擎開發的原則和位置。 而實際上,對這句話的理解甚少。時隔多年,這句話油然在耳,伴隨我左右
...
異步編程 In .NET
概述 在之前寫的一篇關于async和await的前世今生的文章之后,大家似乎在async和await提高網站處理能力方面還有一些疑問,博客園本身也做了不少的嘗試。今天我們再來回答一下這個問題,同時我們會做一個async和await在WinForm中的嘗試,并且對比在4.5之前的異步編程模式APM/.... ...
撥開迷霧,找回自我:DDD 應對具體業務場景,Domain Model 到底如何設計?
寫在前面除了博文內容之外,和 netfocus 兄的討論,也可以讓你學到很多(至少我是這樣),不要錯過哦。 閱讀目錄:迷霧森林找回自我開源地址后記 毫無疑問,領域驅動設計的核心是領域模型,領域模型的核心是實現業務邏輯,也就是說,在應對具體的業務場景的時候,實現業務邏輯是領域驅動設計最重要的一環,..... ...
常用數據結構及復雜度
本文將介紹一些計算機程序設計中常用數據結構,包括 Array, Linked List, List, HashTable, Stack, Queue, Dictionary 等。并同時介紹關于這些基本數據結構內部實現原理和常用操作的復雜度,以及如何選擇使用合適的數據結構。 ...
IE10、IE11 User-Agent 導致的 ASP.Net 網站無法寫入Cookie 問題
你是否遇到過當使用一個涉及到Cookie操作的網站或者管理系統時,IE 6、7、8、9下都跑的好好的,唯獨到了IE10、11這些高版本瀏覽器就不行了?好吧,這個問題碼農連續2天內遇到了2次。那么,我們就來看看,這個問題的前因后果。 先說下這2次的使用場景,一次是在某頁面中,先存Cookie... ...
.NET里簡易實現AOP
在MVC的過濾器章節中對于過濾器的使用就是AOP的一個實現了吧,時常在工作學習中遇到AOP對于它的運用可以說是很熟練了,就是沒想過如果自己來實現的話是怎么實現的,性子比較犟硬是沒想明白,茶不思飯不想的,主要問題就是卡在了怎么能攔截用戶調用,如果可以解決了這個問題AOP的實現也就引刃而解了,為此在網上... ...
漫扯:從polling到Websocket
Http被設計成了一個單向的通信的協議,即客戶端發起一個request,然后服務器回應一個response。這讓服務器很為惱火:我特么才是老大,我居然不能給小弟發消息。。。輪詢 老大發火了,小弟們自然不能無動于衷,為了能及時獲得老大的消息,小弟們只好每隔一段時間跑去老大那里問問,有沒有新的指示發出.... ...
適合程序員的智能家居
## 前言看到最近智能家居的討論挺火,我也來分享下在智能家居這塊的體會。我主要改造了我租的房子的室燈。主要實現功能有:監控室內環境,改裝了室燈,光線暗的時候有人時自動開燈,光線亮自動滅燈,可紅外用遙控器、手機客戶端改變閾值。## 材料主控板:Arduino UNO/Mega2560(IO口多)傳感器... ...
POCO Controller 你這么厲害,ASP.NET vNext 知道嗎?
寫在前面閱讀目錄:POCO 是什么?為什么會有 POJO?POJO 的意義POJO 與 PO、VO 的區別 POJO 的擴展POCO VS DTOController 是什么?關于 POCO ControllerPOCO Controller 應用識別 POCO Controller簡單 POCO ... ...
自己動手打造屬于自己的智能家居(二)
上篇講完了手機如何連接智能主機,這篇開始講解智能主機如何去控制家中各個設備。這篇會寫的比較詳細,涉及到的基本知識也會講解,意在讓大家明白里面的原理。 下面我們把家里的設備分一下類:(這里寫的一些典型的設備,等明白原理后對于其他的設備,也可以自己去添加了) 第一類:電視、空調 第二類:家里的各種燈 第 ...
深入理解DIP、IoC、DI以及IoC容器
面向對象設計(OOD)有助于我們開發出高性能、易擴展以及易復用的程序。其中,OOD有一個重要的思想那就是依賴倒置原則(DIP),并由此引申出IoC、DI以及Ioc容器等概念。通過本文我們將一起學習這些概念,并理清他們之間微妙的關系。 ...
Windows平臺分布式架構實踐 - 負載均衡
概述 最近.NET的世界開始鬧騰了,微軟官方終于加入到了對.NET跨平臺的支持,并且在不久的將來,我們在VS里面寫的代碼可能就可以通過Mono直接在Linux和Mac上運行。那么大家(開發者和企業)為什么那么的迫切的希望.NET跨平臺呢?第一個理由是便宜,淘寶號稱4萬多臺服務器全部運行在Linux.... ...
Javascript生成二維碼(QR)
網絡上已經有非常多的二維碼編碼和解碼工具和代碼,很多都是服務器端的,也就是說需要一臺服務器才能提供二維碼的生成。本著對服務器性能的考慮,這種小事情都讓服務器去做,感覺對不住服務器,尤其是對于大流量的網站,雖然有服務器端緩存,畢竟需要大量的CPU運算時間,這或多或少也是很大的一塊壓力。所以就想,有沒有... ...
一次心驚肉跳的服務器誤刪文件的恢復過程
經歷了兩天不懈努力,終于恢復了一次誤操作刪除的生產服務器數據。對本次事故過程和解決辦法記錄在此,警醒自己,也提示別人莫犯此錯。也希望遇到問題的朋友能找到一絲靈感解決問題。事故背景安排一個妹子在一臺生產服務器上安裝Oracle,妹子邊研究邊安裝,感覺裝的不對,準備卸載重新安裝。從網上找到卸載方法,其中... ...



