工作一年才知道原來每天在搞 CRUD 資料庫的底層原理是以前學的基礎延伸
也因為懂了這些基礎,更知道在做 performance tuning 時候的方向
學校教的資料結構、演算法、計算機概論,工作真的有用嗎?
如果這也是你的疑問
手刀看影片去 👉 https://youtu.be/-Y_4rOXeqHQ
同時也有1部Youtube影片,追蹤數超過7萬的網紅在地上滾的工程師 Nic,也在其Youtube影片中提到,硬核的知識也許不是每個工程師都能夠在職涯發展中完全運用到,但無論是本科系、轉職、自學成為工程師的朋友,都應該要知道,這些紮實的背景知識提早學習起來,在未來的日子裡,只有好沒有壞。 就透過本影片我的真實經驗分享,告訴你這些我在大學時期看似枯燥乏味的理論,其實就是程式設計內功,而日後沉睡已久的內功卻又...
計算機 概論 有用 嗎 在 Taipei Ethereum Meetup Facebook 的最佳貼文
📜 [專欄新文章] TEM 區塊鏈基礎教育第三階段 — 跨出工程師只會寫 Code 的既有框架
✍️ Phini Yang
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
TEM 區塊鏈基礎教育第三階段 — 跨出工程師只會寫 Code 的既有框架
本課程著重在進入區塊鏈產業所需具備的基礎知識。
區塊鏈技術是橫跨多領域所組成,並又接著在各領域知識的基礎上創新。從網路結構的外觀來看,系統以眾多節點以點對點架構組成,相異於主流日常生活使用網路服務的主從式架構。節點間對資料取得共識的機制也須追溯到分散式系統的研究。
在以太坊以來,客製化虛擬機以進行運算也成顯學,這塊又屬於編譯器的領域知識。不論在共識層或應用層,系統倚賴密碼學的工具。最後利用區塊鏈簿記上的資產進行獎勵或懲罰來讓系統參與者作出行動,需要經濟學上的工具。
即使在五年之前進入區塊鏈圈,要能夠一次把這所有的領域接觸過也非容易。這次課程取得在各自領域專精的講者,把每個領域重要的概念提過,並點出與區塊鏈關聯的重點。
目標並非讓學習者能夠完全掌握所有的領域,而是
降低日後自行學習的障礙,知道可以從哪裡開始看
知道哪些領域有學習者自己領域能夠切入合作的缺口
知道各種領域的瓶頸及前沿研究是什麼。
課程的安排除了前述眾領域的介紹,最後有一門「客戶端原始碼分析」,全節點便是整個抽象共識機制的具體軟體實作,有了前面的基礎,看到程式碼會比較知道背後設計的原因。
為什麼從以太坊開始學?
以太坊鏈上的 Dapp ,不論是在數量或是應用的範圍上,皆遙遙領先其他主鏈。各大主流區塊鏈應用的衍生,也是以以太坊為基礎發展而成。 以太坊目前仍是區塊鏈中最具開源文化的生態系之一,技術支援也是所有公鏈中最完整的,有著最豐富的研究者社群與概念創新。
課程時數與費用
課程將分成三階段,每階段授課 12 小時,形式包含講課與實作。
每一階段 12 小時收費 $4,800 元,早鳥票 $3,600,三人團報價 $3,000/1 人。
課程人數最多 30 人為主,最低開班人數 10 人。
🎁 立馬去購票 🎁
https://www.accupass.com/event/1911150750032715966110
❓有任何問題,請聯繫 Phini Yang (Mail)
以下為每堂課程詳細介紹,以供學員理解:
1. 經濟學原理 — 賽局理論/供需 By 梁智程, 以太坊基金會
為什麼要學習這項課程?
區塊鏈無論是底層協議,或是去中心化應用,系統經常需要設計誘因,並假設系統的多數參與者會依據誘因,做出對自己最有利的行動,利用那樣的行動維持系統運作。
要討論、分析、設計誘因,經濟學上已有累積已久的語言與工具。因此我們常會在區塊鏈的文章中看到從古典的供給與需求[1]、共有財的悲劇[2] 、或是較現代的賽局理論、機制設計、拍賣等術語。
這些觀念可能對無經濟學背景的開發者較難掌握。我會試圖在有限時間之內,介紹主要常用的經濟學概念,並點出有運用到這些概念的相關區塊鏈文獻。我們也會介紹到因為區塊鏈特殊的環境,所產生新的機制設計的挑戰以及機會。
這項技術可運用在哪?
要設計區塊鏈相關系統,通常需要理解經濟學相關知識。
課程大綱
1⃣ 經濟學原理
- 供給與需求
- 外部性與公共財
- 區塊鏈範例:區塊鏈運算資源
2⃣ 賽局
基本定義:玩家、報酬、策略、均衡
非合作賽局 vs 合作賽局
3⃣ 機制設計
- VCG 最佳機制設計
- 區塊鏈範例
第二價拍賣的手續費 [3]
賄賂攻擊 [4]、反機制 [5] 與全知識證明 [6]
- 激進市場範例
平方投票
2. 虛擬機 EVM By 戴宏穎 (海帶), Second State
為什麼要學習這項課程?
虛擬機就像是肝臟,雖然是人體中沈默的器官,但沒有這個元件,整個系統就會失去作用。
對於使用者而言,不論是在 Ethereum 上轉 Ether 、部署合約、或者呼叫合約,基本上都不會注意到有虛擬機的存在。可這個無感的存在卻是合約能夠執行的核心關鍵。如果今天沒有虛擬機,那 Ethereum 就無法撰寫 smart contract 、無法執行 DApp (迷戀貓、去中心化交易所等應用)。
這項技術可運用在哪?
除了是設計有執行合約能力的區塊鏈系統中必備的元件外,理解虛擬機也能幫助我們在裡頭進行效能的最佳化與增加新的特殊功能(產生隨機數、進行 hash 運算等)。
課程大綱
1⃣ 深入淺出 EVM
- 虛擬機概論
- EVM 核心元件
- 理解 EVM 內部的運作過程
2⃣ 實作
- 增加一個新的 opcode magic
- 增加產生隨機數的 opcode rand (EVM 的隨機該怎麼做)
3⃣ Eth 2.0
- Ewasm Virtual Machine
3. 共識機制—PBFT/PoS/Casper FFG By 邱駿, UnityChain
為什麼要學習這項課程?
PBFT(Practical Byzantine Fault Tolerance)誕生至今已逾 20 年。它的發明源於分散式系統中一個著名的共識難題:拜占庭將軍問題(Byzantine Generals Problem)。PBFT 並不是一個針對全開放環境的共識協定 — 事實上在區塊鏈出現之前,並未出現任何一個針對開放環境的拜占庭容錯共識。區塊鏈的橫空出世啟發了研究人員再度審視 PBFT 這個經典。
PBFT 具有一些與區塊鏈截然不同的特性,這提供了改進區塊鏈一些有用的思路,例如以PBFT為基礎建立的權益證明(Proof-of-stake)模型。儘管在區塊鏈蓬勃發展的今日,PBFT這個經典仍然蘊含許多值得研究人員反覆推敲的巧思,其後續也衍生出非常多新協定,例如 Tendermint / HotStuff / Harmony FBFT 等等。
以太坊對權益證明(Proof-of-Stake, PoS)的研究最早可追朔至 2014 年。從此之後,以太坊研究員們便一直朝「實現基於 PoS 的共識協定」此一目標前進。PoS 共識的設計是一個跨領域且相當複雜的問題,其包含計算機科學 / 經濟學 / 密碼學等面向。以太坊擁有區塊鏈生態系中最跨領域的團隊,對 PoS 的研究可以說是相當透徹。
課程大綱
1⃣ 什麼是共識?
- 什麼是狀態機?
- 為什麼需要共識?
- 為什麼共識這麼難?
- 正確的共識:安全性(Safety)與活躍性(Liveness)
- 共識一定可以達成嗎?
2⃣ PBFT 共識協定
- 協定概論
- 安全性與活躍性分析
- 特性分析
3⃣ PoS 共識協定
- 什麼是砍押金/砍押金條件?
- PBFT 最小砍押金條件
- 為什麼 PoS 這麼難設計?
4⃣ Casper FFG
- 協定
- 特性分析
- 改進 PBFT
- 與 Eth 2.0 整合
4. 密碼學原理 — 橢圓曲線/零知識證明 By 吳偉誠 (Kimi), UnityChain
為什麼要學習這項課程?
隱私在現今世界越來越受重視,但是區塊鏈上任何的交易都是公開透明的,要如何在使用區塊鏈的同時又享有隱私,零知識證明是目前最好的解決方案。
這項技術可運用在哪?
零知識證明除了使用在隱私外,也能有效率的驗證資料,進而提高交易速度。
課程大綱
1⃣ 橢圓曲線簡介
2⃣ Shamir’s Secret Sharing 介紹與應用
3⃣ 零知識證明
- 零知識證明簡介
- zk-SNARKs
- 零知識技術的應用與比較
4⃣ 手把手實作
- circom 語法及指令
5. 點對點 p2p 系統 By 賈脈瑄, 以太坊基金會
為什麼要學習這項課程?
區塊鏈本身基於點對點(Peer-to-Peer, 簡稱 P2P)網路。大家都知道共識層的重要,但常常沒意識到網路層的安全也很重要。
P2P 網路的術語及概念本身也很分散,經常散落在網路各處難以系統化的學習。不同的使用情景造就了不同的設計,近年區塊鏈興起,也帶起了和區塊鏈有關的 P2P 系統研究。這門課會帶過 P2P 系統中常用及重要的設計與理由,並介紹區塊鏈系統們怎麼應用這項技術。
這項技術可運用在哪?
實作去中心化網路,譬如區塊鏈網路。不同區塊鏈可以設計特化且有效率的 P2P network。
課程大綱
1⃣ P2P networking 基礎
- 歷史背景
- Overlay
- Requirements for p2p networks
- Unstructured networks
- Structured networks: DHT
- Gossiping
2⃣ 區塊鏈的 P2P networking
- Difference from the classical p2p networks
- Cases study
・Ethereum or Bitcoin
・Ethereum 2.0
- Library: libp2p
6. 客戶端(Geth)原始碼分析 By Miya Chen, AMIS
為什麼要學習這項課程?
Ethereum 擁有非常活躍的開發生態系,以 go-ethereum 為例,透過分析原始碼更加了解 Ethereum 協議運作過程。
這項技術可運用在哪?
根據自身需求客製化模組邏輯,例如:修改 miner 打包 transaction 的順序。
新增 RPC API,例如:subscribe API。
記錄額外的 blockchain 資料,例如:每一個 block 其所有 account balance 和 storage 的差值。
課程大綱
1⃣ Geth 架構介紹
2⃣ 理解 tx pool 運作過程
3⃣ Event subscription 的實作
4⃣ 手把手實作: 客製化 tx pool
課程時數與費用
課程將分成三階段,每階段授課 12 小時,形式包含講課與實作。
每一階段 12 小時收費 $4,800 元,早鳥票 $3,600,三人團報價 $3,000/1 人。
課程人數最多 30 人為主,最低開班人數 10 人。
🎁 立馬去購票 🎁
https://www.accupass.com/event/1911150750032715966110
❓有任何問題,請聯繫 Phini Yang (Mail)
TEM 區塊鏈基礎教育第三階段 — 跨出工程師只會寫 Code 的既有框架 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
計算機 概論 有用 嗎 在 Evonne Tsai - 產品人 Facebook 的最佳貼文
#跨領域到PM
跟朋友聊天常被問到,我是從財金系畢業的,沒有任何技術背景,但是卻能在監控產業擔任大型系統的產品經理,還一路負責越來越大的專案,這些大型專案的技術性一定會越來越強,也有許多專業資深的RD,我是怎麼做到的?
一開始我覺得,我身邊沒有技術背景的PM很多呀?這原本對我來說是稀鬆平常的事情,但仔細一想,當時的確遇到許多困難,只是當年傻傻的一頭熱就衝過去了,再想起我在新創或是在華碩擔任產品經理時,看到身邊有許多優秀的產品經理,也沒有技術背景,但是都有一些共同的人格特質與做法,所以想來分享幾個我在這趟奇幻之旅上學到的東西。
雖然完全沒有技術背景,但有些基礎的關鍵字還是要懂的,這些關鍵字包含兩種:
1. #科技產業的基礎關鍵字:
例如什麼是CPU、記憶體、硬碟,他們是做什麼用的,這些在一般的計算機概論課本就能看到,網路上也都查得到,或是你去找一台筆電的銷售頁面,一定會有地方提到規格(感謝台灣的科技廠商都以硬體規格當作賣點XD),至少規格上面提到的名詞都查過一輪,在日常討論事情的時候就能避免許多問題(不要連USB是什麼都不懂啊~~(茶))
2.和你的產業相關的關鍵字,而且要有 #系統地分析出「關鍵流程」中的關鍵字:
例如我一開始做的是監控產業,我先詳細拆解要完成「監控」這件事,究竟要經過什麼關鍵步驟?例如前端攝影機必須先取得影像,怎麼取得影像?然後影像要傳輸到後端的管理軟體,怎麼傳輸?後續有問題要調閱影像,所以影像要儲存,怎麼儲存?後續怎麼調閱?
然後一項項開始Google,在Google的過程中一定會遇到更多不懂的關鍵字,有些你可以查出來,有些你就可以拿去問人了。
問人有個原則,就是要「由內而外」,也就是先自己Google找答案,然後真的不行,再拿著明確的問題問人,要先問自己同團隊的PM,再不行問自己的主管,真的不行再問熟悉的RD,真的再不行,再問不熟的RD。
這樣的好處是,你幾乎可以避免自己問了笨問題出醜的可能性,畢竟這經過了重重把關,即使真的出醜,也是先在熟的人面前出醜,這些人對你的信任關係比較深,比較不會因為一兩個笨問題,之後就長久覺得妳是個沒sense的PM。
而且這是一種尊重,其實有些RD很願意分享,但你也要讓對方感受到你的誠意,讓他知道你有去Google並詢問過,是真的還不懂,才會「請出大神教學」,而不是什麼簡單問題都問他,不尊重他的時間。
另外,問問題也要找對人,你要非常理解你的團隊夥伴,還有你要問的人「吃哪一套」。我那時很幸運,第一個專案菜鳥PM遇到剛進公司還是第一份工作的菜鳥RD,可能因為對方也是菜鳥,我們有種一起奮鬥的感覺,所以互相詢問幫忙是很自然的事情。
但我也遇過RD是資深老鳥,但是是刀子口豆腐心那種,會先嗆嗆我,但最後還是會用高深莫測的方式點我一下,這時就要保持強健的心智虛心接受,甚至崇拜讚嘆一下(事實上也是真的很崇拜讚嘆啦XD)。無論如何,玻璃心大概是PM最不需要的東西了(PM當久了,玻璃心也能變成防彈玻璃!)。
#善用PM的兩張王牌
善用你手上的資源,要去思考,你手上有什麼牌,可以怎麼用。
做為PM,一般會有兩張王牌:
第一張王牌:#客戶代表
你是「客戶代表」,你更接近市場,你瞭解市場的需求,更清楚RD開發出來的東西會被怎麼使用、他們做的事情有什麼價值。PM講的話人微言輕,但是你可以槓桿用客戶的話施力,我的經驗是,一旦讓RD知道--客戶很喜歡,但是覺得xxx會更好,立刻可以看到他們振奮的眼神,或是好奇:「那如果是這樣這樣,客戶會喜歡嗎?」
但是請做好客戶代表的角色,充分瞭解為什麼有這樣的需求,只告訴他們「客人就是想要這樣」,可能幾次有用,久而久之還是會質疑真實性,或是被認為是學舌鳥,沒有發揮客戶代表的價值。
第二張王牌--你是 #橋王 (喬王)
你更接近老闆與各方利益關係人,所以你更可以「幫他們喬事情」,例如眼看時程就快要來不及,或是bug有點多改不完,PM除了逼開發趕工之外,也要擔起與各方協調的責任,和老闆或客戶喬,例如這一個版本能不能稍微妥協,先做到這樣就好,或是能不能先提供beta版給重要用戶嘗試,但不要大規模release……等等,為雙方爭取資源,並想辦法兼顧各方利益,幾次下來,當你真的有急事要RD幫忙,他們也會相信你是真的喬過了沒辦法,才會去拜託他們,信任就是這樣建立起來的。
#同時要記得轉換思維
有了以上的基礎知識與兩張王牌,一般就可以建立基礎的信任,還有兩個思維其實很重要:
1. #尊重對方的專業,無論懂不懂技術
其實重要的是尊重,我看過懂技術的PM,處處質疑RD可以這樣這樣做,或是講出一秒惹怒RD的話:「這應該很快吧,xxx就好了!」,技術知識可以幫助你不要提出太天馬行空的需求,或是初步判斷需求的可行性與scope,但我會盡量不質疑RD。
然後有人就會問我說,那如果「被RD騙怎麼辦?」我的經驗是,一般RD是會多抓些buffer緩衝,但如果在專案可控的情況下我會接受這件事,畢竟我自己當PM也抓buffer呀(茶),如果時間真的太誇張,或是超出專案時程,可以用幾種方式:
a. 用「#歷史資訊估scope」
例如好奇詢問,上次做的xxx功能跟這次的需求是類似的嗎?時間差距這麼大是因為哪裡有不同呢?一方面從解釋中可以學到東西,或是可以讓RD將他要做的事情拆細,可以討論其中有什麼地方是可以捨棄的,進一步縮短時程。
b. #誇張時程的RD,就找RD主管一起討論schedule
再誇張的RD一般在主管面前也不敢造次(甚至會求表現縮短時程),即使真的抓了誇張的時間,RD主管有經驗可以協助討論技術細節,就能成為你的有力助手。
2. #線下的關係與信任很重要
雖然有人覺得要公事公辦,但很殘酷地,沒有信任,你再怎麼善意都會被扭曲,但有了信任,即使他們有所遲疑,還是會盡量協助,這樣的信任關係除了建立在專案的互動上,線下的關係還是非常有用的,我當時和我的RD們也都是很好的朋友,中午還會一起打橋牌、玩桌遊,在種種互動中建立的信任關係,讓我們在正式討論時更能「對事不對人」,畢竟大家都這麼熟了,這次專案吵架完就算了,中午還是一起打牌打屁呀!
我在韓國的經驗也是這樣,韓國人的文化是,無論在公事或談判桌上多麼針鋒相對,結束後一定一起喝酒,不醉不歸,我真的看過還在會議上拍桌怒罵的兩方,開完會去喝酒,兩方老闆瞬間開開心心互相勸酒聊天,喝到最後還抱在一起喝交杯酒的冏,老闆說,生意不成還是朋友,這樣的心態才能讓他們盡情吵架。
最後,其實「我沒有技術背景,如何成為PM?」這個問題有時候是心理障礙。可以想,PM要對很多關係人,不只是RD,例如有時與合作夥伴簽署合約,要對到的是法務,為什麼你不會擔心自己沒有法律背景,無法跟法務溝通呢?
同樣的,PM也會對到行銷,為什麼不會擔心自己沒有行銷背景呢?其實,只要有用心理解背景知識,讓對方清楚知道自己的需求是什麼,信任會在雙方交換專業,逐步溝通的過程中建立,只要鼓起勇氣虛心接受,拋棄玻璃心,有太多沒有技術背景但成功的專業PM了,相信你也可以!
🔸閱讀全文 >> https://pse.is/JQZZT
現在起至6/28號你可以透買線上預購課程:「產品經理職場學:PM 必修的職涯指南」,學到如何做好專案管理,以及跨部門溝通,讓你蹲好馬步,進一步建立職場品牌。
🔸 好東西就在這,分享給你: https://pse.is/HBYPN
計算機 概論 有用 嗎 在 在地上滾的工程師 Nic Youtube 的最佳解答
硬核的知識也許不是每個工程師都能夠在職涯發展中完全運用到,但無論是本科系、轉職、自學成為工程師的朋友,都應該要知道,這些紮實的背景知識提早學習起來,在未來的日子裡,只有好沒有壞。
就透過本影片我的真實經驗分享,告訴你這些我在大學時期看似枯燥乏味的理論,其實就是程式設計內功,而日後沉睡已久的內功卻又恰巧的在職涯旅途中碰上用處。
章節:
00:00 學這些有用嗎
00:52 我與速成班的距離
04:45 業務增長後的影響
06:36 基本功知識科普
喜歡影片的話!可以幫忙點個喜歡以及分享、訂閱唷!😘
━━━━━━━━━━━━━━━━
⭐ 蝦皮賣場: https://shopee.tw/bboyceo
⭐ instagram (生活日常): https://www.instagram.com/niclin_tw/
⭐ Facebook (資訊分享): https://www.facebook.com/niclin.dev
⭐ Blog (技術筆記): https://blog.niclin.tw
⭐ Linkedin (個人履歷): https://www.linkedin.com/in/nic-lin
⭐ Github: https://github.com/niclin
⭐ Podcast: https://anchor.fm/niclin
━━━━━━━━━━━━━━━━
🌟 任何問題或合作邀約信箱: niclin0226@gmail.com
#資料結構 #演算法 #計算機概論 #前端 #後端 #工程師
