當前位置:首頁 > 嵌入式 > 嵌入式動態(tài)
[導(dǎo)讀]在科技浪潮澎湃、技術(shù)信息撲面而來的今天,一位剛畢業(yè)的大學(xué)生如果足夠勤奮,他可以在兩三個月之內(nèi)掌握一門編程語言,并編寫出像模像樣的軟件,他們的學(xué)習(xí) 速度甚至超過了我

在科技浪潮澎湃、技術(shù)信息撲面而來的今天,一位剛畢業(yè)的大學(xué)生如果足夠勤奮,他可以在兩三個月之內(nèi)掌握一門編程語言,并編寫出像模像樣的軟件,他們的學(xué)習(xí) 速度甚至超過了我們這些老程序員,但是解決問題的能力是無法速成的,只能依靠時間、經(jīng)驗和慘痛的教訓(xùn)歷練而成。有時候還需要靈感和運氣。

問:池老師,我是個不愛互動的人,但是您所有的文章我都看了,非常感謝您的引導(dǎo),我入手了人生第一臺MBP?,F(xiàn)在問題來了,但是找不到更合適的人解答,只能求助于您了,如果您有時間的話。問題是這樣的:我有個32bitunixfile(開啟一個服務(wù)進程),在Mac上執(zhí)行時錯誤提示是:execformaterror,但是在Linux服務(wù)器卻可以執(zhí)行,為何?Mac上有可以運行的方案嗎?期待您的回復(fù),不勝感激。

答:Linux和OSX是不同的操作系統(tǒng),可以嘗試在OSX里重新編譯這個文件。

問:非常感謝!如果沒有文件源碼是不是就只能認命了?

答:可以在Mac上裝Docker,然后對服務(wù)進行端口映射就可以了。

答:茅塞頓開。謝池老師。

以上是我和一位讀者的對話,這位小伙子在拿到答案之后像一縷煙塵一樣消失無蹤,之后再也沒有出現(xiàn)過。

在微信上加了很多MacTalk的讀者之后,經(jīng)常會收到一些奇奇怪怪的問題,關(guān)于職場、關(guān)于選擇、關(guān)于朋友、關(guān)于Mac、關(guān)于技術(shù)等等,不一而足。但是我能回答的卻很少。問題不好沒法回答,問題太復(fù)雜沒法回答,問題領(lǐng)域超出我的認知也沒法回答,耗時太長的問題我也沒時間回答,實在是慚愧的緊。好在偶爾也能夠幫助一些小伙伴解決一些實際問題,心理上略感安慰,比如上面這個問題。

把這段程序員之間的對話翻譯一下,大致是這么個故事:

一位讀者有一個32位的Unix可執(zhí)行文件,可以在某種版本的Linux服務(wù)器上正常運行,運行這個文件作用就是起個進程,開端口,然后與其他程序進行交互。但是這個文件拿到Mac上完全沒辦法運行。就在他趴在Mac上愁腸百結(jié)萬念俱灰的時候,突然想到了「池老師」。不就是這個老家伙把Mac夸的像一朵玫瑰一樣,讓每個程序員都去采摘么?現(xiàn)在扎手了,你不管誰管?于是他給我發(fā)來消息,意思就是管也得管,不管也得管,您看著辦。

我拿到問題一看,不難。Linux和OSX雖然師出同門,都是從老前輩Unix那兒畢業(yè)的,但是后來畢竟各練各的,在Linux編譯好的程序不可能在OSX上用,但是在OSX上重新編譯一下可能就沒事了。我把這個想法告訴了這位程序員,得到的反饋是:對不起哥,沒有源代碼!

我被這個冷酷的回復(fù)震驚了,立刻意識到剛才的想法并不是最優(yōu)解決方案,因為在重新編譯的過程中,各種包的依賴關(guān)系和編譯錯誤足以讓你焦頭爛額,我隨即提供了B計劃:在OSX上安裝Docker,輕量級的容器Docker可以運行各種版本的Linux,把文件扔到Docker里,然后通過主機和Docker之間的端口映射即可輕松解決這一問題。

雖然這里面會涉及很多技術(shù)細節(jié),但是方向是沒有問題的,所以這位程序員立刻表示「茅塞頓開」,然后「biu」的一聲就在屏幕對面消失了,沒有留給我說「不客氣」的機會。

這個問題裝個Linux虛擬機也可以解決,但是虛擬機過于耗費資源,而且不如Docker靈活,所以不是最佳解決方案。Docker是。

做為一個程序員,我們除了要掌握多門程序語言和多種數(shù)據(jù)庫,了解前端技術(shù)、后端技術(shù),通曉網(wǎng)絡(luò)七層架構(gòu),知道TCP/IP三次握手和四次揮手,編寫漂亮的代碼,設(shè)計優(yōu)美的架構(gòu)……之外,我們還要解決研發(fā)、程序運行和產(chǎn)品上線過程中遇到的各種問題,而且被要求以最小的代價來解決問題……我們?nèi)菀讍?

