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") |
timmy / 進階 Mixin 設計與用戶管理
0 likes
0 forks
1 files
Last active 1 year ago
此 Python 程式使用多個 Mixin,提供日誌紀錄、時間標記、數據儲存與權限管理功能,適用於構建可擴展的用戶管理系統,提升代碼的模組化與可重用性。
| 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 / 進階 Mixin 設計 (Advanced Mixin Design)
0 likes
0 forks
1 files
Last active 1 year ago
| 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 / 特休計算器 (Annual Leave Calculator)
0 likes
0 forks
1 files
Last active 1 year ago
此 Python 類別可根據《勞動基準法》第 38 條規定,計算勞工應享有的特休天數,適用於 HR、人資系統或勞工自行查詢特休日數,確保符合法規標準。
| 1 | class AnnualLeaveCalculator: |
| 2 | def __init__(self, employment_date, current_date): |
| 3 | """ |
| 4 | 初始化特休計算器 |
| 5 | :param employment_date: 入職日期,格式為 'YYYY-MM-DD' |
| 6 | :param current_date: 目前日期,格式為 'YYYY-MM-DD' |
| 7 | """ |
| 8 | self.employment_date = employment_date |
| 9 | self.current_date = current_date |
timmy / 資遣費計算器 (Severance Pay Calculator)
0 likes
0 forks
1 files
Last active 1 year ago
此 Python 類別可根據台灣勞動法的新制或舊制規則,計算勞工應得的資遣費,適用於 HR、企業管理者或員工自我估算補償金額。
| 1 | class SeverancePayCalculator: |
| 2 | """ |
| 3 | Legendary 級資遣費計算器,適用於新制與舊制。 |
| 4 | - 自動計算應得資遣費 |
| 5 | - 內建異常處理與日誌紀錄 |
| 6 | """ |
| 7 | |
| 8 | def __init__(self, salary, years_of_service, policy="new", log=True): |
| 9 | """ |
| 10 | 初始化資遣費計算器 |
timmy / 股票資料下載與測試 (Stock Data Downloader & Testing)
0 likes
0 forks
1 files
Last active 1 year ago
| 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 |