timmy / Leaflet 互動地圖應用
0 likes
0 forks
1 files
Last active 10 months ago
此程式使用 Leaflet 建立一個互動地圖,並整合標記群集、地理搜尋、繪圖工具、量測工具及路徑規劃功能。使用者可以在地圖上添加標記、繪製形狀、量測距離,並規劃路線,適用於 GIS 應用和導航服務。
| 1 | <!DOCTYPE html> |
| 2 | <html> |
| 3 | <head> |
| 4 | <title>Leaflet 地圖範例</title> |
| 5 | <meta charset="utf-8" /> |
| 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 7 | <link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css" /> |
| 8 | <link rel="stylesheet" href="https://unpkg.com/leaflet-control-geocoder/dist/Control.Geocoder.css" /> |
| 9 | <link rel="stylesheet" href="https://unpkg.com/leaflet-draw/dist/leaflet.draw.css" /> |
| 10 | <style> |
timmy / Leaflet 標記與互動地圖
0 likes
0 forks
1 files
Last active 10 months ago
此範例使用 Leaflet 在 OpenStreetMap 上顯示多個標記,並附加彈出視窗說明不同地點的資訊。地圖支援點擊事件,可顯示使用者點擊的座標,適用於地理資訊應用和旅遊地圖開發。
| 1 | <!DOCTYPE html> |
| 2 | <html> |
| 3 | <head> |
| 4 | <title>Leaflet 地圖範例</title> |
| 5 | <meta charset="utf-8" /> |
| 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 7 | <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.3/dist/leaflet.css" /> |
| 8 | <style> |
| 9 | #map { |
| 10 | height: 600px; |
timmy / 策略模式在購物車計價中的應用
1 likes
0 forks
1 files
Last active 10 months ago
這段程式碼實作「策略模式(Strategy Pattern)」,用於計算購物車的總金額,並允許 根據不同的定價策略(如正常價格或折扣價格) 來計算最終價格。
| 1 | from abc import ABC, abstractmethod |
| 2 | |
| 3 | # 策略介面 |
| 4 | class PricingStrategy(ABC): |
| 5 | @abstractmethod |
| 6 | def calculate_price(self, price): |
| 7 | pass |
| 8 | |
| 9 | # 具體策略類 |
| 10 | class NormalStrategy(PricingStrategy): |
timmy / 策略模式在資料管理中的應用
0 likes
0 forks
1 files
Last active 10 months ago
此範例展示策略模式在 YAML 和 JSON 資料處理中的應用,DataHandlerStrategy 定義通用的讀寫介面,並透過 YamlHandler 和 JsonHandler 來處理不同格式的資料。DataManager 負責管理資料存取,並可動態切換處理策略,提高靈活性與可維護性。
| 1 | import time |
| 2 | import yaml |
| 3 | import json |
| 4 | from abc import ABC, abstractmethod |
| 5 | import streamlit as st |
| 6 | |
| 7 | # 策略介面 |
| 8 | class DataHandlerStrategy(ABC): |
| 9 | @abstractmethod |
| 10 | def read_data(self, path): |
timmy / Streamlit 使用者驗證系統
0 likes
0 forks
1 files
Last active 10 months ago
| 1 | import json |
| 2 | from abc import ABC, abstractmethod |
| 3 | |
| 4 | import streamlit as st |
| 5 | import streamlit_authenticator as stauth |
| 6 | import yaml |
| 7 | |
| 8 | |
| 9 | # 策略介面 |
| 10 | class DataHandlerStrategy(ABC): |
timmy / 使用 PyWebIO 進行即時時間顯示
0 likes
0 forks
1 files
Last active 10 months ago
此範例展示如何使用 PyWebIO 及 JavaScript 顯示即時更新的時間。透過 put_html() 方法嵌入 HTML 和 JavaScript,並使用 setInterval() 讓時間每秒更新一次,使 PyWebIO 應用能夠提供更動態的用戶體驗。
| 1 | from pywebio import start_server |
| 2 | from pywebio.output import put_html |
| 3 | import datetime |
| 4 | |
| 5 | def use_scope_case3(): |
| 6 | put_html(''' |
| 7 | <div id="time"></div> |
| 8 | <script> |
| 9 | function updateTime() { |
| 10 | document.getElementById("time").innerText = new Date().toLocaleString(); |
timmy / 使用 Streamlit 建立 YAML 員工資料管理系統
0 likes
0 forks
2 files
Last active 10 months ago
此程式使用 Streamlit 讀取、編輯並儲存員工資料至 YAML 檔案,提供直覺化 UI 介面,並支援欄位過濾與年齡篩選,適用於企業資料管理。
| 1 | employees: |
| 2 | - Age: 34 |
| 3 | City: New York |
| 4 | Name: Alice |
| 5 | Occupation: Engineer |
| 6 | Salary: 70000 |
| 7 | - Age: 27 |
| 8 | City: Los Angeles |
| 9 | Name: Bob |
| 10 | Occupation: Doctor |
timmy / 使用 tempfile 建立與管理暫存檔案
1 likes
0 forks
1 files
Last active 10 months ago
此程式使用 tempfile.NamedTemporaryFile 建立暫存檔案,寫入內容並獲取檔案路徑,適用於臨時資料儲存、測試與文件處理應用。
| 1 | import tempfile |
| 2 | |
| 3 | # 使用 NamedTemporaryFile 建立暫存檔案 |
| 4 | with tempfile.NamedTemporaryFile(delete=False) as temp_file: |
| 5 | # 在暫存檔案中寫入一些內容 |
| 6 | temp_file.write(b'Hello, this is a temporary file example.') |
| 7 | |
| 8 | # 獲取暫存檔案的路徑 |
| 9 | temp_file_path = temp_file.name |
timmy / 使用 Streamlit 建立 YAML 編輯器
0 likes
0 forks
1 files
Last active 10 months ago
此程式使用 Streamlit 讓使用者讀取、編輯並儲存 YAML 文件,透過 pandas 轉換為表格格式,適用於設定檔管理與資料編輯工具。
| 1 | from io import StringIO |
| 2 | |
| 3 | import pandas as pd |
| 4 | import streamlit as st |
| 5 | import yaml |
| 6 | |
| 7 | |
| 8 | # 定義 YamlHandler 類 |
| 9 | class YamlHandler: |
| 10 | def __init__(self, file_path): |