不懂數據庫索引的底層原理?那是因為你心里沒點b樹
本(ben)文在個人(ren)技術博客不同步發布,詳情(qing)可用力戳(chuo) 亦可掃描(miao)屏幕右側二維碼關注個人(ren)公眾(zhong)號,公眾(zhong)號內有(you)個人(ren)聯系(xi)方式,等(deng)你來(lai)撩... 前(qian)幾天下班回(hui)到家(jia)后正在處理(li)一個白天沒解決的(de)bug,廁(ce)所(suo)突(tu)然傳來(lai)對象的(de)聲音: 對象:xx,你有(you)《時間(jian)簡(jian)史(shi)》嗎? 我:我去(qu)!妹(mei)子,你這啥癖(pi)好啊,我有(you)時間(jian)也不會去(qu)撿屎啊! 對象:... ...
我為能準時下班而做的準備,以及由此的收獲,同時總結下不足
可能(neng)(neng)(neng)(neng)有人會(hui)說(shuo),做IT的想準(zhun)時(shi)(shi)(shi)下班很難,尤其是(shi)(shi)在(zai)(zai)互聯網公司(si)(si)。有些(xie)外企或國(guo)企倒能(neng)(neng)(neng)(neng)準(zhun)時(shi)(shi)(shi)下班,原因(yin)是(shi)(shi)公司(si)(si)更像(xiang)養(yang)老院。 其實這(zhe)里存在(zai)(zai)個誤區:能(neng)(neng)(neng)(neng)否準(zhun)時(shi)(shi)(shi)下班其實和工作效率(lv)和質(zhi)量有關(guan),取決于自己,而不在(zai)(zai)于其它(ta)因(yin)素。公司(si)(si)的氛圍讓不讓準(zhun)時(shi)(shi)(shi)下班是(shi)(shi)一回事,能(neng)(neng)(neng)(neng)不能(neng)(neng)(neng)(neng)高(gao)效高(gao)質(zhi)工作,從而能(neng)(neng)(neng)(neng)準(zhun)時(shi)(shi)(shi)下班又是(shi)(shi)另一回事。比(bi)如(ru)在(zai)(zai)工作中高(gao)效了, ...
深入認識二進制序列化--記一次生產事故的思考
一(yi)(yi) 概要 二(er)(er)進制序列化是公(gong)司(si)內部(bu)自研微服務框架(jia)的(de)主要的(de)數(shu)據傳輸處理方(fang)式,但是普(pu)通(tong)的(de)開(kai)發人員對于二(er)(er)進制的(de)學習(xi)和了(le)解并不深(shen)入,容易導(dao)致使用過(guo)程(cheng)中出(chu)現了(le)問題卻(que)沒有分(fen)析(xi)解決(jue)的(de)思路。本文從一(yi)(yi)次生(sheng)產環境的(de)事故(gu)引入這個話題,通(tong)過(guo)對于事故(gu)的(de)分(fen)析(xi)過(guo)程(cheng),探討了(le)平(ping)時沒有關注到的(de)一(yi)(yi)些技術要點。二(er)(er)進制序列化結果并不像Json ...
一次給女朋友轉賬引發我對分布式事務的思考
本文在(zai)(zai)個(ge)人技術(shu)博(bo)客不同步發布,詳情(qing)可用力戳 亦(yi)可掃描屏(ping)幕(mu)右側(ce)二維(wei)碼關注(zhu)個(ge)人公眾(zhong)號,公眾(zhong)號內有(you)個(ge)人聯系方式(shi),等你來撩(liao)... 前(qian)兩天發了(le)工資,第一(yi)反(fan)應(ying)是想著要給(gei)遠方的(de)女朋友(you)一(yi)點驚喜!于是打開(kai)了(le)平(ping)安銀行的(de)APP給(gei)女朋友(you)轉點錢!填(tian)寫(xie)上對方招商銀行卡(ka)的(de)卡(ka)號、開(kai)戶名,一(yi)鍵(jian)轉賬!搞定!在(zai)(zai)我點擊(ji)的(de)那瞬間,就收到了(le)a ...
【面試】一篇文章幫你徹底搞清楚“I/O多路復用”和“異步I/O”的前世今生
曾經的(de)VIP服(fu)務在(zai)(zai)網絡的(de)初期,網民(min)很(hen)少,服(fu)務器完全無壓力,那時的(de)技術也沒有現在(zai)(zai)先進(jin),通常用一個(ge)(ge)線(xian)程(cheng)(cheng)來全程(cheng)(cheng)跟蹤處理一個(ge)(ge)請求。因(yin)為這樣最簡單。其實(shi)代碼實(shi)現大家都知(zhi)道,就是服(fu)務器上有個(ge)(ge)ServerSocket在(zai)(zai)某個(ge)(ge)端(duan)口監聽,接(jie)收到客戶端(duan)的(de)連(lian)接(jie)后(hou)(hou),會創建(jian)一個(ge)(ge)Socket,并(bing)把它交(jiao)給一個(ge)(ge)線(xian)程(cheng)(cheng)進(jin)行后(hou)(hou)續(xu)處理。線(xian)程(cheng)(cheng) ...
當我們在討論CQRS時,我們在討論些神馬?
當(dang)我寫下這個標題的(de)時候,我就有(you)(you)些后(hou)悔了,題目有(you)(you)點(dian)大(da),不太(tai)好控制。但我還是(shi)打算(suan)嘗試(shi)一下,通過這篇內容(rong)來說(shuo)清(qing)楚CQRS模式,以及(ji)和這個模式關(guan)聯的(de)其它(ta)東西。希(xi)望我能說(shuo)得清(qing)楚,你能看得明白,如(ru)果覺得不錯,右下角點(dian)個推薦(jian)! 先從CQRS說(shuo)起,CQRS的(de)全稱是(shi)Command Query Responsibili ...
【面試】如果你這樣回答“什么是線程安全”,面試官都會對你刮目相看
不(bu)是(shi)(shi)線程的安(an)(an)(an)(an)全(quan)(quan)面試(shi)官(guan)問(wen):“什么(me)是(shi)(shi)線程安(an)(an)(an)(an)全(quan)(quan)”,如果你不(bu)能很(hen)好的回答(da),那就請(qing)往下(xia)看(kan)吧。論語中有句(ju)話叫“學而(er)優則仕”,相信很(hen)多(duo)人都覺得是(shi)(shi)“學習好了(le)可以(yi)做官(guan)”。然而(er),這樣理(li)解卻是(shi)(shi)錯的。切記望文(wen)生義。同理(li),“線程安(an)(an)(an)(an)全(quan)(quan)”也(ye)不(bu)是(shi)(shi)指線程的安(an)(an)(an)(an)全(quan)(quan),而(er)是(shi)(shi)指內存的安(an)(an)(an)(an)全(quan)(quan)。為什么(me)如此說呢?這和操(cao)作(zuo)(zuo)系統(tong)有關。目前主(zhu)流操(cao)作(zuo)(zuo)系統(tong)都是(shi)(shi) ...
【面試】迄今為止把同步/異步/阻塞/非阻塞/BIO/NIO/AIO講的這么清楚的好文章(快快珍藏)
常規的(de)誤區 假(jia)設有一(yi)(yi)個(ge)(ge)展(zhan)示用戶詳(xiang)(xiang)情的(de)需(xu)求,分兩(liang)步(bu),先調(diao)用一(yi)(yi)個(ge)(ge)HTTP接口拿到(dao)詳(xiang)(xiang)情數(shu)據,然(ran)后(hou)(hou)(hou)使用適(shi)合的(de)視(shi)圖展(zhan)示詳(xiang)(xiang)情數(shu)據。 如(ru)果網速很慢(man),代碼發起一(yi)(yi)個(ge)(ge)HTTP請求后(hou)(hou)(hou),就卡住不(bu)動了,直到(dao)十幾秒(miao)后(hou)(hou)(hou)才拿到(dao)HTTP響應,然(ran)后(hou)(hou)(hou)繼續(xu)往(wang)下(xia)執行。 這個(ge)(ge)時候你問別人,剛(gang)剛(gang)代碼發起的(de)這個(ge)(ge)請求是不(bu)是一(yi)(yi)個(ge)(ge)同步(bu)請求,對(dui)方(fang)一(yi)(yi)定回答 ...
為啥程序會有bug?
如果(guo)這(zhe)是第二次(ci)看到我的(de)(de)文(wen)章,歡迎右側掃(sao)碼訂閱我喲~ 本文(wen)長度為4818字,建議閱讀13分鐘。 堅(jian)持原創,每一篇都是用心(xin)之作~ 這(zhe)是一篇半娛樂(le)性的(de)(de)吐槽(cao)文(wen)章,權當(dang)給廣大技(ji)術人員解(jie)解(jie)悶:)。 哈(ha)哈(ha)哈(ha),然(ran)后我要開始講一個經常(chang)在發生的(de)(de)事(shi)實了。(程序員們(men)可能(neng)會感(gan)到一些不適) 99.999999999%做(zuo)技(ji) ...
關于分布式鎖原理的一些學習與思考-redis分布式鎖,zookeeper分布式鎖
首(shou)先(xian)分布式鎖和(he)我(wo)們(men)(men)平常(chang)講到(dao)的(de)鎖原理(li)基本一(yi)(yi)樣,目(mu)的(de)就是確保,在多個(ge)(ge)線(xian)程并(bing)發時,只有一(yi)(yi)個(ge)(ge)線(xian)程在同一(yi)(yi)刻操作這個(ge)(ge)業務或者(zhe)說(shuo)方法(fa)、變(bian)量(liang)。 在一(yi)(yi)個(ge)(ge)進程中,也就是一(yi)(yi)個(ge)(ge)jvm 或者(zhe)說(shuo)應用中,我(wo)們(men)(men)很容易去處理(li)控制(zhi),在jdk java.util 并(bing)發包中已經為我(wo)們(men)(men)提(ti)供了這些方法(fa)去加鎖, 比如synchronized 關 ...
【軟工作業&思考】關于軟工的一些概念性理解暨第一次閱讀作業
概述 | 項目 | 內容(rong) | | : : | : : | | 本次作(zuo)業所屬課程 | "2019BUAA軟件(jian)工程 周二(er)班" | | 本次作(zuo)業要求 | "第(di)1次個人(ren)作(zuo)業" 當然(ran),比(bi)這(zhe)個更(geng)重要百(bai)倍的還是實(shi)實(shi)在在的思考,這(zhe)也是標題如(ru)此命(ming)名(ming)的原因(yin) | | 我在本課程的目標 | 在原有(you)實(shi)踐經驗的基礎(chu)上,系統(tong)化(hua)學(xue) ...
ERP不規范,同事兩行淚
最近的很多(duo)次(ci)對外(wai)交(jiao)流,都聊到了ERP建設的話(hua)題,并且無一例外(wai)的不那么(me)讓人省(sheng)心,回想我這么(me)多(duo)年走(zou)過的ERP坑(keng)坑(keng)路,在這里也寫(xie)下經(jing)驗(yan)和總結,希望能給正在或者即(ji)將走(zou)上ERP建設路的企業一些思(si)考和幫助。 導讀 1、幾個瞎眼而普遍的案例 2、ERP的前世今生 2 ...
只有程序員才能讀懂的西游記
這(zhe)是(shi)一個(ge)(ge)有(you)(you)關計算機(ji)網絡協議的故事。 一、我(wo)佛(fo)造經傳極(ji)樂 話說我(wo)佛(fo)如(ru)來為(wei)度化天(tian)下蒼生,有(you)(you)三(san)藏(zang)真經,可勸人(ren)為(wei)善。 就(jiu)如(ru)圖中所示,真經所藏(zang)之處,在于(yu)云端。佛(fo)祖所管轄(xia)之下,有(you)(you)四(si)個(ge)(ge)區(qu)域Region,稱為(wei)四(si)大部洲(zhou), 一是(shi)東勝神洲(zhou),二是(shi)南贍部洲(zhou),三(san)是(shi)西牛賀(he)(he)洲(zhou),四(si)是(shi)北俱盧(lu)洲(zhou)。 我(wo)佛(fo)所在西牛賀(he)(he)洲(zhou),是(shi)主站(zhan)點。 在每個(ge)(ge)區(qu) ...
Kubernetes初探[1]:部署你的第一個ASP.NET Core應用到k8s集群
Kubernetes簡介 Kubernetes是(shi)Google基于(yu)Borg開源(yuan)的(de)容器編排調度(du)引擎(qing),作為CNCF(Cloud Native Computing Foundation)最(zui)重要的(de)組件之(zhi)一(yi),它的(de)目標不(bu)僅(jin)(jin)僅(jin)(jin)是(shi)一(yi)個(ge)編排系統,而(er)是(shi)提供(gong)一(yi)個(ge)規范,可以讓你(ni)來描述(shu)集(ji)群(qun)的(de)架構(gou),定(ding)義服(fu)務(wu)的(de)最(zui)終(zhong)狀態,Kuber ...
從軟件工程的角度解讀任正非的新年公開信
昨(zuo)天被任正非的(de)(de)(de)那封《全面提升(sheng)軟(ruan)件(jian)(jian)工(gong)程能(neng)力與實(shi)踐,打造(zao)可信的(de)(de)(de)高質量產品》的(de)(de)(de)公開信刷屏了(le),作為一個軟(ruan)件(jian)(jian)工(gong)程專業(ye)科(ke)班出身(shen)的(de)(de)(de)軟(ruan)件(jian)(jian)開發(fa)從(cong)業(ye)者,自然是引起了(le)我(@寶玉xp)的(de)(de)(de)好奇,仔細閱讀之(zhi)下(xia)確實(shi)讓我大吃一驚,看(kan)似(si)八(ba)股官(guan)方文,但(dan)細看(kan)之(zhi)下(xia)是作者對于軟(ruan)件(jian)(jian)工(gong)程的(de)(de)(de)理解確實(shi)非常(chang)深刻,各種專業(ye)術語信手(shou)拈來,比喻恰到好處。 ...
通俗易懂,C#如何安全、高效地玩轉任何種類的內存之Span的本質(一)。
前言 作為.net程(cheng)序(xu)員,使(shi)(shi)用(yong)過指針,寫(xie)過不安(an)全(quan)(quan)代(dai)碼嗎? 為什么(me)(me)要使(shi)(shi)用(yong)指針,什么(me)(me)時(shi)候需要使(shi)(shi)用(yong)它,以(yi)及如(ru)何安(an)全(quan)(quan)、高(gao)效地使(shi)(shi)用(yong)它? 如(ru)果能(neng)很好(hao)地回答這(zhe)幾個問(wen)題(ti),那么(me)(me)就(jiu)能(neng)很好(hao)地理解今天了(le)主題(ti)了(le)。C 構(gou)建了(le)一個托管世界(jie),在這(zhe)個世界(jie)里,只要不寫(xie)不安(an)全(quan)(quan)代(dai)碼,不操作指針,那么(me)(me)就(jiu)能(neng)獲得.Net至(zhi)關(guan)重要的安(an)全(quan)(quan)保障,即(ji)什 ...
分布式系統關注點——99%的人都能看懂的「熔斷」以及最佳實踐
如果這是(shi)第二次看到我的(de)(de)(de)文章,歡迎(ying)右側(ce)掃碼訂閱我喲~ > 本文長度為3319字,建議(yi)閱讀(du)9分鐘。 閱讀(du)目(mu)錄 熔(rong)(rong)(rong)(rong)(rong)斷是(shi)什么(me)(me) 熔(rong)(rong)(rong)(rong)(rong)斷怎(zen)么(me)(me)做(zuo) 做(zuo)熔(rong)(rong)(rong)(rong)(rong)斷的(de)(de)(de)最佳(jia)實(shi)(shi)(shi)踐 總結(jie) 熔(rong)(rong)(rong)(rong)(rong)斷是(shi)什么(me)(me) 熔(rong)(rong)(rong)(rong)(rong)斷怎(zen)么(me)(me)做(zuo) 做(zuo)熔(rong)(rong)(rong)(rong)(rong)斷的(de)(de)(de)最佳(jia)實(shi)(shi)(shi)踐 總結(jie) 熔(rong)(rong)(rong)(rong)(rong)斷是(shi)什么(me)(me) 熔(rong)(rong)(rong)(rong)(rong)斷怎(zen)么(me)(me)做(zuo) 做(zuo)熔(rong)(rong)(rong)(rong)(rong)斷的(de)(de)(de)最佳(jia)實(shi)(shi)(shi)踐 總結(jie) 熔(rong)(rong)(rong)(rong)(rong)斷是(shi)什么(me)(me) 熔(rong)(rong)(rong)(rong)(rong)斷怎(zen)么(me)(me)做(zuo) 做(zuo)熔(rong)(rong)(rong)(rong)(rong)斷的(de)(de)(de)最佳(jia)實(shi)(shi)(shi)踐 總結(jie) 熔(rong)(rong)(rong)(rong)(rong) ...
哎呀,我老大寫Bug啦——記一次MessageQueue的優化
MessageQueue,顧名(ming)思義消息隊列,在(zai)系統開發(fa)中(zhong)也(ye)是(shi)用的比較多的一(yi)個(ge)中(zhong)間件吧(ba)。我(wo)們這里(li)主要(yao)用它(ta)來做日志管理和訂單管理的,記(ji)得老老大(恩,是(shi)的,就是(shi)老老大,因為他已經跳槽了)還在(zai)的時候,當時也(ye)是(shi)為了趕項目(mu)進度,他也(ye)參與開發(fa)了,那時候我(wo)才剛剛入職(zhi),他負責(ze)寫后(hou)端這塊,我(wo)來了就把他手(shou)上(shang)的任務接過來了 ...
機器學習web服務化實戰:一次吐血的服務化之路
背(bei)景 在(zai)公司內(nei)部,我(wo)負(fu)責幫助(zhu)研(yan)究院(yuan)的(de)小伙(huo)(huo)伴(ban)搭建機(ji)器學習(xi)(xi)(xi)web服(fu)(fu)務(wu),研(yan)究院(yuan)的(de)小伙(huo)(huo)伴(ban)提供(gong)一個機(ji)器學習(xi)(xi)(xi)本地(di)接口(kou),我(wo)負(fu)責提供(gong)一個對外服(fu)(fu)務(wu)的(de)HTTP接口(kou)。 說(shuo)起人工(gong)智能和機(ji)器學習(xi)(xi)(xi),python是最擅長的(de),其以開發速度快,第(di)三方庫多而廣受歡(huan)迎,以至于(yu)現在(zai)大(da)多數機(ji)器學習(xi)(xi)(xi)算法都是用python編(bian)寫。但是對于(yu)服(fu)(fu)務(wu)化來 ...
Windbg分析高內存占用問題
1. 問題簡介 最近(jin)產品(pin)發布大版本補丁更新,一商超客(ke)(ke)戶(hu)升級后,反饋(kui)系統(tong)經常奔潰,導(dao)致超市的收(shou)(shou)銀系統(tong)無法正常收(shou)(shou)銀,現(xian)場(chang)排隊付款的顧客(ke)(ke)更是抱怨聲(sheng)聲(sheng)。為了(le)緩解(jie)現(xian)場(chang)的情況, 客(ke)(ke)戶(hu)都是手動回收(shou)(shou)IIS應用(yong)程序池才能(neng)解(jie)決。 這樣(yang)的后果是很嚴(yan)重的,接到反饋(kui),第一時(shi)間想到的是加(jia)內(nei)存吧,這樣(yang)最快。但是客(ke)(ke)戶(hu)從8G-->1 ...
