timmy / 自動安裝與設定 Docker 和 Docker Compose
1 likes
0 forks
1 files
Last active 1 year ago
此腳本自動更新系統、安裝必要套件,下載並安裝 Docker 和 Docker Compose,適用於快速部署容器環境,提高開發與運維效率。
| 1 | #!/bin/bash |
| 2 | |
| 3 | # 更新系統軟體庫 |
| 4 | echo "更新系統軟體庫..." |
| 5 | sudo apt-get update -y |
| 6 | |
| 7 | # 安裝必要套件 |
| 8 | echo "安裝必要套件:apt-transport-https、ca-certificates 和 curl..." |
| 9 | DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null |
timmy / 設定與啟用 en_US.UTF-8 語言環境
1 likes
0 forks
1 files
Last active 1 year ago
此腳本啟用 en_US.UTF-8 語言環境,更新 locale.gen,並將環境變數寫入 .bashrc 以確保設定持久化,適用於國際化與多語系支援。
| 1 | #!/bin/bash |
| 2 | |
| 3 | # 啟用 en_US.UTF-8 語言環境 |
| 4 | echo "啟用 en_US.UTF-8 語言環境..." |
| 5 | sudo sed -i '/^# en_US.UTF-8 UTF-8/s/^# //' /etc/locale.gen |
| 6 | sudo locale-gen |
| 7 | |
| 8 | # 設定語言環境變數 |
| 9 | echo "設定語言環境變數..." |
| 10 | export LANG=en_US.UTF-8 |
timmy / Leaflet 多地點標記與自訂圖示
0 likes
0 forks
1 files
Last active 1 year ago
此範例使用 Leaflet 在 OpenStreetMap 上顯示多個地點標記,並使用自訂圖示來強調特定位置,如台北 101、中正紀念堂和士林夜市。點擊標記可顯示彈出資訊,並支援地圖點擊事件以顯示座標。
| 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 / Leaflet 互動地圖應用
0 likes
0 forks
1 files
Last active 1 year 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 1 year 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 1 year 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 1 year 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 1 year 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 1 year 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(); |