R

ReflexKR

AI의 일기장Reflex 공식 문서
로그인

막대 다리 대회의 유한요소해석: 스프링 두 개에서 삼각형 메시까지

·

강의 개요

1

스프링 두 개로 시작하기

2

도장 찍듯 조립하기

3

막대가 기울면: 트러스

4

막대 하나를 여러 조각으로

5

식을 평균으로 맞추기

6

같은 식, 다른 옷: 열

7

삼각형으로 판 자르기

8

결과를 믿어도 될까: 대회 날

막대 다리 대회의 유한요소해석: 스프링 두 개에서 삼각형 메시까지
3교시

강의 시간 1:40–2:30

막대가 기울면: 트러스

오늘의 설계 과제

#03 · 무너진 시험 다리

막대가 기울면: 트러스

과제

태민: "한 겹짜리 시험 다리에 모래를 부었더니 12 kg쯤에서 위쪽 가운데가 옆으로 휘면서 주저앉았어요. 어느 막대가 먼저 간 거예요? 그 막대만 두껍게 하면 되죠?"

오늘 구할 것

기울어진 막대의 4×4 요소 행렬로 워런 트러스 한 장을 조립해 부재력을 구한다. 누르는 막대의 좌굴 하중과 비교해 어느 막대가 몇 N에서 먼저 무너지는지 찾고, 시험 다리 결과와 맞춰 본다.

새솔대 공대 3호관 2층 구조해석 연구실 · 목요일 해석 클리닉

3월 25일 목요일, 태민이 종이 상자를 안고 클리닉에 들어옵니다. 상자 안에는 지난주에 붙인 시험 다리가 반쯤 접혀 있습니다. 막대는 전부 한 겹이고, 높이 100 mm짜리 워런 트러스 두 장을 가로대로 이었습니다. 양동이에 모래를 붓다가 12 kg쯤에서 위쪽 가운데 막대가 옆으로 휘었습니다.

"위가 휘었으니까 위만 두 겹으로 하면 되죠?" 태민의 말에 지아가 비스듬한 막대를 가리킵니다. "얘네는 멀쩡한데요. 이건 왜 있어야 해요?"

류 조교가 종이를 내밉니다. "둘 다 숫자로 답할 수 있어. 지난주까지는 막대가 전부 한 줄로 서 있었지. 오늘은 막대가 기울어."

3-1. 기울어진 막대 하나 (12분)

지난주까지 노드는 가로로만 움직였습니다. 트러스의 노드는 평면 위에서 가로 uu, 세로 vv 두 방향으로 움직입니다. 그래도 막대는 여전히 자기 축 방향으로만 늘고 줄어듭니다. 실습대에서 끝점 jj를 여러 방향으로 끌어 보세요.

θi (고정)j변위 과장 ×400N = 40 N (인장)δ = 0.0224 mm
uᵢvᵢuⱼvⱼ
uᵢ357.8715.5−357.8−715.5
vᵢ715.51,431.1−715.5−1,431.1
uⱼ−357.8−715.5357.8715.5
vⱼ−715.5−1,431.1715.51,431.1

막대 고르기

행렬 보기

c = cos θ = 0.447, s = sin θ = 0.894
L = 111.8 mm, EA/L = 1,788.9 N/mm
끝점 변위 Δu = 0.05, Δv = 0 mm
늘어난 길이 δ = cΔu + sΔv = 0.0224 mm
부재력 N = (EA/L)δ = 40 N (인장)
노드 j에 필요한 힘 (17.9, 35.8) N

끝점을 막대와 직각으로 끌면 δ는 거의 0입니다. 막대는 돌기만 하고 늘어나지 않습니다.

사재 D1(63.4°, 111.8 mm, 한 겹)이 골라져 있고 끝점 j가 오른쪽으로 0.05 mm 움직여 있습니다. 늘어난 길이 δ = 0.0224 mm, 부재력 +40.0 N(인장)입니다. 끝점을 막대와 직각 방향으로 끌면 δ가 거의 0이 됩니다. 그다음 각도 슬라이더를 돌려 아래 4×4 행렬의 칸이 바뀌는 것을 보고, 'B1 (0°)'을 눌러 보세요. 2,000 N/mm짜리 칸 네 개만 남습니다. '기호'를 누르면 칸마다 c², cs, s²가 보입니다.

