※ 引述《p40403 (石頭)》之銘言:
: 我有注意看,在Ford操作面板時都要驗證指紋
: 為什麼權限這兩個字到屠夫那裡就消失了
: 讓host可以控制其他host,這個權限操作至少要主管以上吧,因為是直接修改核心了
: 怎麼看屠夫在操作儀器完全不用指紋驗證
: -----
: Sent from JPTT on my Samsung SM-N930F.
整個Maeve線兩個屠夫對於修改程式這段
只要有點概念或是已經在上班的人都會覺得根本是胡扯
以一般用Git來說 工程師從改code 到能實際施行大概會有下列步驟
Local -> Local commit -> Feature branch -> Local repo -> Production repo
其實還可以繼續細分下去 不過整體上概念大概是這樣
然後中間每一段都可以實施權限管制
比方說也許每個工程師都可以把code拉到自己電腦 但是會計業務之類的就沒辦法
然後Commit的時候檢查是不是真的是該工程師在負責這個Task等等
越往上當然能許可的人越少
所以想要直接從Local -> Production 這種事通常沒幾人有這種權限
以劇中的話大概就是Ford或是Berny有這種能力
像是Revery就是Ford直接繞過 一直到Production才被人發現有這項更新
(俗稱Ninja fix或是ninja coding)
會弄得這麼繁複當然是有很多原因的
記錄是誰哪個時間點做了什麼
Version control
還有一個很重要的原因就是 不希望會出錯的Code太容易進到Production
寫過程式就知道 隨便一個小修改出問題的機率簡直比姚明還高
在Feature Branch之前發現問題 影響可能只有你個人
在Local repo 可能就會影響到整個Team
到Production才發現問題 影響的就會是整間公司
這種情況的成本很高 當然對公司是要能避免就避免
能越早期治療就越好
回過頭來看Felix 其實從他玩小鳥(?)就已經開始不合理了
假設那隻小鳥是內部開發測試用的 不是實際在公園內的鳥
那大概只要能達到Local commit的階段就可以把改的code讓他執行
可是屠夫看起來就只是打雜打掃的 給他們權限拉到原始碼到底是為了什麼?
光這樣想就已經怪怪的 更不用說Felix是屠夫中的新手新手新新手
光上面的問題就會覺得劇中Maeve線根本對軟體開發沒有概念
不過其實還有一個更大的問題
在現實生活中 假設今天所有更新都已經在Production了 經過測試也都沒有問題
那就可以直接送給客戶或是安裝在客戶端了嗎?
當然不會 在游泳池測試能游5公里 不代表丟到海裡還能游5公里
在實際客戶環境中各種想都沒想過的問題都會發生
所以在實際讓客戶使用之前 還會有一個額外的步驟叫Staging
其實就是在客戶的環境中的測試版
Staging看起來會跟客戶用的沒有兩樣 但是實際上客戶還沒有真的使用
等於是做最終測試 有發現什麼問題在客戶感覺到之前先做修正
當然這時候出的問題成本就更高了 而且修正只能靠Hot patch
以劇中季初的最一開始介紹Revery的時候就很像是這情形
更新放到Clementine 這時他就像是Staging host 沒讓他接觸真實Guest
然後工程師觀察他有沒有出什麼問題
基本上Staging跟最上面的開發流程不同 這程序是沒辦法繞過的
一直到通過Staging之後才算是真正的完成更新
所以Felix到底做了什麼事?
他繞過所有上述步驟 直接更新在一個有在工作跟Guest互動的Host
這完全是超Ford趕Bernard
Ford雖然自己私下做了很多Host 可是他還沒直接丟進公園裡跟Guest互動勒
(還沒啦......)
當然是可以體會Maeve線想表達的概念 還有對劇情的重要性
只是手段實在是很粗糙
如果今天Felix發生在其他2流科幻劇也就算了
偏偏Westworld想主打現實 而且其他劇情線又都很精緻
(除了Maeve線都是精英...)
這中間轉換讓我很難調適
更慘的是Maeve線每次都佔大半時間
Felix九成時間都是呆滯流口水的表情
不想抱怨一下真的很難
--
: 我有注意看,在Ford操作面板時都要驗證指紋
: 為什麼權限這兩個字到屠夫那裡就消失了
: 讓host可以控制其他host,這個權限操作至少要主管以上吧,因為是直接修改核心了
: 怎麼看屠夫在操作儀器完全不用指紋驗證
: -----
: Sent from JPTT on my Samsung SM-N930F.
整個Maeve線兩個屠夫對於修改程式這段
只要有點概念或是已經在上班的人都會覺得根本是胡扯
以一般用Git來說 工程師從改code 到能實際施行大概會有下列步驟
Local -> Local commit -> Feature branch -> Local repo -> Production repo
其實還可以繼續細分下去 不過整體上概念大概是這樣
然後中間每一段都可以實施權限管制
比方說也許每個工程師都可以把code拉到自己電腦 但是會計業務之類的就沒辦法
然後Commit的時候檢查是不是真的是該工程師在負責這個Task等等
越往上當然能許可的人越少
所以想要直接從Local -> Production 這種事通常沒幾人有這種權限
以劇中的話大概就是Ford或是Berny有這種能力
像是Revery就是Ford直接繞過 一直到Production才被人發現有這項更新
(俗稱Ninja fix或是ninja coding)
會弄得這麼繁複當然是有很多原因的
記錄是誰哪個時間點做了什麼
Version control
還有一個很重要的原因就是 不希望會出錯的Code太容易進到Production
寫過程式就知道 隨便一個小修改出問題的機率簡直比姚明還高
在Feature Branch之前發現問題 影響可能只有你個人
在Local repo 可能就會影響到整個Team
到Production才發現問題 影響的就會是整間公司
這種情況的成本很高 當然對公司是要能避免就避免
能越早期治療就越好
回過頭來看Felix 其實從他玩小鳥(?)就已經開始不合理了
假設那隻小鳥是內部開發測試用的 不是實際在公園內的鳥
那大概只要能達到Local commit的階段就可以把改的code讓他執行
可是屠夫看起來就只是打雜打掃的 給他們權限拉到原始碼到底是為了什麼?
光這樣想就已經怪怪的 更不用說Felix是屠夫中的新手新手新新手
光上面的問題就會覺得劇中Maeve線根本對軟體開發沒有概念
不過其實還有一個更大的問題
在現實生活中 假設今天所有更新都已經在Production了 經過測試也都沒有問題
那就可以直接送給客戶或是安裝在客戶端了嗎?
當然不會 在游泳池測試能游5公里 不代表丟到海裡還能游5公里
在實際客戶環境中各種想都沒想過的問題都會發生
所以在實際讓客戶使用之前 還會有一個額外的步驟叫Staging
其實就是在客戶的環境中的測試版
Staging看起來會跟客戶用的沒有兩樣 但是實際上客戶還沒有真的使用
等於是做最終測試 有發現什麼問題在客戶感覺到之前先做修正
當然這時候出的問題成本就更高了 而且修正只能靠Hot patch
以劇中季初的最一開始介紹Revery的時候就很像是這情形
更新放到Clementine 這時他就像是Staging host 沒讓他接觸真實Guest
然後工程師觀察他有沒有出什麼問題
基本上Staging跟最上面的開發流程不同 這程序是沒辦法繞過的
一直到通過Staging之後才算是真正的完成更新
所以Felix到底做了什麼事?
他繞過所有上述步驟 直接更新在一個有在工作跟Guest互動的Host
這完全是超Ford趕Bernard
Ford雖然自己私下做了很多Host 可是他還沒直接丟進公園裡跟Guest互動勒
(還沒啦......)
當然是可以體會Maeve線想表達的概念 還有對劇情的重要性
只是手段實在是很粗糙
如果今天Felix發生在其他2流科幻劇也就算了
偏偏Westworld想主打現實 而且其他劇情線又都很精緻
(除了Maeve線都是精英...)
這中間轉換讓我很難調適
更慘的是Maeve線每次都佔大半時間
Felix九成時間都是呆滯流口水的表情
不想抱怨一下真的很難
--
All Comments