Skip to content

Instantly share code, notes, and snippets.

View leanotrace's full-sized avatar
๐Ÿ˜

WonSeok Jang leanotrace

๐Ÿ˜
  • IBM Co.
View GitHub Profile
@leanotrace
leanotrace / decorator(wrapper func).py
Last active October 30, 2024 06:36
ํŒŒ์ด์ฌ ๊ณ ๊ธ‰ ๋ฌธ๋ฒ•
#๋ฐ์ฝ”๋ ˆ์ดํ„ฐ
# ํ•จ์ˆ˜๋ฅผ ์ธ์ˆ˜๋กœ ๋ฐ›์•„ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•œ ํ›„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜
# ์ฆ‰, ๋ ˆํผํ•จ์ˆ˜ ์—ญํ• 
#----------------
# ์‰ฌ์šด ์ฝ”๋“œ
def announce(func):
def wrapper(*args, **kargs):
print(f"'{func.__name__}' ํ•จ์ˆ˜๊ฐ€ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.")
result = func(*args, **kargs)
@leanotrace
leanotrace / secret_communication.py
Last active October 11, 2024 06:47
๋„คํŠธ์›Œํ‚น
############################# [A ํ”„๋กœ๊ทธ๋žจ = ๋ฉ”์‹œ์ง€ ์†ก์‹ ]
import socket
import argparse
from cryptography.fernet import Fernet
# ๋น„๋ฐ€ํ‚ค ์ƒ์„ฑ
KEY = Fernet.generate_key()
# ํ‚ค๋ฅผ ํ†ตํ•ด ์•”๋ณตํ˜ธํ™”๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฐ์ฒด ์ดˆ๊ธฐํ™” = ๋ฉ”์‹œ์ง€ ์•”๋ณตํ˜ธํ™”์— ์‚ฌ์šฉ
cipher_suite = Fernet(KEY)
@leanotrace
leanotrace / dictionary.py
Last active December 18, 2025 03:57
Data Structures
# ๋‘ ๊ฐœ์˜ ๋”•์…”๋„ˆ๋ฆฌ ์ •์˜
dict_a = {'์ด๋ฆ„': 'ํ™๊ธธ๋™', '๋‚˜์ด': 30}
dict_b = {'์ง์—…': '๊ฐœ๋ฐœ์ž', '์ง€์—ญ': '์„œ์šธ'}
# ๋”•์…”๋„ˆ๋ฆฌ ํ•ฉ์น˜๊ธฐ (dict_a์— dict_b ๋‚ด์šฉ ์ถ”๊ฐ€)
dict_a.update(dict_b)
# ๊ฒฐ๊ณผ ์ถœ๋ ฅ
print(dict_a)
# {'์ด๋ฆ„': 'ํ™๊ธธ๋™', '๋‚˜์ด': 30, '์ง์—…': '๊ฐœ๋ฐœ์ž', '์ง€์—ญ': '์„œ์šธ'}
@leanotrace
leanotrace / Synchronization_spinlock_blockinglock.py
Last active November 4, 2024 05:14
์šด์˜์ฒด์ œ
import threading
import time
# 1. SpinLock ๊ตฌํ˜„
class SpinLock:
def __init__(self):
self.lock = threading.Lock() # threading.Lock ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์—ฌ self.lock์— ํ• ๋‹น. ๋ฝ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฐ์ฒด
self.is_locked = False
def acquire(self):
@leanotrace
leanotrace / time.py
Last active October 30, 2024 06:01
์œ ์šฉํ•œ ๋กœ์ง
# [์ •ํ™•ํžˆ 1์ดˆ ๋งž์ถฐ ๋กœ์ง ์‹คํ–‰ํ•˜๊ธฐ]
start_time = time.time()
~~ ๋กœ์ง
elapsed_time = time.time() - start_time
timewait = max(0, 1 - elapsed_time)
time.sleep(timewait)
@leanotrace
leanotrace / Coupang_ProdScrapper.py
Last active September 26, 2024 01:12
์›น์Šคํฌ๋ž˜ํ•‘
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from bs4 import BeautifulSoup
import time
import re
from selenium_stealth import stealth
import os
import pandas as pd
import sys
@leanotrace
leanotrace / AutoPatchManager.py
Created September 4, 2024 04:47
ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ
import subprocess
import smtplib
from email.mime.text import MIMEText
from datetime import datetime
import os
# ๋กœ๊ทธ ํŒŒ์ผ ์„ค์ •
LOG_FILE = "/var/log/recent_patch.log"
# ์ด๋ฉ”์ผ ์•Œ๋ฆผ ์„ค์ •
@leanotrace
leanotrace / find_files.py
Last active October 7, 2024 07:40
ํŒŒ์ผ ์กฐ์ž‘
import os
import fnmatch
# 2. find_files ํ•จ์ˆ˜ ์ •์˜
def find_files(directory, pattern):
if not os.path.isdir(directory):
print(f"Error: {directory} is not a valid")
return
# os.walk(): dir ์ˆœํšŒ ํ•จ์ˆ˜