在想自己和剛畢業(yè)的時(shí)候處理問(wèn)題有什么不同。剛畢業(yè)的時(shí)候如果想卸載停用什么東西提示說(shuō)正在使用,我就去找個(gè)強(qiáng)力卸載軟件。如果我想清理瀏覽器緩存,會(huì)直接用工具,如果想找到緩存路徑選擇性的清理,會(huì)百度一下這個(gè)瀏覽器的默認(rèn)緩存路徑在哪里。現(xiàn)在,我會(huì)打開(kāi)資源監(jiān)視器查看磁盤(pán)活動(dòng),對(duì)文件,找到使用文件的進(jìn)程;對(duì)應(yīng)用,找到它在讀寫(xiě)的文件路徑。
現(xiàn)在接口服務(wù)組的性能卡在memcahe緩存上。對(duì)于緩存的過(guò)渡依賴,而且為了維護(hù)這個(gè)緩存數(shù)據(jù),業(yè)務(wù)流程的復(fù)雜性大大提高。其實(shí)本身接口這塊業(yè)務(wù)流程是很簡(jiǎn)單的,只是要求承擔(dān)很大的并發(fā)量。要高并發(fā),業(yè)務(wù)就更得簡(jiǎn)單。nginx服務(wù)單臺(tái)機(jī)器號(hào)稱能承載10億的并發(fā),為啥?邏輯簡(jiǎn)單啊,就是按照規(guī)則找到對(duì)應(yīng)的處理服務(wù),將請(qǐng)求轉(zhuǎn)發(fā)過(guò)去。
前段時(shí)間接了個(gè)私活。話說(shuō)這一年多的時(shí)間還真干了不少事情,干過(guò)私活創(chuàng)過(guò)業(yè)的。業(yè)務(wù)就是創(chuàng)建一個(gè)帶支付的途家+攜程。剛拿到活兒,因?yàn)槭莗hp的,我又不會(huì)php,愁死了。因?yàn)槭悄衅睅兔拥幕顑骸N揖驼f(shuō)是男票把我給賣了。確實(shí)是,他接活兒,但是自己看都不看一眼,只負(fù)責(zé)拿錢。我自己啥都沒(méi)有,還怕做不好壞了男票的名聲。本來(lái)人家預(yù)算是2w的,我說(shuō)這個(gè)得5w。最后給了3w。1個(gè)月時(shí)間確實(shí)是搞定了??偨Y(jié)一下,這個(gè)從UI設(shè)計(jì)到編碼測(cè)試只有我一個(gè)人的項(xiàng)目,就前端JS樣式這一樣,別人也很難做的很快。我之所以能做的很快,綜合能力是一方面,最重要的原因是:業(yè)務(wù)邏輯理的順,包括支付,結(jié)算,后臺(tái)給商家打款,統(tǒng)計(jì)分析。業(yè)務(wù)邏輯劃分的清楚,做起來(lái)工作量就沒(méi)有那么大。話說(shuō)男票給我接私活這事兒,我嘴里是埋怨的,心里很清楚:他之所以給我接這個(gè)活兒是因?yàn)槲蚁胱?。他并不是為了錢,是真心知道我想要什么。而我嘴上的埋怨也只是因?yàn)橐粫r(shí)的辛苦發(fā)泄一下而已。這埋怨也是笑著埋怨的,誰(shuí)也沒(méi)當(dāng)回事情。在日本的時(shí)候看過(guò)一個(gè)日文版的韓國(guó)水木連續(xù)劇<黃真伊>,真伊有兩個(gè)愛(ài)她超過(guò)愛(ài)自己的母親。她的生母和老師。生母拼其一生想讓真伊得到愛(ài),老師拼其一生想讓真伊得到痛。因?yàn)橥词遣潘嚨脑慈?。恩浩注定不能和真伊在一起,因?yàn)樗能浫?。?ài)一個(gè)不對(duì)的人,心就像是浮萍,漂泊探索一無(wú)所獲。看破看不破,終究是寂寞。真伊與正翰的愛(ài)感化了所有人,而真伊終究也沒(méi)與正翰白首不相離。而愛(ài)一個(gè)對(duì)的人,他們的經(jīng)歷是別人所不能比的,他們最終心里都是踏實(shí)的。真伊為才藝而生,正翰為天下而活。這才是他們的平靜與歸宿。不像真伊那般有才,也不像真伊那般命苦。過(guò)著幸福的小生活,做著自己想做的事,吾復(fù)何求。
又想到離線數(shù)據(jù)那個(gè)小項(xiàng)目,在想之前跑全量只是取ID都要跑四個(gè)小時(shí),我寫(xiě)的程序只要20多分鐘,為啥呢,最重要的原因也是劃分的清楚。人家問(wèn)我這個(gè)項(xiàng)目用到了哪些線程之間共享資源的地方,我說(shuō):這里面有個(gè)AtomicInteger作為線程計(jì)數(shù)器算不算,我需要計(jì)算是不是所有的線程都是正常跑完終止的。其他的共享資源我都放到一個(gè)類里面了,但是Map我就是用的HashMap,也沒(méi)用到ConcurrentHashMap,話說(shuō)咱也是知道并發(fā)包里的各種并發(fā)容器的原理的。但是業(yè)務(wù)邏輯劃分清楚了,我能保證寫(xiě)HashMap的時(shí)候,只有一個(gè)線程在訪問(wèn),我沒(méi)有必要非要用并發(fā)啊。所有的線程最終要生成全量文件,我用幾百個(gè)線程,每個(gè)線程生成一個(gè)文件,各自讀寫(xiě)打包壓縮,各不干擾,當(dāng)然要比給文件加鎖,等待寫(xiě)操作快得多。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26