๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Study/Java91

[TIL] Controller & DTO ๐Ÿ™Œ๐Ÿป Controller ํด๋ž˜์Šค ์„ค๊ณ„ ๋ฐ ๊ตฌ์กฐ ์ƒ์„ฑ โ‘  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ๊ณ„ ์„ค์ • ex) ์ปคํ”ผ ์ฃผ๋ฌธ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋ผ๋Š” ๊ฒฝ๊ณ„ ์„ค์ • โ‘ก ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ์œ„ํ•œ ์š”๊ตฌ์‚ฌํ•ญ ์ˆ˜์ง‘ ex) ์ปคํ”ผ ์ฃผ๋ฌธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ œ๊ณตํ•ด์•ผ ํ•  ๊ธฐ๋Šฅ์ด ๋ฌด์—‡์ธ์ง€ ํŒŒ์•… โ‘ข ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ์ƒ์„ฑ ๐Ÿ’ก Java ํŒจํ‚ค์ง€ ๊ตฌ์กฐ (1) ๊ธฐ๋Šฅ ๊ธฐ๋ฐ˜ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ - ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํŒจํ‚ค์ง€๋ฅผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ธฐ์ค€์œผ๋กœ ํŒจํ‚ค์ง€ ๊ตฌ์„ฑ - ํŒจํ‚ค์ง€ ์•ˆ์—๋Š” ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ์™„์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ณ„์ธต๋ณ„(API ๊ณ„์ธต, ์„œ๋น„์Šค ๊ณ„์ธต, ๋ฐ์ดํ„ฐ ์—‘์„ธ์Šค ๊ณ„์ธต) ํด๋ž˜์Šค๋“ค์ด ๋ชจ์—ฌ์žˆ์Œ - ํ…Œ์ŠคํŠธ์™€ ๋ฆฌํŒฉํ† ๋ง์ด ์šฉ์ดํ•˜๊ณ  ํ–ฅํ›„์— ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์‹œ์Šคํ…œ์œผ๋กœ์˜ ๋ถ„๋ฆฌ๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ์šฉ์ด - ex) ํŒจํ‚ค์ง€๋ฅผ ํšŒ์› ํŒจํ‚ค์ง€์™€ ์ปคํ”ผ ํŒจํ‚ค์ง€๋กœ ๋‚˜๋ˆ„๋ฉฐ ๊ฐ๊ฐ์˜ ํŒจํ‚ค์ง€ ์•ˆ์—๋Š” ๋ ˆ์ด์–ด๋ณ„ ํด๋ž˜์Šค .. 2022. 6. 26.
[TIL] Spring MVC ๐Ÿ™Œ๐Ÿป Spring MVC : Spring Web MVC - ์„œ๋ธ”๋ฆฟ API๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ชจ๋“ˆ - ์›น ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํ•œ ์ข…๋ฅ˜์ด๊ธฐ ๋•Œ๋ฌธ์— Spring MVC ํ”„๋ ˆ์ž„์›Œํฌ๋ผ๊ณ ๋„ ๋ถ€๋ฆ„ ๐Ÿ’ก Spring Framework - ์Šคํ”„๋ง์—์„œ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ๊ธฐ๋Šฅ๋“ค ๐Ÿ’ก ์„œ๋ธ”๋ฆฟ : Servlet - ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํŠน์ • ๊ทœ์•ฝ์— ๋งž์ถ”์–ด Java ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•˜๋Š” ํด๋ž˜์Šค ํŒŒ ๐Ÿ’ก ์•„ํŒŒ์น˜ ํ†ฐ์บฃ : Apache Tomcat - ์„œ๋ธ”๋ฆฟ๋“ค์ด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์‹คํ–‰์ด ๋˜๋„๋ก ํ•ด์ฃผ๋Š” ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ ์ค‘ ํ•˜๋‚˜ ๐Ÿ“ Spring MVC : Model - ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ ์‚ฌํ•ญ์„ ์ฒ˜๋ฆฌํ•œ ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ - ์„œ๋น„์Šค ๊ณ„์ธต ? ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ ์‚ฌํ•ญ์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ์˜์—ญ - ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ? ์‹ค์ œ ์š”์ฒญ ์‚ฌํ•ญ์„.. 2022. 6. 23.
[TIL] AOP โœ๐Ÿป AOP : Aspect-Oriented Programming ๊ด€์  ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - AOP๋Š” ์• ์ŠคํŽ™ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ๋ถ„๋ฆฌํ•จ - ํ•ต์‹ฌ ๊ธฐ๋Šฅ๊ณผ ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ์„ ๋ถ„๋ฆฌํ•˜๊ณ  ๋ถ„๋ฆฌ๋œ ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ์„ ์–ด๋””์— ์ ์šฉํ• ์ง€ ์„ ํƒ๊ฐ€๋Šฅ - OOP๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ํšก๋‹จ ๊ด€์‹ฌ์‚ฌ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด OOP์˜ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„ ๋ณด์กฐ ๐Ÿ“ AOP ๊ด€๋ จ ๊ฐœ๋… ๐Ÿ’ก Aspect : ๊ด€์  Aspect = Advice + PointCut - ํ•ต์‹ฌ ๊ธฐ๋Šฅ์— ๋ถ€๊ฐ€๋˜์–ด ์˜๋ฏธ๋ฅผ ๊ฐ–๋Š” ํŠน๋ณ„ํ•œ ๋ชจ๋“ˆ - ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ(advice)๊ณผ ํ•ด๋‹น ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ์„ ์–ด๋””์— ์ ์šฉํ• ์ง€ ์ •์˜(point cut)ํ•œ ๊ฒƒ - ํฉ์–ด์ง„ ๊ด€์‹ฌ์‚ฌ๋ฅผ ๋ฌถ์–ด์„œ ๋ชจ๋“ˆํ™” ํ•œ ๊ฒƒ - ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐ”๋ผ๋ณด๋Š” ๊ด€์ ์˜ ๊ธฐ๋Šฅ๋“ค์„ ํšก๋‹จ ๊ด€์‹ฌ์‚ฌ ๊ด€์ ์œผ๋กœ ๋ณด๋Š” ๊ฒƒ ๐Ÿ’ก Target : ํƒ€๊ฒŸ - Asp.. 2022. 6. 23.
[TIL] Component Scan ๐Ÿ’ช๐Ÿป Component Scan : ์ปดํฌ๋„ŒํŠธ ์Šค์บ” โ–ช๏ธ ํ•„ํ„ฐ โ–ธ includeFilters : ์ปดํฌ๋„ŒํŠธ ์Šค์บ” ๋Œ€์ƒ์„ ์ถ”๊ฐ€๋กœ ์ง€์ • โ–ธ excludeFilters : ์ปดํฌ๋„ŒํŠธ ์Šค์บ”์—์„œ ์ œ์™ธํ•  ๋Œ€์ƒ ์ง€์ • โ–ธ Filter Type ์˜ต์…˜ โ‘  ANNOTATION : ์• ๋„ˆํ…Œ์ด์…˜์œผ๋กœ ์ธ์‹ํ•˜์—ฌ ๋™์ž‘ โ‘ก ASSIGNABLE_TYPE : ์ง€์ •ํ•œ ํƒ€์ž…๊ณผ ์ž์‹ ํƒ€์ž…์„ ์ธ์‹ํ•ด์„œ ๋™์ž‘ โ‘ข ASPECTJ : AspectJ ํŒจํ„ด ์‚ฌ์šฉ โ‘ฃ REGEX : ์ •๊ทœํ‘œํ˜„์‹์„ ๋‚˜ํƒ€๋ƒ„ โ‘ค CUSTOM : TypeFilter๋ผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•ด์„œ ์ฒ˜๋ฆฌ โ–ธ ApplicationContext - ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ - ๊ธฐ์กด์— AppConfig๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ง์ ‘ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์˜์กด ์ฃผ์ž…ํ•˜๋˜ ๊ฒƒ์„ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ†ตํ•ด ์˜์กด์ฃผ์ž… - ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๋Š” @Co.. 2022. 6. 19.
[TIL] Spring DI ๐Ÿซฐ๐Ÿป Spring DI (Dependency Injection) : ์Šคํ”„๋ง ์˜์กด์„ฑ ์ฃผ์ž… ๐Ÿ“ ์˜์กด ๊ด€๊ณ„ ์ฃผ์ž… ๋ฐฉ๋ฒ• โ‘  ์ƒ์„ฑ์ž ์ฃผ์ž… @Component public class Student { private final Hong hong; @Autowired public Student(Hong hong) { this.hong = hong; } } - ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•ด์„œ ์˜์กด ๊ด€๊ณ„ ์ฃผ์ž… ๋ฐ›๋Š” ๋ฐฉ๋ฒ• - ์ƒ์„ฑ์ž์— @Autowired๋ฅผ ํ•˜๋ฉด ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์— @Component๋กœ ๋“ฑ๋ก๋œ ๋นˆ์—์„œ ์ƒ์„ฑ์ž์— ํ•„์š”ํ•œ ๋นˆ ์ฃผ์ž… โ–ช๏ธ ํŠน์ง• - ์ƒ์„ฑ์ž ํ˜ธ์ถœ ์‹œ์ ์— ๋”ฑ 1๋ฒˆ๋งŒ ํ˜ธ์ถœ๋˜๋Š” ๊ฒƒ์ด ๋ณด์žฅ๋จ - ๋ถˆ๋ณ€๊ณผ ํ•„์ˆ˜ ์˜์กด ๊ด€๊ณ„์— ์‚ฌ์šฉ - ์ƒ์„ฑ์ž๊ฐ€ 1๊ฐœ๋งŒ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ @Autowired๋ฅผ ์ƒ๋žตํ•ด๋„ ์ž๋™ ์ฃผ์ž… ๋จ - NullpointerE.. 2022. 6. 17.
[TIL] Java ๊ธฐ๋ฐ˜ ์ปจํ…Œ์ด๋„ˆ ์„ค์ • ๐Ÿ™๐Ÿป Java ๊ธฐ๋ฐ˜ ์ปจํ…Œ์ด๋„ˆ ์„ค์ • โ–ช๏ธ ์• ๋„ˆํ…Œ์ด์…˜ ๋ฐฉ์‹ @Configuration pulic class AppConfig { @Bean public UserService userService( ) { return new UserServiceImpl( ); } } โ–ช๏ธ XML ๋ฐฉ์‹ ๐Ÿ“ Annotation (@) : ์–ด๋…ธํ…Œ์ด์…˜ - ์ฝ”๋“œ์— ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์ง๊ด€์ ์ธ ์ฝ”๋”ฉ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์คŒ โ–ช๏ธ @Configuration - ํ•ด๋‹น ํด๋ž˜์Šค๋ฅผ ์Šคํ”„๋ง ์„ค์ • ํด๋ž˜์Šค๋กœ ์ง€์ • - ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์—๊ฒŒ ํ•ด๋‹น ํด๋ž˜์Šค๋ฅผ Bean ๊ตฌ์„ฑ ํด๋ž˜์Šค์ž„์„ ์•Œ๋ ค์ฃผ๋Š” ์• ๋…ธํ…Œ์ด์…˜ โ–ช๏ธ @Bean ๊ณผ @Component - ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์—๊ฒŒ Bean์„ ๋“ฑ๋กํ•˜๋„๋ก ํ•˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ์ž…ํ•˜๋Š” ์• ๋…ธํ…Œ์ด์…˜ โ–ธ @Bean - ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์ œ์–ด .. 2022. 6. 17.
[TIL] Spring Container & Bean ๐Ÿซถ๐Ÿป ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ : Spring Container - Bean ํ•˜๋‚˜์— ๋ฉ”ํƒ€ ์ •๋ณด๊ฐ€ ํ•˜๋‚˜์”ฉ ์ƒ์„ฑ๋˜๋ฉฐ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๋Š” ์ด ๋ฉ”ํƒ€ ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์Šคํ”„๋ง ๋นˆ ์ƒ์„ฑ ๐Ÿ“ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ๋ฐฉ๋ฒ• ๐Ÿซถ๐Ÿป ๋นˆ Bean ๐Ÿซถ๐Ÿป ๋นˆ ์Šค์ฝ”ํ”„ : Bean Scope ๐Ÿ“ ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์˜ ๋ฌธ์ œ์  - ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์„ ๊ตฌํ˜„ํ•˜๋Š” ์ฝ”๋“œ ์ž์ฒด๊ฐ€ ๋งŽ์Œ → (1) static ํ•„๋“œ๋กœ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑ (2) ๋งŒ๋“ค์–ด๋‘” ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ (3) private ์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉ = ์ฝ”๋“œ ๊ธธ์–ด์ง - ์˜์กด ๊ด€๊ณ„์ƒ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ตฌ์ฒด ํด๋ž˜์Šค์— ์˜์กด = DIP ์œ„๋ฐ˜ - private ์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž์‹ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— ์œ ์—ฐ์„ฑ์ด ๋–จ์–ด์ง - ์†์„ฑ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ๋ฌธ์ œ ๋ฐœ์ƒ ( ๋‚ด๋ถ€ ์†์„ฑ ๋ณ€๊ฒฝ ๋ฐ ์ดˆ๊ธฐํ™” .. 2022. 6. 17.
[TIL] Spring Boot ๐Ÿ‘๐Ÿป Spring Boot : ์Šคํ”„๋ง ๋ถ€ํŠธ - ๋ชจ๋“  ์Šคํ”„๋ง ๊ฐœ๋ฐœ์— ๋Œ€ํ•ด ๊ทผ๋ณธ์ ์œผ๋กœ ๋” ๋น ๋ฅด๊ณ  ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์—‘์„ธ์Šค ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์ž‘ ํ™˜๊ฒฝ์„ ์ œ๊ณต - ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ ํด๋ž˜์Šค์— ๊ณตํ†ต์ ์ธ ๊ธฐ๋Šฅ ๋“ฑ์„ ์ œ๊ณต (๋‚ด์žฅ ์„œ๋ฒ„, ๋ณด์•ˆ, ๋งคํŠธ๋ฆญ, ์ƒํƒœํ™•์ธ ๋“ฑ) - ์ฝ”๋“œ ์ƒ์„ฑ ๋ฐ XML ๊ตฌ์„ฑ ์š”๊ตฌ ์‚ฌํ•ญ์ด ์—†์Œ → Spring Framework ์‚ฌ์šฉ์‹œ ํŽธ๋ฆฌํ•˜๊ธด ํ•˜์ง€๋งŒ Spring ์„ค์ •์˜ ๋ณต์žกํ•จ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ → ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ•œ Spring Project ์ค‘ ํ•˜๋‚˜ ๐Ÿ“๊ธฐ์กด Spring ๊ณผ์˜ ์ฐจ์ด โ‘  ๋‚ด์žฅ ํ†ฐ์บฃ - ๋”ฐ๋กœ ํ†ฐ์บฃ์„ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ๋งค๋ฒˆ ๋ฒ„์ „๊ณผ๋ฆฌ๋ฅผ ํ•˜์ง€ ์•Š์•„๋„ ๋จ โ‘ก starter์„ ํ†ตํ•œ dependency ์ž๋™ํ™” - starter์„ ํ†ตํ•ด ์ข…์†๋œ ๋ชจ๋“  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์•Œ๋งž๊ฒŒ ์ฐพ์•„์„œ ๊ฐ€์ ธ์™€ ์˜์กด์„ฑ์ด๋‚˜ ํ˜ธํ™˜๋ฒ„์ „์— ๋Œ€ํ•ด ์‹ ๊ฒฝ .. 2022. 6. 15.
[TIL] Spring Framework Module ๐Ÿ™Œ๐Ÿป ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ = ์Šคํ”„๋ง : ์ž๋ฐ” ํ”Œ๋žซํผ์„ ์œ„ํ•œ ์˜คํ”ˆ ์†Œ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ - ๋™์  ์›น ์‚ฌ์ดํŠธ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์„œ๋น„์Šค ์ œ๊ณต โ‘  POJO ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœํ•˜๋”๋ผ๋„ ๊ฐ€๋ณ๊ณ  ์ œ์–ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ƒํ˜ธ ๊ด€๋ จ์ด ์ ์Œ โ‘ก ๊ด€์  ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ง€์› โ‘ข ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ†ตํ•ด ๋ผ์ดํ”„์‚ฌ์ดํด ๊ด€๋ฆฌ โ‘ฃ XML ๊ธฐ๋ฐ˜์œผ๋กœ ์ปดํฌ๋„ŒํŠธ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ โ–ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ผ๊ณ ๋„ ๋ถˆ๋ฆผ - ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ์ฝ˜์†” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, GUI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋“ฑ ์–ด๋–ค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๋„ ์ ์šฉ ๊ฐ€๋Šฅ โ–ธ ๊ฒฝ๋Ÿ‰ ์ปจํ…Œ์ด๋„ˆ๋ผ๊ณ ๋„ ๋ถˆ๋ฆผ - ๋ณต์žกํ•œ ์ˆœ์„œ๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š์•„๋„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ด์šฉ ๊ฐ€๋Šฅ - ๊ฒฝ๋Ÿ‰ ์ปจํ…Œ์ด๋„ˆ๋กœ์„œ ์ž๋ฐ” ๊ฐ์ฒด๋ฅผ ์ง์ ‘ ๊ด€๋ฆฌ ( ๊ฐ์ฒด ์ƒ์„ฑ, ์†Œ๋ฉธ์˜ ๋ผ์ดํ”„ ์‚ฌ์ดํด ๊ด€๋ฆฌ ) โ–ธ ์˜์กด์„ฑ ์ฃผ์ž… - ๊ฐ๊ฐ์˜ ๊ณ„์ธต์ด๋‚˜ ์„œ๋น„์Šค๋“ค ๊ฐ„ ์˜์กด์„ฑ์ด ์กด์žฌํ•œ๋‹ค๋ฉด ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ .. 2022. 6. 15.