๋ชฉ๋กBack-end (35)

DevLog ๐Ÿ˜ถ

[Spring] ์ž๋ฐ”์˜ inner class๋Š” ์Šคํ”„๋ง ๋นˆ์ด ๋  ์ˆ˜ ์žˆ์„๊นŒ?

๐ŸŒฑ ๋“ค์–ด๊ฐ€๊ธฐ ์ „ ์Šคํ”„๋ง ๋นˆ ๋“ฑ๋ก ๊ณผ์ •์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ์ •๋ณด๋ฅผ ์ฐพ์•„๋ณด๋‹ค๊ฐ€, inner class์˜ ๊ฒฝ์šฐ ๋นˆ์œผ๋กœ ๋“ฑ๋ก๋  ์ˆ˜ ์—†๋‹ค๋Š” ๊ธ€์„ ๋ณด์•˜๋‹ค. ๋ญ”๊ฐ€ ๋“ฑ๋ก์ด ๋  ๊ฒƒ ๊ฐ™์€๋ฐ ์•ˆ ๋œ๋‹ค๊ณ  ํ•ด์„œ ์ง์ ‘ ์‹คํ—˜์„ ํ•ด๋ณด์•˜๋‹ค ๐Ÿค” โœ”๏ธ inner class์™€ static class ์šฐ์„ , ๋‘ ๊ฐ€์ง€์— ๋Œ€ํ•œ ๊ฐœ๋…๋ถ€ํ„ฐ ์ œ๋Œ€๋กœ ์žก๊ณ  ๊ฐ€์•ผ ํ•œ๋‹ค. ํ”ํžˆ ๋‚ด๋ถ€ ํด๋ž˜์Šค๋ผ๊ณ  ํ•œ๋‹ค๋ฉด, static ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋‘˜์„ ๊ฐ™์€ ๊ฐœ๋…์œผ๋กœ ํ˜ผ๋™ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ •ํ™•ํ•œ ๊ฐœ๋…์„ ์•Œ๊ธฐ ์œ„ํ•ด Oracle ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•ด๋ณด์ž. ๐ŸŒฑ The Java programming language allows you to define a class within another class. Such a class is called a nes..

Back-end/Spring 2023. 4. 24. 12:25
[Spring] ์Šคํ”„๋ง๊ณผ ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์ƒ๊ด€๊ด€๊ณ„ - DI๋ž€ ๋ฌด์—‡์ผ๊นŒ?