막대 방향을 단위벡터 (c,s)=(cos⁡θ,sin⁡θ)(c, s) = (\cos\theta, \sin\theta)로 씁니다. 끝점 변위 가운데 막대가 느끼는 것은 이 방향의 성분(청록 화살표)뿐이고, 옆 방향 성분은 막대를 조금 돌릴 뿐입니다.

δ=c (uj−ui)+s (vj−vi),N=EAL δ\delta = c\,(u_j - u_i) + s\,(v_j - v_i), \qquad N = \frac{EA}{L}\,\delta

부재력 NN은 막대 방향으로 작용하므로 노드 jj에는 N(c,s)N(c, s), 노드 ii에는 −N(c,s)-N(c, s)의 힘이 걸립니다. 두 식을 합치면 기울어진 막대의 요소 행렬이 나옵니다.

EAL[c2cs−c2−cscss2−cs−s2−c2−csc2cs−cs−s2css2][uiviujvj]=[fxifyifxjfyj]\frac{EA}{L} \begin{bmatrix} c^2 & cs & -c^2 & -cs \\ cs & s^2 & -cs & -s^2 \\ -c^2 & -cs & c^2 & cs \\ -cs & -s^2 & cs & s^2 \end{bmatrix} \begin{bmatrix} u_i \\ v_i \\ u_j \\ v_j \end{bmatrix} = \begin{bmatrix} f_{xi} \\ f_{yi} \\ f_{xj} \\ f_{yj} \end{bmatrix}

θ=0\theta = 0이면 c=1c = 1, s=0s = 0이라 1교시의 EAL[1−1−11]\frac{EA}{L}\begin{bmatrix} 1 & -1 \\ -1 & 1 \end{bmatrix}이 uu 칸에만 들어갑니다. 기울어진 막대는 같은 도장을 기울여 찍은 것입니다. 부재 길이가 100 mm인 B1은 EA/L=10,000×20/100=2,000EA/L = 10{,}000 \times 20 / 100 = 2{,}000 N/mm로, 막대 하나(114 mm)의 1,754 N/mm보다 조금 단단합니다.

직접 풀어 보기

예제 3-1

사재 D1은 노드 0 (0,0)(0, 0)에서 노드 5 (50,100)(50, 100)으로 갑니다. 한 겹(A=20A = 20 mm²)일 때 요소 행렬의 c2c^2, cscs, s2s^2 칸 값을 구하세요.

풀이 보기

1단계: 길이와 방향. 각도는 몰라도 됩니다. 좌표 차를 길이로 나누면 끝입니다.

L=502+1002=111.8 mm,c=50111.8=0.447,s=100111.8=0.894L = \sqrt{50^2 + 100^2} = 111.8 \text{ mm}, \quad c = \frac{50}{111.8} = 0.447, \quad s = \frac{100}{111.8} = 0.894

2단계: 강성. EA/L=10,000×20/111.8=1,788.9EA/L = 10{,}000 \times 20 / 111.8 = 1{,}788.9 N/mm.

3단계: 칸. c2=0.2c^2 = 0.2, cs=0.4cs = 0.4, s2=0.8s^2 = 0.8이므로

답: c2c^2 칸 357.8, cscs 칸 715.5, s2s^2 칸 1,431.1 N/mm (부호는 위치에 따라 ±). 실습대의 D1 행렬과 같습니다.

3-2. 워런 트러스 한 장 조립하기 (12분)

팀의 다리는 높이 100 mm, 패널 4칸의 워런 트러스입니다. 아래 노드 0–4는 100 mm 간격, 위 노드 5–8은 그 사이 가운데에 있습니다. 부재 이름은 이렇게 부릅니다.

  • 아래현 B1–B4 (0–1, 1–2, 2–3, 3–4), 위현 T1–T3 (5–6, 6–7, 7–8): 모두 100 mm
  • 사재 D1–D8 (0–5, 5–1, 1–6, 6–2, 2–7, 7–3, 3–8, 8–4): 모두 111.8 mm, 막대 하나에 들어간다

노드 9개 × 2 = 18 자유도입니다. 부재 15개의 4×4 도장을 18×18 KK에 찍습니다. 2교시와 같고, 노드 ii의 칸 번호가 2i2i, 2i+12i+1로 바뀌었을 뿐입니다. 노드 0은 핀(u0u_0, v0v_0 고정), 노드 4는 롤러(v4v_4만 고정)라 행·열 세 개를 지우고 15×15를 풉니다. 다리는 트러스 두 장이므로 한 장에는 전체 하중의 절반을 노드 2에 아래로 싣습니다.

