雞頭掰臉搞個(gè)環(huán)境
找工作忒難了
5月找工作戰(zhàn)績不太理想。boss上投了快200個(gè),收簡歷17個(gè),約面試2個(gè),都是一面涼。涼一方面是學(xué)藝不精,另一方面是經(jīng)驗(yàn)不搭,沒什么可抱怨的,但這個(gè)“投簡歷面試比”是真的邪門。
確實(shí),這么卷的環(huán)境,如果不是經(jīng)驗(yàn)高度匹配去了就能干活,我的學(xué)歷、經(jīng)歷、簡歷里展示的能力,多半是做分母。學(xué)歷經(jīng)歷都難搞了一比,搞作品好像成了唯一的路子。所以就硬著頭皮搏一搏吧,就算做不出高大上的東西,也是實(shí)踐理論,積攢經(jīng)驗(yàn)了。

打算
現(xiàn)在的工作給我“不少”經(jīng)驗(yàn),客戶端、前端、后端都寫過。從語言上說,C#、Java,那不是大廠外企通吃了么,C#+Unity,游戲業(yè)也包了;服務(wù)器上說,雖然工作里清一色Windows,但我自己學(xué)了Linux,也是通吃;同理數(shù)據(jù)庫,SqlServer、Oracle,加上我自學(xué)的Mysql,主流關(guān)系型數(shù)據(jù)庫都“會(huì)”了。
但要想通過面試換工作,靠工作的經(jīng)驗(yàn)是不夠的?,F(xiàn)在的工作主打一個(gè)能用就得,一言不合就堆人力,值夜班重啟……從聽過用過到會(huì)的那段路還是得靠自己走。接觸過的,往深了研究,沒接觸過的,也研究研究?,F(xiàn)在大廠很多都轉(zhuǎn)go了,自己不學(xué)等現(xiàn)在的工作用go,那得啥時(shí)候。
但是急也沒用,先以全棧開發(fā)的身份優(yōu)勢,把主流的JavaWeb那套學(xué)溜點(diǎn),做點(diǎn)東西出來。下個(gè)項(xiàng)目就可以考慮整go啦,順利的話再下個(gè)unity游戲都可以安排上,要是成功換了工作,非全的研都可以安排上…(不能亂想,一想就想太多)

