周繼暉

有5年做科學計算的研究經驗和在Linux系統上使用FORTRAN和C開發科學計算軟體並閱讀程式碼。並且有2年在國外(德國)研究經驗和3年的Linux系統管理經驗。

我認為軟體開發就和做物理研究一樣,需要有很深厚的基礎才能開發好的軟體,所以我會在閒暇之餘學習演算法和資料結構,還有計算機和網路概論。並且研究Github知名軟體的原始碼,了解如何應用Design Patterns和Software Architectures還有其底層,比起開發Applications,我更想要開發Frameworks或是Libraries。


研究助理 (台灣大學物理系, 朱時宜教授)


Email: [email protected]

Github: https://github.com/Max-Chou

Bitbucket: https://bitbucket.org/afai97202013/

Linkedin: https://www.linkedin.com/in/chihuichou/

Phone: +886-970-609-748

Frameworks

Spatz

https://github.com/Max-Chou/spatz


Micro-Frameworks with basic features.


WSGI Server

https://github.com/Max-Chou/experiment-server


Simple HTTP/TCP Server.

經驗

研究助理 台灣大學物理系 

Apr 2019 ~ Present

物理研究

開發科學計算程式
我們研究組使用自行開發的程式,我和其他研究員改良現有的方法,使用更少的計算資源和記憶體,使計算時間減少2倍以上。

修改舊的FORTRAN 77程式碼

以前開發程式使用FORTRAN 77,除了無法和最新的編譯器相容,還有記憶體過大的問題,新來的學生和研究員也很少使用FORTRAN 77。所以我和其他人把程式改成C和Python,易於維護也易於開發。


CUDA C 和GPU程式開發

碩士學生時開發過的CUDA C計算程式,使用GPU高度平行的特性減少計算時間,用於電磁學計算和大型計算,以前一個月的計算減少到只要少於7天。


應用機器學習於物理問題

今年(2019 Dec~2020) 我們教授和在普林斯頓大學的訪問學者合作的計畫,開發類神經網路的模型(Restrict Boltzmann Machine和Feed-Forward Neural Network)去解多體的量子力學問題,我主要做開發程式的部份。為了效能,有計劃改使用Darknet C library。


Linux系統管理

設計叢集計算機系統
2019~2020期間陸續汰換一些舊電腦和更新系統,汰換掉舊系統和安裝Slurm Cluster(工作排程和資源分配),能夠有效分配資源給研究員和計算時間。

SQL 資料庫應用

使用SQL資料庫取代傳統的方式管理資料(Plain Text),傳統的方式使用太多硬碟空間和硬體資源,使用資料庫有效減少不必要的資源浪費,我使用PostgreSQL和psql去管理資料庫,我還教一些研究員和學生使用SQLAlchemy Core和Pandas去讀取資料庫。


採購器材和安裝軟體

採買新的機器和新電腦,提供一些建議(硬體和軟體),解決安裝軟體上的問題和更新和疑難雜症。


Web 開發

開發Web界面管理研究資料

2019年秋自學網站開發,可以使用Flask架設中小型網站。簡單的界面去觀察計算和管理的Projects(參數、狀態和時間),自動化執行計算和回報結果。


後端架設

前端設計外包給廠商,我負責後端和架設伺服器,包含基本的登入系統和權限管理。

 

博士研究生 Max Planck Institute for the Physics of Complex Systems, Germany

Oct 2016 ~ Mar 2019

兩年半的研究經歷,指導教授離開德國於美國任職並和Max Planck研究主任討論後,我決定放棄博士學位和回台灣。


研究和開發

開發FORTRAN和C的計算程式,用於解決原子和分子於強場雷射的物理問題。

學歷

台灣大學 應用物理所 碩士

2012 ~ 2014

台灣大學 物理系 學士

2008 ~ 2012

技能


網路應用程式開發

雖然初學Flask半年,但已經熟悉MVC framework和可以自己開發framework,能夠使用Flask相關套件或是自行開發套件。


工具:Flask、Django、Celery、SQLAlchemy、Redis


佈署、作業系統、網路

能夠佈署Applications在Unix、Virtual Machines、PaaS、Containers上,有使用過Docker、Docker Swarm、Kubernetes的經驗。 


工具: CentOS, Ubuntu, AWS, Heroku, Docker


程式開發

有使用C語言和Fortran開發經驗,雖然現在使用Python開發,熟悉基本的Data Structures和Algorithms。目前正在學習Javascript、Golang、Rust,有過去學過C語言的經驗,對於指標和記憶體管理相當熟悉。


 程式語言: Python、C、JavaScript、Go