11/9
這一天的行程,早上和同事調整了一下
- 學習design pattern: 加中火力在template method pattern
- 初步了解unit test
- 最後再錄一次Debug講解影片(這部分改到下週,因為要讓自己的大腦有遺忘,再重新連結,才會熟記)
人生就是體驗跟過生活
想要怎樣的人生,端看您想過怎樣的生活,跟想成為怎樣的人
接下來要學習的是
工程師必備技能2 : unit test
單元測試是敏捷開發方法的其中之一
這裡有學習的資源連結
https://www.youtube.com/watch?v=1Lfv5tUGsn8
先從這邊挑出文獻看
這本書是關於Unit Test的書,道行深一點在看
Growing Object-Oriented Software, Guided by Tests
https://www.amazon.com/Growing-Object-Oriented-Software-Guided-Tests/dp/0321503627
**工程師內功心法 ****: **design pattern
需要在短時間內有所成長,所以沒有時間學完全部的內容
因此,我們會加重焦點在於學習template method pattern
學習連結在此:
https://openhome.cc/Gossip/DesignPattern/
這個是我要記錄的Jinja學習連結
在資訊的部分Jinja的名詞叫做Template Engine
http://jinja.pocoo.org/docs/2.10/
Design Pattern
最起始的書籍
推薦書
https://www.books.com.tw/products/0010309237
https://www.tenlong.com.tw/products/9789866761799
只能說書很多,入手之前要先去書店裡買來看
那我們就先從Design Pattern開始吧!
我說,Design Pattern 對軟體工程師而言,就像是在格鬥電玩裡頭所謂的「連續技」(Combo)那樣的東西。
https://zonble.net/archives/2014_04/1607.php
template method pattern
樣板方法模式:將一個演算法的骨架定義在一個方法中,而其中的某些方法定義在次類別中,樣板方法讓次類別可以在不改變演算法架構的情況下,重新定義演算法中的某些步驟。
對於女生最好的理解方法就是這個吧!雖然我本身是懶女人,不太保養QQ
https://dotblogs.com.tw/pin0513/2010/10/03/18072
還有另外一種很好理解的網站
http://monkeycoding.com/?p=977
今天結束了一整天,我利用上面的網站解釋了template method pattern
但同事希望我是一邊寫Code一邊解釋
在同事的帶領下,我學到的利用PyCharm的幾個功能結合template method pattern來寫程式
PyCharm > Refactor > Extract > Method
方法來寫程式,雖然不知道這要怎麼使用
但是在利用這個方法,再結合上面咖啡與茶的例子後,我的程式見聞又新增了一層
今天看到了同事幫我自己擬定的訓練流程
也就是我所稱呼的打開試煉的大門
後端工程師魔鬼訓練參考
熱身指南
-
學習Debug Tool, 並利用Debug工具追蹤程式流程。
-
學習 Design Pattern。 先專注於Template Method Pattern。能舉實例說明,如何演化一段程式為 Template Method Pattern
-
找一個專案程式為範本,試著還原最起始狀態,運用 Template Method Pattern 來演化出一套 Framework
初階工程師技能
-
debug tool 能使用 debug tool 追蹤問題
-
開始接觸與專案相關的 Design Pattern
-
會執行 Unit Testing,並掌過 Arrange, Act, Assert 的 3A 開發節奏
-
學習 refactoring 並能識別 bad smell
專案相關技術學習
- Database
1. MySQL
2. Redis
-
SQL Query & Profiling
-
Docker
-
Python
1. pandas
2. SQLAlchemy
3. requests
專案流程學習
-
在各個環節提問,或找相關人員對他陳述一次理解,以確保接收到的訊息是一致的
-
旁聽時,練習對每個任務的預估,在心中比較與其他人的差異。
-
透過對應的任務,在引導下實作 Test Case 與程式碼
很感謝同事幫我擬定這一套菜鳥進化魔鬼試煉
才剛把第一個練習完後,我已經了解專案,跟工程師到底在幹嘛了QQ
期望進行完這些訓練後,雖然不會變成專家,但能夠先成為初階工程師,為公司帶來效益,分攤工作量。