C# 在騰訊的發展
本文首發我(wo)的(de)(de)微(wei)信公眾號"dotnet跨平(ping)(ping)臺(tai)", 內(nei)容得到大家熱(re)烈的(de)(de)歡(huan)迎,全文重新發布在博客(ke),歡(huan)迎轉載,請(qing)注明(ming)出處. .NET 主要(yao)的(de)(de)開發語言(yan)是 C# , .NET 平(ping)(ping)臺(tai)泛(fan)指遵循ECMA 334 C#和(he) ECMA 335 CLI 標準的(de)(de)開發平(ping)(ping)臺(tai) ,包括微(wei)軟(ruan)自行開發的(de)(de).NET 平(ping)(ping)臺(tai)和(he) 開源(yuan)實現的(de)(de)Mono ...
可信前端之路-代碼保護
想(xiang)要(yao)(yao)構造(zao)(zao)一個web系(xi)統中(zhong)的(de)TPM,首要(yao)(yao)問題就是需要(yao)(yao)保證(zheng)輸(shu)入(ru)數(shu)據(ju)安全,打造(zao)(zao)一個相對可(ke)信的(de)前(qian)端(duan)環境(jing)。但是由(you)于(yu)web的(de)開放(fang)特性,前(qian)端(duan)作(zuo)為數(shu)據(ju)采(cai)集(ji)的(de)最前(qian)線,js代碼始終暴(bao)露(lu)在外,在這種(zhong)情況下,js代碼混(hun)淆(xiao)的(de)重要(yao)(yao)性逐漸彰顯出來(lai)。 ...
那些年搞不懂的術語、概念:協變、逆變、不變體
簡(jian)述(shu)什么(me)是協(xie)變(bian)(bian)性(xing)(xing)、逆變(bian)(bian)性(xing)(xing)、不(bu)(bu)變(bian)(bian)性(xing)(xing) 協(xie)變(bian)(bian)性(xing)(xing),如(ru):string->object (子類(lei)到父類(lei)的轉換) 逆變(bian)(bian)性(xing)(xing),如(ru):object->string (父類(lei)到子類(lei)的轉換) 不(bu)(bu)變(bian)(bian)性(xing)(xing),基于上面兩種情(qing)況,不(bu)(bu)可(ke)變(bian)(bian)。具體下(xia)面再做分析。 泛(fan)型(xing)委托的可(ke)變(bian)(bian)性(xing)(xing) 先使用框(kuang)架定義的泛(fan)型(xing)委托Func和(he)Action做例子(不(bu)(bu)了解的請戳 ...
webp圖片實踐之路
最近,我(wo)們在項目中實踐(jian)了(le)webp圖片,并且抽離出了(le)工具模塊,整合到了(le)項目的(de)(de)基礎(chu)模板中。傳聞IOS10也將要支持(chi)webp,那(nei)么(me)使用(yong)webp帶來的(de)(de)性能提(ti)升將更加明顯。估計在不(bu)久的(de)(de)將來,webp會成為(wei)標配。 本文主(zhu)要分(fen)(fen)享一下我(wo)們在webp圖片使用(yong)上(shang)的(de)(de)實踐(jian)之路。 我(wo)們會從(cong)三(san)部分(fen)(fen)來聊聊webp這個話(hua)題。 PS ...
.NET Core中的認證管理解析
.NET Core中的(de)(de)認證管理解析(xi) 0x00 問題(ti)來源 在新建.NET Core的(de)(de)Web項(xiang)目時選擇“使用個(ge)人(ren)用戶賬戶”就(jiu)可(ke)以創建一個(ge)帶有用戶和權(quan)(quan)限(xian)管理的(de)(de)項(xiang)目,已經準備好了用戶注冊(ce)、登錄等(deng)很(hen)多頁面,也可(ke)以使用AuthorizeAttribute進(jin)行(xing)各種權(quan)(quan)限(xian)管理,看(kan)起(qi)來似乎十分方便。不過生成(cheng)的(de)(de)代(dai)碼都(dou)替我 ...
先說IEnumerable,我們每天用的foreach你真的懂它嗎?
我們(men)先(xian)思考幾個(ge)問題(ti): 接(jie)下(xia)來(lai)(lai),先(xian)開(kai)始我們(men)的正文。 自己(ji)實現迭(die)代(dai)器(qi) .net中(zhong)迭(die)代(dai)器(qi)是通(tong)過IEnumerable和IEnumerator接(jie)口(kou)來(lai)(lai)實現的,今(jin)天我們(men)也來(lai)(lai)依(yi)葫(hu)蘆畫瓢(piao)。 首先(xian)來(lai)(lai)看(kan)看(kan)這兩個(ge)接(jie)口(kou)的定(ding)義: 并(bing)沒有(you)想(xiang)象的那么復雜。其中(zhong)IEnumerable只有(you)一個(ge)返回IEnumerator的GetEnu ...
你必須知道的EF知識和經驗
工欲善其事,必(bi)先利(li)其器(qi)。我(wo)(wo)們使(shi)用EF和在很大(da)程度提(ti)高了開(kai)發速度,不過(guo)隨之帶來的是(shi)很多性能低下的寫(xie)法和生成(cheng)不太高效的sql。雖然我(wo)(wo)們可以(yi)使(shi)用SQL Server Profiler來監(jian)控(kong)執行的sql,不過(guo)個(ge)人覺得實屬麻(ma)煩,每次需要打開(kai)、過(guo)濾、清除、關(guan)閉。在這(zhe)里強烈推薦一個(ge)插件MiniProfiler。... ...
數據庫優化案例——————某市中心醫院HIS系統
記得在自己(ji)學(xue)習數據庫(ku)知(zhi)識的(de)時候(hou)特別喜歡(huan)看案(an)(an)例,因為優化(hua)的(de)手(shou)段(duan)是容易掌(zhang)握的(de),但是整體的(de)優化(hua)思想(xiang)是很難學(xue)會的(de)。這也是為什么(me)自己(ji)特別喜歡(huan)看案(an)(an)例,今天也開始分(fen)(fen)享自己(ji)做(zuo)(zuo)的(de)優化(hua)案(an)(an)例。 最近一直很忙(mang),博客產出也少的(de)可憐,今天整理(li)了(le)一下自己(ji)做(zuo)(zuo)過優化(hua)或各種(zhong)方案(an)(an)的(de)客戶(hu)已經超(chao)過100家(jia)了(le),今天分(fen)(fen)享的(de)案(an)(an)例算(suan)是在這些客戶(hu)中比 ...
.Net中的AOP系列之構建一個汽車租賃應用
"返(fan)回《.Net中的(de)AOP》系列學習總目錄" 本(ben)篇目錄 "開始一個新項(xiang)目" "沒(mei)有(you)AOP的(de)生活" "變更的(de)代價(jia)" "使(shi)用AOP重構(gou)" 本(ben)系列的(de)源碼本(ben)人已托管(guan)于Coding上: "點擊查看" 。 本(ben)系列的(de)實驗環境:VS 2013 Update 5(建議最好使(shi)用集成(cheng)了(le)Nuget的(de)VS版本(ben),VS Expr ...
很認真的聊一聊程序員的自我修養
本(ben)文正在(zai)籌(chou)備第二(er)版,以下是(shi)第一版主要內(nei)容 首先(xian)要談的(de)(de)(de)是(shi),今天的(de)(de)(de)話(hua)題所聊的(de)(de)(de)程(cheng)序(xu)員包(bao)含(han)哪些人? 在(zai)中(zhong)國,寫程(cheng)序(xu),不僅(jin)僅(jin)是(shi)一種興趣,更(geng)多(duo)的(de)(de)(de)時候,還是(shi)一種普(pu)通職業和謀(mou)生工具(ju) 大公司有厲害的(de)(de)(de)程(cheng)序(xu)員,優(you)秀(xiu)的(de)(de)(de)架構師,但(dan)大量的(de)(de)(de)小公司也有很多(duo)普(pu)通的(de)(de)(de)程(cheng)序(xu)員。在(zai)我這(zhe)些年(nian)的(de)(de)(de)工作(zuo)經歷中(zhong),也越來越深刻的(de)(de)(de)感受(shou)到(dao)普(pu)通程(cheng)序(xu)員的(de)(de)(de)影響和 ...
來看看機智的前端童鞋怎么防盜
很多開發的(de)(de)童鞋(xie)都是只身(shen)混江湖、夜宿城中(zhong)村,如果居住(zhu)的(de)(de)地方安保(bao)欠缺(que),那么(me)出(chu)門在外難免擔心屋里的(de)(de)財產安全。 事(shi)實上(shang)世面上(shang)有(you)很多高大(da)(da)上(shang)的(de)(de)防(fang)盜(dao)設備,但對于(yu)機智的(de)(de)前端童鞋(xie)來說,只要(yao)有(you)一臺附帶(dai)攝像頭(tou)的(de)(de)電(dian)腦(nao),就可以簡單地實現一個防(fang)盜(dao)監控系統~ 純 JS 的(de)(de)“防(fang)盜(dao)”能(neng)力很大(da)(da)程度借(jie)助(zhu)于(yu) H5 canvas 的(de)(de)力量,且 ...
我們是怎么做Code Review的
前幾天看了《Code Review 程序員的(de)寄望與哀(ai)傷》,想到我們團(tuan)隊開展Code Review也(ye)有(you)2年了,結果還算比較滿意,有(you)些經驗應該可(ke)以和大家一起分享、探討。我們為什么要推(tui)行Code Review呢?我們當(dang)時面臨著代(dai)碼混亂、Bug頻出(chu)的(de)狀況。當(dang)時我覺得要有(you)所改(gai)變,希望能提高產品的(de)代(dai)碼質量,改(gai)善 ...
[PHP內核探索]PHP中的哈希表
在PHP內(nei)核中,其中一個很(hen)重(zhong)要的(de)數(shu)據結(jie)構(gou)就(jiu)是(shi)(shi)HashTable。我們常用(yong)的(de)數(shu)組,在內(nei)核中就(jiu)是(shi)(shi)用(yong)HashTable來實現。那么,PHP的(de)HashTable是(shi)(shi)怎么實現的(de)呢?最近(jin)在看HashTable的(de)數(shu)據結(jie)構(gou),但是(shi)(shi)算法書籍里面沒有具體的(de)實現算法,剛好最近(jin)也在閱讀(du)PHP的(de)源碼(ma),于(yu)是(shi)(shi)參考PHP的(de)HashTa... ...
基礎知識漫談(6-2) 作為面試官的一點心得
上一篇關(guan)于面(mian)試的(de)(de)(de)(de)談得(de)太多,招(zhao)聘(pin)只(zhi)好另(ling)起一章。 以當前的(de)(de)(de)(de)現(xian)狀來看,優秀的(de)(de)(de)(de)畢業(ye)生(sheng)會先被知名的(de)(de)(de)(de)大企業(ye)刷過一輪,那么,相(xiang)對不知名的(de)(de)(de)(de)企業(ye)招(zhao)聘(pin)負(fu)責人(ren)要如(ru)何找到適合自己公司(si)的(de)(de)(de)(de)技術人(ren)才呢(ni)?詢問過一些畢業(ye)生(sheng)之后,我總(zong)結了如(ru)下(xia)經(jing)驗。 一場招(zhao)聘(pin)會上公司(si)林林總(zong)總(zong),面(mian)試者要了解你(ni)公司(si),只(zhi)有他晃過去(qu)的(de)(de)(de)(de)那幾秒鐘,一張(zhang)意義鮮明的(de)(de)(de)(de)海 ...
【騰訊bugly干貨分享】HTML 5 視頻直播一站式掃盲
本(ben)文來自于騰訊bugly開發者(zhe)社區(qu),非經(jing)作者(zhe)同意,請勿轉(zhuan)載,原文地址://bugly.qq.com/bbs/forum.php?mod=viewthread&tid=1277 視(shi)頻(pin)直(zhi)播(bo)這么火,再不學就 out 了(le)。 為(wei)了(le)緊跟潮(chao)流(liu)(liu),本(ben)文將向大家(jia)介紹(shao)一下視(shi)頻(pin)直(zhi)播(bo)中(zhong)的(de)(de)基(ji)本(ben)流(liu)(liu)程和主要(yao)的(de)(de)技術(shu)點,包括(kuo) ...
談談如何使用Netty開發實現高性能的RPC服務器
RPC(Remote Procedure Call Protocol)遠程(cheng)過程(cheng)調(diao)用協議,它是一(yi)(yi)種通過網(wang)絡(luo),從遠程(cheng)計算機程(cheng)序上請求服(fu)務,而不必(bi)了(le)解底層網(wang)絡(luo)技術的(de)協議。說的(de)再直(zhi)白一(yi)(yi)點(dian),就是客戶端在(zai)不必(bi)知道調(diao)用細(xi)節的(de)前提之下,調(diao)用遠程(cheng)計算機上運行(xing)的(de)某(mou)個對象(xiang),使用起來就像調(diao)用本地的(de)對象(xiang)一(yi)(yi)樣。目前典型(xing)的(de)RPC ...
前后端分離開發模式下后端質量的保證 —— 單元測試
概述 在(zai)(zai)今天, 前(qian)后(hou)端(duan)(duan)分離已經(jing)是首選的(de)(de)一個(ge)開發(fa)模式(shi)。這對于(yu)后(hou)端(duan)(duan)團隊來說(shuo)其實是一個(ge)好(hao)(hao)消息,減輕任務(wu)并(bing)(bing)且(qie)更專注。在(zai)(zai)測試方面,就更加(jia)依賴于(yu)單元(yuan)測試對于(yu)API以及后(hou)端(duan)(duan)業務(wu)邏輯的(de)(de)較驗。當然單元(yuan)測試并(bing)(bing)非在(zai)(zai)前(qian)后(hou)端(duan)(duan)分離流行之(zhi)后(hou)才有,它(ta)很早就存在(zai)(zai),只是鮮有人重視且(qie)真的(de)(de)能夠(gou)用好(hao)(hao)它(ta)。而在(zai)(zai)前(qian)后(hou)端(duan)(duan)分離開發(fa)模式(shi)下,特別是兩(liang)者交 ...
驗證碼對抗之路及現有驗證機制介紹
yahoo郵(you)箱(xiang)在(zai)九(jiu)幾(ji)年(nian)的(de)時候,業務深受各(ge)種郵(you)箱(xiang)機器人(ren)的(de)困擾,存在(zai)著(zhu)大(da)量(liang)(liang)的(de)垃圾郵(you)件,于是他們找到了(le)當時仍在(zai)讀大(da)學的(de)路易斯·馮(feng)·安(Luis von Ahn),并設計了(le)經典的(de)圖(tu)(tu)形(xing)驗證碼,即(ji)通(tong)過簡(jian)單(dan)的(de)扭曲圖(tu)(tu)形(xing)文(wen)字進行機器的(de)識別。 通(tong)過這(zhe)個簡(jian)單(dan)的(de)圖(tu)(tu)形(xing),他們很快的(de)控制住了(le)垃圾郵(you)件的(de)數量(liang)(liang),并將大(da)量(liang)(liang)的(de)機器人(ren)據之(zhi)門 ...
javascript的api設計原則
前言 本篇博文(wen)(wen)來自一次公司(si)內部的(de)前端分(fen)享,從多個方面討論了在設(she)計接(jie)口(kou)時(shi)遵(zun)循的(de)原則(ze),總共包含了七個大塊(kuai)。系鹵煮自己總結的(de)一些經驗和教訓。本篇博文(wen)(wen)同時(shi)也(ye)參考了其(qi)他一些文(wen)(wen)章,相關地址會在后面貼出(chu)來。很難做到詳盡充實,如果有(you)好的(de)建議或者不對的(de)地方,還(huan)望不吝賜教斧正。 一、接(jie)口(kou)的(de)流暢性 好的(de)接(jie)口(kou)是(shi)流暢易(yi)懂的(de), ...
淺談我對DDD領域驅動設計的理解
從遇到問題開始 當人們要做一個(ge)軟件系(xi)統(tong)時,一般總是因為遇到了什么問題,然后(hou)希(xi)望通(tong)過一個(ge)軟件系(xi)統(tong)來解決。 比(bi)如,我(wo)是一家企業,然后(hou)我(wo)覺得我(wo)現在線下銷售(shou)自(zi)己(ji)的(de)(de)產(chan)品(pin)還(huan)不夠,我(wo)希(xi)望能(neng)夠在線上也(ye)能(neng)銷售(shou)自(zi)己(ji)的(de)(de)產(chan)品(pin)。所以,自(zi)然而然就想(xiang)到要做一個(ge)普通(tong)電商系(xi)統(tong),用(yong)于實(shi)現在線銷售(shou)自(zi)己(ji)企業產(chan)品(pin)的(de)(de)目的(de)(de)。 再比(bi)如,我(wo)是一家互 ...