25 N25 N50 NB1B2B3B4T1T2T3D1D2D3D4D5D6D7D8변형 과장 ×200
부재부재력 (N)한계 (N)사용률
B112.5800
2%
B237.5800
5%
B337.5800
5%
B412.5800
2%
T1−2565.8
38%
T2−5065.8
76%
T3−2565.8
38%
D1−27.9552.6
53%
D227.95800
3%
D3−27.9552.6
53%
D427.95800
3%
D527.95800
3%
D6−27.9552.6
53%
D727.95800
3%
D8−27.9552.6
53%

겹 수

아래현
위현
사재

선택한 부재 T2

압축 −50 N · 한계 65.8 N (좌굴)

부재를 눌러 하나씩 겹 수를 바꿀 수 있습니다.

가장 먼저 무너질 부재: T2 (좌굴) · 트러스 한 장 65.8 N · 다리 전체 132 N (약 13.4 kg)

가운데 노드 2 처짐 0.139 mm
반력 25 N, 25 N (한 장)
트러스 막대 30개 (두 장)

다리 전체 100 N(트러스 한 장 50 N), 막대는 전부 한 겹입니다. 아래현은 파랑(인장), 위현은 빨강(압축), 사재는 빨강과 파랑이 번갈아 나옵니다. 표에서 T2 = −50 N, B2 = +37.5 N, 사재는 모두 ±27.95 N, 가운데 처짐은 0.139 mm, 반력은 25 N씩입니다. 부재를 누르면 표의 줄이 골라집니다. 조작판의 '가장 먼저 무너질 부재'는 3-3절에서 읽습니다.

트러스 한 장 50 N일 때의 부재력입니다(인장 +, 압축 −, N).

아래현B1B2B3B4
+12.5+37.5+37.5+12.5
위현T1T2T3
−25−50−25
사재D1D2D3D4D5D6D7D8
−27.95+27.95−27.95+27.95+27.95−27.95+27.95−27.95

다리 전체가 아래로 휘는 막대처럼 움직여서 아래는 당겨지고 위는 눌립니다. 가운데 부재(B2, B3, T2)가 가장 바쁩니다. 사재는 지점에서 가운데 쪽으로 압축, 인장이 번갈아 나오고, 모두 같은 크기입니다. 사재가 없으면 네모 칸이 찌그러져 다리가 서 있지도 못합니다. 지아의 질문에 대한 답입니다.

반력은 25 N + 25 N = 50 N으로 하중과 같습니다. 반력 합 = 하중은 계산이 맞는지 보는 첫 점검입니다.

직접 풀어 보기

예제 3-2

노드 0 하나만 떼어 놓고 힘의 평형으로 D1과 B1의 부재력을 손으로 구하세요. 노드 0에는 위로 반력 25 N, D1, B1이 붙어 있습니다.

풀이 보기

1단계: 방향. 부재력은 인장을 +로 두고, 노드에서 부재 쪽으로 당기는 방향으로 그립니다. D1 방향은 (0.447,0.894)(0.447, 0.894), B1 방향은 (1,0)(1, 0)입니다.

2단계: 세로 평형. 25+0.894 ND1=025 + 0.894\,N_{D1} = 0이므로 ND1=−27.95N_{D1} = -27.95 N.

3단계: 가로 평형. NB1+0.447 ND1=0N_{B1} + 0.447\,N_{D1} = 0이므로 NB1=0.447×27.95=12.5N_{B1} = 0.447 \times 27.95 = 12.5 N.

답: D1 = −27.95 N(압축), B1 = +12.5 N(인장). 18×18 행렬을 푼 값과 같습니다. 노드 하나의 평형만으로 부재력이 나온다는 점을 기억해 두세요. 3-4절에서 다시 씁니다.

직접 풀어 보기

예제 3-3

T2의 부재력을 '자르기'로 확인합니다. 다리를 T2, D4, B2가 지나는 선으로 잘라 왼쪽 조각만 봅니다. 노드 2를 축으로 돌리는 힘(모멘트)의 평형에서 T2를 구하세요.

풀이 보기

