timmy / Docker 指令執行工具
1 curtidas
0 bifurcações
2 arquivos
Última atividade 6 months ago
這段程式碼用來在容器內執行命令或顯示傳入參數
| 1 | #!/bin/bash |
| 2 | |
| 3 | CONTAINER_NAME="your_container" # 記得換成你的 container 名稱 |
| 4 | DEFAULT_COMMAND="bash" # 預設指令,請自訂 |
| 5 | |
| 6 | if [ $# -eq 0 ]; then |
| 7 | # 沒帶參數,用預設指令 |
| 8 | docker exec -it "$CONTAINER_NAME" $DEFAULT_COMMAND |
| 9 | else |
| 10 | # 有帶參數,直接執行你傳進來的指令 |
timmy / Caddy 反向代理設定
0 curtidas
0 bifurcações
1 arquivos
Última atividade 6 months ago
這段配置用來處理路徑反向代理和 TLS 憑證,導向指定服務
| 1 | your-domain.com:443 { |
| 2 | # 反代 /service1/* 到 192.168.1.100:8080 |
| 3 | handle_path /service1/* { |
| 4 | reverse_proxy 192.168.1.100:8080 |
| 5 | } |
| 6 | |
| 7 | # 反代 /service2/* 到 192.168.1.101:3000 |
| 8 | handle_path /service2/* { |
| 9 | reverse_proxy 192.168.1.101:3000 |
| 10 | } |
timmy / URL 檢查與權限工具
0 curtidas
0 bifurcações
1 arquivos
Última atividade 6 months ago
這段程式碼用來顯示 Logo、檢查權限並測試網址是否存在
| 1 | #!/usr/bin/env bash |
| 2 | |
| 3 | # ===== 顏色設定 ===== |
| 4 | RED="\033[31m" |
| 5 | GREEN="\033[32m" |
| 6 | YELLOW="\033[33m" |
| 7 | CYAN="\033[36m" |
| 8 | RESET="\033[0m" |
| 9 | |
| 10 | # ===== 專案 Logo(ASCII Art)===== |
timmy / 編輯 DataFrame 的應用
0 curtidas
0 bifurcações
1 arquivos
Última atividade 6 months ago
這段程式碼用來顯示並編輯 DataFrame 資料
| 1 | import streamlit as st |
| 2 | import pandas as pd |
| 3 | |
| 4 | def main(): |
| 5 | # 初始化 session_state |
| 6 | if "data" not in st.session_state: |
| 7 | st.session_state.data = pd.DataFrame({ |
| 8 | "ID": [1, 2, 3], |
| 9 | "Name": ["Alice", "Bob", "Charlie"], |
| 10 | "Age": [25, 30, 35], |
timmy / 自動合併 SSL 憑證鏈檔案 (server, intermediate, root)
0 curtidas
0 bifurcações
1 arquivos
Última atividade 7 months ago
將 server、中間、根憑證合併成完整憑證鏈,輸出固定檔名或自動加日期的檔案,方便伺服器直接使用。
| 1 | # 將伺服器證書、中間證書和根證書合併成一個完整的證書鏈文件 |
| 2 | # server-cert.pem: 伺服器證書,通常由憑證頒發機構 (CA) 簽發,包含伺服器的公鑰和身份資訊 |
| 3 | # intermediate-ca.pem: 中間證書,由中間 CA 簽發,用於建立伺服器證書與根證書之間的信任鏈 |
| 4 | # root-ca.pem: 根證書,由根 CA 簽發,是信任鏈的頂端(通常客戶端已預裝根證書,此處包含僅為完整性) |
| 5 | # fullchain.pem: 輸出文件,包含完整的證書鏈,從伺服器證書到根證書,供伺服器(如 Nginx 或 Apache)使用 |
| 6 | cat server-cert.pem intermediate-ca.pem root-ca.pem > fullchain.pem |
| 7 | |
| 8 | |
| 9 | |
| 10 | # 將伺服器證書、中間證書和根證書合併成一個完整的證書鏈文件,並以當前日期作為文件名的一部分 |
timmy / 簡單實作資料庫依賴注入
0 curtidas
0 bifurcações
1 arquivos
Última atividade 7 months ago
| 1 | from abc import ABC, abstractmethod |
| 2 | |
| 3 | # 定義一個資料庫介面,規定大家都要有 connect 方法 |
| 4 | class IDatabase(ABC): |
| 5 | @abstractmethod |
| 6 | def connect(self): |
| 7 | pass |
| 8 | |
| 9 | # 具體實作 MySQL 版資料庫 |
| 10 | class MySQLDatabase(IDatabase): |
timmy / Flask + Prometheus 快速監控
0 curtidas
0 bifurcações
1 arquivos
Última atividade 7 months ago
使用 Flask 和 Prometheus 客戶端,快速設置基本的應用監控,輕鬆追蹤請求數量和延遲。
| 1 | from flask import Flask, Response |
| 2 | from prometheus_client import Counter, Summary, generate_latest, CONTENT_TYPE_LATEST |
| 3 | import time |
| 4 | |
| 5 | app = Flask(__name__) |
| 6 | |
| 7 | # 自訂 metrics |
| 8 | REQUEST_COUNT = Counter('app_requests_total', 'Total number of requests') |
| 9 | REQUEST_LATENCY = Summary('app_request_latency_seconds', 'Request latency') |
timmy / 更改目錄權限與擁有者
0 curtidas
0 bifurcações
1 arquivos
Última atividade 7 months ago
使用 chown 和 chmod 將資料夾及其內容的擁有者設為 nobody,並設定適當的讀寫執行權限。
| 1 | # 將該資料夾及裡面的所有檔案/子目錄的 owner & group 改成 65534:65534 |
| 2 | # 65534 就是「nobody」的代號,用來指定權限最低的帳號,降低風險。 |
| 3 | sudo chown -R 65534:65534 /path/to/directory |
| 4 | |
| 5 | # 把該資料夾及其所有內容的權限設成 775 |
| 6 | # 表示 owner 與同群組成員可讀寫執行,其他人只能讀與執行 |
| 7 | sudo chmod -R 775 /path/to/directory |
timmy / Flask API 與農曆轉換工具
0 curtidas
0 bifurcações
4 arquivos
Última atividade 7 months ago
結合 Flask 建立 API 服務,提供西曆與農曆的互轉功能,並自動尋找可用端口啟動服務。
| 1 | #!/usr/bin/env python3 |
| 2 | # converter.py |
| 3 | # 用於西曆與農曆互轉,已封裝成類別 |
| 4 | |
| 5 | import os |
| 6 | import json |
| 7 | import argparse |
| 8 | from datetime import datetime |
| 9 | |
| 10 | class Converter: |