來(lái)源:https://blog.csdn.net/liuzhirou1/article/details/117649569一、項(xiàng)目目標(biāo)支付中心架構(gòu)將各業(yè)務(wù)的公共交易、支付、財(cái)務(wù)等沉淀到支付中心,并主要解決了以下三個(gè)主要問(wèn)題:建立基礎(chǔ)訂單、支付、財(cái)務(wù)統(tǒng)一體系,抽象和封裝公共處理邏輯,形成統(tǒng)一的基礎(chǔ)服務(wù),降低業(yè)務(wù)的接入成本及重復(fù)研發(fā)成本;構(gòu)建安全、穩(wěn)定、可擴(kuò)展的系統(tǒng),為業(yè)務(wù)的快速發(fā)展和創(chuàng)新需求提供基礎(chǔ)支撐,解決業(yè)務(wù)「快」和支付「穩(wěn)」之間的矛盾;沉淀核心交易數(shù)據(jù),同時(shí)為應(yīng)用端、物業(yè)公司、用戶(hù)提供數(shù)據(jù)支撐。二、具體調(diào)用流程在目標(biāo)的指導(dǎo)下,我向集采、o2o、收費(fèi)易三個(gè)項(xiàng)目組的相關(guān)開(kāi)發(fā)咨詢(xún)了業(yè)務(wù)邏輯,再結(jié)...
平滑發(fā)布的介紹?背景?單位的云辦公相關(guān)系統(tǒng)沒(méi)有成熟的平滑發(fā)布方案,導(dǎo)致每一次發(fā)布都是直接發(fā)布,dll文件或配置文件的變更會(huì)引起站點(diǎn)的重啟。?云辦公系統(tǒng)的常駐用戶(hù)有10000,即使短短半分多鐘,也會(huì)收到一堆投訴。基于此,我們梳理了一套平滑發(fā)布的方案。實(shí)施方案1、跟nginx代理服務(wù)器約定了一個(gè)健康檢查的接口2、通過(guò)接口返回的http狀態(tài)碼來(lái)讓ngx是否分流用戶(hù)請(qǐng)求(這個(gè)我們單位的技術(shù)部那邊有標(biāo)準(zhǔn)的做法)3、根據(jù)提供的這個(gè)服務(wù)健康檢查的接口:nginx判斷只要某個(gè)實(shí)例的接口返回5xx的狀態(tài)碼,即把該實(shí)例下線(xiàn)(nginx不會(huì)把流量轉(zhuǎn)發(fā)到該實(shí)例)???發(fā)布流程目的主要是為了發(fā)布的時(shí)候能夠平滑發(fā)布,所以...
前言Jlink可以將Hex文件下載到單片機(jī)內(nèi),也可以將未加密單片機(jī)內(nèi)部的程序文件讀出。本篇文章介紹,如何使用JFlash來(lái)讀取單片機(jī)的程序,學(xué)習(xí)單片機(jī)程序文件的讀取,不是為了破解別人的程序,而是學(xué)習(xí)破解的原理,從而更好保護(hù)自己的程序不被破解,希望大家也能尊重他人的勞動(dòng)成果。JFlash的下載和安裝首先,安裝JFlash軟件,安裝完成后,會(huì)默認(rèn)安裝JLink驅(qū)動(dòng)程序,主要包含以下幾個(gè)工具:JFlash,主要用于程序下載和讀取。JFlashLite,JFlash的Mini版JFlashSPI,用于給SPI存儲(chǔ)器下載程序,如W25Q128。JLinkGDBServer,用于第三方軟件的調(diào)試器,如使用...
大家好,我是小林。我之前寫(xiě)過(guò)CPU緩存一致性MESI協(xié)議:10張圖打開(kāi)CPU緩存一致性的大門(mén)。然后期間挺多人對(duì)MESI協(xié)議的轉(zhuǎn)換有疑問(wèn),其實(shí)我在文章中把MESI協(xié)議狀態(tài)切換的各個(gè)過(guò)程都總結(jié)成了一個(gè)表格,可能內(nèi)容太多,很多小伙伴沒(méi)有仔細(xì)看。就在昨天,我發(fā)現(xiàn)個(gè)可以「在線(xiàn)體驗(yàn)?MESI?協(xié)議狀態(tài)轉(zhuǎn)換」過(guò)程的網(wǎng)站,地址如下:https://www.scss.tcd.ie/Jeremy.Jones/VivioJS/caches/MESIHelp.htm我先給大家復(fù)習(xí)下MESI協(xié)議,然后再跟大家講一些這個(gè)網(wǎng)站怎么用。MESI協(xié)議MESI協(xié)議其實(shí)是4個(gè)狀態(tài)單詞的開(kāi)頭字母縮寫(xiě),分別是:Modified,已修改...
艾倫·麥席森·圖靈(1912-1954)在一間小黑屋里,有這樣三個(gè)角色:一個(gè)人類(lèi)評(píng)審員,兩個(gè)受試者A和B。其中一個(gè)受試者是計(jì)算機(jī)的人工智能程序,另一個(gè)受試者是人類(lèi)。評(píng)審員無(wú)法直接看到受試者,只能通過(guò)打字的方式,與兩名受試者進(jìn)行提問(wèn)溝通。經(jīng)過(guò)多次的詢(xún)問(wèn)和回答,最后由評(píng)審員來(lái)判斷:哪一個(gè)受試者是人類(lèi),哪一個(gè)受試者是計(jì)算機(jī)。如果評(píng)審員判斷錯(cuò)誤的幾率超過(guò)30%,那就說(shuō)明計(jì)算機(jī)成功地偽裝成人類(lèi),騙過(guò)了受試者,從而可以認(rèn)為這樣的計(jì)算機(jī)已經(jīng)具備了一定的思考能力。像這樣六位整數(shù)的乘法運(yùn)算,普通人類(lèi)根本不可能在短時(shí)間內(nèi)計(jì)算出來(lái),如果受試者在一秒內(nèi)就給出了正確結(jié)果,那就太不自然了,顯然是計(jì)算機(jī)程序的回答。所以,要...
什么是網(wǎng)絡(luò)編程?用一句話(huà)概括,就是對(duì)網(wǎng)絡(luò)協(xié)議的落地。?落地,意味著對(duì)實(shí)戰(zhàn)的要求更高。所以,一些朋友更喜歡用類(lèi)似Netty這種封裝好的框架——快速,高效。確實(shí),跟開(kāi)發(fā)細(xì)節(jié)相比,我們常常更看重開(kāi)發(fā)效率。?可日常的項(xiàng)目里,我們也不得不面對(duì)極端的網(wǎng)絡(luò)性能考驗(yàn)。沒(méi)人喜歡堵車(chē),但應(yīng)對(duì)大量請(qǐng)求時(shí),如果網(wǎng)絡(luò)性能處理不佳,數(shù)據(jù)、業(yè)務(wù)就會(huì)面臨大塞車(chē)。?舉個(gè)正向的例子,之前在綠盟有個(gè)信息安全產(chǎn)品,叫黑洞,是當(dāng)時(shí)市場(chǎng)上最成功的DDOS過(guò)濾設(shè)備。這玩意最大的技術(shù)難點(diǎn)就在于:當(dāng)攻擊報(bào)文洪水到達(dá)時(shí),每秒要過(guò)濾掉幾十萬(wàn)攻擊請(qǐng)求。在那之前,我從沒(méi)想過(guò)通過(guò)程序代碼,對(duì)網(wǎng)絡(luò)報(bào)文的處理效率,竟然能達(dá)到如此強(qiáng)悍的地步。?早些年尚且如此...
點(diǎn)擊上方“小麥大叔”,選擇“置頂/星標(biāo)公眾號(hào)”福利干貨,第一時(shí)間送達(dá)大家好,我是小麥,以前用單片機(jī)做用戶(hù)交互的菜單的時(shí)候,都比較痛苦,如何寫(xiě)一個(gè)復(fù)用性高,方便維護(hù),可擴(kuò)展性高的GUI框架呢?當(dāng)然可以自己動(dòng)手寫(xiě)一個(gè),這個(gè)過(guò)程充滿(mǎn)了艱辛和挑戰(zhàn),現(xiàn)在我推薦一個(gè)很棒的框架,直接拿來(lái)用就行,也可以借鑒和學(xué)習(xí)其中的思路,一定會(huì)收獲頗豐。知道有多少人折騰過(guò)液晶顯示的菜單,我覺(jué)得很多人都應(yīng)該搞過(guò),我還記得以前大學(xué)參加電子設(shè)計(jì)競(jìng)賽獲獎(jiǎng)的作品,我就用到了一個(gè)12864,里面有菜單功能。以前可能覺(jué)得菜單高大上,其實(shí)并不是想象中的復(fù)雜,本文為大家分享一個(gè)用單色屏做的菜單框架。代碼托管在github:https://g...
事件起因我們的系統(tǒng)中有數(shù)據(jù)導(dǎo)入的功能,可以把特定的格式的excel數(shù)據(jù)導(dǎo)入到系統(tǒng)中來(lái)由于客戶(hù)電腦的文件比較多,很多文件的名字也比較相近,客戶(hù)在導(dǎo)入excel時(shí)選錯(cuò)了文件這個(gè)錯(cuò)誤的excel文件的格式恰好能被系統(tǒng)解析,客戶(hù)也沒(méi)及時(shí)發(fā)現(xiàn)導(dǎo)錯(cuò)了文件,所以就將6萬(wàn)多條沒(méi)用的數(shù)據(jù)導(dǎo)入到了系統(tǒng)中這6萬(wàn)多條數(shù)據(jù)對(duì)系統(tǒng)來(lái)說(shuō)就是無(wú)用的數(shù)據(jù),不會(huì)影響系統(tǒng)的運(yùn)行,最多也就是占用一點(diǎn)數(shù)據(jù)庫(kù)空間而已客戶(hù)只需要把正確的excel重新導(dǎo)入,就可以繼續(xù)完成他的業(yè)務(wù)了但是,客戶(hù)是一個(gè)重度強(qiáng)迫癥患者,他覺(jué)得在管理平臺(tái)看到這6萬(wàn)多條沒(méi)用的數(shù)據(jù)令他抓狂客戶(hù)想要把這些數(shù)據(jù)刪除,我們系統(tǒng)又沒(méi)有提供批量刪除功能,只能單個(gè)刪除,這無(wú)疑是一個(gè)...
最近幾位朋友一起吃飯,聊到盡興時(shí),談起了一個(gè)大家都非常感興趣的話(huà)題,薪資,就簡(jiǎn)單寫(xiě)篇隨筆記錄一下。工作以來(lái),我感覺(jué)自己變得有些佛系了,很少去打探同齡人的薪水狀況。每年的秋招季,不少同事都會(huì)抑制不住心情的好奇心,在各類(lèi)互聯(lián)網(wǎng)社區(qū)去查看應(yīng)屆生的薪資情況,以推測(cè)自己的薪資所處的位置。要是薪資比應(yīng)屆生還低,一些覺(jué)得薪資沒(méi)有達(dá)到預(yù)期的同學(xué),可能就會(huì)動(dòng)了好好學(xué)習(xí),年后跳槽的心思,而且這部分比例還不會(huì)太小。因此,每年如果應(yīng)屆生的薪資出現(xiàn)了較大幅度的增長(zhǎng),公司為了穩(wěn)住人心,也會(huì)相應(yīng)的提升今年的普調(diào)(一般指員工薪資每年的正常增長(zhǎng))幅度。征求了當(dāng)事人的同意之后,這里簡(jiǎn)單的分享一下他們的薪資水準(zhǔn),也許對(duì)大家來(lái)說(shuō),會(huì)...
大家好,我是小林。我寫(xiě)技術(shù)文章畫(huà)的圖片是保存到GitHub的,沒(méi)別的原因,就是因?yàn)槊赓M(fèi),但是GitHub訪(fǎng)問(wèn)的速度大家都懂的,訪(fǎng)問(wèn)的速度很慢。所以我會(huì)用CDN來(lái)加速圖片的訪(fǎng)問(wèn),也就是我的圖床的方案是GitHubjsdelivrCDN,使用很簡(jiǎn)單,只需要把域名地址替換一下就行。那為什么訪(fǎng)問(wèn)GitHub會(huì)很慢呢?GitHub離國(guó)內(nèi)就近的服務(wù)器是在新加波,距離我這有2600公里,也就是說(shuō),訪(fǎng)問(wèn)GitHub上的一張圖片,一個(gè)數(shù)據(jù)包就要走2600公里這么遠(yuǎn)!而且,互聯(lián)網(wǎng)從邏輯上看是一張大網(wǎng),但實(shí)際上是由許多小網(wǎng)絡(luò)組成的,每個(gè)網(wǎng)絡(luò)絡(luò)中還存在許多的路由器、網(wǎng)關(guān),數(shù)據(jù)每經(jīng)過(guò)一個(gè)節(jié)點(diǎn),都要處理一下,在二層、三層...
今天又是被傾盆的需求淹沒(méi)的一天。有沒(méi)有人知道,那種“我用3句話(huà),就讓產(chǎn)品為我砍了18個(gè)需求”的雞湯課在哪報(bào)名,想報(bào)。"聽(tīng)懂掌聲"的那種課就算了,太費(fèi)手了。扯遠(yuǎn)了,回到我們今天的正題,我們了解下這篇文的目錄。目錄代碼執(zhí)行send成功后,數(shù)據(jù)就發(fā)出去了嗎?回答這個(gè)問(wèn)題之前,需要了解什么是Socket緩沖區(qū)。Socket緩沖區(qū)什么是socket緩沖區(qū)編程的時(shí)候,如果要跟某個(gè)IP建立連接,我們需要調(diào)用操作系統(tǒng)提供的socketAPI。socket在操作系統(tǒng)層面,可以理解為一個(gè)文件。我們可以對(duì)這個(gè)文件進(jìn)行一些方法操作。用listen方法,可以讓程序作為服務(wù)器監(jiān)聽(tīng)其他客戶(hù)端的連接。用connect,可以作...
來(lái)源:翻譯自:NicklasMillard的文章《BetterSoftwareWithoutIf-Else》注:本文并不肯定或者否定哪一種寫(xiě)法,僅僅為大家提供一些其他的編碼思路或者一些值得借鑒的點(diǎn)子,希望大家能在公眾號(hào)的每一篇文章中都能有所收獲,同時(shí)歡迎探討!設(shè)計(jì)更好的軟件,替換If-Else的5種方法。入門(mén)到高級(jí)示例讓我直接說(shuō)這句話(huà):If-Else通常是一個(gè)糟糕的選擇。它導(dǎo)致設(shè)計(jì)復(fù)雜,代碼可讀性差,并且可能導(dǎo)致重構(gòu)困難。但是,If-Else已成為事實(shí)上的代碼分支解決方案,這確實(shí)是有道理的。這是向所有有抱負(fù)的開(kāi)發(fā)人員講授的第一件事。不幸的是,許多開(kāi)發(fā)人員從來(lái)沒(méi)有前進(jìn)到更合適的分支策略。有些人的...
Jlink使用技巧系列教程前言大多數(shù)玩單片機(jī)的人都知道Jlink可以燒寫(xiě)Hex文件,作為ARM仿真調(diào)試器,但是知道能燒寫(xiě)SPIFlash的人應(yīng)該不多,本篇文章將介紹如何使用JLink來(lái)燒寫(xiě)或者讀取SPIFlash存儲(chǔ)器,JLink軟件包含的工具中,有一個(gè)是JFlashSPI工具,這就是一個(gè)燒寫(xiě)和讀取SPI存儲(chǔ)器的工具了。準(zhǔn)備要燒寫(xiě)程序或讀取程序的的Flash芯片:SPI協(xié)議的Flash都可以,如W25Q128。JFlashSPI軟件工具:在Jlink系列軟件的安裝目錄下JLinkV9仿真器要燒寫(xiě)的文件:如GBK字庫(kù)文件,UNIGBK.BIN硬件連接Jlink內(nèi)部集成了SPI協(xié)議,部分接口是作為...
程序員是一個(gè)很辛苦的職業(yè),但也為出身普通的年輕人提供了一個(gè)改變命運(yùn)的機(jī)會(huì)。因?yàn)橄鄬?duì)其他行業(yè),程序員的收入還算是比較可觀。最近,有讀者發(fā)信問(wèn)小灰:“自己未來(lái)想做程序員,不知道學(xué)編程到底應(yīng)該選擇正規(guī)大學(xué)的計(jì)算機(jī)專(zhuān)業(yè),還是選擇IT培訓(xùn)班呢?”許多小伙伴,可能都多少有這方面的疑問(wèn),今天小灰就來(lái)說(shuō)一說(shuō)自己的看法。先說(shuō)結(jié)論。如果你有的選,肯定是首選正規(guī)大學(xué)的計(jì)算機(jī)專(zhuān)業(yè)。好處有三點(diǎn):第一,你在科班學(xué)到的內(nèi)容更系統(tǒng)。你可以系統(tǒng)地學(xué)習(xí)計(jì)算機(jī)領(lǐng)域的底層知識(shí),比如微機(jī)原理、通信原理、算法與數(shù)據(jù)結(jié)構(gòu)等等,這些知識(shí)對(duì)你職業(yè)的長(zhǎng)遠(yuǎn)發(fā)展有好處。第二,科班出身的人在社會(huì)上的認(rèn)可度比較高。許多大公司,以及國(guó)企央企,都會(huì)優(yōu)先招收...
編譯|核子可樂(lè)褚杏娟策劃|Tina計(jì)算機(jī)網(wǎng)絡(luò)、編譯原理和操作系統(tǒng)相關(guān)知識(shí),肯定不會(huì)過(guò)時(shí)。文件夾與目錄結(jié)構(gòu)這些幫助前幾代人理解計(jì)算機(jī)的基本理論,在很多年輕一代看來(lái)已經(jīng)成了一種莫名其妙的“瘋話(huà)”。兩代人之間的碰撞天體物理學(xué)家CatherineGarland從2017年開(kāi)始逐漸意識(shí)到這個(gè)問(wèn)題。當(dāng)時(shí)她正在教授一門(mén)工程課程,要求學(xué)生們使用仿真軟件為噴氣發(fā)動(dòng)機(jī)中的渦輪機(jī)建模。雖然作業(yè)布置得很清楚,但她卻不斷接到學(xué)生們的求助電話(huà),他們都說(shuō)自己收到了同樣的錯(cuò)誤提示:程序找不到他們的文件(FilenotFoundError)。當(dāng)Garland詢(xún)問(wèn)學(xué)生作業(yè)是保存在桌面上還是共享驅(qū)動(dòng)器時(shí),學(xué)生們好像完全聽(tīng)不懂?!澳?..