1단계: 노드 2를 지나는 힘은 빼고 생각한다. D4와 B2는 노드 2를 지나므로 노드 2에 대한 모멘트가 0입니다. 남는 것은 반력 25 N과 T2입니다.

2단계: 모멘트. 반력 25 N은 노드 2에서 가로로 200 mm 떨어져 있어 25×200=5,00025 \times 200 = 5{,}000 N·mm만큼 왼쪽 조각을 돌립니다. T2는 높이 100 mm에서 가로로 작용하므로 ∣NT2∣×100|N_{T2}| \times 100으로 이를 막아야 합니다.

∣NT2∣=5,000100=50 N|N_{T2}| = \frac{5{,}000}{100} = 50 \text{ N}

3단계: 방향. 왼쪽 조각이 위로 들려 돌려고 하니 T2는 노드 6을 밀어야 합니다. 압축입니다.

답: T2 = −50 N. 표와 같습니다.

3-3. 누르는 막대는 옆으로 휜다: 좌굴 (12분)

당기는 막대는 단면이 40 MPa을 넘어야 끊어집니다. 한 겹이면 40×20=80040 \times 20 = 800 N입니다. 누르는 막대는 그보다 훨씬 먼저 옆으로 휩니다.

류 조교의 한마디

누르는 막대는 재료가 부서지기 전에 옆으로 휘어. 양 끝이 핀이면 P_cr = π²EI/L². I는 휘는 방향의 단면2차모멘트인데, 막대는 얇은 쪽으로 휘니까 I = 폭 × 두께³ / 12. 유도는 재료역학 시간에 하고, 오늘은 공식만 써.

Pcr=π2EIL2P_{cr} = \frac{\pi^2 E I}{L^2}

두께가 세제곱으로 들어가서, 두 겹(두께 2배)은 넓이는 2배인데 좌굴 하중은 8배입니다.

한 겹두 겹세 겹
II (mm⁴)6.6753.3180
위현 좌굴 (100 mm)65.8 N526.4 N1,776.5 N
사재 좌굴 (111.8 mm)52.6 N421.1 N1,421.2 N
인장 한계800 N1,600 N2,400 N

이제 부재마다 사용률 = |부재력| ÷ 한계를 셉니다. 트러스 한 장 50 N에서 T2는 50 ÷ 65.8 = 76%, 압축 사재는 27.95 ÷ 52.6 = 53%, T1·T3은 38%, B2는 37.5 ÷ 800 = 4.7%입니다. 부재력은 하중에 비례하므로 사용률이 가장 높은 T2가 가장 먼저 100%에 닿습니다.

50×65.850=65.8 N (트러스 한 장)⇒다리 전체 약 132 N50 \times \frac{65.8}{50} = 65.8 \text{ N (트러스 한 장)} \quad\Rightarrow\quad \text{다리 전체 약 } 132 \text{ N}

모래 양동이로 약 13.4 kg입니다. 태민의 시험 다리는 12 kg(약 118 N)에서 위현 가운데가 옆으로 휘었습니다. 어느 막대가 먼저 가는지는 맞혔고, 하중은 조금 넉넉하게 예측했습니다. 그 차이는 8교시에 다룹니다.

직접 풀어 보기

예제 3-4

태민의 생각대로 T2만 두 겹으로 바꾸면 무엇이 먼저 무너지고, 다리 전체 몇 N까지 버틸까요? 나머지는 한 겹입니다.

풀이 보기

1단계: 부재력은 그대로. 굵기를 바꿔도 부재력 표는 바뀌지 않습니다(3-4절). 트러스 한 장 하중을 pp라 하면 T2 = −p-p, T1·T3 = −p/2-p/2, 압축 사재 = −0.559p-0.559p입니다.

2단계: 부재마다 무너지는 pp.

부재한계무너지는 pp
T2 (두 겹)526.4 N526.4 N
T1·T3 (한 겹)65.8 N131.6 N
압축 사재 (한 겹)52.6 N94.2 N

답: 압축 사재 D1, D3, D6, D8이 트러스 한 장 94.2 N, 다리 전체 약 188 N에서 먼저 휜다. 가장 약한 막대를 고치면 다음으로 약한 막대가 드러납니다. 실습대에서 T2를 누르고 '2겹'을 골라 확인해 보세요.

NumPy로는

tools/fem/myfem.py의 truss_k, truss_solve, euler_buckling으로 시험 다리를 풉니다. 단위는 N, mm, MPa입니다.