๋ ˆ๋ฒจ 2 ์ˆ˜์—… ์‹œ๊ฐ„์— ์˜์กด์„ฑ ์ฃผ์ž… ๊ด€๋ จ ๋‚ด์šฉ์„ ๋“ค์œผ๋ฉด์„œ ์กฐ๊ธˆ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด๊ณ  ์‹ถ์–ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ธ€์„ ์ž‘์„ฑํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ๊ทธ๋™์•ˆ ์Šคํ”„๋ง์€ ๊ฐ์ฒด์ง€ํ–ฅ์ ์œผ๋กœ ์ž‘์„ฑํ•˜๊ธฐ ์ข‹์€ ํ”„๋ ˆ์ž„์›Œํฌ๋ผ๊ณ  ๋ง์€ ๋“ค์–ด๋ดค์ง€๋งŒ, ์ •ํ™•ํ•˜๊ฒŒ ์™œ์ธ์ง€๋Š” ์ดํ•ดํ•œ ์ ์ด ์—†์—ˆ๋‹ค. ์ •๋ฆฌ๋ฅผ ํ†ตํ•ด์„œ ์กฐ๊ธˆ ๋” ๋จธ๋ฆฌ์—... ๋‹ด์•„๋‘๊ณ ์ž ํ•œ๋‹ค! โœ”๏ธ ๊ฐ์ฒด์ง€ํ–ฅ์  ์„ค๊ณ„๊ณผ ๋””์ž์ธ ํŒจํ„ด ์šฐ์„ , ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„ ์›์น™์œผ๋กœ ๋งŽ์ด๋“ค ์–ธ๊ธ‰ํ•˜๋Š” SOLID์— ๋Œ€ํ•ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒ๊ฐํ•ด๋ณด์ž. - SRP (๋‹จ์ผ ์ฑ…์ž„ ์›์น™): ์–ด๋–ค ํด๋ž˜์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์ด์œ ๋Š” ์˜ค์ง ํ•˜๋‚˜๋ฟ์ด์–ด์•ผ ํ•œ๋‹ค. - OCP (๊ฐœ๋ฐฉ ํ์‡„ ์›์น™): ์ž์‹ ์˜ ํ™•์žฅ์—๋Š” ์—ด๋ ค์žˆ๊ณ , ์ฃผ๋ณ€์˜ ๋ณ€ํ™”์—๋Š” ๋‹ซํ˜€์žˆ์–ด์•ผ ํ•œ๋‹ค. - LSP (๋ฆฌ์Šค์ฝ”ํ”„ ์น˜ํ™˜ ์›์น™): ์„œ๋ธŒ ํƒ€์ž…์€ ํ•ญ์ƒ ์ž์‹ ์˜ ๊ธฐ๋ฐ˜ ํƒ€์ž…์œผ๋กœ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. - ISP (์ธํ„ฐํŽ˜์ด์Šค..

Back-end/Spring 2023. 4. 18. 17:38
[Spring] Jackson annotation - Serialization ์•Œ์•„๋ณด๊ธฐ

๋ฌธ๋“ ์ง๋ ฌํ™” ๊ด€๋ จํ•ด์„œ ๊ถ๊ธˆํ•ดํ•˜๋‹ค๊ฐ€, Jackson ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•ด์„œ๋„ ํ•œ ๋ฒˆ ๊ณต๋ถ€ํ•ด๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์„œ ์ž‘์„ฑํ•˜๋Š” ๊ธ€! ์ •๋ง ๊ฐ„๋‹จํ•˜๊ณ  ์–•๊ฒŒ ์ •๋ฆฌํ•  ์˜ˆ์ •์ด๋ผ, ๋‚˜์ค‘์— ๊นŠ๊ฒŒ ๊ณต๋ถ€ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ํ•œ ๋ฒˆ ๋” ์ž‘์„ฑํ•ด๋ณด์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค ๐Ÿซ  โœ”๏ธ Serialization Serialization is taking the properties of an object, and converting them into json string representation. ์ง๋ ฌํ™”๋ž€ ๋ฌด์—‡์ผ๊นŒ? ๊ฐ์ฒด์˜ ์†์„ฑ์„ ๊ฐ€์ ธ์™€์„œ Json ๋ฌธ์ž์—ด ํ‘œํ˜„์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ •ํ™•ํ•˜๊ฒŒ๋Š”, ๊ฐ์ฒด๋ฅผ ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์ด๋ฉฐ, ์ง๋ ฌํ™”๋œ ๊ฐ์ฒด๋Š” ๋‚˜์ค‘์— ๋‹ค์‹œ ๋ณต์›์ด ๊ฐ€๋Šฅํ•˜๋‹ค. public class Crew { private String name; ..

Back-end/Spring 2023. 4. 16. 22:29
[Spring] ์„œ๋ธ”๋ฆฟ ํ•„ํ„ฐ, ์Šคํ”„๋ง ์ธํ„ฐ์…‰ํ„ฐ, ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ๋กœ๊ทธ์ธ ๊ฒ€์ฆํ•˜๊ธฐ

๊น€์˜ํ•œ ๋‹˜์˜ '์Šคํ”„๋ง MVC 2ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ™œ์šฉ ๊ธฐ์ˆ '์„ ๋ณด๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค ๐Ÿ˜Š ์Šคํ”„๋ง MVC 2ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ™œ์šฉ ๊ธฐ์ˆ  - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋ชจ๋“  ์›น ๊ธฐ์ˆ ์„ ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์ดํ•ดํ•˜๊ณ , ์™„์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. MVC 2ํŽธ์—์„œ๋Š” MVC 1ํŽธ์˜ ํ•ต์‹ฌ ์›๋ฆฌ์™€ ๊ตฌ์กฐ ์œ„์— ์‹ค๋ฌด ์›น ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋ชจ๋“  ํ™œ์šฉ ๊ธฐ์ˆ ๋“ค์„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ www.inflearn.com ์ง€๋‚œ ํฌ์ŠคํŒ…๊ณผ ์ด์–ด์ง‘๋‹ˆ๋‹ค :D [Spring] ์ƒํ’ˆ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์— ํšŒ์›๊ฐ€์ž… / ๋กœ๊ทธ์ธ ์ฒ˜๋ฆฌ ๋กœ์ง ์ถ”๊ฐ€ํ•˜๊ธฐ, ์ฟ ํ‚ค๋ฅผ ํ†ตํ•œ ์‹๋ณ„ ์ฒ˜๋ฆฌ ๊น€์˜ํ•œ ๋‹˜์˜ '์Šคํ”„๋ง MVC 2ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ™œ์šฉ ๊ธฐ์ˆ '์„ ๋ณด๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค ๐Ÿ˜Š ์Šคํ”„๋ง MVC 2ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ™œ์šฉ ๊ธฐ์ˆ  - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ํ•„..

Back-end/Spring 2022. 8. 28. 16:28
[Spring] ์ƒํ’ˆ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์— ์„ธ์…˜์œผ๋กœ ๋กœ๊ทธ์ธ ์ฒ˜๋ฆฌํ•˜๊ธฐ

๊น€์˜ํ•œ ๋‹˜์˜ '์Šคํ”„๋ง MVC 2ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ™œ์šฉ ๊ธฐ์ˆ '์„ ๋ณด๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค ๐Ÿ˜Š ์Šคํ”„๋ง MVC 2ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ™œ์šฉ ๊ธฐ์ˆ  - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋ชจ๋“  ์›น ๊ธฐ์ˆ ์„ ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์ดํ•ดํ•˜๊ณ , ์™„์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. MVC 2ํŽธ์—์„œ๋Š” MVC 1ํŽธ์˜ ํ•ต์‹ฌ ์›๋ฆฌ์™€ ๊ตฌ์กฐ ์œ„์— ์‹ค๋ฌด ์›น ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋ชจ๋“  ํ™œ์šฉ ๊ธฐ์ˆ ๋“ค์„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ www.inflearn.com - ์ง€๋‚œ ํฌ์ŠคํŒ…๊ณผ ์ด์–ด์ง‘๋‹ˆ๋‹ค :D [Spring] ์ƒํ’ˆ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์— ํšŒ์›๊ฐ€์ž… / ๋กœ๊ทธ์ธ ์ฒ˜๋ฆฌ ๋กœ์ง ์ถ”๊ฐ€ํ•˜๊ธฐ, ์ฟ ํ‚ค๋ฅผ ํ†ตํ•œ ์‹๋ณ„ ์ฒ˜๋ฆฌ ๊น€์˜ํ•œ ๋‹˜์˜ '์Šคํ”„๋ง MVC 2ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ™œ์šฉ ๊ธฐ์ˆ '์„ ๋ณด๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค ๐Ÿ˜Š ์Šคํ”„๋ง MVC 2ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ™œ์šฉ ๊ธฐ์ˆ  - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์—..

Back-end/Spring 2022. 8. 23. 22:14
[Spring] ์ƒํ’ˆ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์— ํšŒ์›๊ฐ€์ž… / ๋กœ๊ทธ์ธ ์ฒ˜๋ฆฌ ๋กœ์ง ์ถ”๊ฐ€ํ•˜๊ธฐ, ์ฟ ํ‚ค๋ฅผ ํ†ตํ•œ ์‹๋ณ„ ์ฒ˜๋ฆฌ

๊น€์˜ํ•œ ๋‹˜์˜ '์Šคํ”„๋ง MVC 2ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ™œ์šฉ ๊ธฐ์ˆ '์„ ๋ณด๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค ๐Ÿ˜Š ์Šคํ”„๋ง MVC 2ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ™œ์šฉ ๊ธฐ์ˆ  - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋ชจ๋“  ์›น ๊ธฐ์ˆ ์„ ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์ดํ•ดํ•˜๊ณ , ์™„์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. MVC 2ํŽธ์—์„œ๋Š” MVC 1ํŽธ์˜ ํ•ต์‹ฌ ์›๋ฆฌ์™€ ๊ตฌ์กฐ ์œ„์— ์‹ค๋ฌด ์›น ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋ชจ๋“  ํ™œ์šฉ ๊ธฐ์ˆ ๋“ค์„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ www.inflearn.com - ์ง€๋‚œ ํฌ์ŠคํŒ…๊ณผ ์ด์–ด์ง‘๋‹ˆ๋‹ค :D [Spring] Bean Validation - ์–ด๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด ๊ฒ€์ฆ ์ง„ํ–‰ํ•˜๊ธฐ ๊น€์˜ํ•œ ๋‹˜์˜ '์Šคํ”„๋ง MVC 2ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ™œ์šฉ ๊ธฐ์ˆ '์„ ๋ณด๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค ๐Ÿ˜Š ์Šคํ”„๋ง MVC 2ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ™œ์šฉ ๊ธฐ์ˆ  - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋ชจ๋“  ์›น ๊ธฐ..

Back-end/Spring 2022. 8. 23. 17:13
[Spring] Bean Validation - ์–ด๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด ๊ฒ€์ฆ ์ง„ํ–‰ํ•˜๊ธฐ

๊น€์˜ํ•œ ๋‹˜์˜ '์Šคํ”„๋ง MVC 2ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ™œ์šฉ ๊ธฐ์ˆ '์„ ๋ณด๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค ๐Ÿ˜Š ์Šคํ”„๋ง MVC 2ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ™œ์šฉ ๊ธฐ์ˆ  - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋ชจ๋“  ์›น ๊ธฐ์ˆ ์„ ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์ดํ•ดํ•˜๊ณ , ์™„์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. MVC 2ํŽธ์—์„œ๋Š” MVC 1ํŽธ์˜ ํ•ต์‹ฌ ์›๋ฆฌ์™€ ๊ตฌ์กฐ ์œ„์— ์‹ค๋ฌด ์›น ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋ชจ๋“  ํ™œ์šฉ ๊ธฐ์ˆ ๋“ค์„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ www.inflearn.com - ์ง€๋‚œ ํฌ์ŠคํŒ…๊ณผ ์ด์–ด์ง‘๋‹ˆ๋‹ค :D [Spring] BindingResult๋ฅผ ํ™œ์šฉํ•ด์„œ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€ํ•˜๊ธฐ, MessageCodesResolver ์•Œ์•„๋ณด๊ธฐ ๊น€์˜ํ•œ ๋‹˜์˜ '์Šคํ”„๋ง MVC 2ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ™œ์šฉ ๊ธฐ์ˆ '์„ ๋ณด๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค ๐Ÿ˜Š ์Šคํ”„๋ง MVC 2ํŽธ - ๋ฐฑ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ™œ์šฉ ๊ธฐ์ˆ  - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜ ์›น..

Back-end/Spring 2022. 8. 22. 22:58