Loading...
Loading...
Compare original and translation side by side
undefinedundefined
**중복 코드 패턴**:
```bash
**重复代码模式**:
```bash
**매직 넘버**:
```bash
**魔法数字**:
```bashundefinedundefinedundefinedundefined
**하드코딩된 시크릿**:
```bash
**硬编码密钥**:
```bash
**위험한 함수 사용**:
```bash
**危险函数使用**:
```bashundefinedundefinedundefinedundefined
**TODO/FIXME 패턴**:
```bash
**TODO/FIXME模式**:
```bash
**에러 핸들링 패턴**:
```bash
**错误处理模式**:
```bashundefinedundefinedimport re
patterns = {
'email': r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}',
'phone': r'\d{3}[-.\s]?\d{4}[-.\s]?\d{4}',
'ip_address': r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}',
'credit_card': r'\d{4}[-\s]?\d{4}[-\s]?\d{4}[-\s]?\d{4}',
'ssn': r'\d{3}-\d{2}-\d{4}',
}
def detect_sensitive_data(text):
found = {}
for name, pattern in patterns.items():
matches = re.findall(pattern, text)
if matches:
found[name] = len(matches)
return foundimport numpy as np
from scipy import stats
def detect_anomalies_zscore(data, threshold=3):
"""Z-score 기반 이상치 탐지"""
z_scores = np.abs(stats.zscore(data))
return np.where(z_scores > threshold)[0]
def detect_anomalies_iqr(data, k=1.5):
"""IQR 기반 이상치 탐지"""
q1, q3 = np.percentile(data, [25, 75])
iqr = q3 - q1
lower = q1 - k * iqr
upper = q3 + k * iqr
return np.where((data < lower) | (data > upper))[0]import re
patterns = {
'email': r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}',
'phone': r'\d{3}[-.\s]?\d{4}[-.\s]?\d{4}',
'ip_address': r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}',
'credit_card': r'\d{4}[-\s]?\d{4}[-\s]?\d{4}[-\s]?\d{4}',
'ssn': r'\d{3}-\d{2}-\d{4}',
}
def detect_sensitive_data(text):
found = {}
for name, pattern in patterns.items():
matches = re.findall(pattern, text)
if matches:
found[name] = len(matches)
return foundimport numpy as np
from scipy import stats
def detect_anomalies_zscore(data, threshold=3):
"""Z-score 기반 이상치 탐지"""
z_scores = np.abs(stats.zscore(data))
return np.where(z_scores > threshold)[0]
def detect_anomalies_iqr(data, k=1.5):
"""IQR 기반 이상치 탐지"""
q1, q3 = np.percentile(data, [25, 75])
iqr = q3 - q1
lower = q1 - k * iqr
upper = q3 + k * iqr
return np.where((data < lower) | (data > upper))[0]import pandas as pd
def analyze_trend(df, date_col, value_col):
"""시계열 트렌드 분석"""
df[date_col] = pd.to_datetime(df[date_col])
df = df.sort_values(date_col)
# 이동 평균
df['ma_7'] = df[value_col].rolling(window=7).mean()
df['ma_30'] = df[value_col].rolling(window=30).mean()
# 성장률
df['growth'] = df[value_col].pct_change() * 100
# 트렌드 방향
recent_trend = df['ma_7'].iloc[-1] > df['ma_30'].iloc[-1]
return {
'trend_direction': 'up' if recent_trend else 'down',
'avg_growth': df['growth'].mean(),
'volatility': df[value_col].std()
}import pandas as pd
def analyze_trend(df, date_col, value_col):
"""시계열 트렌드 분석"""
df[date_col] = pd.to_datetime(df[date_col])
df = df.sort_values(date_col)
# 이동 평균
df['ma_7'] = df[value_col].rolling(window=7).mean()
df['ma_30'] = df[value_col].rolling(window=30).mean()
# 성장률
df['growth'] = df[value_col].pct_change() * 100
# 트렌드 방향
recent_trend = df['ma_7'].iloc[-1] > df['ma_30'].iloc[-1]
return {
'trend_direction': 'up' if recent_trend else 'down',
'avg_growth': df['growth'].mean(),
'volatility': df[value_col].std()
}undefinedundefined| 파일 | 라인 | 패턴 | 설명 |
|---|---|---|---|
| file.js | 42 | hardcoded-secret | API 키 하드코딩 |
| 파일 | 라인 | 패턴 | 설명 |
|---|---|---|---|
| file.js | 42 | hardcoded-secret | API 키 하드코딩 |
| 파일 | 라인 | 패턴 | 설명 |
|---|---|---|---|
| util.py | 100 | long-function | 함수 길이 150줄 |
| 파일 | 라인 | 패턴 | 설명 |
|---|---|---|---|
| util.py | 100 | long-function | 함수 길이 150줄 |
undefinedundefined