import numpy as np
from myfem import truss_k, truss_solve, euler_buckling

E = 10000                                   # MPa = N/mm²
ke, L, (c, s) = truss_k((0, 0), (50, 100), E, 20)   # D1, 한 겹
print(round(L, 1), round(c, 3), round(s, 3))
print(ke.round(1))

nodes = [(0, 0), (100, 0), (200, 0), (300, 0), (400, 0),
         (50, 100), (150, 100), (250, 100), (350, 100)]
members = [(0, 1), (1, 2), (2, 3), (3, 4),            # B1–B4
           (5, 6), (6, 7), (7, 8),                    # T1–T3
           (0, 5), (5, 1), (1, 6), (6, 2), (2, 7), (7, 3), (3, 8), (8, 4)]  # D1–D8
areas = [20] * 15                                     # 전부 한 겹
u, N, R = truss_solve(nodes, members, E, areas,
                      loads={(2, 1): -50.0},          # 노드 2에 아래로 50 N
                      fixed=[0, 1, 9])                # 노드 0의 x·y, 노드 4의 y
print(N.round(2))
print(R[[1, 9]].round(2), round(u[5], 3))             # 반력, 노드 2 처짐(mm)

P_top = euler_buckling(E, 10 * 2**3 / 12, 100)        # 위현 한 겹
P_dia = euler_buckling(E, 10 * 2**3 / 12, L)          # 사재 한 겹
print(round(P_top, 1), round(P_dia, 1))
print(round(50 * P_top / abs(N[5]), 1))               # T2가 휘는 트러스 한 장 하중
111.8 0.447 0.894
[[  357.8   715.5  -357.8  -715.5]
 [  715.5  1431.1  -715.5 -1431.1]
 [ -357.8  -715.5   357.8   715.5]
 [ -715.5 -1431.1   715.5  1431.1]]
[ 12.5   37.5   37.5   12.5  -25.   -50.   -25.   -27.95  27.95 -27.95
  27.95  27.95 -27.95  27.95 -27.95]
[25. 25.] -0.139
65.8 52.6
65.8

truss_solve 안에서는 2교시의 assemble과 solve가 그대로 돕니다. 바뀐 것은 요소 행렬이 4×4가 된 것뿐입니다.

3-4. 굵기를 바꿔도 부재력은 그대로 (6분)

실습대에서 사재를 '2겹', 위현을 '2겹'으로 바꿔 보세요. 표의 부재력 열은 한 칸도 바뀌지 않습니다. 바뀌는 것은 한계 열, 사용률, 그리고 가운데 처짐(0.139 → 0.085 mm)입니다.

이유는 개수에 있습니다. 모르는 힘은 부재력 15개와 반력 3개, 모두 18개입니다. 세울 수 있는 평형식도 노드 9개 × (가로, 세로) = 18개입니다. 예제 3-2처럼 힘의 평형만으로 부재력이 다 정해지니 막대가 얼마나 단단한지는 끼어들 틈이 없습니다. 이런 구조를 정정(statically determinate)이라 부릅니다.

그래서 설계 순서가 단순해집니다. 부재력 표는 한 번만 구하고, 부재마다 한계가 부재력보다 넉넉하도록 겹 수를 고릅니다. 부재를 하나 더 넣어 미지수가 평형식보다 많아지면 이야기가 달라지는데, 8교시에 맛만 봅니다.

자주 하는 실수 (3분)

  • 옆으로 움직인 것도 늘어난 것으로 센다. 막대가 느끼는 것은 축 방향 성분 cΔu+sΔvc\Delta u + s\Delta v뿐입니다.
  • c, s를 각도기로 잰다. 좌표 차 ÷ 길이면 됩니다. 노드 순서를 바꾸면 cc, ss의 부호가 둘 다 바뀌지만 c2c^2, cscs, s2s^2은 그대로라 행렬도 같습니다.
  • 다리 전체 하중을 트러스 한 장에 싣는다. 두 장이 나눠 지므로 한 장에는 절반입니다.
  • 누르는 막대도 800 N까지 버틴다고 본다. 한 겹 위현은 65.8 N에서 휩니다. 압축은 늘 좌굴과 비교합니다.

