---
# System prepended metadata

title: Python 工程師 Roadmap

---

# Python 工程師 Roadmap

* Python 環境管理工具
    * pip
    * pyenv
    * pipenv
    * poetry
* Python Package 製作
    * `setup.py`
    * twine
    * wheel
* git 版本控制
    * github
    * gitlab
* 爬蟲
    * request
    * lxml
    * selenium
* 資料庫
    * 關聯式資料庫 - RDBMS
        * MySQL
        * PostgreSQL
    * 非關連式資料庫 - NoSQL
        * Redis
        * mongodb
    * 時間序列資料庫 - TSDB
        * dolphindb
        * Kdb+
        * influxDB
        * Prometheus
    * Cloud DB
        * Bigquery
* log 系統
    * loguru
    * sentry
    * elk、efk
* 註解
    * typing
    * schema
* 監控系統
    * Prometheus & Grafana 統一的監控儀錶板
    * netdata 機器系統監控
* 測試 
    * 單元測試 unit test
        * pytest 測試框架
        * pytest-mock 測試模擬框架
    * 整合測試 integration testing
* CICD
    * gitlab-ci
    * github-action
    * circleci
* 分散式架構
    * RabbitMQ
    * Celery
    * redis
    * Kafka
    * GCP - Pub/Sub
* 微服務 microservice
    * docker
    * docker-compose
    * docker swarm
    * k8s
* 高效緩存
    * redis
    * GCP - memorystore
* API
    * GET、POST、PUT、DELETE
    * Flask
    * FastAPI
    * swagger.json
    * 壓測
        * apache benchmark
    * 效能分析
        * line_profiler
        * timeit
* Web 後端開發
    * Django
    * MVC
    * MVT
* data pipeline 數據流
    * airflow
    * GCP - Composer
    * ETL
    * ELT
* 雲端
    * linode
    * GCP
    * AWS
* 聊天機器人串接 chatbot
    * telegram
    * slack
* 排程工具
    * apscheduler
    * crontab
* 身分驗證
    * hash
    * jwt
* 視覺化
    * Grafana - 監控系統
    * Redash - 商業分析
    * Superset - 商業分析
* realtime system 即時系統
    * redis 高效緩存
    * pub/sub 發送訊息與接收訊息
    * socket
    * pandas 非常慢，numpy 相對快速
    * Graceful Shutdown 優雅的關閉
    * rolling update
* 程式設計理念
    * 物件導向 OOP
        * SOLID
    * 如何判斷 function 函數太長?
        * https://stackoverflow.com/questions/475675/when-is-a-function-too-long
    * 抽象層、商業邏輯層









