[Accelerate State of DevOps 2021 快速摘要]
找一些自己有興趣的地方, 快速用 Google 翻譯一下
主要發現
1. 表現最好的人正在成長並繼續提高標準
在我們的研究中,優秀的執行者現在佔團隊的 26%,並且縮短了他們對生產變更的準備時間。該行業繼續加速發展,團隊從中看到了有意義的好處。
2. SRE 和 DevOps 是互補的理念
利用我們的站點可靠性工程 (SRE) 朋友概述的現代運營實踐的團隊報告了更高的運營績效。優先考慮交付和卓越運營的團隊報告了最高的組織績效。
3. 越來越多的團隊正在利用雲,並從中看到了顯著的好處
團隊繼續將工作負載轉移到雲中,而那些利用雲的所有五種功能的團隊會看到軟件交付和運營 (SDO) 性能以及組織性能的提高。多雲的採用也在增加,因此團隊可以利用每個提供商的獨特功能。
4. 安全的軟件供應鍊是必不可少的,也是驅動性能的驅動因素
鑑於近年來惡意攻擊的顯著增加,組織必須從被動實踐轉變為主動和診斷措施。在整個軟件供應鏈中集成安全實踐的團隊快速、可靠和安全地交付軟件。
5. 良好的文檔是成功實施 DevOps 功能的基礎
我們第一次測量了有助於這種質量的內部文檔和實踐的質量。擁有高質量文檔的團隊能夠更好地實施技術實踐並整體表現得更好。
6. 在充滿挑戰的情況下,積極的團隊文化可以減輕倦怠
團隊文化對團隊交付軟件和實現或超越組織目標的能力有很大影響。在 COVID-19 大流行期間,具有生成性 1,2 文化的包容性團隊經歷較少的倦怠。
=========================================================
Technical DevOps capabilities
我們的研究表明,通過採用持續交付進行 DevOps 轉型的組織更有可能擁有高質量、低風險和具有成本效益的流程。
具體而言,我們衡量了以下技術實踐:
• 鬆散耦合架構
• 基於主幹的開發
• 持續測試
• 持續集成
• 使用開源技術
• 監控和可觀察性實踐
• 數據庫更改管理
• 部署自動化
我們發現,雖然所有這些實踐都改進了持續交付,但鬆散耦合的架構和持續測試的影響最大。
例如,今年我們發現,達到可靠性目標的精英執行者採用松耦合架構的可能性是低績效同行的三倍。
松耦合架構 (Loosely coupled architecture)
我們的研究繼續表明,您可以通過努力減少服務和團隊之間的細粒度依賴關係來提高 IT 性能。事實上,這是成功持續交付的最強預測因素之一。使用鬆散耦合的架構,團隊可以相互獨立地擴展、失敗、測試和部署。團隊可以按照自己的節奏前進,小批量工作,減少技術債務,並更快地從失敗中恢復。
持續測試和持續集成
與我們前幾年的發現類似,我們表明持續測試是成功持續交付的有力預測因素。達到可靠性目標的精英執行者利用持續測試的可能性是其 3.7 倍。通過在整個交付過程中結合早期和頻繁的測試,測試人員與開發人員在整個過程中一起工作,團隊可以更快地迭代和更改他們的產品、服務或應用程序。您可以使用此反饋循環為您的客戶提供價值,同時還可以輕鬆整合自動化測試和持續集成等實踐。
持續集成還改進了持續交付。達到可靠性目標的精英執行者利用持續集成的可能性是其 5.8 倍。在持續集成中,每次提交都會觸發軟件的構建並運行一系列自動化測試,這些測試會在幾分鐘內提供反饋。通過持續集成,您可以減少成功集成所需的手動和通常複雜的協調。
持續集成,由 Kent Beck 和它起源的極限編程社區定義,還包括基於主幹的開發實踐,接下來討論。
基於主幹的開發
我們的研究一致表明,高績效組織更有可能實施基於主幹的開發,其中開發人員小批量工作並經常將他們的工作合併到共享主幹中。事實上,達到可靠性目標的精英執行者使用基於主幹開發的可能性是其 2.3 倍。低績效者更有可能使用長期存在的分支並延遲合併。
團隊應該每天至少合併他們的工作一次——如果可能的話,一天多次。基於Trunk的開發與持續集成密切相關,所以你應該同時實現這兩種技術實踐,因為它們一起使用時影響更大。
部署自動化
在理想的工作環境中,計算機執行重複性任務,而人類專注於解決問題。實施部署自動化可幫助您的團隊更接近此目標。當您以自動化方式將軟件從測試轉移到生產時,您可以通過實現更快、更高效的部署來縮短交付週期。
您還可以降低部署錯誤的可能性,這在手動部署中更為常見。當您的團隊使用部署自動化時,他們會立即收到反饋,這可以幫助您以更快的速度改善您的服務或產品。雖然您不必同時實施持續測試、持續集成和自動化部署,但當您將這三種實踐結合使用時,您可能會看到更大的改進。
數據庫變更管理
通過版本控制跟踪更改是編寫和維護代碼以及管理數據庫的關鍵部分。我們的研究發現,與表現不佳的同行相比,達到可靠性目標的精英執行者進行數據庫變更管理的可能性要高 3.4 倍。此外,成功進行數據庫變更管理的關鍵是所有相關團隊之間的協作、溝通和透明度。雖然您可以從特定的實施方法中進行選擇,但我們建議,無論何時您需要對數據庫進行更改,團隊都應在更新數據庫之前聚在一起並審查更改。
監控和可觀察性
與前幾年一樣,我們發現監控和可觀察性實踐支持持續交付。成功實現可靠性目標的精英執行者的可能性是其 4.1 倍
擁有將可觀察性納入整體系統健康狀況的解決方案。可觀察性實踐讓您的團隊更好地了解您的系統,從而減少識別和解決問題所需的時間。我們的研究還表明,具有良好可觀察性實踐的團隊會花更多的時間進行編碼。對這一發現的一種可能解釋是,實施可觀察性實踐有助於將開發人員的時間從尋找問題的原因轉移到故障排除並最終回到編碼上。
開源技術
許多開發人員已經利用開源技術,他們對這些工具的熟悉是組織的優勢。閉源技術的一個主要弱點是它們限制了您將知識傳入和傳出組織的能力。例如,您不能聘請已經熟悉您組織工具的人,開發人員也不能將他們積累的知識轉移到其他組織。相比之下,大多數開源技術都有一個社區,開發人員可以使用它來提供支持。開源技術具有更廣泛的可訪問性、相對較低的成本和可定制性。達到可靠性目標的精英執行者利用開源技術的可能性是其 2.4 倍。
我們建議您在實施 DevOps 轉型時轉向使用更多開源軟件。
source: https://cloud.google.com/devops
同時也有1部Youtube影片,追蹤數超過6萬的網紅錄低香港 DocHK,也在其Youtube影片中提到,思浩大談美國摩根大通銀行,因應反種族歧視,宣布刪除黑名單等術語!(大家真瘋Show 2020) 美國種族歧視爭議持續,並蔓延至金融和科技界。路透社引述知情人士稱,美國最大銀行摩根大通正從其內部技術材料和代碼中刪除「黑名單」、「白名單」、「主」(master)、「從」(slave)等術語,試圖解...
編程代碼 在 Taipei Ethereum Meetup Facebook 的最佳貼文
📜 [專欄新文章] [zkp 讀書會] Cairo 語言介紹
✍️ NIC Lin
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
Cairo 是 STARK 證明系統的其中一個編程語言,讓開發者能透過 Cairo 來使用 STARK,撰寫效能更高的 Dapp
Photo by Simon Berger on Unsplash
Warning:本篇會保持在 high level 的介紹,實際深入的部分請見文內附上的文檔或是官方開發者文件
背景介紹
建構於密碼學的零知識證明能提供計算的隱私性,但同時在區塊鏈生態系也被用來提升 Scalability — 我可以用 10 秒的運算資源來驗證原本耗費 1000 秒運算資源的計算過程
如同更多人熟悉的 SNARK,STARK 也是一個零知識證明的證明系統,但當前的 STARK 著重的是在 Scalability ,而非大家比較習以為常零知識證明提供的隱私性特質
其實目前基於 SNARK 的 Rollup 項目,例如 zkSync、Loopring、Aztec、zkopru,除了 Aztec 外,其他都是利用 SNARK 來增加 Scalability — 這些 Rollup 上資料都還是公開、沒有隱私性的
StarkWare 是目前唯一基於 STARK 的開發團隊
STARK 要加上隱私保護不會太難,只是 StarkWare 還沒有把這項功能放在未來規劃中
Cairo 簡介
標榜為圖靈完備的零知識證明系統語言,Cairo 對原本熟悉 Solidity 的開發者來說還是會感到比較難上手和陌生的。再加上套件庫還不夠充足,目前支援的雜湊函式是 Pedersen,數位簽章演算法是 ECDSA(相對於 SNARK,EdDSA 的效能反而比較差所以沒有支援)。
但 Cairo 還在早期開發的階段,相信開發體驗會越來越好的。
另外需要注意的是作為一個證明系統,會有 Prover 和 Verifier 的角色。而 STARK 的 Verifier 是公開的,但 Prover 軟體預計會有 License 保護。Prover 一般情況下不得用於商業用途,除非將 proof 上傳至官方的 Verifier。
最後要提及的是,第一版的 Cairo 是設計來方便開發者將 Dapp 的運算遷移至鏈下。不同於 Rollup,這個鏈下只會有它自己一個 Dapp。這個 Dapp 的項目方自己維護自己 Dapp 的 state。( Rollup 則是 operator 維護所有 Dapp 的 state,Dapp 開發者不需自己操煩)
這可能有點難懂。如果你有在寫 Solidity,想像一下今天你在合約要用到合約裡宣告的 storage 變數時,你要自己提供 merkle proof 上來,證明這個storage 變數真的是這個值。這個就是開發者要自己維護 state 的意思。
而第二版的 Cairo 則是 StarkNet 裡使用的 Cairo(第一和第二版是不同編譯器),這版的 Cairo 就是作為 Dapp 在 Rollup 開發所使用 — 開發者可以在合約裡宣告變數,變數的值不需開發者維護,可以直接假設存在。
註1:StarkWare 不喜歡 Rollup 這個詞,他們覺得 Data Availability 的需求是一段光譜:不一定得要把 data 全都送上 L1,中間有其他方式可以做不同層級的 Data Availability。
註2:第一版和第二版實際上在官方版本裡是 0.0.1 及 0.0.2,在撰文當前最新版即是 0.0.2
官方網站:https://www.cairo-lang.org
開發者文件:https://www.cairo-lang.org/docs/
開發環境
Cairo 有提供像是 Remix 的瀏覽器 IDE:playground。裡面提供各種範例練習和挑戰,除了可以編譯,還可以直接生成並上傳 proof。
註:但有些功能還是沒辦法在 playground 裡使用,例如要給你的程式 custom input 時。這時候只能在本地端開發才能使用這個功能。
開發 Cairo 要先安裝python,我將開發者文件整理出來的資料統整在這個 hackmd 文檔裡:https://hackmd.io/w690dpAQTsKeKZv3oikzTQ
裡面包含簡介、設置本地開發環境以及 Cairo 基礎(因為篇幅原因,所以不將內容複製到這裡)
註:我把開發者文件裡的代碼整理到這裡:https://github.com/NIC619/cairo_practice/tree/master/practices
如果不想在研究開發者文件過程中,還要自己手動拼湊裡面例子的話,可以直接用整理好的代碼來執行。同時 repo 裡還有包含一些額外自己測試 Cairo 功能的範例。
深入 Cairo
在那份 hackmd 文檔裡的開頭,可以連結到第二部分 — 深入 Cairo 的部分。裡面也是從開發者文件裡擷取出來我覺得比較重要的部分。如果你要讀開發者文件的話,我建議從 Hello Cairo 開始,它會從例子切入,會比較好知道 Cairo 怎麼使用。接著如果要更深入了解,再去讀 How Cairo Works。
StarkNet Cairo
第二版的 Cairo 其實功能和第一版的 Cairo 是差不多的,所以不必擔心在開發者文件裡學到的 Cairo 在 StarkNet 版本會不能用或差很多。在讀完 Hello Cairo/How Cairo works 後,就可以接著看 Hello StarkNet。會很順利的切換到 StarkNet 版本的 Cairo。
註1:我整理的文檔裡是按照第一版 Cairo 所寫的
註2:如果你從開發者文件一路看下來,體驗過非 StarkNet 版的 Cairo,那你在體驗 StarkNet 版的 Cairo 時一定會發現這更像一般智能合約的使用方式 — 你可以用 view 函式查詢 storage 變數,可以用 external 函式去執行合約(非 StarkNet 版本不是這樣操作 Dapp 的,這邊因為篇幅原因沒有詳細介紹)。
非常建議嘗試兩種版本的 Cairo,你會知道 1. 操作一個單獨在 L2 的 Dapp 和2. 操作與其他 Dapp 共存在 Rollup 上的 Dapp 的不同。這對了解 L2 怎麼運行、需要哪些資料、為什麼需要這些資料非常有幫助。
0.0.2 版的 StarkNet Cairo 目前還缺少一些功能:
函式還沒辦法宣告陣列或 struct 型態的參數
合約和合約之間還沒辦法互動
L1 沒有辦法讀取到 L2 的資料,L2 也沒辦法讀取到 L1 的資料。如果要建立跨 L2 Bridge,這個功能非常重要。
補充及個人心得
STARK 的 proof size 相比於 SNARK 系列的 proof size 大很多,又其證明所包含的交易數量對 proof size 和驗證時間的影響不大,所以把很多筆交易一併做一個 proof 會是對 STARK 非常有利、節省成本的方式(SNARK、STARK 比較表)。但這同時也是一個缺點,如果你的 Dapp 或 Rollup 的 TPS 不高,那就只能等更久時間搜集多一點的交易,要不然就只能提高成本來維持驗證 proof 的頻率。
StarkWare和 zkSync 一樣都有 Rollup 宇宙的概念( Rollup 宇宙的用詞並不精確,因為在他們的宇宙中不會所有子鏈都是 Rollup,而是會有依照 Data Availability 程度不同所區分的子鏈,像是 Validium、zk Porter 的設計),個人覺得能夠有(針對 Data Availability 程度的)選擇是會比只有一個選擇(完全 Data Available) 還好的方式,但實際上的可行性就要等其團隊釋出更多的資訊。
在 Rollup 越趨成熟的情況下,能夠提供快速跨 Rollup 服務的流動性提供者的角色會越來越重要。zk Rollup(StarkNet、zkSync、etc…)比 Optimistic Rollup (Optimism、Arbitrum、etc…)有著短上許多的 finalize 時間,這對降低流動性提供者的風險有很大的幫助,但目前 zk Rollup 支援合約功能甚至 L1 <-> L2 互動的完成度都比 Optimistic Rollup 還低上許多。短期內快速跨 Rollup 的服務應該還是侷限在 Optimitic Rollup 之間。
abbrev
[zkp 讀書會] Cairo 語言介紹 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
編程代碼 在 玩遊戲不難,做營運好難 Facebook 的最佳貼文
【新聞觀察🔎】新人入行指南:是當遊戲程序員好、還是遊戲策劃?
這篇文章分享了資深遊戲開發者Jason Weimann根據自己的經歷講述兩個職位之間的差別,
文章內容蠻多的,
建議自己閱讀一下。
總結來說:
✅遊戲程序員需要與遊戲策劃以及製作團隊打交道,拿到他們的想法、文件,把它們變成真正可執行的代碼,讓他們的目標能夠在屏幕上展示出來,並且要可以互動、玩起來有趣。
✅遊戲策劃的本質就是了解各遊戲都有什麽玩法、什麽是有趣的,以及如何讓你打造的遊戲更有趣。
※遊戲程序員就是遊戲技術;遊戲策劃就是遊戲企劃,但我就不特別改了。
我自己覺得可以把遊戲策劃想成是夢想家,而遊戲程序員則是實踐家。
到底想做遊戲程序員還是遊戲策劃,
我建議及早決定,
👉因為牽涉到兩件事情:學習資源與學習成本
以學習資源來說,
開發遊戲的底層邏輯就是寫code,
因此不管是大學科系或是外部課程,
都會有相對完整的授課內容與方法來培養,
你自己或是外部如果想知道你的專業程度,
衡量與辨識都很清楚。
反觀遊戲策劃學習內容則較為發散,
有時候會覺得好像什麼都要懂、但卻什麼都不專精,
想專研所謂的專業,好像也沒有很正規、系統性的方法論能學習,
多是得靠自己摸索出來,
人才培養上很難規模化。
況且就算懂得如何決定玩法、設定角色、規劃數值,
仍不代表能作出一款好遊戲。
作者在內文也提到,
遊戲程序員更容易評估自己的水準,
而遊戲策劃的水平就是個很主觀的話題。
也因為在學習資源上有這樣的差異下,
因此就會有學習成本的問題。
遊戲程序員如果想往遊戲策劃走,
學習門檻會相對低些,
很多獨立遊戲開發者,
其實是在大公司待到厭煩了,
想自己挑戰作一款自己喜歡的遊戲。
但如果是遊戲策劃不想做了,
不見得往技術走會走得順遂,
因為編碼是非常專業的工作,
前期需要投入大量時間學習才能夠落地到實戰階段。
因此內文作者也有提到,
他後來發現遊戲編程是最適合他的,
因為能夠自己去實現遊戲策劃難以實現的想法,
在工作上有更多的靈活性。
最後,
這篇文章主要是遊戲開發的心得分享,
我自己主要的工作經驗都在遊戲代理營運,
如果有興趣可以再看看延伸閱讀囉!
📖原文連結:https://bit.ly/35GygJ9
📖延伸閱讀:遊戲產業職缺介紹
https://bit.ly/3xJlx4u
📖文章同步部落格:https://bit.ly/3iYV0fj
編程代碼 在 錄低香港 DocHK Youtube 的最佳解答
思浩大談美國摩根大通銀行,因應反種族歧視,宣布刪除黑名單等術語!(大家真瘋Show 2020)
美國種族歧視爭議持續,並蔓延至金融和科技界。路透社引述知情人士稱,美國最大銀行摩根大通正從其內部技術材料和代碼中刪除「黑名單」、「白名單」、「主」(master)、「從」(slave)等術語,試圖解決公司內部的種族主義問題。
消息人士稱,這些術語存在於該行的一些技術政策、標準和控制程序中,以及運行某些流程的編程代碼中。
相關影片:
1. 思浩大談美國疫情嚴重,妻子為見失智症老公,自願去老人院洗碗陪伴! (大家真瘋Show 2020) (https://www.youtube.com/watch?v=hr4HzA7gVrw)
2. 思浩大談美國無背景垃圾工人,同事鼓勵下重拾書本,最後獲哈佛大學法學院取錄!(大家真瘋Show 2020) (https://www.youtube.com/watch?v=wd3eqw5s7XU)
3. 思浩大談美國民眾上街抗議,認為被侵犯人生自由,挑戰禁例限聚令同口罩令!(大家真瘋Show 2020) (https://www.youtube.com/watch?v=8j3NLjlLZ48)
#大家真瘋Show #2020 #美國 #StayHome #WithMe #跟我一樣 #宅在家