Skip to main content

Python

📄️ Decorator in python3

因為之前始終都看不懂decorator這次剛好用到,所以記錄一下學習跟理解.寫程式很常看到高級技巧裝飾器,@xxxx 這種東西,因為之前都可以用一些方式避開不這樣寫,直到某次在跟別人串程式的時候,為了減少影響範圍,所以選用裝飾器去拿對方 return 的東西在處理一次,而對方也很簡單,只要把裝飾器放上去就可以直接用了,很方便!裝飾器主要應用情境是在不影響對方 function 下,給這個 function 新功能,裝飾器的彈性和可擴展性使其成為 Python 中強大的程式設計工具之一.

📄️ multi-thead introduction in python3

如果你有一個套件,他是 I/O 密集的套件,例如 python 的 request,會對對方 server 請求,且這個時候會 block 住 thread,在這種情況下,你無法使用異步(因為同一 thread 會被 block 住),這時候就可以考慮用 multithread 做加速,concurrent.這邊用python內建套件futures.ThreadPoolExecutor()做示範,也就是用並行執行方式提速,以下就是我自己在應用的其中一段 code,這樣用也要注意速率限制就是!

📄️ Object-Oriented Programming,OOP

因為工作上有些測試機會架在雲端,為了省錢沒有綁定eip,那為了要在每次開機都不用去看新的外部ip然後再改ssh的連線ip,所以程式自動執行以上事情,同時因為管理的過程是適合拿來改成oop風格,所以順便練習oop風格的寫法.以下實作項目 抽象化,就是code開頭在用abc規劃架構多型 因為目前只寫aws的,但是要用到gcp那些也都會使用父輩的VM class,畢竟每一台機器,無論是gcp,azure,aws都會需要 開機 關機 重開等功能.繼承,EC2會繼承至VM架構.封裝 要做到stop, start, restart並加入一些小東西,並把這些東西集合在各個公開介面.另外補充,該程式碼功能主要是拿來再起動ec2後,用程式幫我修改ssh config,避免每次都要自己上去查詢並修改. 基本上把ssh config裡面的host拉出來做變數再帶入寫會更好,不過這邊偷懶就先這樣寫囉.