對(duì),你沒(méi)看錯(cuò),本文就是教你怎么寫出讓同事無(wú)法維護(hù)的代碼。一、程序命名容易輸入的變量名?。比如:Fred,asdf單字母的變量名?。比如:a,b,c,x,y,z(如果不夠用,可以考慮a1,a2,a3,a4,….)有創(chuàng)意地拼寫錯(cuò)誤?。比如:SetPintleOpening,SetPi...
“操作系統(tǒng)”作為所有軟件的基礎(chǔ),是計(jì)算機(jī)王國(guó)的掌舵者。我們常用“靈魂、大腦、內(nèi)核、基石”等詞來(lái)形容它,足以見(jiàn)得它對(duì)計(jì)算機(jī)而言有多么重要。?事實(shí)也確實(shí)如此,作為每個(gè)程序員必須好好修煉的“基本功”,它能直接解決我們?cè)诠ぷ髦械暮芏嘁呻y雜癥,比如做高性能服務(wù)端編程時(shí),經(jīng)常會(huì)用到內(nèi)存、進(jìn)程...
↓推薦關(guān)注↓和CPU、內(nèi)存一樣,磁盤和文件系統(tǒng)的管理,也是操作系統(tǒng)最核心的功能。磁盤為系統(tǒng)提供了最基本的持久化存儲(chǔ)。文件系統(tǒng)則在磁盤的基礎(chǔ)上,提供了一個(gè)用來(lái)管理文件的樹(shù)狀結(jié)構(gòu)。那么,磁盤和文件系統(tǒng)是怎么工作的呢?又有哪些指標(biāo)可以衡量它們的性能呢?索引節(jié)點(diǎn)和目錄項(xiàng)文件系統(tǒng),本身是對(duì)...
↓推薦關(guān)注↓可以隨便到網(wǎng)上查一查,各大互聯(lián)網(wǎng)公司筆試面試特別喜歡考一道算法題,即?LRU緩存機(jī)制,又順手查了一下LRU緩存機(jī)制最近有哪些企業(yè)喜歡考察,超級(jí)大熱門!今天給大家分享一篇關(guān)于?Cache?的硬核的技術(shù)文,基本上關(guān)于Cache的所有知識(shí)點(diǎn)都可以在這篇文章里看到。關(guān)于?Ca...
當(dāng)我們遇到莫名其妙的需求,卻又不得不去實(shí)現(xiàn)時(shí),穿這款衛(wèi)衣
因?yàn)橐獙?duì)百萬(wàn)、千萬(wàn)、甚至是過(guò)億的用戶提供各種網(wǎng)絡(luò)服務(wù),所以在一線互聯(lián)網(wǎng)企業(yè)里面試和晉升后端開(kāi)發(fā)同學(xué)的其中一個(gè)重點(diǎn)要求就是要能支撐高并發(fā),要理解性能開(kāi)銷,會(huì)進(jìn)行性能優(yōu)化。而很多時(shí)候,如果你對(duì)Linux底層的理解不深的話,遇到很多線上性能瓶頸你會(huì)覺(jué)得狗拿刺猬,無(wú)從下手。我們今天用圖解...
我們說(shuō)的ModernC,一般指的是C11及以后的標(biāo)準(zhǔn),從C11開(kāi)始,ModernC引入了大量的實(shí)用的特性,主要是兩大方面,學(xué)習(xí)的時(shí)候也可以從這兩大方面學(xué)習(xí):增強(qiáng)或者改善的語(yǔ)法特性;新增的或者改善的STL庫(kù)。我們來(lái)看幾個(gè)具體的案例:案例1:統(tǒng)一的類成員初始化語(yǔ)法與std::init...
大家都知道,在創(chuàng)建一個(gè)服務(wù)器程序的時(shí)候,需要先listen一下,然后才能接收客戶端的請(qǐng)求。例如下面的這段代碼我們?cè)偈煜げ贿^(guò)了。int?main(int?argc,?char?const?*argv[]){?int?fd?=?socket(AF_INET,?SOCK_STREAM,...
今天給大家分享個(gè),大一拿到騰訊實(shí)習(xí)的offer同學(xué)的心得分享。是的,你沒(méi)聽(tīng)錯(cuò),是大一!前言我來(lái)自國(guó)內(nèi)某211學(xué)校軟件工程專業(yè),現(xiàn)在是大一暑假,前不久剛剛收到騰訊的后臺(tái)開(kāi)發(fā)實(shí)習(xí)offer,此時(shí)此刻我正在騰訊某部門實(shí)習(xí)。其實(shí)我也不是什么技術(shù)大佬,只不過(guò)自學(xué)的稍微早一些。我在豬豬學(xué)長(zhǎng)校...
Java目前已經(jīng)形成了龐大的生態(tài)圈,應(yīng)用于各大企業(yè)當(dāng)中,而很多學(xué)習(xí)Java的同學(xué),在找工作的時(shí)候,由于項(xiàng)目實(shí)戰(zhàn)經(jīng)驗(yàn)不足,常常無(wú)法通過(guò)企業(yè)的面試篩選。許多學(xué)習(xí)Java的同學(xué)在學(xué)習(xí)過(guò)程中無(wú)法接觸到企業(yè)真實(shí)的開(kāi)發(fā)流程,所以,在面試的時(shí)候,他們無(wú)法回答Java項(xiàng)目實(shí)行的具體細(xì)節(jié)。其實(shí),企...
我們都知道Redis的集群有三種方案:1、主從復(fù)制模式2、Sentinel(哨兵)模式3、RedisCluster模式當(dāng)然使用隨著海量數(shù)據(jù)的存儲(chǔ)要求,單臺(tái)Redis配置有限,已經(jīng)滿足不了我們的需求。我們考慮采用分布式集群方案。RedisCluster采用數(shù)據(jù)分片機(jī)制,定義了163...
一個(gè)Bug就地蒸發(fā)5億美元;軟件設(shè)計(jì)層面出Bug致6人死亡;DeBug不成功直接世界毀滅。你職業(yè)生涯中寫過(guò)最大的Bug是什么?在這個(gè)問(wèn)題上,勇敢的碼農(nóng)們,總是能不斷地創(chuàng)造奇跡。這不禁讓路過(guò)的一位普通市民感嘆:感覺(jué)有你們,我們還活在這個(gè)世界就像死神來(lái)了Bug很大,你忍一下一個(gè)Bug...
大家好,我是大堯。今天我們使用Java語(yǔ)言寫一個(gè)爬蟲,用來(lái)爬取csdn首頁(yè)推薦博客的博主,看看這些博主有多少人在寫微信公眾號(hào)。一、爬蟲原理爬蟲就是去請(qǐng)求某個(gè)url,然后將響應(yīng)的頁(yè)面進(jìn)行解析,將解析到的數(shù)據(jù)保存,同時(shí)解析出當(dāng)前頁(yè)面的url,繼續(xù)進(jìn)行爬取,一直循環(huán)下去,爬取當(dāng)前網(wǎng)站的...
隨著微信小程序的發(fā)展,越來(lái)越多的移動(dòng)端應(yīng)用選擇了微信產(chǎn)品作為媒介。無(wú)論是公眾號(hào)開(kāi)發(fā)還是小程序開(kāi)發(fā),微信支付永遠(yuǎn)都是繞不開(kāi)的話題。由于微信支付涉及了很多場(chǎng)景,本文我們只學(xué)習(xí)如何在公眾號(hào)、小程序中接入微信支付。一、微信支付的前提條件1.1公眾號(hào)微信公眾號(hào)大體上可以分為服務(wù)號(hào)和訂閱號(hào),...
作者:vivo互聯(lián)網(wǎng)服務(wù)器團(tuán)隊(duì)-YeWenhao一、RocketMQ架構(gòu)簡(jiǎn)介1.1邏輯部署圖(圖片來(lái)自網(wǎng)絡(luò))1.2核心組件說(shuō)明通過(guò)上圖可以看到,RocketMQ的核心組件主要包括4個(gè),分別是NameServer、Broker、Producer和Consumer,下面我們先依次簡(jiǎn)單...