理查費曼:老爸教過我,記誦事物的名稱並不是真正的知識

理查費曼:老爸教過我,記誦事物的名稱並不是真正的知識
Photo Credit: Depositphotos

我們想讓你知道的是

我那時沒有體認出父親的偉大。他怎會知道這麼深刻的科學原理,了解科學中蘊含的愛、科學背後的意義,以及科學的價值?我從沒認真問過他,因為我以為做父親的本就該知道這些。

「看看這條棕線,」父親說︰「在開始的地方比較細,愈向末端愈寬。這是一種蠅,黃眼睛綠翅膀的藍蠅,牠飛到這片葉子上,產下卵,卵孵化成幼蟲,這毛毛蟲樣的幼蟲一輩子就在吃這片葉子——這是牠的食物來源。牠吃過的地方,留下了棕色斑痕。幼蟲愈長愈大,斑痕愈變愈寬。吃到葉緣,牠已長成成蟲——黃眼睛綠翅膀的藍蠅,飛走了,又到別的葉片上去產卵。」

同樣的,我後來知道他所述的細節不盡確實︰產卵的也許是甲蟲,但他努力向我說明的正是生命中最引人的部分——生命的歷程一再重演。不管過程多麼複雜,重點就是再來一遍!

我那時沒有體認出父親的偉大。他怎會知道這麼深刻的科學原理,了解科學中蘊含的愛、科學背後的意義,以及科學的價值?我從沒認真問過他,因為我以為做父親的本就該知道這些。畢竟我沒和別家父親相處的經驗。

父親教我細心觀察。有一天,我在玩有軌玩具車,車裡放了一顆球。我推動小車前進時,注意到球也在移動。我跑去問父親︰「爸,你看,我推車向前,球卻向車後滾。我一直推,然後猛的停住,球卻滾向車前。這是怎麼回事?」

「沒人知道是怎麼回事,」他說︰「普遍的原理是︰ 移動中的物體傾向於繼續移動,靜止的物體則傾向於靜止不動,除非你用力推。這叫慣性定律,可是誰也不知道為什麼是這樣。」他並不只告訴我名稱,並讓我有深入的了解。

他又說︰「你若從側面看,可以看出你是從後面推動小車向球的方向移,球則靜止不動。事實上,從車與球摩擦的那一剎那起,就地面位置而言,球是向前移動了一點,並沒有後退。」

我跑回小車旁,把球放回車內,推動小車。我從側面觀察,看到事情正如父親所言︰ 就地面關係而言,球是向前移動了一點。

父親就是這樣教導我的。他舉各種例證,多方與我討論——慈愛的、引人入勝的討論,不施壓力。這是我在往後的一生裡追求知識的動力,我因此對所有的科學都深感興趣。(至於我在物理學上較有成就,只是碰巧而已。)

可以說,我好比是在童年時得到過某種好東西的人,便終其一生都想再次得到,我像個孩子,一直在尋找那些好東西,我知道我會找到——也許不是每次都能,但常常會找到。

大約就在那時,一位長我三歲的堂兄正在念中學。他的代數很糟,因此家裡請了家教。長輩們准我坐在旁邊,聽家庭教師講解代數。我聽到他在講X。

我問堂兄︰「你在做什麼?」

「我在求X的值,例如在2X+7=15這個式子裡。」

「那不是4嗎?」

「對,但你是用算術算的,現在要用代數算。」

我慶幸自己不是在學校裡學到代數,而是在閣樓裡發現姑母的舊課本,自己學會的。我領悟到代數的用意就是要求出X值,用什麼方法無關緊要。所謂「代數的方法」不過是一套規則,只要照著做,懂或不懂都可過關。這就是堂兄老學不好的原因。

在我家鄉的圖書館裡,有一套數學書,第一冊是《實用算術》(Arithmetic for the Practical Man),第二冊《實用代數》(Algebra for the Practical Man),第三冊《實用三角》(Trigonometry for the Practical Man)。(我是在這裡學到三角的,但因了解得不透澈,很快就忘了。)十三歲時,圖書館準備買進《實用微積分》(Calculus for the Practical Man)。我早從百科全書裡得知微積分是很重要而有趣的科目,應該要學。

我終於在圖書館裡看到那本微積分,非常興奮,向館員借出,她卻看著我說︰「你還是個孩子,借這本書做什麼?」

我一輩子少有幾次這樣難堪的經驗。我撒了謊,說是幫父親借的。

我把書帶回家,開始自修微積分。在我看來道理相當簡單明白。父親也開始讀這本書,卻看不懂,我努力向他講解。我沒想到他只有這樣的程度,我因此有些困惑不安。這是我第一次知道,在某些方面我已經懂的比他多了。

