- R2
- Day 1, 11:45‑12:30
- Chinese talk w. English slides
- Best Practices & Patterns
- Intermediate
整合 Slack 與 Docker 搭建 Jupyter 線上程式面試系統
由於最近面試了許多求職者,發現沒有一個好的程式面試系統,由於公司主要應徵資料分析相關職務,因此我們經常使用 Jupyter 來進行程式面試,但是架設 Jupyter 的部分常常需要由我代勞,於是利用了 Docker 環境切割特性,以及 Slack 對 Work Flow 的支援,整合了 Slack Slash Command 與 Docker,構建以 Jupyter 為主的線上程式面試系統。利用簡單的 `/jupyter` 就可以迅速的開啟 Jupyter 環境,搭配 Docker 容器化能夠更有效的達成隨開隨關的便利性,更進一步的實作了許多延伸功能,像是複製環境、全區管理等等,讓公司的 HR 也能輕鬆的開啟環境處理面試相關事宜,目標是成為一套容易使用的程式面試系統。
Talk Detail
### Flow
[Slack] Slash Command
-> [flask] server
-> handle request with [flask-slack]
-> run [Docker] jupyter container
-> if container is ready, send webhook to [Slack]
-> get the url and the token from the deployed jupyter in [Slack]
### Third-party libraries used:
- [Slack] A cloud-based team collaboration tool.
- [Docker] An engine that automates the deployment of applications inside software containers.
- [Flask] A micro web framework written in Python.
- [docker-py] A Python library for the Docker Engine API.
- [flask-slack] A Flask extension which makes it easy to interact with Slack slash commands.
[Slack]: https://slack.com/
[Docker]: https://www.docker.com/
[Flask]: http://flask.pocoo.org/
[docker-py]: https://github.com/docker/docker-py
[flask-slack]: https://github.com/VeryCB/flask-slack
Slides Link
Speaker Information
徐愷
哈囉~我是愷愷,目前在 MoBagel 擔任研發工程師,主要負責系統架構部分,未來想要成為一位出色的架構師,喜歡新科技以及動手玩創意,希望能多多認識大家。