除了編程技巧和程序設(shè)計能力,解決問題的穩(wěn)準狠是衡量一個程序員是否優(yōu)秀的重要因素之一,也是資深技術(shù)人員真正的價值所在。在科技浪潮澎湃、技術(shù)信息撲面而來的今天,一位剛畢業(yè)的大學(xué)生如果足夠勤奮,他可以在兩三個月之內(nèi)掌握一門編程語言,并編寫出像模像樣的軟件,他們的學(xué)習(xí)速度甚至超過了我們這些老程序員,但是解決問題的能力是無法速成的,只能依靠時間、經(jīng)驗和慘痛的教訓(xùn)歷練而成。有時候還需要靈感和運氣。

很多軍迷讀了大量的軍事著作和歷史小說,常常羨慕那些名將的風(fēng)采,并浩嘆自己「生不逢時」。但是名將不是那么容易煉成的。歷史上叱詫風(fēng)云的名將鳳毛麟角,他們親自持刀上陣追擊敵人,見識戰(zhàn)場的慘烈,目睹敵人的尸體,看到戰(zhàn)友被殺,知道被刀看中會流血死去,他們冷酷無情,堅如磐石,在全軍即將崩潰的時候發(fā)現(xiàn)敵人的弱點并進行攻擊,在瞬息萬變的戰(zhàn)場進行決斷,在多次失敗后從無數(shù)士兵的尸體里站起來重新出發(fā)去挑戰(zhàn)那個戰(zhàn)勝你的對手,在所有人對你說「指導(dǎo)員,我們上吧」的時候,堅定的說出那三個字:再等等!

如果你做不到這些,那還是做個最終會被張飛槍挑的小兵吧。

優(yōu)秀的程序員同樣如此,菜鳥常常羨慕高手在談笑之間讓難題灰飛煙滅,而自己卻苦苦思索而不得入門之法,殊不知這些高手同樣經(jīng)歷了名將的那些腥風(fēng)血雨。他們在清晨的微光里編寫代碼,在轟鳴的機房中調(diào)試程序,他們徹夜不眠就是為了解決一個bug,他們要承受數(shù)據(jù)丟失或上線失敗的痛苦,默默吞下眼淚,準備下一次的戰(zhàn)斗。不停的學(xué)習(xí)、實踐和思索,成千上萬個小時之后,高手始成。

同樣的問題,高手的解決思路和小球是截然不同的。一般來說,只要不是世界難題,給足時間、空間和人力,都能解決。如果你遇到問題告訴上級,這個問題交給我了,兩年之內(nèi)搞的妥妥噠,那就不要怪項目組組團把你打出翔來,因為大家要的是分分鐘解決,不是兩年。在這個唯快不破的年代,我們沒有這么多的時間,所以要通過逆向思維、經(jīng)驗教訓(xùn)、輾轉(zhuǎn)騰挪、借力打力等方式以最小的代價快速解決問題。這才是老程序員的價值。

再舉個例子,一個運行良好的線上應(yīng)用在你修改bug增加功能之后重新上線出現(xiàn)了一些莫名其妙的問題,比如占用資源增加或運行一段時間宕機等等,怎么解決?

常規(guī)的做法就是通過閱讀日志、模擬線上環(huán)境和調(diào)試程序來定位錯誤。容易的bug用這些方式基本就能搞定了,但是更隱蔽的bug會耗費大量的時間和人力。更好的方式是什么?

首先,排查是程序問題還是環(huán)境問題,把線上程序恢復(fù)到運行正常時的老版本,如果出現(xiàn)了同樣的問題,那就是生產(chǎn)環(huán)境發(fā)生了改變。如果運行正常,要么是你修改老bug時引入了新bug,要么是新增加的代碼出現(xiàn)了問題。[!--empirenews.page--]

其次,閱讀產(chǎn)品的changelog,根據(jù)代碼提交的時間線構(gòu)建系統(tǒng),通過二分法排查,定位是哪部分代碼引起的問題。

第三,排除了所有的不可能,剩下的無論看起來如何不可能,就是它干的。

以上只是一個簡單的例子,實際的情況可能比這個例子復(fù)雜一百倍,需要我們綜合使用各種方式進行交叉比對和錯誤排查才能解決。這僅僅是遇到問題解決問題,更多的時候是需要你提出問題,并解決問題,那是更高的境界。

很多人學(xué)了那么多編程語言,寫了十幾年程序,最終依然無法做到以最小的代價解決問題,不禁讓人扼腕嘆息。

程序員真正的價值是什么?以最小的代價解決問題!知行合一,方可無敵于天下。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