timmy / Flask Google OAuth2 登入

0 likes
0 forks
2 files
Last active 1 year ago
使用 Flask 和 Authlib 整合 Google OAuth2,透過 OpenID Connect 進行身份驗證,讓使用者能安全登入應用程式。實作包括 authorize_redirect 及 parse_id_token,確保驗證的完整性與安全性。
1 GOOGLE_CLIENT_ID=你的 Google Client ID
2 GOOGLE_CLIENT_SECRET=你的 Google Client Secret

timmy / Python Mixin 設計模式

0 likes
0 forks
1 files
Last active 1 year ago
Python Mixin 設計模式允許類別透過多重繼承增加功能,如日誌、權限管理、事件驅動、異常處理與審計,提升可維護性與擴展性,適用於模組化應用開發。
1 import datetime
2 import json
3 import threading
4 import traceback
5
6 class LoggingMixin:
7 def __init__(self, log_to_file=False, log_file="app.log", *args, **kwargs):
8 self.log_to_file = log_to_file
9 self.log_file = log_file
10 super().__init__(*args, **kwargs)

timmy / Python Mixin 設計模式

0 likes
0 forks
1 files
Last active 1 year ago
Mixin 讓類別能以組合方式擴展功能,如日誌記錄、時間標記、權限管理、事件驅動等,提高程式的模組化與可維護性。適合用於 Python 物件導向開發。
1 import datetime
2 import json
3 import traceback
4 import threading
5
6 class LoggingMixin:
7 """ 提供日誌功能的 Mixin 類別,可選擇寫入控制台或檔案 """
8
9 def __init__(self, log_to_file=False, log_file="app.log", *args, **kwargs):
10 self.log_to_file = log_to_file

timmy / 進階 Mixin 設計與用戶管理

0 likes
0 forks
1 files
Last active 1 year ago
此 Python 程式使用多個 Mixin,提供日誌記錄、時間標記、資料儲存、權限管理、事件監聽與異常處理功能,使 User 類別具備完整的資料管理與行為追蹤能力,適用於使用者管理與系統監控應用。
1 import datetime
2 import json
3 import traceback
4
5 class LoggingMixin:
6 """ 提供日誌功能的 Mixin 類別 """
7
8 def log(self, message):
9 """ 記錄日誌 """
10 timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
Last active 1 year ago
此 Python 程式透過 LoggingMixin 提供日誌功能,TimestampMixin 管理時間標記,並應用於 User 類別,使其具備自動記錄變更歷史的能力,適用於用戶管理、數據追蹤等應用。
1 import datetime
2
3 class LoggingMixin:
4 """ 提供日誌功能的 Mixin 類別 """
5
6 def log(self, message):
7 """ 簡單的日誌紀錄方法 """
8 timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
9 print(f"[{timestamp}] {self.__class__.__name__}: {message}")

timmy / LoggingMixin 日誌功能擴展

0 likes
0 forks
1 files
Last active 1 year ago
此 Mixin 類別為 Python 類別提供簡單的日誌紀錄功能,可用於追蹤物件的行為變化,適用於擴展任何需要日誌記錄的類別,如用戶管理、系統監控等應用。
1 import datetime
2
3 class LoggingMixin:
4 """ 提供日誌功能的 Mixin 類別 """
5
6 def log(self, message):
7 """ 簡單的日誌紀錄方法 """
8 timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
9 print(f"[{timestamp}] {self.__class__.__name__}: {message}")
Last active 1 year ago
此 Python 程式使用 yfinance 下載股票歷史資料,並透過 unittest 進行單元測試,確保日期計算與資料下載的正確性,適用於金融數據分析與回測應用。
1 import unittest
2 from datetime import datetime, timedelta
3 from unittest.mock import patch
4
5 import pandas as pd
6 import yfinance as yf
7 from dateutil.relativedelta import relativedelta
8
9 import error_printer