相關書摘 ▶理查費曼:至今沒有歌者的禮讚之聲,科學的時代還沒有來臨!

書籍介紹

本文摘錄自《你管別人怎麼想:科學奇才費曼博士》,天下文化出版
*透過以上連結購書,《關鍵評論網》由此所得將全數捐贈兒福聯盟

作者:理查.費曼(Richard P. Feynman)
譯者:尹萍、王碧

本書與《別鬧了,費曼先生》齊名,是透析科學奇才費曼博士一生精彩故事的另一門徑。這本書分成兩部分:

第一部描寫對費曼性格形成影響最大的人,他那立志培養出科學家的父親,以及與他相知相惜,常淘氣的要他「你管別人怎麼想」的初戀情人。此外還有費曼的生活感想,充滿感情家書等等。

第二部談到費曼此生最後一次探險——參與美國「挑戰者號」太空梭失事原因調查,充分展現傑出的科學家寬廣的視野,及特殊的思考方式。

你管別人怎麼想
Photo Credit: 天下文化

責任編輯:潘柏翰
核稿編輯:翁世航


猜你喜歡


挖掘雲端開放架構優勢!Amazon EKS高可用性叢集快速部署容器

挖掘雲端開放架構優勢!Amazon EKS高可用性叢集快速部署容器

我們想讓你知道的是

企業如何在 Amazon EKS(Elastic Kubernetes Services)上使用 GitLab 創建自動化部署,減輕人力負擔,提升專案服務運作效率?

所謂現代化智慧 IT,所有工程師最希望的境界,莫過於只要輕鬆點幾下設定,系統就會自動跑起來,管理者再也不用隨時待命在機台旁邊,從此工作悠哉又快樂!儘管這樣情境還沒到來,但隨著敏捷式開發的流行,除了 DevOps 人員,有越來越多開發者將 CI/CD 概念融入到工作流程當中,例如從 build code、執行 unit test、到部署應用程式。

透過 AWS 增加雲端技能 在組織發揮影響力

上述種種反覆步驟自動化執行,也就能提昇服務品質、主動通知開發人員以減輕人力負擔,讓專案服務能持續運作。

其中,GitLab 是執行 CI/CD 常用的工具之一,也是開發者使用程式碼儲存庫的地方。為了讓 GitLab Runner 在雲端快速實踐 CI/CD,《AWS 開發者系列》透過影片分享,如何在 Amazon EKS(Elastic Kubernetes Services)上使用 GitLab 創建自動化部署。

以下節錄工作坊影音內容,幫助開發者快速理解如何運用 Amazon EKS 的高可用性且安全的叢集,將修補、部署節點、更新等關鍵任務,全部做到自動化設定。同時影片也會示範 Amazon EKS 搭配 GitLab 如何展開自動部署,幫助工程團隊實踐 CI/CD 價值。

Amazon EKS 對容器管理輕鬆簡單、維運省時省力

容器化服務越來越興盛,當容器(Container)越來越多,在複雜的微服務(Microservice)系統環境之下,運維團隊的管理成本可能相對會增加不少,為了有效調度容器部署, 導入Kubernetes 無疑是近年企業熱門的話題之一。

建構 Kubernetes Cluster 流主要可區分兩大塊,一是安排容器調度的Control Plane、另一則是容器運行時需要用到的 Worker Node。

Control Plane 裡面涵蓋有儲存狀態的 ETCD、CoController manager 、Scheduler 的調度管理、甚至是操作時進行互動的 APIServer,若是自己創建 的 Kubernetes Cluster ,需要自己安裝這些元件,後續仍需要對 Control Plane 進行相關管理、維護、升級工作。為了減少上述 Components 的繁複維護,在透過 AWS EKS 代管的 Kubernete Control Plane 部可以獲得以下三大好處。

Amazon EKS 一鍵式部署,展現三大優勢

第一,Amazon EKS代管的 Control Plane實踐了跨AZ的高可用部署,使用者不需要擔心單一節點故障的風險。

第二,Amazon EKS 支持至少四個 Kubernetes版本,持續跟進每季 CNCF 的發佈,同時 EKS 也完全符合上游 CNCF 規範。

第三,部署 Amazon EKS 之後,可直接使用 AWS 平台上現成的服務工具,在安全性管理、網路設定方面,可以做到無縫整合。

最後 AWS 台灣解決方案架構師也提到,若想在容器環境進行 CI/CD 及應用程式的管理,可以進一步透過 IaC 整合部署 Amazon EKS 叢集,透過使用 Console、把 EKS 變成 Cloudformation 的模板、使用 AWS 所開發出來的 eksctl.io、或指令是採用 AWS CDK 可以讓開發者用自身熟悉的語言,在 AWS 平台整合 CI/CD 工具進行維運及部署 EKS。

