---
# System prepended metadata

title: 2019 資料科學導論期末專題
tags: [' CSIE', ' NDHU', 2019-1 Introduction to Data Science]

---

---
title: 2019 資料科學導論期末專題
tags: 2019-1 Introduction to Data Science, NDHU, CSIE
lang: zh_tw
---
# 2019 資料科學導論期末專題
## 1. System name 
- GUI 天氣預報查詢
- [github repo](https://github.com/how8570/Tkinter-practice---wttr.in-GUI)

## 2. Motivation 
### Why do you want to develop the system?
- wttr.in 是個 CLI 支援介面下的天氣預報網站，可以酷酷的用 
    ```shell
    curl wttr.in
    或
    wget -0 wttr.in
    ```  
  操作來看到當地的天氣預報
- 可是可能有些 ~~麻瓜~~ GUI 介面用習慣的使用者不會用，但也想要酷酷的。
  所以我寫了這個 ~~垃圾~~ 工具來完成一些人的夢想(大概？)
### Why is the topic (or system) important?
- 因為我想酷酷的看天氣預報(O

## 3. Purpose
- 能夠操作查詢 wttr.in 的 GUI

## 4. Relative work
### What are relative systems and their functions?
- 中央氣象局
    - 有美美的介面可以看
    - 可是他要開瀏覽器，而且沒提供其他地區的查詢

### What are the differences between the related systems with yours? 
- 不用開瀏覽器
- 可以查詢地方資料，只要 google 的到的社區
- 使用其他語言也可以

## 5. System description
- Developed packages (or modules) and tools
    - python
    - 文字編輯器 
        - [VS code](https://code.visualstudio.com/)
    - 版本控制
        - [git](https://git-scm.com/)
- System functions and main techniques
    - 爬蟲
        - [python requests](https://pypi.org/project/requests/)
    - GUI 設計模式
        - [python Tkinter](https://tkdocs.com/)
    - 將 GUI 包成執行黨
        - [pyinstaller](https://pypi.org/project/PyInstaller/)
- Describe the process of development
    - 一開始使用是直接利用 http 中的 get 方法獲得天氣資訊
    - 但她回 response 是 CLI 的 ANSI color 編碼
      可是 Tkinter 不能解碼，色碼會直接噴出來
    - 本來想 regex 處理掉，但發現顏色好像還是留著好了
      同時發現 [網站help](http://wttr.in/:help) 有提供 `.png` response
    - 於是後來就選用圖片了
- How many hours do you spend on this system?
    - 大約 2~3 個工作天，約20小時內
- What percentage have you developed by yourself for this system?
    - 除了天氣的資料來源(不包含爬蟲/parser)，其他全部都是自己完成的。
    - 我想大約 80%
##  6. Conclusion and reflection
- 摁...做了一個玩具，還蠻好玩的，雖然不怎麼樣XD
- 總之大家都可以玩看看就是了

> [name=how8570]