瞎忙的新手

和直覺相反,新手的大部分時(shí)間花在外圍活動(dòng)上处硬,真正用來掌握核心業(yè)務(wù)的時(shí)間反倒不多

最近利用業(yè)余時(shí)間給朋友集成一臺(tái)特殊用途服務(wù)器小槐,專用板卡和驅(qū)動(dòng)程序由第三方提供,我的任務(wù)是把軟硬件集成起來荷辕,對(duì)上層軟件提供API和樣例代碼凿跳。大約寫了100行JAVA代碼,配置腳本加起來20行不到疮方,結(jié)果前前后后花掉整整一周的下班時(shí)間控嗜。

回顧整個(gè)工作過程,真正和業(yè)務(wù)相關(guān)的工作差不多3個(gè)小時(shí)案站,非常順利躬审。其實(shí)業(yè)務(wù)本身有一定專業(yè)深度,當(dāng)年入門時(shí)僅僅看各種英文規(guī)范就花掉兩個(gè)月蟆盐。朋友自己有非常熟練的系統(tǒng)集成工程師,找我操刀完全是因?yàn)闃I(yè)務(wù)背景的特殊性遭殉。因?yàn)橛?0多年沒碰過該領(lǐng)域了石挂,這3個(gè)小時(shí)還包括腦補(bǔ)該領(lǐng)域的最新標(biāo)準(zhǔn),以及相關(guān)工具的使用险污。

大部分時(shí)間花在馴服工作環(huán)境上痹愚。實(shí)在沒什么技術(shù)含量,花掉這么多時(shí)間蛔糯,完全是因?yàn)椴皇炀氄N移綍r(shí)工作在一個(gè)有嚴(yán)格配置管理的環(huán)境里面,硬件到軟件蚁飒,操作系統(tǒng)到工具鏈动壤,甚至編輯器都不會(huì)有任何意外。換句話說淮逻,在馴服環(huán)境方面琼懊,我是一個(gè)新手阁簸。好在給朋友估算進(jìn)度的時(shí)候,預(yù)留了處理意外的時(shí)間哼丈。

Robert Martin有一本《Clean Code》启妹,大部分內(nèi)容是老生常談,但是開場(chǎng)白里面引用的那個(gè)實(shí)驗(yàn)給人印象深刻醉旦。實(shí)驗(yàn)用屏幕記錄的方式分析程序員的工作過程饶米,發(fā)現(xiàn)程序員用于敲代碼的時(shí)間少之又少,80%的時(shí)間用在把屏幕滾來滾去閱讀代碼车胡。

我也回放一下整個(gè)過程檬输,看看時(shí)間都去哪兒了?

一吨拍、開發(fā)demo程序褪猛,20分鐘

比計(jì)劃順利。

二羹饰、服務(wù)器開機(jī)伊滋,一個(gè)小時(shí)

成功上電,10分鐘队秩。朋友用的是工控機(jī)笑旺,屁股后面插電源的地方有個(gè)開關(guān),通上電馍资,摁下開關(guān)筒主,機(jī)箱里面的LED燈亮了,但是沒有聲音鸟蟹,感嘆現(xiàn)在的散熱技術(shù)真發(fā)達(dá)乌妙,感情是風(fēng)扇都省了。不對(duì)建钥,顯示器沒檢測(cè)到信號(hào)藤韵,反復(fù)進(jìn)入休眠模式。幸好10幾年前做學(xué)生的時(shí)候用過工控機(jī)熊经,記得它前面板應(yīng)該還有開關(guān)泽艘。找來鑰匙,打開前面板镐依,果然! 終于聽到呼呼的風(fēng)扇聲了匹涮。

進(jìn)入桌面,50分鐘槐壳。朋友只發(fā)給我主機(jī)然低,沒有顯示器,湊巧我家有一臺(tái)閑置的創(chuàng)維電視機(jī),有VGA接口脚翘∽坡可是天殺的創(chuàng)維,電視機(jī)把電腦畫面的左邊部分挪到屏幕外面去了来农,開機(jī)后登錄框只能看到一半鞋真。一半就一半吧,輸入密碼沃于,回車涩咖,咦!不對(duì)繁莹,怎么就進(jìn)入guest模式了檩互?朋友裝的是ubuntu 14,我之前用過的最新的是ubuntu12咨演,從來沒有遇到過這個(gè)情況闸昨。倒騰了好半天,無意間拿鼠標(biāo)點(diǎn)了一下登錄框上面剩下的半個(gè)賬戶名稱薄风,然后再輸入密碼饵较,進(jìn)去了!ubuntu14這個(gè)莫名其妙的feature加上這個(gè)殘廢電視機(jī)遭赂,廢掉我30分鐘循诉。進(jìn)去以后倒是很順利,調(diào)整了分辨率撇他,顯示器也工作正常了茄猫。

