架構隨聊
閱讀目錄 架構的定義 如何開始設計一個架構 一個好架構的特點 做架構中的誤區 結語 一、架構的定義 所謂一千個架構師中有一千種“最好的架構”模式。 “架構”是我們這行業種一個很常見的詞,表明其必然也是經歷了很長的歲月打磨所形成的一個詞。架構的這個詞出現的意義是什么?為了解決什么問題?只有把這2個問題 ...
最近幫客戶實施的基于SQL Server AlwaysOn跨機房切換項目
最近幫客戶實施的基于SQL Server AlwaysOn跨機房切換項目 最近一個來自重慶的客戶找到走起君,客戶的業務是做移動互聯網支付,是微信支付收單渠道合作伙伴,數據庫里存儲的是支付流水和交易流水。 由于客戶那邊沒有DBA,所以找到走起君商量一個數據庫服務器搬遷項目。 項目背景 客戶需要把在10 ...
單點登錄原理與簡單實現
(2017-09-22更新)GitHub:https://github.com/sheefee/simple-sso 一、單系統登錄機制 1、http無狀態協議 web應用采用browser/server架構,http作為通信協議。http是無狀態協議,瀏覽器的每一次請求,服務器會獨立處理,不與之前 ...
即時通信服務器架構的一些思考
對于一個即時通信服務器來說,在用戶量少的時候,一臺服務器就足以提供所有的服務。而這種架構也最簡單,舉個例子,用戶A與用戶B互為好友,A向B發消息,服務器接收到消息時,解析出接收消息的人,直接轉發給B即可。可是當用戶數量越來越多時,一臺服務器已經無法所有用戶的需求,這時就要進行服務擴容,進行分布式部署 ...
自定義基于 VLC 的視頻播放器
前言(蛋疼的背景故事) 前段時間,接了一個小項目,有個需求是要在系統待機一段時間以后,循環播放 MV(類似于 Windows 系統的屏幕保護)。 聽到這個需求,我首先想到的是 MediaPlayer 和 Flash,因為這兩個組件幾乎所有 Windows 平臺的電腦都會安裝。但客戶說不能用 Flas ...
Vue.js 和 MVVM 的小細節
MVVM 是Model-View-ViewModel 的縮寫,它是一種基于前端開發的架構模式,其核心是提供對View 和 ViewModel 的雙向數據綁定,這使得ViewModel 的狀態改變可以自動傳遞給 View,即所謂的數據雙向綁定。 ...
ASP.NET Core 之 Identity 入門(一)
前言 在 ASP.NET Core 中,仍然沿用了 ASP.NET里面的 Identity 組件庫,負責對用戶的身份進行認證,總體來說的話,沒有MVC 5 里面那么復雜,因為在MVC 5里面引入了OWIN的東西,所以很多初學者在學習來很費勁,對于 Identity 都是一頭霧水,包括我也是,曾經在學 ...
隨談10年的技術生涯和技術成長
這些年,曾高調過,曾低調過,也不高不低過,有人看我很謙虛,有人看我屌,其實,都是看心情,看心情的。。。我想匯總一下我的知識體系,身體又懶的動,只因大腦感覺要寫完天都要亮好幾回,若不寫,這隨談又要談什么呢?聽說.NET界的架構師很少,其實是.NET的技術總監或CTO太少,畢竟是上層決定了下層的技術使用... ...
可信前端之路-代碼保護
想要構造一個web系統中的TPM,首要問題就是需要保證輸入數據安全,打造一個相對可信的前端環境。但是由于web的開放特性,前端作為數據采集的最前線,js代碼始終暴露在外,在這種情況下,js代碼混淆的重要性逐漸彰顯出來。 ...
那些年搞不懂的術語、概念:協變、逆變、不變體
簡述什么是協變性、逆變性、不變性 協變性,如:string->object (子類到父類的轉換) 逆變性,如:object->string (父類到子類的轉換) 不變性,基于上面兩種情況,不可變。具體下面再做分析。 泛型委托的可變性 先使用框架定義的泛型委托Func和Action做例子(不了解的請戳 ...
webp圖片實踐之路
最近,我們在項目中實踐了webp圖片,并且抽離出了工具模塊,整合到了項目的基礎模板中。傳聞IOS10也將要支持webp,那么使用webp帶來的性能提升將更加明顯。估計在不久的將來,webp會成為標配。 本文主要分享一下我們在webp圖片使用上的實踐之路。 我們會從三部分來聊聊webp這個話題。 PS ...
.NET Core中的認證管理解析
.NET Core中的認證管理解析 0x00 問題來源 在新建.NET Core的Web項目時選擇“使用個人用戶賬戶”就可以創建一個帶有用戶和權限管理的項目,已經準備好了用戶注冊、登錄等很多頁面,也可以使用AuthorizeAttribute進行各種權限管理,看起來似乎十分方便。不過生成的代碼都替我 ...
先說IEnumerable,我們每天用的foreach你真的懂它嗎?
我們先思考幾個問題: 接下來,先開始我們的正文。 自己實現迭代器 .net中迭代器是通過IEnumerable和IEnumerator接口來實現的,今天我們也來依葫蘆畫瓢。 首先來看看這兩個接口的定義: 并沒有想象的那么復雜。其中IEnumerable只有一個返回IEnumerator的GetEnu ...
你必須知道的EF知識和經驗
工欲善其事,必先利其器。我們使用EF和在很大程度提高了開發速度,不過隨之帶來的是很多性能低下的寫法和生成不太高效的sql。雖然我們可以使用SQL Server Profiler來監控執行的sql,不過個人覺得實屬麻煩,每次需要打開、過濾、清除、關閉。在這里強烈推薦一個插件MiniProfiler。... ...
數據庫優化案例——————某市中心醫院HIS系統
記得在自己學習數據庫知識的時候特別喜歡看案例,因為優化的手段是容易掌握的,但是整體的優化思想是很難學會的。這也是為什么自己特別喜歡看案例,今天也開始分享自己做的優化案例。 最近一直很忙,博客產出也少的可憐,今天整理了一下自己做過優化或各種方案的客戶已經超過100家了,今天分享的案例算是在這些客戶中比 ...
.Net中的AOP系列之構建一個汽車租賃應用
"返回《.Net中的AOP》系列學習總目錄" 本篇目錄 "開始一個新項目" "沒有AOP的生活" "變更的代價" "使用AOP重構" 本系列的源碼本人已托管于Coding上: "點擊查看" 。 本系列的實驗環境:VS 2013 Update 5(建議最好使用集成了Nuget的VS版本,VS Expr ...