本篇文章是個經驗分享系列文,作者探討 Kubernetes 內 15 種不被建議的部署策略與模式。
作者之前曾經撰寫過 Contianer 架構底下的部署模式探討,而本系列文(三篇)則是著重於如何將這些 containers 透過 Kubernetes 給部署到生產環境,總共會探討十五種不推薦的模式,接下來的三篇文章將會介紹各五種不好的模式。
Using containers with the latest tag in Kubernetes deployments
任何 container 的 image 都不應該使用 latest,因為 latest 本身沒有任何意義,這會使得維運人員沒有辦法掌握到底當前部署的版本是什麼,更嚴重的情況適當 latest 搭配 PullPolicy:Always 時會產生更為嚴重的問題。因為 Always 的策略導致每次 Pod 部署時都會重新抓取 image,所以一個 deployment 中,多個使用 latest tag 的 Pod 但是其實使用的 image hash 是不同的。
作者認為比較好的做法有
1. 所有 container image 都是不可修改的,一旦建立就禁止覆蓋,有任何改動就進版
2. 部署用的 image tag 使用有意義的版本名稱
補充: 實際上 pull image 也可以使用 sha256,譬如 "docker pull hwchiu/kubectl-tools@sha256:acfb56059e6d60bf4a57946663d16dda89e12bfb1f8d7556f277e2818680e4c8"
Baking the configuration inside container images
任何 contaienr image 建置的時候應該都要往通用的方向去設計,而不是參雜各種設定在裡面。著名的 12-factor app 裡面也有提到類似個概念,建置好的 image 應該要可以 build once, run everywhere,動態的方式傳入不同的設定檔案,而不是把任何跟環境有關的資訊都寫死
舉例來說,如果 image 內包含了下列設定(舉例,包含不限於)
1. 任何 IP 地址
2. 任何帳號密碼
3. 任何寫死的 URL
作者認為比較好的做法有
1. 透過動態載入的方式來設定運行時的設定,譬如Kubernetes configmaps, Hashicorp Consul, Apache Zookeeper 等
2. 根據不同程式語言與框架甚至可以做到不需要重啟容器就可以載入新的設定
Coupling applications with Kubernetes features/services for no reason
作者認為除了很明確專門針對 Kubernetes 使用,或是用來控制 Kubernetes 的應用程式外,大部分的 應用程式包裝成 Container 時就不應該假設只能運行在 Kubernetes 內。作者列舉了幾個常見的使用範例,譬如
1. 從 K8s label/annotation 取得資訊
2. 查詢當前 Pod 運行的資訊
3. 呼叫其他 Kubernetes 服務(舉例,假設環境已經存在 Vault,因此直接呼叫 vault API 來取得資訊)
作者認為這類型的綁定都會使得該應用程式無法於沒有 Kubernetes 的環境運行,譬如就沒有辦法使用 Docker-compose 來進行本地開發與測試,這樣就沒有辦法滿足 12-factor 中的精神。
對於大部分的應用程式測試,除非其中有任何依賴性的服務是跟外部 Kubernetes 綁定,否則這些測試應該都要可以用 docker-compose 來叫起整個服務進行測試與處理。
服務需要使用的資訊應該是運行期間透過設定檔案,環境變數等塞入到 Container 內,這樣也呼應上述的不要將與環境有關的任何資訊都放入 image 內。
Mixing application deployment with infrastructure deployment (e.g. having
Terraform deploying apps with the Helm provider)
作者認為近年來伴隨者 IaC 概念的熱門,愈來愈多的團隊透過 Terraform/Pulumi 這類型的工具來部署架構,作者認為將部署架構與部署應用程式放到相同一個 Pipeline 則是一個非常不好的做法。
將基礎架構與應用程式同時放在相同 pipeline 可以降低彼此傳遞資訊的困難性,能夠一次部署就搞定全部,然而這種架構帶來的壞處有
1. 通常應用程式改動的頻率是遠大於基礎架構的改變,因此兩者綁在一起會浪費許多時間在架構上
假如部署基礎架構需要 25 分鐘而應用
https://codefresh.io/kubernete.../kubernetes-antipatterns-1/
同時也有3部Youtube影片,追蹤數超過3萬的網紅賴虎玖分飽,也在其Youtube影片中提到,▲Click For More Info▲ 我這禮拜出門的次數已經超越我體能的極限了TAT / 影片有三個重點 壹:亂花錢 貳:我是豬 參:GD粉不要打我 ------------------------------------------------ ♫ MUSIC Apache Tomca...
「apache是什麼」的推薦目錄:
- 關於apache是什麼 在 矽谷牛的耕田筆記 Facebook 的精選貼文
- 關於apache是什麼 在 元毓 Facebook 的最佳解答
- 關於apache是什麼 在 小吃貨的英國生活日記 Facebook 的最佳解答
- 關於apache是什麼 在 賴虎玖分飽 Youtube 的最佳解答
- 關於apache是什麼 在 喬寶 Ciaobao Youtube 的最讚貼文
- 關於apache是什麼 在 鍾達茵Pam Chung Youtube 的最佳貼文
- 關於apache是什麼 在 Apache (2.0) 網頁伺服器 的評價
- 關於apache是什麼 在 [Ubuntu][架站][教學] Apache設定#01. 口語化的Web Server概念 的評價
apache是什麼 在 元毓 Facebook 的最佳解答
【從經濟分析預測台灣蘋果日報三年結束】
本文將從經濟分析中的成本觀念切入,討論為何我認為台灣蘋果日報三年內將被淘汰出局。
這邊要強調的是,傳統經濟學(如Paul Samuelson大名鼎鼎的「Economics」教科書)所教授的「成本」大多錯誤處處且自相矛盾。本文使用的成本觀念謹守「正確的機會成本概念」切入。
1. 同一生產程序有不同產品,收入如何最大化?
Alfred Marshall在1890年經典著作「Principles of Economics」第五卷第六章中提出「joint supply」問題,列舉諸如:羊毛與羊肉、牛皮與牛肉和棉花與棉花籽油都是同一生產程序下會產生的兩種商品,二者間存在固定比率。當牧羊人因用羊毛需求增加而增養綿羊時,羊肉供給也會隨之增加從而影響市價。
現今世界更常見的是汽油與柴油(還有其他油品)之間也存在這種關係。
這使得後來的經濟學家進一步問:如果一個生產程序下會產生多種商品,且不存在固定比率時,收入如何最大化?
答案是:各種商品的平均成本不可求得;但邊際成本可以。收入最大化之道是各種商品邊際價格等於邊際成本;如果引入交易費用概念,則邊際價格與邊際成本的差距不得大過交易費用。
為方便理解,我先以傳統紙媒報紙為例,常見其一個生產程序的產品就包含:不同主題內容的新聞或評論(無體財產)與以印刷與紙張為載體的報章(有體財產),以及廣告。而百年來報紙的收費安排主要有二種極端:一者是以昂貴價格出售,廣告少而內容與印刷均優(如某些極為專業的媒體--如英國金融時報台灣紙本訂購價每日約新台幣$79;經濟學人美國版紙本訂購價單本$3.6美元/台灣零售價$275新台幣);另一者則是give-away papers,如台灣曾流行的捷運免費報,這類報紙完全免費但內容幾乎都是廣告,印刷品質與紙質均低劣。
多數報紙收費安排在二種極端之間。
此外,就我所知的成本結構,台灣若報紙零售價在$10以下者,大概都是只回收了印刷、紙張與運送的費用,「向讀者直接收費」這塊是毫無利潤可言。
經濟學上也透露著:不同的收費安排會影響報紙媒體在終端產品上的呈現,包含內容的長度、深度、廣度、可信賴度與品質,包含廣告數量、呈現方式(如佔版面比率)與廣告品質(純文字廣告亦或聘請世界明星代言且由知名設計師編排之廣告)。
上述經濟原理,放到網路新聞媒體上也是一樣。
2. 邊際生產成本並非為零
我們可以從兩個角度去看線上報紙的生產成本:
a. 從線上訂閱讀者看
傳統經濟學教科書很愛說:「網路世界提供服務的邊際成本趨近於零」。其實這是錯誤的說法。持此說法的學者不但對真實世界認識不清,同時經濟學也不及格。
(1) 如果邊際成本近乎於零,則平均成本曲線不再是U形而也會是趨近於零,則根據經濟學法則,世界上各種網路服務供應商將只有一家完全壟斷,這與真實世界不符。
(2)Google在伺服器與頻寬支出一個會計季度就高達幾十億美元,怎麼看也不像是「邊際成本趨近於零」會產生的費用。
雖然我不是專家,但以我過去架設Linux server以及使用cloud computing services的經驗,上述經濟學者最大的錯誤在於「計量錯誤」。
以Apache網頁伺服器看,一個連線大約會佔伺服器12~35MB記憶體,一張圖片豐富的頁面(假設4MB)大約要吃掉32Mbps頻寬,同時還要考慮CPU響應速度與使用者的單位時間點擊頻率等等。簡單說,即便以一次點擊服務的角度看,邊際成本恐怕都不是趨近於零。當架設的網站流量成長到機器可承受邊緣時,不管我是要升級機器、增加伺服器、增加頻寬,其邊際成本更不是以「每多一位使用者」為邊際單位,而是以上述機器與頻寬的綜合考量為邊際單位。
這是說為了應付一天某幾個時段的高峰使用,我必須備好足夠的運算力與頻寬;但當其他時段在線人數掉下來時,我的運算力與頻寬是閒置但費用依然要支付的。此外,隨著使用者的人數增長過某些門檻,許多小型服務不需要支付的費用或問題也會隨之而生。
這一塊我從香港壹傳媒公開的財務報告中並無法清楚查出,但從其2019年(會計年度結束於2019/3/31)年報記載的「其他營運費用」高達3億港幣(約新台幣11.6億元)可窺知其網路服務相關費用支出應該不低。
我們換個更容易理解的角度:網路服務就像一個個水桶,其內含容量空間是邊際單位總成本。每一位使用者都是顆小乒乓球,球體體積是訂閱費。當一個水桶裝不滿乒乓球時,這個邊際服務單位收入是低於邊際成本的。當使用者量剛好裝滿1個水桶時,邊際成本與邊際收入相符,是前述經濟學原理下收入最大化狀況。但若裝滿1.1個水桶時,則看似更多的使用者其實可能卻是在一個網路服務虧損放大的區段。而且,水桶中的乒乓球數量是每一秒都在變化的。
當然上述形體化的描述只是為了方便理解,真實網路服務提供的成本狀況不完全是這樣。但我希望能幫助讀者理解我想要點出的重點:計量基準並非以「每多一人」為準。以訂閱收入扣除成本為縱軸,以訂閱人數為橫軸,其曲線是非常波動的,一定區間內,訂閱人數增加收入可能反而減少。因此,以台灣每日約4元新台幣或香港每日約$1.68港幣的訂閱價格看,並不見得「高於邊際成本」。
b. 從線上廣告看
吸引讀者靠的是內容,而內容的產生與發佈在線上同樣存在持續的成本投入才做得到。
此外,以我過去與壹傳媒購買廣告的經驗可知,多數廣告套裝(特別線上版)多是以5天為最少單位(當然有例外狀況,這裡我只講普遍而言的現象),週末另外定價。因此再換一個成本角度,從邊際而言我們可以把5天為一個單位將人員費用與行政費用(包含伺服器與頻寬租賃費)以2019年香港壹傳媒的財報做估算,台灣蘋果日報每5天的新聞生產與發佈總成本大約為800萬港元(約$3100萬新台幣)。
綜合二者,如果我們把每五天的新聞內容生產當做是一個生產計畫(production plan),則每單位$3100萬會是直接成本,若來自訂閱與廣告收入無法超過此數字,則蘋果日報面臨的是直接虧損。其中,蘋果日報可以選擇方案一「免費閱讀佐以大量廣告」或方案二「訂閱付費佐以少量廣告」。前者必然會發生減少文章字數、一文拆多文、追求標題黨與廣告滿佈...等等現象;後者則理應要以深度報導或提供競爭對手難以取代的內容來又使付費訂閱者認為物有所值。
3. 從壹傳媒財報見端倪
承第1點所述,當台灣蘋果日報網路版轉為訂閱制後,可見的是網路流量競爭之下必然會有相當幅度下跌(畢竟免費新聞來源充斥且讀者近乎毋須付出轉換成本),這點我們也可以分別從東森集團總裁王令麟的接受訪談間接與Alex網路排名直接得到印證:
「...他認為蘋果在這方面(訂閱制)犯了錯,光以流量來說蘋果從2,200萬下跌剩不到1,000萬。「但是流量事還小,我們(ETtoday)數位廣告營收在去年6月將近7千萬元跟他們伯仲,但今年蘋果已經跌破4千萬,我們數位廣告已經在8千萬往9千萬元走。」就算蘋果擁有付費訂閱用戶,王令麟也認為「台灣市場太小,很難成功。」根據香港壹傳媒9月中公布的公告指出,香港蘋果日報、壹週刊付費人數已經超過84萬人,台灣訂戶人數則未有揭露。」
Alex有關台灣網路媒體流量變化如下:
(圖一 蘋果日報)
(圖二 自由時報)
(圖三 東森新聞)
(圖四 中國時報)
(圖五 聯合報)
我們可以從壹傳媒整體財報(見圖六)看出,在面對Google與FB這類網路廣告巨獸的強力競爭下,從2016年轉盈為虧後,每年虧損額達三、四億港幣,營收更是節節下滑。
根據壹傳媒公布的香港部分84萬人訂閱戶(台灣人數未揭露我認為應該是因為數字遠低於此),其每年訂閱費收入約HK$515M,而2019年度財報顯示整體營收衰退至約HK$1304M以及流量快速下滑來看,恐怕杯水車薪,訂閱收入無法彌補失去的廣告收入將是必然。網站(包含app)流量的下降必然導致蘋果日報在廣告議價權的下降,這意味根據前述經濟學原理,其虧損放大的速度恐快得出乎主事者想像。這點就要等2020年度財報得印證。
4. 上頭成本的租值攤分
接著,我們再換個角度從上頭成本看台灣蘋果日報:
上頭成本是指企業不管生不生產都要付費的成本,對報社而言,場地租金、各種軟硬體設備、記者主編與管理者費用、伺服器開支(如果為承租)與網路頻寬租賃等...,都屬之。
而這些開支是由產品收入扣掉直接成本以上的盈餘累加後應付的,以蘋果日報的狀況這意味著:
a.台灣蘋果日報建構所需的上頭成本很可能與香港蘋果日報一樣甚至更高,因為台灣土地面積是香港的32.7倍。但我們從香港壹傳媒集團財報中得知,台灣蘋果與壹週刊僅佔總營收整體30%。佐以媒體產業的經濟特色 -- 量體夠大平均成本可以掉得很快,但量體越小則平均成本也可以升得飛快。表示台灣分部可貢獻的上頭租值不但小,甚至貢獻的虧損額度恐怕還大過香港。
b.這解釋為何2010年左右,黎智英在台灣努力地希望促成壹電視的開播 -- 因為同一生產程序可以同時出產紙本、網路與電視新聞。而佐以IT科技越發物美價廉的、各種手機攝影與app應用不但逐漸讓單一記者具備多工能力(撰稿、拍攝甚至簡易後製)下,智慧型手機加入下越大量體的受眾可以快速降低壹傳媒在台的邊際成本,從而提高整體獲利能力。
c.這更解釋黎智英為何願意虧損百億元代價執行壹電視計畫(包含近乎免費贈送的樂視通機上盒),因為從經濟分析角度看其戰略思維正確無誤,卻被台灣既有媒體業者、政府管制給卡死。短短三年,於2013年6月就認賠賣給年代集團後,整個蘋果日報內容定位從相對中立轉向極為反中、台獨路線。我認為蘋果日報的定位之轉變,以及黎智英在香港16年佔中運動與19年反送中運動的作為,都源自於上述商業策略執行層面的失敗以及實際所受的經濟虧損。
可是訂閱制於2019年7月上路後,從Alex數字看來台灣蘋果日報希望搶占的市場顯然是輸給了類似定位自由時報。
這一點我建議讀者參考我寫過的「略談旺中投資蘋果日報案(2012/12/05)」一文的第三點:
「...台灣藍綠媒體市場區隔還蠻明顯的。這不是什麼大問題,美國媒體左派(如NYT)、右派(如Fox News)也是壁壘分明;這也不是媒體邪惡,市場導向、利之所趨罷了。
換言之,從經濟分析角度來看,假設A媒體專攻A'市場,B媒體專攻B'市場;今天若A決定轉向B',則其最主要的成本就是必須放棄A'所帶來的盈利。例如男人幫(FHM)今天假如要切入商業周刊的市場,在不推出新報刊雜誌的前提下,其勢必要放棄的是男人幫既有市場的利潤。
從這角度看,一家走中立八卦路線的壹傳媒,假如因為幕後老闆換人而要改走親中國路線的藍色市場,則必然新壹傳媒得失去部分既有客戶的盈利,而這就是壹傳媒轉型的成本。此轉型與前假設例子並無差別。淺顯的道理,連路邊攤小販都懂。而市場觀察告訴我們,頻譜兩端點的觀眾數量相對較少,中間地帶者居多。若蔡衍明等人買下壹傳媒後,將其轉型為深藍媒體,則勢必要面對收入減少;同時,在競爭之下,蘋果與既有深藍媒體(旺旺中時)打起擂台,經濟學告訴我們假若市場結構無太大變化,結果是二者租值都一起降低,首當其衝的損失者是蔡衍明等人。
再想想私有產權,假若有人投資失利,是出於資訊不足、愚蠢或刻意為之,都與非股東的第三人無關。蔡老闆商場征戰多年,如果連這點道理都不懂而產生損失,那也是他自做自受,學生的抗議遊行都顯得無關痛癢。再假設蔡老闆投資壹傳媒的資金來自於中國政府的挹注,則虧損的也是愚蠢或一廂情願的中國政府。
媒體會變一言堂?當然不會。
台灣有既有的深綠媒體(自由時報)。而蔡先生假若真將壹傳媒變成中時,則空出來的市場反倒是可以吸引其他人進入經營。
黎智英來台灣經營蘋果日報與壹週刊,三年內損益兩平開始獲利,顯見這塊市場不但大,還有黎智英的經典前例,大幅降低後來者的訊息費用。故除非市場有大變動,否則有人跳出來收納這塊市場是可以想見的(當然此人也包括蔡老闆本身)。台灣要變一言堂,得透過政府暴力回到過去戒嚴時期才有可能;現在看來,政府要這樣做的成本很高。...」
虧損壓力下的黎老闆被迫走極端內容產品希冀提高獲利是可以想見;但目前看來,似乎兩頭空的終局可能性比較高。
d.以蘋果日報的流動資產快速下降(見圖七),速動比(acid-test ratio)惡化:2018年2.72;2019年1.03;營運淨現金流出更是從2018年的(HK$31M)惡化到2019年的(HK$137M);若非2019年度因賣出廠房資產獲利HK$259.9M,其實帳面虧損會更難看(約HK$599.9M)。所以主事者急於今年改變收費安排,希望增加可預測穩定收入是無可厚非。但承前面的經濟分析所預測:蘋果日報線上版的兩種收費安排均可能發生邊際收入低於邊際成本的分離現象,整體虧損不但無法改善,甚至會擴大得超乎預期。
結論:
從經濟分析看,蘋果日報的收費制度不但無助於改善連年營收下滑與虧損,反而是註定失敗、註定擴大虧損與現金失血的失敗商業模式。
而該公司的流動資產與流動負債狀況不妙,可獲利的固定資產已經出清。在不改變收費安排以及無新資金挹注的前提下,我推估蘋果日報三年內就會離開台灣市場,不管是結束營業或是被併購。(尤其考量黎老闆以三年為時間區段測試一種商業模式的習慣)
文末順便附上成功的網路報紙訂閱制財報:The New York Times(見圖八)
各位可以清楚看到蘋果日報相對NYT,營收與獲利能力的差異。
後記:
此文的判斷大約兩、三個月前就已經形成,但今天才有空寫成文字。作為蘋果日報台灣版最早的讀者(當年在台灣開報時隨報贈送的蘋果我也吃了幾顆);也曾與蘋果日報/壹週刊有相當時間商務往來(每週支付廣告費達七位數);也曾受該社X總宴請日本料理。寫這篇預測文,多少也有點傷感。
不過還是老話一句:掌握正確關鍵侷限條件,經濟學科學性預測的準確率驚人。立此存證,三年後再來印證吧。
最近轉忙,近半年左右沒太多時間寫文更新,特此告知。
http://yuanyu.idv.tw/2019/11/04/%e5%be%9e%e7%b6%93%e6%bf%9f%e5%88%86%e6%9e%90%e9%a0%90%e6%b8%ac%e5%8f%b0%e7%81%a3%e8%98%8b%e6%9e%9c%e6%97%a5%e5%a0%b1%e4%b8%89%e5%b9%b4%e7%b5%90%e6%9d%9f/
apache是什麼 在 小吃貨的英國生活日記 Facebook 的最佳解答
#關於成為工程師這件事 #文長慎入
如果有follow 我之前寫的種種文章,大概就知道我的一些經歷。但這邊還是來快速回顧一下。
大學的時候唸了歷史系,雖說跟分數也有關係,但一部分也是因為我對歷史很有興趣,小時候當所有人都想當老師,或醫生護士這種職業的時候,我總是想說要當那種什麼考古學家~探險家之類的,當然歷史學家跟發明家也是在考量的項目中,長大以後才發現,這好像有點不是現實中可以很容易實現的職業。
很多科目,像是歷史,或者其他社會科學相關的,在台灣畢業以後都非常難找工作,即使你認真向學,決定一路念到博士,也不見得畢業後可以找到教職或博後。即使是商學院畢業出來,在台灣可以做的也很有限,尤其當你是什麼管理學院相關的出來,也不太有機會直接躍升管理職。
台灣的產業其實比很多國家來的少,可以做的工作也有限,大部分都是科技相關,這也造就了台灣過去二三十年的榮光,到現在也一直是科技業為主流。當然科技業變成世界主流已經不是這一兩年的事情,全世界越來越多人想要擠進科技業,因為科技進步導致很多傳統產業面臨倒閉或者被迫改變。
說起來一開始除了自己想要試試看自己到底學不學得會寫程式這件情,再來就是因為不想一輩子領著低薪過著普通OL的日子,加上一直對國外有的憧憬,很想去國外看看外面的世界,體驗國外的生活,尤其是對歐美國家有著美好的想像。
要說當時為什麼做了這種倉促決定,其實大概就只是一個不甘心吧!因為在台灣沒有辦法念研究所,被各大學拒絕以後,就心想乾脆嘗試國外的大學,看有沒有人要我。其實大概就是個背水一戰的概念。
一直以來我都有點,盲目的亂衝。就是想到什麼就決定做什麼,當然有時候我也會變得很膽小,就會想太多,然後不敢前進。可是時常又覺得,應該要強迫自己前進,因為知道自己是個懶惰的人,所以不想辦法把自己帶到那個不得不的情況,自己就會一直怠惰下去。
說起來,一開始我也不是很認真的想要當工程師,也就是半推半就,覺得試試看的心態,身邊也沒有什麼人把這件事情當一回事,這都是到英國念研究所以後,才開始覺得自己可以做些什麼事情。但最近我也在反省,覺得自已以前在研究所也是很混,覺得自己第一年工作真的完全不知道在幹嘛。
最近到了新公司工作以後,發現公司很多人都是轉職的人,有人在媒體業待了十年,有人在金融業,有人從醫療產業,有人從產品經理轉職,大家都非常的認真,比我還要認真許多。
雖然我一直覺得,自己跟其他本科系畢業的人比起來,年紀很大,甚至會覺得自己轉行轉得太晚,有時候也會想說,為什麼自己國高中的時候不自己上網學寫程式,為什麼不好好念數學,這樣可以考個工程相關的科系。
可是在新公司遇到了很多他們以Graduate身份進來的轉職者,真的讓我覺得,其實自己轉的好像也不太晚。當然他們比我有毅力很多,很多人都是Bootscamp出來的,有的人甚至快要40歲了才以一個畢業生的身份進來。
我覺得在英國很好的一點是,這邊有很多公司可能願意收這種,想要轉職工程師的人。這些人有的可能甚至沒有唸過大學。
公司一個跟我一起onboard的資深工程師,他告訴我他沒有唸大學,全是靠自己學的,但網路上有很多開源專案他都是主要貢獻者。我覺得很厲害。
來英國以後我一直在反省自己,覺得有時候就是,自己會過得太安逸,就不太想努力生活,又或者覺得努力的生活好累,我幹嘛要這麼累,甚至會有一種,反正我只要表現得比其他人好就好。
因為一直以來在台灣的生活成長環境,我覺得自己的價值是被社會被周遭的人定義出來的。例如你的學歷,你的工作職稱,你的薪水,你的資產。
有時候我會覺得自己可能是個悲觀的人,又或者是其他人喜歡隱藏自已過得不好的部分?每次我看別人的部落格,或者別人敘述自己的職涯時,總是覺得別人的職涯好像都過得很順遂。
一直以來我都覺得,自己的職涯好像不是很順遂,其實跟很多人比起來好像已經不錯,畢竟有個工程師的工作,還是在國外的工作。可是實際上我都覺得,自己好像是個很差勁的工程師,為什麼自己好像寫出來的code都很爛,為什麼自己好像什麼都不會,為什麼自己好像學東西學得很慢,還有自己就是一個,很怠惰的人。我沒辦法像很多人是,可以一直去摸不同的東西,例如看到個新的東西出來,就馬上想要打開電腦去碰,我也不是那種,遇到一個解不出來的問題就想要一直去解開的人。更不是那種可以一直帶著我愛的電腦,去世界各地旅行,沒事就打開來寫code的人。
所以一直以來,我也時常在懷疑自己,自己是否適合當一個工程師。
這幾年在英國認識了一些朋友,我也一直覺得其他人都很優秀,尤其是當我一個很好的朋友說,他喜歡選擇困難的事情來做的時候,我真的覺得很愧疚,因為一直以來我都在嘗試避免困難的事情,大概也是因為這樣我開始覺得,自己是不是根本不適合當一個工程師,因為我根本不想要做有挑戰性的工作。
可是回顧自己以前在DHL做個海運OP的工作的時候,又覺得自己在那種環境下,很容易疲乏,就是那種,我該學的都已經學玩,然後每天接電話打電話發Email, 遇到的問題也都是用類似的方式去處以就可以解決。我也覺得自己沒辦法就這樣做個十年二十年。
當然那樣的生活還是有好處的,至少你不工作的時候可以全心全意的放空,也不用每天回家還要擔心deadline, 擔心code寫不出來,或者去想到底要怎麼寫,也不用整天擔心新的東西出來,沒辦法跟舊的東西相容,或者是不學新的東西,自己會很快被淘汰掉。
有時候自己也在想,乾脆逃去其他國家寫程式會不會比較好?我們公司因為是全球性的,所以可以調派到其他國家,但是公司說,假設我們去了其他國家可能是senior level, 不代表我們在英國可能一樣是senior, 因為不同國家的科技和技術能力是不同的。這代表說,工程師即使在某個國家做到一定的程度,去其他地方也不代表一樣厲害,所以自己還是要不斷的學習最新的世界趨勢,學習新的科技,不眠不休。這也是為什麼工程師很容易過勞死吧!
以前在台灣一直加班我覺得是身體勞累,但現在我覺得自己比較是心靈上的勞累。我甚至覺得自己應該要早早退休,然後開一個小店之類的,來賣便當。
不過如果現在要我轉去做其他的職業我也不知道要幹嘛。即使都是工程師,都是科技業,也分得很細,尤其在英國都喜歡分門別類。工作到現在快三年,若你要問我我的強項是什麼,其實我也說不太出來,大概就是web 相關的東西吧!所以關於職涯規劃這件事情我也一直在思考。
我認為自己應該至少要有個什麼Machine Learning 的相關知識,然後一些系統設計,或者DevOps的能力跟知識要有。當然,大部分的人可能會問到,在英國如果當工程師,當到一定的歲數會需要轉管離職嗎?其實好像不一定,很多公司的管理職跟技術職都是分開的,也就是說你走管理也不一定會領比較多錢,反正有兩條路讓你選。有的人可能做到退休都是工程師。
在英國工作到現在,其實我還是常常會覺得很不順遂,不管是技術,文化還是語言,應該說也不是不順遂,就是不自然,當然很多可能還是跟我英文不夠好有關係,我雖然可能可以理解90%的內容,可是剩下的10%如果不懂還是讓人感覺煩躁。
當然現在的情況是比剛開始工作好很多了,至少很多技術的東西已經有經驗了。我覺得剛開始轉職並且在英國工作的時候,真的讓人覺得很心累,雖然說也可能是因為我的Team剛好都是英國人,不知道為何,即使是現在的公司,公司很多元化,我被分到的Team也幾乎都是英國人QQ
反正大概就是會有一個時期,或者偶爾在聊天的時候,你覺得別人在講的某個東西,你完全不知道是什麼。你可能就跟著笑這樣。。。或者在講一些專有技術的名詞時,別人可能知道,你卻不知道,就會有一種恐慌。
我自己是覺得這方面有逐漸改善一點點,希望我在現在的公司可以做得比之前好,至少我現在比較聽得懂大家的北方口音。
至於寫程式方面,還是一樣很心累,就有一種,無底洞的感覺,不管你怎麼學都學不夠,學不完。像是跑馬拉松但是永遠到達不了終點的感覺。從我一開始學寫程式到現在還是這樣。
但如果說可以回到以前剛開始學的時候,我想我應該會希望自己看到任何不會的東西都不要跳過。我知道那樣可能會變成學得很慢,可是很多時候,像是我們想要建立一個網站,可能我們會Google,然後就會看到很多建議,例如用WP, 或者推薦你用什麼vue, react, angular, 可是問題來了,即使你會一些基本的JS, 你可以用這些框架或library建一個SPA(一個網站), 你還是不知道它實際上是怎麼運作的。他底層是怎麼跑的。這樣會有什麼問題呢?
當你自己在家裡按照教學做都可以做得很開心,可是當你要改東西,或者在工作的時候,發生了問題,你就不知道該怎麼辦,因為你不知道到底發生了什麼事情,為什麼會報錯。
另一種學習路線是,好,我要學寫程式,然後你就開始去看學習物件導向,學Java, 初學者都是,學寫一個Class, 學習那些型別,然後寫個hello world, 按下那個play 鍵,他就自己開始跑一些東西,然後build好了,你就看到下面的視窗打出hello world, 接著教學就會說,那我們來簡單的寫一些function, 然後你就會寫出一些基本的加法function, 給他int a, int b, 就會跑出a+b的結果。
更進階一點可能會有一些題目是,印星星,或印九九乘法表,或者用Apache web server, 架一個簡單的網站。學一點html, 一點CSS, 一點JS, 讓他看起來漂亮一點。
這個時候你個課程就差不多結束,你也有一個作品。
如果你想要找工作,可能會發現,工作很多考的內容你還是不會,或者你開始工作以後,發現很多東西還是不會。因為前面你做的那些事情都只是,根據指示做,就像你去IKEA買了家具按照那個指示來做,可是傢俱本身都已經切好了,零件也都配給你。今天如果要你自己去工廠買那些材料才切割才做,設計一個櫃子,你也做不出來。
所以問題來了,到底要怎麼樣學寫程式?我覺得大概就是,在做那些教學的時候,去思考,我現在做的每一步,是為什麼,如果不知道,就去Google, 不要貿然的進行。然後做完教學以後,看看自己能不能做出一個跟教學類似但不一樣的網站,最好是可以不要一直看著教學。
可以拿白板或紙,來畫一些圖,想想自己要做什麼,例如我要做一個,賣衣服的網站,我需要什麼東西,或者我要設計一款小遊戲,我要創造幾個角色,要有哪些怪獸,要有哪些關卡。
我自己是沒有去過BootsCamp, 但感覺BootsCamp的訓練都滿扎實的。英國有滿多免費的(雖然大部分是Women in Tech)的,所以想轉職的男生們可能要找付費的。
很多BootsCamp也是保證找到工作的,找不到可能會退錢。或者可以嘗試那種網路上免錢的。
當你開始工作以後,你可能要開始思考,你寫的code乾不乾淨,你有沒有寫測試,甚至你可以嘗試練習TDD(測試驅動開發),思考怎麼樣可以寫出好的程式碼,什麼叫做好的程式碼,越簡單越好,簡單易懂,白話程式碼,如果今天一個不會寫程式的人,可以經過你的解說,看得懂你的code, 那你真的就大成功了。
為什麼說要簡單易懂,因為通常工作以後你寫的code不是只有你自己要看,還有別人要看,甚至一年後的自己要看,之後你是不是還看得懂,例如命名,例如空行,例如有沒有重複的?
像是在工作以後,很多同事會用一些詞彙,例如DRY(don't repeat yourself), 或者網路上也可以找到很多文章,寫說要怎麼樣寫出乾淨的程式碼。除了乾淨以外,還要思考延展性,就像DIY的傢俱,或者書櫃,你一開始可能買了一個兩層櫃,你會希望你如果要變成三層可以加上去。或者是床,沙發,你會希望他們是可以我不佔空間,好收納,或者可以延伸。寫程式你也希望你寫的一些東西是這樣子。例如共用的程式碼,你可以寫一個可以把'2019/12/03' 轉換成 ’兩千零九年十二月三日‘ 的function, 你會希望這個function, 可以被廣為使用,可以是'20191203', '2019,12,03', 進來都會被轉換成文字的寫法這樣,那你要怎麼做?可以先去思考以要做的事情,然後寫出測試
像是在JS很多的測試是非常口語化的
describe('dateConvert', ()=>{
it('should return date using word format', ()=>{
expect(dataConvert('2019/12/03')).toEqual('兩千零
九年十二月三日');
})
})
如果有錯誤請各位糾正
反正工作以後,寫測試變成一件很重要的事情,還有要怎麼寫,因為當其他同事在看你的code的時候,如果你有寫完整的測試,同事也會比較好看得懂你的程式在做什麼
當然,沒有一個開發方法是完美的,也沒有什麼完美的code, 即使寫完了以後,也要檢查看看自己能不能把它變得更好,像是使用 TDD就可以一直加上新的測試,然後去想能不能把它變得更好,去重構。
各位如果有興趣的話也可以買一些書來看,雖然很多書已經出版很久,可是程式設計,跟軟體工程這塊,經典還是經典,可以幫助你了解,為什麼現在我們都用C語言而不是A語言,B語言,為什麼我們大眾使用物件導向來寫程式,不是使用Functional programming.
當你工作越久以後,可能會越容易遇到,你要去選擇你要用的程式語言,你要用的框架,你要用的工具。
有一天我問我的同事,到底要怎麼貢獻開源,他說不要為了貢獻而貢獻,一般都是,你因為自己在用這個開源軟體,遇到了一些問題,所以你去把它改善,或者說你需要一個工具,可是你Google很久發現都沒有,於是決定自己做一個。
雖然我覺得以目前的我來說,還很難達到這種程度,但希望我有一天可以。就像Vue.js的創辦人因為覺得Angular.js不夠好,於是決定把好的部分留下,再加上自己覺得可以讓他變得更好的部分,創造了Vue.js
其實我自己也很害怕去討論這些非常技術的東西,我很怕自己講錯誤導大家哈哈
成為工程師真的需要很強的心臟,因為需要接受很多批評,很多反饋,才可以進步。當然有時候我也很玻璃心,常常因為被其他工程師點出自己的錯誤就心情不好,可是如果都沒有人批評自己,自己大概也不會進步。我想這大概是跟其他工作最大的不同吧!
以前在做海運出口的時候,即使可能做錯也不會一直被講,除非你真的是做了很嚴重的事情,不會你每接一通點話,每寫一封信都有人來看,有人來糾正,有人來說,你Email要怎麼怎麼改,你這樣寫不行。
可是寫程式,你寫出來的每一行code都可能被品頭論足,每一行code都要確保它的質量,當然我知道不是每個公司都有code review, 可因為我一直以來都有這個東西,也導致我覺得壓力滿大的哈哈
不知道分享這些會不會讓大家也覺得壓力大
apache是什麼 在 賴虎玖分飽 Youtube 的最佳解答
▲Click For More Info▲
我這禮拜出門的次數已經超越我體能的極限了TAT
/ 影片有三個重點
壹:亂花錢
貳:我是豬
參:GD粉不要打我
------------------------------------------------
♫ MUSIC
Apache Tomcat - Oh Happy Days
Maxwell Powers - Come over remix
Dan Ganyor - Boogie Blues
Pachyderm - Happy Song
The Cheese Mites - I Want to Be Happy
軟體 iMovie
相機 canon g7x
------------------------------------------------
✉ MORE
IG - https://goo.gl/arnjF1
FB - https://goo.gl/BVslPN
------------------------------------------------
DISCLAIMER
◎ 非合作贊助影片
------------------------------------------------
希望你喜歡這隻影片囉,喜歡的話別忘了訂閱或按個喜歡喔!
/ HOPE YOU ENJOYED AND SUBSCRIBE!
apache是什麼 在 喬寶 Ciaobao Youtube 的最讚貼文
訂閱我的頻道: https://goo.gl/wWDrPU
======================================================
我終於有第一台筆電啦!!!!!! 超級開心
以後實況玩遊戲方面是完全解決啦~ 時不時也都能製作影片
這也是我第一部開箱影片 如果有什麼建議改進的歡迎留言告訴我唷
希望大家能了解到這台筆電~感謝大家見諒囉
======================================================
觀看更多 喬寶 CiaoBao
►Facebook:https://www.facebook.com/ttshow.ciaobao
►Youtube:https://goo.gl/wWDrPU
======================================================
平常我也會上傳很多遊戲的遊玩日常
如果你們喜歡我的影片的話
記得點個喜歡跟分享唷
也不要忘記訂閱我的頻道唷~
apache是什麼 在 鍾達茵Pam Chung Youtube 的最佳貼文
一笑而過 Live@Cafe R&C on 22nd Sept 2010
曲: 鍾達茵
詞: 鍾達茵/吳向飛
一笑而過
什麼都擁有還覺得不夠
想不通也不能猜透
還要埋怨什麼遺憾
所得到的 不能帶走
失去了也算曾經擁有
決絕以後也只能放手
無奈 不等於再不能夠 從頭
C
我一笑而過 不如意時間讓我明白我擁有
不容易得到一個你 還有 還有
不曾有要求 就不會追求
反過來 一無所有
我一笑而過 不論是過了多少不好年頭
痛的全都通通 接受 Oh.......
明白了活下 是快樂源頭 苦苦的拿捏在我手
喋喋不休
缺口
我們在外人眼裡幸福的像從來沒有缺口
不需要面對心酸的曾經擁有
我不想這樣 你明不明白 我不想一味接受
我一直渴望不管是苦是甜是否愛有缺口
都能貼著你的胸口 想不到在一起六年以後
我知道的事還不如 你的朋友
特別鳴謝: Cafe R&C, Xavier Yu, Denise Ho, Mc Luen, AMic Tang, Ako Cheung, Joey Kwok
Recorded by: Amic Tang
演出場地: Cafe R&C 銅鑼灣希雲街22號 G/F, 22-24 Haven Street, Causeway Bay (Tel: 2890 9838) http://www.facebook.com/cafernc?fref=ts
歡迎加入facebook 之大人之音樂Group
Welcome to join "Dai Yan Gi Yum Odd" in facebook
http://www.facebook.com/musicaltoylive
apache是什麼 在 [Ubuntu][架站][教學] Apache設定#01. 口語化的Web Server概念 的推薦與評價
Linux雲端伺服器,用AWS 暸解Apache 與Nginxhttp://progressbar.tw/links/yt2021d13組 ... ... <看更多>
apache是什麼 在 Apache (2.0) 網頁伺服器 的推薦與評價
如果我們用apt-get install apache2 來安裝的話,預設是使用比較有效率的apache2-mpm-worker 套件,它利用執行緒(thread) 來提昇速度,也比較節省記憶體。相對於worker, ... ... <看更多>