三、安裝驅(qū)動(dòng)程序困肩,兩個(gè)晚上

當(dāng)頭一棒划纽。 參照手冊(cè)拷貝驅(qū)動(dòng)程序,修改配置文件锌畸,加載驅(qū)動(dòng)程序阿浓,運(yùn)行驗(yàn)證程序,亂碼+閃退蹋绽。廠商提供了一小段示范程序源代碼,加上調(diào)試信息筋蓖,重新編譯運(yùn)行卸耘,原來是設(shè)備打開失敗。本能趨勢(shì)去檢查kernel日志粘咖,發(fā)現(xiàn)安裝驅(qū)動(dòng)的過程中報(bào)告簽名驗(yàn)證失敗蚣抗,上網(wǎng)搜攻略,可以在驅(qū)動(dòng)程序中關(guān)閉簽名驗(yàn)證功能,幸好供應(yīng)商提供了驅(qū)動(dòng)程序源代碼翰铡,大喜钝域,遂按照攻略關(guān)閉簽名驗(yàn)證,重新編譯锭魔,加載例证。驗(yàn)證程序仍然報(bào)告設(shè)備無法打開。

難倒老師傅迷捧。無可奈何之下求助技術(shù)支持织咧。技術(shù)支持提議用QQ的遠(yuǎn)程桌面幫我調(diào)試,于是先下載wine-QQ漠秋,100M的安裝包笙蒙,慢慢拖下來,末了發(fā)現(xiàn)安裝不上去庆锦。一直懷疑即便安裝了wine-QQ也未必能遠(yuǎn)程控制ubuntu的桌面捅位,于是決定土法上馬,每次執(zhí)行完技術(shù)支持的指令搂抒,當(dāng)即用手機(jī)QQ拍一張屏幕照片發(fā)過去確認(rèn)艇搀。技術(shù)支持一開始懷疑是動(dòng)態(tài)鏈接庫(kù)的軟鏈接的問題,估計(jì)他工作中經(jīng)常遇到這種情況燕耿,可惜我這里軟鏈接沒有問題中符。后來重新編譯安裝驅(qū)動(dòng)程序,重新拷貝動(dòng)態(tài)鏈接庫(kù)誉帅,重新建立軟鏈接淀散,...運(yùn)行驗(yàn)證程序,還是報(bào)同樣的錯(cuò)誤蚜锨。從晚上8點(diǎn)半一直折騰到10點(diǎn)半档插,無果。

得來全不費(fèi)工夫亚再。絕望之下咨詢技術(shù)支持是否還用過其他遠(yuǎn)程桌面郭膛,想到TeamViewer。TeamViewer安裝倒是很順利氛悬,可是技術(shù)支持就是訪問不了则剃。深夜11點(diǎn),覺得麻煩人家這么晚很不好意思如捅,打算明天再戰(zhàn)棍现,不信邪的技術(shù)支持提出把我之前所做的工作全部清除掉,按照他的指令重新來一遍镜遣。死馬當(dāng)成活馬醫(yī)己肮,重新做一遍,問題依舊』哑В恍惚之間娄柳,腦洞小開,嘗試用sudo運(yùn)行測(cè)試程序艘绍,竟然不閃退了赤拒,直覺是成了,看來過去兩個(gè)晚上的時(shí)間是折騰在這個(gè)sudo上了鞍盗。但是廠商所配的測(cè)試程序輸出亂碼需了,無法進(jìn)一步工作。嘗試把廠商提供的樣例代碼存成utf-8般甲,重新編譯肋乍,亂碼消失,確認(rèn)是字符集的問題敷存∧乖欤可是其他程序沒有源代碼。
活干完了锚烦,突然想起下次可以讓技術(shù)支持用qq訪問我的windows電腦桌面觅闽,然后windows電腦通過vnc訪問ubuntu的桌面。

四涮俄、 搞定亂碼蛉拙,兩個(gè)晚上。

一團(tuán)亂碼彻亲。技術(shù)支持建議用遠(yuǎn)程終端訪問服務(wù)器孕锄,他能夠在putty這種遠(yuǎn)程終端程序中搞定亂碼。作為碼農(nóng),是可忍孰不可忍?先是去下載了一個(gè)看文件編碼的工具哟楷,檢查供應(yīng)商提供樣例代碼源文件,了解到原始編碼是 GB2312搭幻。然后上網(wǎng)搜各種治亂碼方略,一部分是專治centos/redhat的,ubuntu用不上,另外一部分ubuntun能用大咱,比如用locale-gen生成GB2312,然后通過修改環(huán)境變量啟用新編碼注益。嘗試過GBK,GB18030,GB2312徽级,始終不能完整解決問題,比如窗口程序能正常轉(zhuǎn)碼了聊浅,但是字符終端仍舊是亂碼。