打造第一個在 AWS 上的應用程式

了解 Amazon EKS 整合 GitLab ,獲得三面向價值

對開發者而言,想把 Amazon EKS 整合到 CI/CD 工具之一的 GitLab 平台上,可以看到那些實際的優勢?

在 DevOps 開發者示範工作坊當中,GitLab 資深解決方案架構師指出,GitLab 使用到 Kubernetes 技術,主要有三種搭配方法,包含 GitLab Server、GitLab Runner、以及創建 Deployment Environment。

本次示範教學會主要聚焦在 GitLab Runner 如何採取 Auto-scaled 方式進行 Build、Test、Package Apps;以及在 Deployment Environment 運用 Kubernetes 技術,做到 Auto Deploy、Review App。

正因為 Amazon EKS 能夠在 DevOps 過程提供所需要的彈性計算資源,幫助開發者在 GitLab 平台上面獲得以下三個層次的優勢:

  • 在 GitLab 內建的部署工作流程當中,自動生成整套 CI/CD 最佳實踐腳本。
  • Review App 過程,從 Merge Request 中可直接訪問應用程式 /App 的 UI 介面,並且根據 Git branch 名稱、專案名稱,自動生成 Review App 的 URL,以及在 Merge 前的最後防線進行 Approval 檢查。
  • 加速 CI/CD 流水線,GitLab Runner 運行時候還可藉由 Amazon EKS Cluster 進行 Auto-scaled 的支援。

Amazon EKS 整合 GitLab ,需要兩大流程

影片最後,GitLab 資深解決方案架構師示範如何把 Amazon EKS 整合至 GitLab 執行 Auto Deploy,主要可分為兩大區塊流程,第一部分聚焦在 Amazon EKS cluster 的設置,第二部分則執行 Auto Deploy 設置。

第一塊可拆分為四個階段,首先教學怎麼創建 EC2 節點的 EKS cluster,第二階段示範把 EKS Cluster 連接到開發者的 GitLab Instance、Group 或 Project,下一步則使用 Cluster Management Project Template 創建一個 Cluster Management Project,以及最後一階段透過 Cluster Management Project 自帶的 Helm Chart,安裝在 Cluster 所需要的內建 App。

第二塊執行 Auto Deploy 設置,針對需要部署的 App 創建一個 GitLab Project,接著再把 gitlab-ci.yml 添加到 Project,並從 Web IDE 選擇及導入 Auto Deploy 的 CI 模版,讓 GitLab 自動生成最佳實踐的整套流水線。

幫助開發者更了解 Amazon EKS 整合 GitLab 的 QA 系列

Q:使用 Amazon EKS 之後,如何更有效率或優化資源去配置 Worker Node 的機器數量,以及如何有效空管開發維運的成本?

A:Kubernetes 除了本身有 HPA(Horizontal Pod Autoscaling)可根據使用程度自動調整資源流量,另外也能延伸使用 AWS Auto Scaling 方案,針對可擴展資源去設定自動擴展管理。另外在成本管控,雖然 Amazon EKS 會收取額外管理費用,但可透過 AWS 平台的 Calculato r計算每個 EKS 的價格,你會發現自動化部署及管理的費用,相對工程師人力的成本更加便宜。

Q:越來越多客戶考慮把現有 Application 變成容器部署,大多是爲了加快部署的效率,那麼變成容器模式之後,對 CI/CD 的工作流程有什麽影響嗎?

A:運用容器技術最直接的效果,可以讓應用程式的環境更一致化,例如 testing 環節、stage production,讓容器避開一些差異問題。至於 CD 部分要 delivery 一些 usage 不太一樣的時候,容器會幫忙做配置,所以 CI/CD 對容器的效益是相輔相成的。

Q: 客戶在開發流程漸漸會把 Infrastructure 變成代碼或文檔,是不是可以把程式碼跟現有的應用程式的 CI/CD 流水線整合在一起,達到一套完整的 CI/CD 部署流程?

A:觀察目前市場作法,主要分成兩個階段去做整體部署。如果規模比較小的團隊,會把 Infrastructure 代碼跟 App 代碼分開,在管理上會比較靈活;如果企業規模比較大,會有另外一個 Infrastructure 團隊來控制部署事情,這種情况之下,APP 的項目會生成一個 APP package,主要做到 delivery 這個階段爲止。而 Infrastructure 的項目會指定把需要版本的文檔,部署到他們的 Kubernetes Cluster。

填寫表單 找到適合的快速上雲服務與工具!


猜你喜歡