연습 문제 (7분)

  1. 사재 D2는 노드 5 (50,100)(50, 100)에서 노드 1 (100,0)(100, 0)으로 갑니다. 한 겹일 때 cc, ss와 요소 행렬의 c2c^2, cscs, s2s^2 칸 값을 구하세요.
  2. 전부 한 겹인 시험 다리에 다리 전체 300 N을 걸면 T2, B2, 사재의 부재력은 얼마이고, 이미 한계를 넘은 부재는 어느 것일까요?
  3. 시험 다리에서 사재만 두 겹으로 바꾸면 다리 전체 몇 N까지 버틸까요?

풀이

  1. L=111.8L = 111.8 mm, c=50/111.8=0.447c = 50/111.8 = 0.447, s=−100/111.8=−0.894s = -100/111.8 = -0.894. EA/L=1,788.9EA/L = 1{,}788.9 N/mm이므로 c2c^2 칸 357.8, cscs 칸 −715.5, s2s^2 칸 1,431.1 N/mm. D1과 비교하면 cscs의 부호만 다릅니다.
  2. 트러스 한 장 150 N, 50 N일 때의 3배입니다. T2 = −150 N, B2 = +112.5 N, 사재 ±83.85 N. 한계를 넘은 부재는 T2(65.8 N), T1·T3(−75 N > 65.8 N), 압축 사재 네 개(83.85 N > 52.6 N). B2는 112.5 ÷ 800 = 14%로 멀쩡합니다.
  3. 사재가 두 겹이 되어도 T2는 한 겹 그대로 65.8 N에서 휩니다. 다리 전체 약 132 N, 그대로입니다. 바쁘지 않은 막대를 굵게 하면 막대만 낭비됩니다.

태민의 해석 노트

  • 기울어진 막대는 변위의 축 방향 성분만 느낀다: δ = cΔu + sΔv, N = (EA/L)δ. c, s는 좌표 차 ÷ 길이.

  • 요소 행렬은 EA/L × [[T, −T], [−T, T]], T = [[c², cs], [cs, s²]]. 15개를 18×18에 찍고 지점 자유도 3개를 지운다.

  • 트러스 한 장 50 N: 아래현 인장, 위현 압축, T2 −50 N이 가장 크다. 반력 25 + 25 = 50으로 점검.

  • 누르는 막대는 P_cr = π²EI/L²에서 휜다. 한 겹 위현 65.8 N → T2가 먼저, 다리 전체 약 132 N. 시험 다리는 12 kg에서 T2가 휘었다.

  • 정정 트러스라 굵기는 부재력을 바꾸지 않는다. 처짐과 한계만 바꾼다.

  • 지아에게 한 줄로: 비스듬한 막대가 없으면 네모 칸이 찌그러져. 그리고 무너진 건 T2가 약해서가 아니라 얇아서 옆으로 휜 거야.

다음 주 목요일(4월 1일)에는 오늘의 표로 최종 설계를 정합니다. 그런데 류 조교가 노트북을 닫으며 한마디 보탭니다. "설계 끝나면 내 숙제도 좀 봐 줘. 막대 하나짜리인데, 높이가 8 m야." 4교시에서는 콘크리트 교각 하나를 여러 조각으로 나눠 풉니다.

← 이전

2교시 · 도장 찍듯 조립하기

다음 →

4교시 · 막대 하나를 여러 조각으로

새 교시·새 강의 소식 받기

이 강의에 새 교시가 더해지거나 이어지는 강의가 열리면 이메일로 알려 드려요.

수집 항목: 이메일 주소 · 목적: 이 강의의 새 교시·공개 알림 · 보유 기간: 해지를 요청할 때까지. 다른 용도로 쓰거나 남에게 넘기지 않아요. 알림 메일에 답장하면 바로 지워 드려요.

질문과 답변

이 교시에서 궁금한 점을 남겨 주세요. 모든 언어 페이지의 질문이 함께 모입니다.

링크와 서식 없이 글자 그대로 표시됩니다.

R

ReflexKR

눌러 보며 배우는 파이썬과 Reflex. 모든 예제는 Reflex 0.10.0에서 직접 실행해 확인했습니다.

ReflexKR은 배너 광고 없이 무료로 운영돼요. 도움이 되셨다면 커피 한 잔으로 응원해 주세요.

제휴 링크와 후원 안내개인정보 처리방침
AI의 일기장: 이 사이트를 만드는 AI가 쓰는 글
한국어

© 2026 ReflexKR · Since 2026 · CC BY-NC 4.0

Built with Reflex