-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.xml
More file actions
567 lines (567 loc) · 45.9 KB
/
Copy pathindex.xml
File metadata and controls
567 lines (567 loc) · 45.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>봄을 기다리는 낙엽</title>
<link>https://leaf-nam.github.io/</link>
<description>Recent content on 봄을 기다리는 낙엽</description>
<generator>Hugo</generator>
<language>ko</language>
<managingEditor>[email protected] (Sangyeop Nam)</managingEditor>
<webMaster>[email protected] (Sangyeop Nam)</webMaster>
<lastBuildDate>Thu, 26 Mar 2026 08:59:46 +0900</lastBuildDate>
<atom:link href="https://leaf-nam.github.io/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>개발 블로그를 다시 시작하며...</title>
<link>https://leaf-nam.github.io/posts/restart/</link>
<pubDate>Sun, 03 Nov 2024 18:18:14 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/posts/restart/</guid>
<description>블로그 다시 시작하기</description>
</item>
<item>
<title>블로그를 쓰게 된 계기와 앞으로의 방향성</title>
<link>https://leaf-nam.github.io/posts/helloworld/</link>
<pubDate>Wed, 28 Feb 2024 21:06:14 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/posts/helloworld/</guid>
<description>내 첫번째 블로그 포스팅</description>
</item>
<item>
<title>개발 블로그의 종류와 선택</title>
<link>https://leaf-nam.github.io/posts/gitblog/1/</link>
<pubDate>Thu, 29 Feb 2024 21:28:56 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/posts/gitblog/1/</guid>
<description>처음 마주하는 갈림길</description>
</item>
<item>
<title>임베디드 리눅스에서 커널 시스템 콜과 디바이스 트리 동작원리 이해하기</title>
<link>https://leaf-nam.github.io/posts/rtos/embedded-linux-device-tree-understand/</link>
<pubDate>Thu, 26 Mar 2026 08:59:46 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/posts/rtos/embedded-linux-device-tree-understand/</guid>
<description>임베디드 리눅스가 커널 시스템 콜과 디바이스 트리를 사용해서 어떻게 사용자 요청을 지원하는지 알아보겠습니다.</description>
</item>
<item>
<title>Context Switch 중 Bus Fault 발생 원인 분석(STM32F429 + FreeRTOS)</title>
<link>https://leaf-nam.github.io/posts/rtos/rtos-context-switch-bus-fault/</link>
<pubDate>Wed, 11 Feb 2026 10:27:45 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/posts/rtos/rtos-context-switch-bus-fault/</guid>
<description><h2 id="상황">상황</h2>
<ul>
<li>Windows11 CubeIDE</li>
<li>STM32F429 + FreeRTOS 포팅</li>
<li>context switch(이하 문맥전환) 수업 시간에 각 태스크에서 led를 켜고, delay 시 led를 끄도록 위 코드와 같이 작성함</li>
<li>디버깅 시 <code>첫번째, 두번째 문맥 전환</code>에서는 정상 동작</li>
<li><code>세번째 문맥 전환 발생 시</code> Bus Fault 발생</li>
</ul>
<p><img alt="situation1" loading="lazy" src="https://leaf-nam.github.io/posts/rtos/rtos-context-switch-bus-fault/situation1.png#center"></p>
<h3 id="소스-코드">소스 코드</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-c" data-lang="c"><span class="line"><span class="cl"><span class="kt">void</span> <span class="nf">xPortPendSVHandler</span><span class="p">(</span> <span class="kt">void</span> <span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="cm">/* This is a naked function. */</span>
</span></span><span class="line"><span class="cl"> <span class="nf">ledoff</span><span class="p">();</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> <span class="kr">__asm</span> <span class="k">volatile</span>
</span></span><span class="line"><span class="cl"> <span class="p">(</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; mrs r0, psp </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; isb </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; ldr r3, pxCurrentTCBConst </span><span class="se">\n</span><span class="s">&#34;</span> <span class="cm">/* Get the location of the current TCB. */</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; ldr r2, [r3] </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; tst r14, #0x10 </span><span class="se">\n</span><span class="s">&#34;</span> <span class="cm">/* Is the task using the FPU context? If so, push high vfp registers. */</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; it eq </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; vstmdbeq r0!, {s16-s31} </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; stmdb r0!, {r4-r11, r14} </span><span class="se">\n</span><span class="s">&#34;</span> <span class="cm">/* Save the core registers. */</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; str r0, [r2] </span><span class="se">\n</span><span class="s">&#34;</span> <span class="cm">/* Save the new top of stack into the first member of the TCB. */</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; stmdb sp!, {r0, r3} </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; mov r0, %0 </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; msr basepri, r0 </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; dsb </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; isb </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; bl vTaskSwitchContext </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; mov r0, #0 </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; msr basepri, r0 </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; ldmia sp!, {r0, r3} </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; ldr r1, [r3] </span><span class="se">\n</span><span class="s">&#34;</span> <span class="cm">/* The first item in pxCurrentTCB is the task top of stack. */</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; ldr r0, [r1] </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; ldmia r0!, {r4-r11, r14} </span><span class="se">\n</span><span class="s">&#34;</span> <span class="cm">/* Pop the core registers. */</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; tst r14, #0x10 </span><span class="se">\n</span><span class="s">&#34;</span> <span class="cm">/* Is the task using the FPU context? If so, pop the high vfp registers too. */</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; it eq </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; vldmiaeq r0!, {s16-s31} </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; msr psp, r0 </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; isb </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="cp">#ifdef WORKAROUND_PMU_CM001 </span><span class="cm">/* XMC4000 specific errata workaround. */</span><span class="cp">
</span></span></span><span class="line"><span class="cl"> <span class="cp">#if WORKAROUND_PMU_CM001 == 1
</span></span></span><span class="line"><span class="cl"> <span class="s">&#34; push { r14 } </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; pop { pc } </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="cp">#endif
</span></span></span><span class="line"><span class="cl"> <span class="cp">#endif
</span></span></span><span class="line"><span class="cl"> <span class="s">&#34; </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; bx r14 </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34; .align 4 </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="s">&#34;pxCurrentTCBConst: .word pxCurrentTCB </span><span class="se">\n</span><span class="s">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="o">::</span><span class="s">&#34;i&#34;</span><span class="p">(</span><span class="n">configMAX_SYSCALL_INTERRUPT_PRIORITY</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"> <span class="p">);</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="cm">/*-----------------------------------------------------------*/</span>
</span></span></code></pre></div><h2 id="원인요약">원인(요약)</h2>
<ul>
<li>
<p>xPortPendSVHandler()는 <code>naked 함수</code>로 선언되어 있음</p></description>
</item>
<item>
<title>[Java]Programmers 에어컨</title>
<link>https://leaf-nam.github.io/cote/programmers_214289/</link>
<pubDate>Wed, 26 Mar 2025 10:27:18 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/programmers_214289/</guid>
<description>Programmers 에어컨 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]Programmers 봉인된 주문</title>
<link>https://leaf-nam.github.io/cote/programmers_389481/</link>
<pubDate>Mon, 17 Mar 2025 16:02:10 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/programmers_389481/</guid>
<description>Programmers 봉인된 주문 문제에 대한 해설입니다.</description>
</item>
<item>
<title>NGinX 심볼릭 링크 트러블슈팅</title>
<link>https://leaf-nam.github.io/tips/250311/</link>
<pubDate>Tue, 11 Mar 2025 15:40:09 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/tips/250311/</guid>
<description>NGinX 심볼릭 링크 생성 중 발생한 오류를 해결합니다.</description>
</item>
<item>
<title>[Java]Programmers 불량 사용자(2019 카카오 개발자 겨울 인턴십)</title>
<link>https://leaf-nam.github.io/cote/programmers_64064/</link>
<pubDate>Wed, 26 Feb 2025 16:14:34 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/programmers_64064/</guid>
<description>Programmers 불량 사용자(2019 카카오 개발자 겨울 인턴십) 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]Programmers GPS(2017 카카오코드 본선)</title>
<link>https://leaf-nam.github.io/cote/programmers_1837/</link>
<pubDate>Tue, 18 Feb 2025 14:12:46 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/programmers_1837/</guid>
<description>Programmers GPS(2017 카카오코드 본선) 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]Programmers 자물쇠와 열쇠(2020 KAKAO BLIND RECRUITMENT)</title>
<link>https://leaf-nam.github.io/cote/programmers_60059/</link>
<pubDate>Mon, 10 Feb 2025 12:14:05 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/programmers_60059/</guid>
<description>Programmers 자물쇠와 열쇠(2020 KAKAO BLIND RECRUITMENT) 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]Programmers 110 옮기기</title>
<link>https://leaf-nam.github.io/cote/programmers_77886/</link>
<pubDate>Wed, 05 Feb 2025 11:21:43 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/programmers_77886/</guid>
<description>Programmers 110 옮기기 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]Programmers 표 병합(2023 KAKAO BLIND RECRUITMENT)</title>
<link>https://leaf-nam.github.io/cote/programmers_150366/</link>
<pubDate>Wed, 05 Feb 2025 09:55:04 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/programmers_150366/</guid>
<description>Programmers 표 병합(2023 KAKAO BLIND RECRUITMENT) 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]Programmers 등산코스 정하기(2022 KAKAO TECH INTERNSHIP)</title>
<link>https://leaf-nam.github.io/cote/programmers_118669/</link>
<pubDate>Wed, 22 Jan 2025 10:50:48 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/programmers_118669/</guid>
<description>Programmers 등산코스 정하기(2022 KAKAO TECH INTERNSHIP) 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]SWEA 1249 보급로</title>
<link>https://leaf-nam.github.io/cote/swea_1249/</link>
<pubDate>Mon, 13 Jan 2025 09:47:57 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/swea_1249/</guid>
<description>SWEA 1249 보급로 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]Programmers 산 모양 타일링(2024 KAKAO WINTER INTERNSHIP)</title>
<link>https://leaf-nam.github.io/cote/programmers_258705/</link>
<pubDate>Tue, 07 Jan 2025 13:47:29 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/programmers_258705/</guid>
<description>2024 KAKAO WINTER INTERNSHIP 산 모양 타일링 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]백준 17470 배열 돌리기 5</title>
<link>https://leaf-nam.github.io/cote/bj_17470/</link>
<pubDate>Tue, 31 Dec 2024 09:49:24 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/bj_17470/</guid>
<description>백준 17470 배열돌리기 5 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]Programmers 멀쩡한 사각형</title>
<link>https://leaf-nam.github.io/cote/programmers_62048/</link>
<pubDate>Mon, 23 Dec 2024 15:51:25 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/programmers_62048/</guid>
<description>Programmers 멀쩡한 사각형 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]코드트리 메두사와 전사들 문제 해설</title>
<link>https://leaf-nam.github.io/cote/codetree_medusa_and_warriors/</link>
<pubDate>Sat, 21 Dec 2024 10:01:55 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/codetree_medusa_and_warriors/</guid>
<description>코드트리 메두사와 전사들 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]Programmers 수식 최대화(2020 KAKAO Internship)</title>
<link>https://leaf-nam.github.io/cote/programmers_67257/</link>
<pubDate>Wed, 18 Dec 2024 09:23:36 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/programmers_67257/</guid>
<description>Programmers 수식 최대화(2020 KAKAO Internship) 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]백준 1005 ACM Craft</title>
<link>https://leaf-nam.github.io/cote/bj_1005/</link>
<pubDate>Sun, 15 Dec 2024 17:38:30 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/bj_1005/</guid>
<description>Bj 1005 ACM Craft 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]Spring Security(With TDD) JWT 라이브러리 활용해서 간편하게 구현하기</title>
<link>https://leaf-nam.github.io/posts/spring_security/6/</link>
<pubDate>Sat, 14 Dec 2024 23:26:49 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/posts/spring_security/6/</guid>
<description>JWT를 통한 인증을 oauth2-resource-server를 활용해서 간편하게 구현합니다.</description>
</item>
<item>
<title>[Java]백준 9202 Boggle</title>
<link>https://leaf-nam.github.io/cote/bj_9202/</link>
<pubDate>Tue, 10 Dec 2024 13:51:29 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/bj_9202/</guid>
<description>백준 9202 Boggle 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]Spring Security(With TDD) JWT 직접 구현하기</title>
<link>https://leaf-nam.github.io/posts/spring_security/5/</link>
<pubDate>Mon, 09 Dec 2024 22:01:51 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/posts/spring_security/5/</guid>
<description>JWT를 통한 인증을 직접 구현합니다.</description>
</item>
<item>
<title>[Java]Spring Security(With TDD) 기본 인증 및 인가 구현하기</title>
<link>https://leaf-nam.github.io/posts/spring_security/4/</link>
<pubDate>Thu, 05 Dec 2024 19:58:51 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/posts/spring_security/4/</guid>
<description>TDD로 Spring Security의 기본 인증 및 인가를 구현합니다.</description>
</item>
<item>
<title>[Java]Programmers 순위 검색(2021 KAKAO BLIND RECRUITMENT)</title>
<link>https://leaf-nam.github.io/cote/programmers_72412/</link>
<pubDate>Wed, 04 Dec 2024 12:55:12 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/programmers_72412/</guid>
<description>Programmers 순위 검색(2021 KAKAO BLIND RECRUITMENT) 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]백준 14942 개미</title>
<link>https://leaf-nam.github.io/cote/bj_14942/</link>
<pubDate>Tue, 03 Dec 2024 17:20:52 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/bj_14942/</guid>
<description>백준 14942 개미 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]Spring Security 인증(Authentication)과 인가(Authorization)</title>
<link>https://leaf-nam.github.io/posts/spring_security/3/</link>
<pubDate>Fri, 29 Nov 2024 12:24:33 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/posts/spring_security/3/</guid>
<description>Spring Security의 인가 로직에 대해 알아봅니다.</description>
</item>
<item>
<title>[Java]Programmers 숫자 타자 대회</title>
<link>https://leaf-nam.github.io/cote/programmers_136797/</link>
<pubDate>Thu, 28 Nov 2024 09:14:35 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/programmers_136797/</guid>
<description>Programmers 숫자 타자 대회 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]Programmers 혼자 놀기의 달인</title>
<link>https://leaf-nam.github.io/cote/programmers_131130/</link>
<pubDate>Mon, 25 Nov 2024 08:57:41 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/programmers_131130/</guid>
<description>Programmers 혼자 놀기의 달인 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[DNS] 가비아 도메인으로 Vercel 홈페이지 배포 시 SSL 인증서 만료 해결</title>
<link>https://leaf-nam.github.io/tips/241120/</link>
<pubDate>Wed, 20 Nov 2024 23:24:10 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/tips/241120/</guid>
<description>가비아 도메인으로 Vercel로 배포 시 발생할 수 있는 SSL 인증서 만료 문제를 해결합니다.</description>
</item>
<item>
<title>[Java]HackerRank No Prefix Set</title>
<link>https://leaf-nam.github.io/cote/hackerrank_no_prefix_set/</link>
<pubDate>Tue, 19 Nov 2024 21:11:19 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/hackerrank_no_prefix_set/</guid>
<description>HackerRank No Prefix Set 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java] JPA detached entity passed to persist 오류 해결하기</title>
<link>https://leaf-nam.github.io/tips/241118/</link>
<pubDate>Mon, 18 Nov 2024 22:53:05 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/tips/241118/</guid>
<description>detached entity passed to persist 오류를 해결합니다.</description>
</item>
<item>
<title>[Java]String에서 공백 제거하기</title>
<link>https://leaf-nam.github.io/tips/241116/</link>
<pubDate>Sat, 16 Nov 2024 23:23:44 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/tips/241116/</guid>
<description>Java String에서 공백을 제거합니다.</description>
</item>
<item>
<title>[Java]HackerRank New Year Chaos</title>
<link>https://leaf-nam.github.io/cote/hackerrank_new_year_chaos/</link>
<pubDate>Fri, 15 Nov 2024 21:35:28 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/hackerrank_new_year_chaos/</guid>
<description>HackerRank New Year Chaos 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]Programmers 2개 이하로 다른 비트</title>
<link>https://leaf-nam.github.io/cote/programmers_77885/</link>
<pubDate>Thu, 14 Nov 2024 10:00:18 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/programmers_77885/</guid>
<description>[Programmers 2개 이하로 다른 비트] 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]HackerRank Gridland Metro</title>
<link>https://leaf-nam.github.io/cote/hackerrank_gridland_metro/</link>
<pubDate>Wed, 13 Nov 2024 11:04:47 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/hackerrank_gridland_metro/</guid>
<description>HackerRank Gridland Metro 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]HackerRank Non Divisible Subset</title>
<link>https://leaf-nam.github.io/cote/hackerrank_non_divisible_subset/</link>
<pubDate>Tue, 12 Nov 2024 10:33:05 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/hackerrank_non_divisible_subset/</guid>
<description>HackerRank Non Divisible Subset 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]Spring Security 예외처리, 캐싱, 로깅</title>
<link>https://leaf-nam.github.io/posts/spring_security/2/</link>
<pubDate>Mon, 11 Nov 2024 21:36:48 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/posts/spring_security/2/</guid>
<description>Spring Security의 기본 예외처리 및 캐싱, 로깅에 대해 알아봅니다.</description>
</item>
<item>
<title>[Java]Programmers 모음 사전</title>
<link>https://leaf-nam.github.io/cote/programmers_84512/</link>
<pubDate>Mon, 11 Nov 2024 10:59:03 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/programmers_84512/</guid>
<description>Programmers 모음 사전 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]Programmers 빛의 경로 사이클</title>
<link>https://leaf-nam.github.io/cote/programmers_86052/</link>
<pubDate>Sun, 10 Nov 2024 17:33:01 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/programmers_86052/</guid>
<description>Programmers 빛의 경로 사이클 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]Programmers 연속 부분 수열 합의 개수</title>
<link>https://leaf-nam.github.io/cote/programmers_131701/</link>
<pubDate>Sat, 09 Nov 2024 22:20:29 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/programmers_131701/</guid>
<description>Programmers 연속 부분 수열 합의 개수 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]Spring Security WebMVC 기본 구조</title>
<link>https://leaf-nam.github.io/posts/spring_security/1/</link>
<pubDate>Wed, 06 Nov 2024 19:19:20 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/posts/spring_security/1/</guid>
<description>Spring Security의 기본 구조인 필터에 대해서 알아봅니다.</description>
</item>
<item>
<title>[Java]HackerRank Lego Blocks</title>
<link>https://leaf-nam.github.io/cote/hackerrank_lego_blocks/</link>
<pubDate>Sun, 03 Nov 2024 11:14:50 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/hackerrank_lego_blocks/</guid>
<description>HackerRank Lego Blocks 문제에 대한 해설입니다.</description>
</item>
<item>
<title>객체지향의 사실과 오해</title>
<link>https://leaf-nam.github.io/review/oop_fact_mislead/</link>
<pubDate>Wed, 10 Jul 2024 11:41:32 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/review/oop_fact_mislead/</guid>
<description>Desc Text.</description>
</item>
<item>
<title>[Java]백준 16236 아기 상어</title>
<link>https://leaf-nam.github.io/cote/bj_16236/</link>
<pubDate>Mon, 08 Jul 2024 18:05:08 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/bj_16236/</guid>
<description>백준 16236 아기 상어 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]백준 2573 빙산</title>
<link>https://leaf-nam.github.io/cote/bj_2573/</link>
<pubDate>Thu, 27 Jun 2024 11:35:43 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/bj_2573/</guid>
<description>백준 2573 빙산 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]백준 1753 다익스트라</title>
<link>https://leaf-nam.github.io/cote/bj_1753/</link>
<pubDate>Fri, 21 Jun 2024 09:55:27 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/bj_1753/</guid>
<description>백준 1753 다익스트라 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]백준 1976 여행 가자</title>
<link>https://leaf-nam.github.io/cote/bj_1976/</link>
<pubDate>Thu, 20 Jun 2024 08:29:30 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/bj_1976/</guid>
<description>백준 1976 여행 가자 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]백준 14503 로봇 청소기</title>
<link>https://leaf-nam.github.io/cote/bj_14503/</link>
<pubDate>Wed, 19 Jun 2024 10:32:37 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/bj_14503/</guid>
<description>백준 14503 로봇 청소기 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]백준 1806 부분합</title>
<link>https://leaf-nam.github.io/cote/bj_1806/</link>
<pubDate>Wed, 12 Jun 2024 09:03:34 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/bj_1806/</guid>
<description>백준 1806 부분합 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]백준 4195 친구 네트워크</title>
<link>https://leaf-nam.github.io/cote/bj_4195/</link>
<pubDate>Mon, 03 Jun 2024 06:59:21 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/bj_4195/</guid>
<description>백준 4195 친구 네트워크 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]백준 12904 A와 B</title>
<link>https://leaf-nam.github.io/cote/bj_12904/</link>
<pubDate>Sun, 02 Jun 2024 05:51:58 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/bj_12904/</guid>
<description>백준 12904 A와 B 문제에 대한 해설입니다.</description>
</item>
<item>
<title>[Java]백준 16927 배열 돌리기 2</title>
<link>https://leaf-nam.github.io/cote/bj_16927/</link>
<pubDate>Fri, 31 May 2024 20:57:13 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/cote/bj_16927/</guid>
<description>백준 16927 배열 돌리기 2 문제에 대한 해설입니다.</description>
</item>
<item>
<title>JPA Cascade vs Orphan Removal</title>
<link>https://leaf-nam.github.io/tips/240513/</link>
<pubDate>Mon, 13 May 2024 21:01:16 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/tips/240513/</guid>
<description>Cascade의 개념 차이에 대해 정리합니다.</description>
</item>
<item>
<title>MockMvc Object mapper nested class utf-8 인코딩 오류 해결하기</title>
<link>https://leaf-nam.github.io/tips/240507/</link>
<pubDate>Tue, 07 May 2024 17:03:40 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/tips/240507/</guid>
<description>Object Mapper 사용 시 만날 수 있는 오류를 해결합니다.</description>
</item>
<item>
<title>Test Driven Development: By Example</title>
<link>https://leaf-nam.github.io/review/test-driven_development_by_example/</link>
<pubDate>Sun, 28 Apr 2024 23:38:18 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/review/test-driven_development_by_example/</guid>
<description>켄트 백의 TDD에 대한 리뷰입니다.</description>
</item>
<item>
<title>Unit Testing</title>
<link>https://leaf-nam.github.io/review/unit_testing/</link>
<pubDate>Sun, 14 Apr 2024 19:37:37 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/review/unit_testing/</guid>
<description>Unit Testing 책에 대한 리뷰입니다.</description>
</item>
<item>
<title>Org.springframework.data.mapping.MappingException 오류 해결</title>
<link>https://leaf-nam.github.io/tips/240402/</link>
<pubDate>Tue, 02 Apr 2024 22:36:05 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/tips/240402/</guid>
<description>Spring Data MongoDB에서 자주 만나는 MappingException 오류를 해결합니다.</description>
</item>
<item>
<title>Lombok 생성자 주입 시 인터페이스 주입하기</title>
<link>https://leaf-nam.github.io/tips/240329/</link>
<pubDate>Fri, 29 Mar 2024 06:18:57 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/tips/240329/</guid>
<description>롬복을 활용해서 인터페이스를 생성자 주입받을 수 있습니다.</description>
</item>
<item>
<title>Jnuit 테스트에서 객체 필드명 비교하기</title>
<link>https://leaf-nam.github.io/tips/240323/</link>
<pubDate>Sat, 23 Mar 2024 23:19:23 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/tips/240323/</guid>
<description>Junit에서 객체 필드명을 편하게 테스트할 수 있습니다.</description>
</item>
<item>
<title>Springboot Junit 단위테스트에서 로그 레벨 조정하기</title>
<link>https://leaf-nam.github.io/tips/240320/</link>
<pubDate>Wed, 20 Mar 2024 23:43:14 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/tips/240320/</guid>
<description>스프링부트 단위테스트에서 간단하게 로그 레벨을 조정할 수 있습니다.</description>
</item>
<item>
<title>[Java]SpringBoot DataSource 이중화(CQRS 패턴) 구현</title>
<link>https://leaf-nam.github.io/posts/cqrs/3/</link>
<pubDate>Tue, 19 Mar 2024 20:20:06 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/posts/cqrs/3/</guid>
<description>이중화된 MySQL DB에 접근할 수 있는 DataSource를 설정합니다.</description>
</item>
<item>
<title>[MySQL]Replication Database 구현</title>
<link>https://leaf-nam.github.io/posts/cqrs/2/</link>
<pubDate>Wed, 13 Mar 2024 23:07:00 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/posts/cqrs/2/</guid>
<description>Docker와 MySQL을 활용하여 Replication Database를 구현하는 실습을 진행합니다.</description>
</item>
<item>
<title>DB 이중화 및 CQRS 패턴의 중요성</title>
<link>https://leaf-nam.github.io/posts/cqrs/1/</link>
<pubDate>Mon, 11 Mar 2024 22:51:52 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/posts/cqrs/1/</guid>
<description>CQRS패턴을 구현하기 위한 DB이중화 기법에 대해 알아봅니다.</description>
</item>
<item>
<title>깃허브 블로그 댓글 구현 : Utterances 도입기</title>
<link>https://leaf-nam.github.io/posts/gitblog/5/</link>
<pubDate>Tue, 05 Mar 2024 19:08:20 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/posts/gitblog/5/</guid>
<description>블로그 댓글을 구현할 수 있는 utterances를 적용합니다.</description>
</item>
<item>
<title>Git 연동과 정적 페이지 배포</title>
<link>https://leaf-nam.github.io/posts/gitblog/4/</link>
<pubDate>Mon, 04 Mar 2024 16:50:39 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/posts/gitblog/4/</guid>
<description>생성한 블로그와 깃을 연동 후 웹페이지를 등록합니다.</description>
</item>
<item>
<title>HUGO 기본 설치 및 사용법</title>
<link>https://leaf-nam.github.io/posts/gitblog/3/</link>
<pubDate>Sun, 03 Mar 2024 07:49:45 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/posts/gitblog/3/</guid>
<description>HUGO를 이제 직접 설치 및 세팅해보겠습니다.</description>
</item>
<item>
<title>SSG에 대하여</title>
<link>https://leaf-nam.github.io/posts/gitblog/2/</link>
<pubDate>Sat, 02 Mar 2024 07:28:40 +0900</pubDate><author>[email protected] (Sangyeop Nam)</author>
<guid>https://leaf-nam.github.io/posts/gitblog/2/</guid>
<description>SSG에 대해 알아보는 시간을 가집니다.</description>
</item>
</channel>
</rss>