開整
工欲善其事,必先利其器,第一步先嘗試搞環(huán)境。從GitHub拉了個(gè)商場項(xiàng)目的源碼,是個(gè)大系統(tǒng),涉及不少東西。爭取把它跑起來,看看能踩多少坑,學(xué)到多少東西。一開始要求低一些,代碼可以不看懂,能啟動(dòng)起來就算贏。
我有一個(gè)來路不便細(xì)說的Z640工作站。底子很好,主板帶擴(kuò)展板,可以雙CPU,8條內(nèi)存槽,剛搞來時(shí)候配置是廢品,但在垃圾佬手里它會(huì)發(fā)光。折騰了好久(每次一買件公司就堆人力出差,巧合到生氣),現(xiàn)在28核56線,72G內(nèi)存,顯卡太貴了沒升,做服務(wù)器練練開發(fā)正好。系統(tǒng)是Windows Server 2019,用Vmware跑Linux,去年年末安好系統(tǒng)就沒怎么用過,這把正好把它用上。
先看一下都需要安什么,jdk和nodejs是必須的,編譯器idea和vscode都安排上,中間件……中間件也太多了吧,一個(gè)一個(gè)安那得到什么時(shí)候啊。冷靜,先看看文檔,哦,項(xiàng)目文檔里貼心的附上了docker-compose,也就是說,我安個(gè)docker就行了,那就好辦了。工作中不用docker,也習(xí)慣了遇事下安裝包安本機(jī),是時(shí)候?qū)嵺`一下docker了,Windows上的docker-desktop還有圖形化界面,多么適合入門。
就這樣我就入了坑了:
坑一
docker-desktop很快就下好也安好了,下個(gè)mysql鏡像試試。誒?下不來啊。是不是wifi又G了?(平常wifi確實(shí)不好),重啟測速鼓搗一番,好像沒問題。臺(tái)式?jīng)]插網(wǎng)線用的wifi接收器,之前安驅(qū)動(dòng)安的很費(fèi)勁,是不是它的鍋?也不是,測速刷網(wǎng)頁也不卡。在浪費(fèi)了有一段時(shí)間后,才想起來剛學(xué)Ubuntu的事,得換源。上網(wǎng)一搜,換了163的源,好了。
早知道這樣一開始就上網(wǎng)搜了,自己在那瞎猜……
坑二
docker-desktop安完不用單獨(dú)安docker-compose,直接命令執(zhí)行yaml文件??粗欢裪mage有序下載,真開心,就是有點(diǎn)慢。你們下吧,我去看看我之前安的虛擬機(jī)Ubuntu和CentOS去,好久沒見甚是想念。于是驚奇的發(fā)現(xiàn),vmware與Hyper-v功能沖突,用不了,想用虛擬機(jī)需要關(guān)閉Hyper-V功能。
再一查,docker-desktop需要用Hyper-v功能,那不成二選一了?頭疼了一陣子,還是不忍放棄兩個(gè)已經(jīng)安好的虛擬機(jī),決定把docker-desktop卸了,轉(zhuǎn)為在CentOS里安docker。
坑三
Linux命令行操作有些生疏,除了ls、cd等基礎(chǔ)到不能再基礎(chǔ)的命令,都需要上網(wǎng)查??赃臧T肚的在CentOS安上了docker和docker-compose,并且提前換了源(吃一塹長一智)。吐槽一下,改配置時(shí)候用了vim,真是進(jìn)去就出不來,多虧以前學(xué)過兩下子,沒當(dāng)成系統(tǒng)Bug拿萬能重啟處理。搞利索后執(zhí)行docker-compose文件,docker-compose命令報(bào)錯(cuò)?權(quán)限問題?什么情況?
上網(wǎng)搜發(fā)現(xiàn)是docker安的有問題。查了挺多帖子(博客各種抄,不解決問題的帖子能搜到一大堆,真煩),最后找到原因是換源時(shí)候,新建docker配置的文件名應(yīng)該是daemon.conf,不是daemon.json。修改文件后綴,再運(yùn)行,ok了。
坑四
接下來就是漫長的等待了,這么長時(shí)間一動(dòng)不動(dòng)連口水都沒喝,不高興就喝水(此處為碰瓷)。下載真挺慢的,溜達(dá)了一圈又一圈,終于安好并且啟動(dòng)好了。項(xiàng)目文檔說,如果啟動(dòng)好了,可視化管理平臺(tái)的地址是這些(一堆鏈接),我興奮的點(diǎn)了上去,又發(fā)現(xiàn)了問題:nacos的連不上去、rocketmq dashboard連上去報(bào)IP無法訪問。
先解決rocketmq的,報(bào)的IP是127.0.0.1,那一定就是配置問題了,工作習(xí)慣,都安本機(jī)配127。rocketmq dashboard需要連rocketmq,因?yàn)橛昧薲ocker,不能配127,需要配為宿主機(jī)IP,也就是CentOS的IP。改完配置重新啟動(dòng),好了。
坑五
nacos的IP改配宿主機(jī)IP,還是不好使,可能有更深層的原因。docker run進(jìn)去看看,發(fā)現(xiàn)報(bào)no dataset的錯(cuò)。這時(shí)候想起來之前學(xué)的理論,nacos會(huì)使用數(shù)據(jù)庫,配置里配的是mysql,我的mysql還是嶄新的沒有建庫建表呢。
根據(jù)文檔,找到了建庫建表插入數(shù)據(jù)的sql文件,執(zhí)行!這回好了吧,重新啟動(dòng)看看
坑六
還是不好使,依然報(bào)no dataset,為啥呢?因?yàn)樵郊痹綍?huì)顧頭不顧腚:nacos改了自己的IP為宿主機(jī)IP,配置Mysql的IP沒改。同樣的錯(cuò)誤犯了兩次,丟死人了。
再次啟動(dòng),好用了,幾個(gè)管理平臺(tái)的鏈接都能連上了。

太難了,先到這吧
用nacos反復(fù)試了一下,“掌握”了一個(gè)規(guī)律:中間件自己的IP可以配成127,如果需要調(diào)用其他中間件,被調(diào)用方的IP必須配成宿主機(jī)IP才行。不知道沒有管理頁面的中間件啟動(dòng)的怎么樣,有沒有問題,今天就先到這吧,累了。(Seata特意留著沒配成宿主機(jī)IP,哪天再搞再驗(yàn)證一下,加深印象)
雖然工作時(shí)候總被用能者多勞PUA,一人當(dāng)幾個(gè)人用,接觸挺多,但項(xiàng)目著實(shí)簡單。這個(gè)大項(xiàng)目一半我沒用過的技術(shù),全自己弄,想啟動(dòng)都還是挺費(fèi)勁的。后端完成了一半了(猜的),還有前端沒弄,以這個(gè)踩坑頻率,不睡搞到天亮也搞不定。
下次再搞下次再搞(戰(zhàn)術(shù)性撤退,不是跑了),一口吃不成胖子,再不去做飯吃飯我都餓瘦了。
