timmy / 磁碟使用量查詢 API

0 likes
0 forks
1 files
Last active 1 year ago
這段程式碼建立了一個簡單的 HTTP 伺服器,透過 /disk-usage API 端點提供磁碟空間使用狀況的查詢功能。使用者可以透過 GET 請求並指定 path 參數來獲取該目錄的總空間、已使用空間、可用空間及使用率,適用於系統監控或遠端管理工具。
1 import json
2 from http.server import BaseHTTPRequestHandler, HTTPServer
3 from urllib.parse import urlparse, parse_qs
4 import shutil
5
6
7 class DiskUsage:
8 def __init__(self, path="/"):
9 self.path = path

timmy / 檢查硬碟空間使用情況

0 likes
0 forks
1 files
Last active 1 year ago
這段程式碼透過 DiskUsage 類別來檢查指定路徑的磁碟空間使用情況,包括總空間、已使用空間、可用空間及使用率,並提供 format_size 方法將數值轉換成人類可讀的格式(如 KB、MB、GB)。適用於系統監控、伺服器管理或儲存資源分析。
1 import os
2 import shutil
3
4 class DiskUsage:
5 def __init__(self, path="/"):
6 """
7 初始化 DiskUsage 類別,指定檢查的路徑(預設為根目錄 /)。
8
9 :param path: 要檢查的檔案系統路徑。
10 """
Last active 1 year ago
這段程式碼建立了一個 WebSocket 伺服器,允許遠端用戶端傳送指令,並在伺服器端執行該指令後回傳執行結果。適用於遠端系統管理、指令控制或測試環境中的即時互動,但因為直接執行來自用戶端的指令,需特別注意安全性風險,如權限控管與輸入驗證,以防止指令注入攻擊。
1 import asyncio
2 import websockets
3 import subprocess
4
5 async def handle_command(websocket, path):
6 try:
7 async for message in websocket:
8 print(f"Received command: {message}")
9
10 # 執行系統指令
Last active 1 year ago
這段程式碼使用 Streamlit 建立一個 WebSocket 測試介面,當使用者按下按鈕時,會透過 WebSocket 用戶端向伺服器發送訊息,並顯示伺服器的回應。同時,它會在背景啟動 WebSocket 伺服器(如果尚未啟動),允許用戶端與其通訊,適用於即時通訊測試、開發 WebSocket 服務或簡單的雙向訊息傳遞應用。
1 import asyncio
2 import websockets
3 import streamlit as st
4 import threading
5 import socket
6
7 # Function to check if a port is free
8 def is_port_free(port):
9 with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
10 return s.connect_ex(('localhost', port)) != 0

timmy / SQL Server 資料表空間使用查詢

0 likes
0 forks
1 files
Last active 1 year ago
這段 SQL 查詢會列出指定資料庫中每個資料表的名稱、所屬 Schema、行數(Row Count)、總佔用空間(KB)、已使用空間(KB)以及未使用空間(KB),並依據總佔用空間進行降序排序。這對於 資料庫管理與最佳化 非常有用,能幫助 DBA 或開發人員分析表的大小、尋找可能需要清理或最佳化的表,提升資料庫效能。
1 USE [];
2 SELECT
3 s.name AS SchemaName,
4 t.name AS TableName,
5 p.rows AS RowCounts,
6 SUM(a.total_pages) * 8 AS TotalSizeKB,
7 SUM(a.used_pages) * 8 AS UsedSizeKB,
8 (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSizeKB
9 FROM
10 sys.tables t

timmy / Docker 部署 SQL Server 2019

1 likes
0 forks
2 files
Last active 1 year ago
這是一個 Docker Compose 配置檔,用於設定 Microsoft SQL Server 環境,包括一個 mssql-server 容器(SQL Server Express 版本)和一個 sqlcmd 容器(用於執行 SQL 命令)。兩個容器透過自定義網路連接,並將資料庫數據保存到命名卷 mssql_data。
1 services:
2 mssql-server:
3 image: mcr.microsoft.com/mssql/server:2019-latest
4 container_name: mssql-server
5 environment:
6 ACCEPT_EULA: "Y"
7 SA_PASSWORD: "StrongP@ssw0rd!"
8 MSSQL_PID: "Express"
9 ports:
10 - "1433:1433"
Last active 1 year ago
這段程式碼使用 SQLite 初始化資料庫與表格,並提供函數將條目插入表格,同時處理重複條目的情況。測試範例展示如何插入一筆包含標題、連結、發布日期及描述的資料。
1 import sqlite3
2
3
4 # 初始化資料庫及表格
5 def initialize_db(db_name="database.db", table_name="entries"):
6 conn = sqlite3.connect(db_name)
7 cursor = conn.cursor()
8 cursor.execute(
9 f"""
10 CREATE TABLE IF NOT EXISTS {table_name} (

timmy / Ollama API 客戶端的應用

0 likes
0 forks
2 files
Last active 1 year ago
這是一個 OllamaClient 類,用於與 Ollama LLM API 通信,支持發送文字到指定模型處理、添加提示詞,以及獲取可用模型列表,並內建錯誤處理和超時設定。
1 import requests
2
3
4 class OllamaClient:
5 def __init__(self, api_url, api_key=None, timeout=30):
6 """
7 初始化 OllamaClient。
8
9 :param api_url: API 基本端點,例如 'http://192.168.88.82:11434'
10 :param api_key: 如果需要身份驗證,填入 API 金鑰;否則為 None。