絕處逢生。因?yàn)椴皇炀毜统祝幸淮沃苯影袵NOME搞癱瘓了旷痕,那個(gè)lauchpad再也找不到可執(zhí)行程序,電腦成了磚頭顽冶,覺得天都快塌了欺抗。幸好后來找到一個(gè)開啟終端程序的快捷鍵,在決定重新安裝系統(tǒng)前一分鐘和電腦重新打開了交流渠道强重。折騰了兩個(gè)晚上绞呈,亂碼還是沒搞定,打算改為在windows上運(yùn)行板卡的管理程序间景。第三天早上佃声,終于發(fā)現(xiàn)了一個(gè)可以工作的亂碼轉(zhuǎn)換方案,luit倘要,簡(jiǎn)單又安全圾亏。

后話

作為老鳥,時(shí)刻提醒自己遇到困難繞道走封拧,始終聚焦在終極目標(biāo)上志鹃,沒有犯換個(gè)燈泡修梯子,最后升級(jí)到要給汽車加油這種低級(jí)錯(cuò)誤泽西。即便如此曹铃,浪費(fèi)掉的時(shí)間還是觸目驚心。

我相信換個(gè)工程領(lǐng)域也能觀察到類似現(xiàn)象捧杉。新手看起來很忙陕见,其實(shí)絕大部分時(shí)間浪費(fèi)在不創(chuàng)造價(jià)值的外圍活動(dòng)上,有人把這叫做踩坑糠溜,成長(zhǎng)的必經(jīng)之路淳玩。對(duì)于個(gè)人來說是成長(zhǎng),對(duì)組織來說是不折不扣的浪費(fèi)非竿。這件事充分說明工程師的經(jīng)驗(yàn)對(duì)一個(gè)組織有多寶貴蜕着。

本文后來根據(jù)伯樂在線的編輯更新,感謝站長(zhǎng)化腐朽為神奇的編輯技巧

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末红柱,一起剝皮案震驚了整個(gè)濱河市承匣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌锤悄,老刑警劉巖韧骗,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異零聚,居然都是意外死亡袍暴,警方通過查閱死者的電腦和手機(jī)些侍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來政模,“玉大人岗宣,你說我怎么就攤上這事×苎” “怎么了耗式?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)趁猴。 經(jīng)常有香客問我刊咳,道長(zhǎng),這世上最難降的妖魔是什么儡司? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任娱挨,我火速辦了婚禮,結(jié)果婚禮上枫慷,老公的妹妹穿的比我還像新娘让蕾。我一直安慰自己,他們只是感情好或听,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布探孝。 她就那樣靜靜地躺著,像睡著了一般誉裆。 火紅的嫁衣襯著肌膚如雪顿颅。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天足丢,我揣著相機(jī)與錄音粱腻,去河邊找鬼。 笑死斩跌,一個(gè)胖子當(dāng)著我的面吹牛绍些,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播耀鸦,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼柬批,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了袖订?” 一聲冷哼從身側(cè)響起氮帐,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎洛姑,沒想到半個(gè)月后上沐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡楞艾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年参咙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了龄广。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡昂勒,死狀恐怖蜀细,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情戈盈,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布谆刨,位于F島的核電站塘娶,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏痊夭。R本人自食惡果不足惜刁岸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望她我。 院中可真熱鬧虹曙,春花似錦、人聲如沸番舆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)恨狈。三九已至疏哗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間禾怠,已是汗流浹背返奉。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留吗氏,地道東北人芽偏。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像弦讽,于是被迫代替她去往敵國(guó)和親污尉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,744評(píng)論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理坦袍,服務(wù)發(fā)現(xiàn)十厢,斷路器,智...
    卡卡羅2017閱讀 134,628評(píng)論 18 139
  • 我想為你唱支歌捂齐,姑娘 夜色美好蛮放,如你一般模樣 你在那個(gè)城市過得好么,姑娘 會(huì)不會(huì)有人撫慰你的憂傷 我過得挺不錯(cuò)的奠宜,...
    知亦不知閱讀 192評(píng)論 0 0
  • 1.在模塊中定義常量: 在模塊中定義變量需要在當(dāng)前模塊中的Conf文件夾下穿件config,php 下 定義常量...
    起個(gè)名字太費(fèi)勁閱讀 183評(píng)論 0 0
  • 如若包颁,生命的歷程瞻想,用一本書來形容,那么娩嚼,在我的人生書本里蘑险,用波瀾不驚來形容,最為恰當(dāng)岳悟。 閑暇時(shí)佃迄,我時(shí)常慵懶一隅,心...
    一把紙傘碎江南閱讀 421評(píng)論 2 5