timmy / SortableJS 巢狀清單拖放排序
0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
本範例展示如何使用 SortableJS 實現可拖放的巢狀清單,允許用戶調整層級結構與順序,適用於 層級式資料管理、分類管理、階層式 UI 排序 等應用。
| 1 | <!DOCTYPE html> |
| 2 | <html lang="zh-TW"> |
| 3 | <head> |
| 4 | <meta charset="UTF-8"> |
| 5 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 6 | <title>SortableJS 巢狀清單</title> |
| 7 | <style> |
| 8 | .nested-list { |
| 9 | list-style: none; |
| 10 | padding-left: 20px; |
timmy / SortableJS 多清單拖放排序
0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
本範例展示如何使用 SortableJS 在多個清單之間拖放項目,允許用戶在不同分類間移動內容,適用於 任務管理、拖放式分類、視覺化數據管理 等應用。
| 1 | <!DOCTYPE html> |
| 2 | <html lang="zh-TW"> |
| 3 | <head> |
| 4 | <meta charset="UTF-8"> |
| 5 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 6 | <title>SortableJS 多清單範例</title> |
| 7 | <style> |
| 8 | .container { |
| 9 | display: flex; |
| 10 | gap: 20px; |
timmy / SortableJS 進階拖放排序
0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
本範例展示如何使用 SortableJS 來實現可拖放排序功能,並即時顯示更新後的順序,適用於動態 UI、可視化管理、任務清單與數據重組等應用。
| 1 | <!DOCTYPE html> |
| 2 | <html lang="zh-TW"> |
| 3 | <head> |
| 4 | <meta charset="UTF-8"> |
| 5 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 6 | <title>SortableJS 進階範例</title> |
| 7 | <style> |
| 8 | .list { |
| 9 | list-style: none; |
| 10 | padding: 0; |
timmy / SortableJS 拖放排序
0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
SortableJS 是一個輕量級 JavaScript 函式庫,可讓使用者透過拖放方式重新排序 HTML 清單項目,適用於動態 UI、可視化管理及交互式應用。
| 1 | <!DOCTYPE html> |
| 2 | <html lang="zh-TW"> |
| 3 | <head> |
| 4 | <meta charset="UTF-8"> |
| 5 | <title>SortableJS 範例</title> |
| 6 | <style> |
| 7 | .list { |
| 8 | list-style-type: none; |
| 9 | padding: 0; |
| 10 | width: 200px; |
timmy / 使用 FastAPI 進行 API 身份驗證與請求處理
0 лайк(-ов)
0 форк(-ов)
3 файл(-ов)
Последняя активность 1 year ago
| 1 | from fastapi import FastAPI, Header, HTTPException |
| 2 | |
| 3 | app = FastAPI() |
| 4 | |
| 5 | @app.get("/secure-data") |
| 6 | async def secure_data(api_key: str = Header(None)): |
| 7 | if api_key != "my_secure_token": |
| 8 | raise HTTPException(status_code=401, detail="無效的 API 金鑰") |
| 9 | return {"message": "驗證成功,提供安全數據"} |
timmy / 使用 hashlib 進行哈希運算
0 лайк(-ов)
0 форк(-ов)
4 файл(-ов)
Последняя активность 1 year ago
| 1 | import hashlib |
| 2 | |
| 3 | data = "Hello, World!".encode() # 轉換為位元組 |
| 4 | hash_object = hashlib.sha256(data) |
| 5 | hash_hex = hash_object.hexdigest() |
| 6 | |
| 7 | print(f"SHA-256 雜湊值: {hash_hex}") |
timmy / 使用 uuid4 產生唯一識別碼(UUID)
0 лайк(-ов)
0 форк(-ов)
4 файл(-ов)
Последняя активность 1 year ago
uuid4 產生隨機的 UUID,可用於 唯一識別碼生成、資料庫鍵值、API Token、交易 ID 等場景,確保不重複且難以預測。
| 1 | from uuid import uuid4 |
| 2 | |
| 3 | # 產生 UUID4 |
| 4 | unique_id = uuid4() |
| 5 | |
| 6 | print(f"UUID4: {unique_id}") |
| 7 | print(f"UUID4(字串格式): {str(unique_id)}") |
timmy / 使用 contextmanager 建立自訂上下文管理器
0 лайк(-ов)
0 форк(-ов)
3 файл(-ов)
Последняя активность 1 year ago
contextlib.contextmanager 可用於建立自訂的 with 語句上下文管理器,適用於 資源管理(如檔案、資料庫連線、鎖定機制),確保進入與退出時執行適當的操作。
| 1 | from contextlib import contextmanager |
| 2 | |
| 3 | @contextmanager |
| 4 | def custom_context(name): |
| 5 | print(f"進入上下文: {name}") |
| 6 | try: |
| 7 | yield name # 提供資源 |
| 8 | finally: |
| 9 | print(f"退出上下文: {name}") |
timmy / 使用 errno 處理標準錯誤代碼
0 лайк(-ов)
0 форк(-ов)
3 файл(-ов)
Последняя активность 1 year ago
errno 提供標準錯誤代碼,適用於 檔案操作、系統調用、例外處理,可提高錯誤訊息的可讀性,並方便比對特定錯誤類型。
| 1 | import errno |
| 2 | import os |
| 3 | |
| 4 | try: |
| 5 | os.remove("non_existent_file.txt") # 嘗試刪除不存在的檔案 |
| 6 | except OSError as e: |
| 7 | if e.errno == errno.ENOENT: |
| 8 | print("錯誤:檔案不存在") |
| 9 | elif e.errno == errno.EACCES: |
| 10 | print("錯誤:權限不足") |
timmy / 卸載與彈出外接 USB 裝置腳本
0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 year ago
此腳本可自動尋找、卸載並彈出所有外接 USB 裝置,確保安全移除磁碟並避免資料損毀。
| 1 | #!/bin/bash |
| 2 | # Script to unmount and eject all external USB drives |
| 3 | |
| 4 | # 找到所有外接裝置並處理 |
| 5 | diskutil list | grep "external, physical" | awk '{print $1}' | while read -r disk; do |
| 6 | echo "Unmounting all volumes on $disk..." |
| 7 | diskutil unmountDisk "$disk" |
| 8 | echo "Ejecting $disk..." |
| 9 | diskutil eject "$disk" |
| 10 | done |