整合 Slack 與 Docker 搭建 Jupyter 線上程式面試系統

  • R2
  • Day 1, 11:45‑12:30
  • Chinese talk w. English slides
  • Best Practices & Patterns
  • Intermediate

由於最近面試了許多求職者,發現沒有一個好的程式面試系統,由於公司主要應徵資料分析相關職務,因此我們經常使用 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 擔任研發工程師,主要負責系統架構部分,未來想要成為一位出色的架構師,喜歡新科技以及動手玩創意,希望能多多認識大家。