我清楚地記得,自己已許久未寫過有關生活的文章了。自打掙扎著從高考的棺槨裡爬出來,才終於見到一點點粘稠的陽光。想想自己一路走來,在負而前驅的道路上,活得虛偽又狼狽。
在這裹挾著平凡的一年裡,我也寫下了很多技術有關的文章。但是今天,只想寫寫生活。
@Author:Akai-yuan
脆弱平庸
魯迅不落言筌:窮人總是要爬,爬到富翁的地位,奴隸也是要爬的,有了爬得上的機會,連奴隸也會覺得自己是神仙,天下自然就太平了。
很多年前,我的夢想就是成為一個老老實實的做題家,隨之水到渠成找到一個體面漂亮的工作,我所希冀的所有東西都會奔我而來,我可以成為我心中的雪花。後來我才明白,自己只是模具裡的一灘水,放進冰箱裡的那一刻就註定了形狀。而我期待了一千天的冬天,不過是冰凍櫃裡的一場幻覺。
記得還在中學的時候,那時候特別喜歡古文。當時與我關係特要好的一位同學(如今Top2),常在一起“賭書潑茶”消遣時間。我把我喜歡的詞寫給他,他也會把他欣賞的詞寫給我。那時候最熱的一檔央視欄目是《中國詩詞大會》,平時在放學的路上,就一起玩“飛花令”。從李清照的《一剪梅》再到《聲聲慢》,從辛棄疾的《青玉案》再到《南鄉子》,我們在初中時就幾乎已經背完高中所有的詩詞歌賦了。
最愛的還有雜書。以前看《烏合之眾》,讀到了個人在群體中的獨立思想終會被群體的愚昧同化而湮沒,便天真地以為自己掌握了群體心理學;讀《娛樂至死》,以為自己讀懂了媒介危機;讀《1984》,以為自己看懂了老大哥,便因此看懂了極權主義。
之後,我又沉迷於尼采的《查拉圖斯特拉如是說》、波德萊爾的《惡之花》、芥川龍之介的《地獄變》、魯迅的《野草》。看了這麼多書,我覺得自己好像大徹大悟了。讀書的時候,覺得自己就是一個聖人,從此後生活中遇到的每一件事,都嘗試用書本里的思想去套一套。套中了,便會心一笑,以為自己站在上帝視角,就不知天高地厚了。
我已經對我將來成為人上人做好了萬全的準備。我又開始讀成功學、金融學、管理學的書,聽教育家的演講,看自媒體博主的財經影片,看歐神對房地產指點江山。感覺自己可以看懂社會運轉的規律,還能看透人心。
但隨著一次又一次的失望,我開始漸漸明白:讀書不能光耀門楣。當閱讀帶來的快感緩緩淡去,我又逐漸迴歸理性。
爬的人太多,失望也會漸漸侵蝕善良的人心。於是爬之外,又發明了撞。你的手不必用力,膝蓋也不用移動,只要橫著身子,晃一晃就撞過去。
要說,自文明濫觴以來,"撞"可以追溯到古時候的"小姐拋綵球"。一個個想要撞的男子仰著頭、張著嘴,讒涎拖得幾尺長。
現如今的“撞”的形式更加多元、更加巧妙。過去那些想著吃天鵝肉的人們又迷戀上了另外一種形式:一邊瞪大眼睛企盼著福利彩票開獎,一邊在心中預約著未來名利雙收的神仙生活,腦中滿是甜蜜的幻想;亦或看著k線圖沾沾自喜,以"理性需求"為刃,以"利益覺醒"為盾,坐在利益座標軸上精準計算投入與產出。
能撞上的機會雖然比爬的機會要少得多,但是大家都想來試試。
所以那些撞上了的人,刻意又為我們製造渺茫的撞的機會,讓我們也去模仿他們,爬不動就想著撞,撞不著就只有繼續爬,要怪只能怪自己命乖運蹇,最後鞠躬盡瘁,死而後已。
過期的夢
又到了末尾與序章交匯的結點, 筆者來到GDUT已滿一年有餘了。
人總會因為自己不堪的過去而倍感沉重---他們貪心地認為自己本可以走得更遠。我想,人生最大的苦楚便在於,對不屬於自己的東西充滿錯覺,錯覺讓你滿懷期待,直到你親手築起的高樓在某天轟然倒塌。這時你才知道,紅色的金魚流不出紅色的血。
以前我總想要把人生的每個節點都做到最好,於是處心積慮把每一件事都顧慮周全,可總會有些左支右絀,所以我只好亦步亦趨地跟在人群后面,躑躅地邁向未知的黃昏。我不知道自己到底要做什麼,想做什麼。
命運有時就像是一個有才華的瘋子,總能推搡著我,讓我做出不敢想象的事。
記得是剛入學不久的時候,在助班的推薦下,我很榮幸的作為新生代表,站在學院的新生開學典禮上發言。不過當時特別緊張,上臺唸錯了好幾個字,但所幸沒什麼大礙,下臺之後才終於長吁了一口氣。
開學典禮現場
得益於我校ACM的發展,我便開始瞭解、學習演算法,幻想著能從中能彌補高考失敗的落差感。我開始為這種幻想投資,記得當時買了許多本演算法書,涵蓋了初學入門到深入拔高,like:《啊哈!演算法》《大話資料結構》《劍指offer》《演算法導論》。當時真的就打算在演算法這條路上死磕下去了,然而第一學期過去,伴隨著決賽落幕,最終的結果是:與最後一個名額失之交臂,雖然做出相同的題數,但罰時更多。一想到半學期的努力到這裡就結束了,不禁憂從中來:懷一腔灼熱而來,奈何贈我半身冰涼。
思考了良久,才終於想通了:我的演算法學習週期短,成本高,做題的經歷更比不上oi生,還想兼顧績點和專業分流,同時又要學習c、c++、java等幾門語言。除非給我的腦子裝上一臺永動機,讓我睡覺的時候也可以啟動一個執行緒池執行這些定時任務,有餘下的就放到佇列裡阻塞,否則我是一件事也別想做好的。在這之後,我就時刻告誡自己:既要又要,是一種賤。
ACM決賽現場
鐵騎未涼
第一次聽說工作室是在ACM落選之後。那個時候我們學校有很多實驗室會在第二學期招新,我經過快速而簡單的思考後,果斷入坑了後臺的學習。那時候什麼都不懂,只能自己尋找部落格資料,四處碰壁。
像我這種既不擅長交際,亦不認識什麼同校前輩的人,只能靠自己摸索。在第一學期的寒假前,憑藉著自己高超的逃課技術,勉強看完了JavaSE和MySQL。隨後開始接觸JavaWeb、SSM,之後便是漫長的實驗室考核。
因為我們實驗室算是整個學院最火的工作室之一,諮詢群裡面的人數就高達五六百,而且還涵蓋其他非科班的學生,這個競爭對我來說是相當激烈的,何況最後我們後臺方向只招了五人。
毫不誇張的說,考核下來真的很累很累。一個現在看來很容易解決的問題當時也會折磨到凌晨四五點。
熬夜改BUG的感覺,就好比把自己的五臟六腑擺在一塊淌血的案板上,皮囊與骨頭拋擲一地,尚在蠕動的肉塊齊聲尖叫、咒罵。那個時候,覺得自己活得僥倖、茫然又快樂。
GDUT西區傍晚隨拍
終於,在一個多月的時間裡,我完成了考核的所有要求,並且學到不少有用的東西:如何手寫一個資料庫連線池、造出一個IOC輪子、請求轉發、全域性異常處理、最佳化檔案上傳、單例代理工廠建造者模式。並且接觸到了monitor、concurrentHashMap、鎖升級、執行緒隔離、MESI、匯流排風暴、fastfail、safefail等等一系列底層知識。
考核答辯的那個晚上,我以為自己準備妥當,但回答得並不是很好,很多東西我都沒了解過。有一道考題我現在都記憶猶新:如何在map中讓一個已經存在的相同的key儲存進來。當時的我一臉懵逼,我在想,map不就是不允許相同的key值插入嗎。過後我才知道,原來有一種map叫做IdentityHashMap,他對key的相等比較的是對地址值進行比較,而不是針對hashCode,所以IdentityHashMap其實可以允許所謂的key值重複。類似的,師兄師姐還問了我關於Websocket、註解的繼承、虛引用、類載入器等等問題。
答辯結束的那天晚上,我騎著共享單車準備回到宿舍好好睡上一覺。沿途騎得很慢,感覺自己又會像ACM決賽被淘汰那樣,最終沉浸在自己已經努力過的自我麻痺與感動中。這種想法頓時擊垮我在白天建構完整的結構,我的心臟銜著箭鏃,沒有血,似乎它是我體內的另一個心繫。
然而幸運的是,不久後便收到了好訊息,我終於成為了我們們實驗室後臺組的一員。那一刻總覺著自己想說點什麼,但是又立刻把話吞到了咽喉裡,字的稜角劃破了我的氣管,有些疼。
故事繼續
在透過考核後的那個暑假(大一結束),我原本以為都這麼累了,終於可以在假期好好放鬆一下。但是我沒想到的是,我們實驗室的所有人統統都得留校。
所以那個暑假我們就一直待在學校,從SSM死磕到Redis,再粗暴地學習SpringCloudAlibaba。學習中途會有師兄或者導師給你分配issue讓你去改改bug,最佳化程式碼。
我們後臺的任務不僅僅只是CRUD那麼簡單,有時流水線自動部署壞掉了,還得手動去伺服器上部署;有時專案要上線,還得去搞內網穿透;軟體測試的學生測出我們的專案bug了還要去寫成文件後續修改。
我的工位
當然這還不是最難頂的,最痛苦的事情莫過於排隊做核酸了,但是至少實驗室有免費的空調和水,也算可以聊以慰籍。每天上班都要釘釘打卡,每週還要開分享會,毫不謙虛地說,日子的確過得很壓抑。最後也就放了兩週回了趟家,然後又匆匆趕回學校上學了。
當然上學對我來說是學不到任何有用的東西的,我當然也不想每天起早去上課,能不去則不去。就這樣,逃了一學期的課,在工作室又敲了一學期的程式碼,日子過得也還算得上和諧。
寒假還竟然出奇的放得挺早,國家對疫情的政策也放開了,很多大學生提前一個月就遣返回家了,我也一樣。隨後就是網課、線上考試,這種生活一直持續到大二上的寒假。
在寒假裡,我又開始瞭解分散式協議與演算法,隨後開始學習SOFAJRaft的原始碼,雖然核心功能不算複雜,但是讀原始碼確實吃力,但終於還是一點一點慢慢的啃了下來。這個時候也嘗試去給SOFAJRaft提issue,結果第二天就收到PMC的反饋,最後流水線跑了兩三天才merge了pr,自己也因此成為了SOFAJRaft的Contributor。
當然寒假不全然是把整顆頭埋在程式碼裡的。閒暇之餘,自己也會看著吉他譜,彈唱幾首流行歌;有時也會配配和絃彈彈鋼琴,小時候只忙著考級了,樂理知識並不是特別熟練,所以給和絃加花也玩不了變態高階的。有這些消磨消磨時間,也算是一點生活的情趣罷。
這個寒假也快要結束了,假期裡做了不多但也不少的事。忙碌而快樂。
接下來的日子裡,我會告誡自己:不吹捧虛無,不跪拜荒唐;不在吶喊裡淪為思想幹癟的物件,不在批評中淪為爾虞我詐的尖刀。
月光如水照緇衣。新的一年,還得繼續生活下去。