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

๐Ÿ‘ฉโ€๐Ÿ’ป ๊ฐœ๋ฐœ ๊ณต๋ถ€47

[ํ•œ๊ฒฝxToss] 15์ฃผ์ฐจ ์š”์•ฝ : Java SpringBoot + ์ฒซ ์Šคํ”„๋ง ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ ๊ฐœ์ธ์˜ ํ•™์Šต ๋‚ด์šฉ ๊ธฐ๋ก ์ค‘, ๊ทนํžˆ ์ผ๋ถ€์˜ ๋‚ด์šฉ๋งŒ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ž๋ฐ” ์Šคํ”„๋ง๋ถ€ํŠธ ๊ธฐ์ดˆ ๐ŸŒฑ Spring ๊ฐœ๋…Java ๊ธฐ๋ฐ˜์˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ชฉํ‘œ: ํ˜„๋Œ€ ์ž๋ฐ” ๊ธฐ๋ฐ˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐ ์„ค์ • ๋ชจ๋ธ ์ œ๊ณตโœจ Spring์˜ ์ฃผ์š” ํŠน์ง•- POJO ์ง€ํ–ฅPOJO (Plain Old Java Object): ์™ธ๋ถ€ ๊ธฐ์ˆ  ์—†์ด ์ˆœ์ˆ˜ Java๋กœ ์ž‘์„ฑ๋œ ๊ฐ์ฒด- ๊ฒฝ๋Ÿ‰ ์ปจํ…Œ์ด๋„ˆ๊ฐ์ฒด ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์ž์ฒด์ ์œผ๋กœ ์ˆ˜ํ–‰- IoC (์ œ์–ด์˜ ์—ญ์ „) / DI (์˜์กด์„ฑ ์ฃผ์ž…)๊ฐ์ฒด ๊ฐ„ ์˜์กด์„ฑ์„ ์™ธ๋ถ€์—์„œ ์ฃผ์ž…ํ•˜์—ฌ ์œ ์—ฐํ•œ ๊ตฌ์กฐ ์„ค๊ณ„ ๊ฐ€๋Šฅ- AOP (๊ด€์ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ)๊ณตํ†ต ๊ด€์‹ฌ ์‚ฌํ•ญ(๋กœ๊น…, ๋ณด์•ˆ ๋“ฑ)์„ ํ•ต์‹ฌ ๋กœ์ง๊ณผ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ด€๋ฆฌ๐Ÿš€ Spring Boot ์ฃผ์š” ์–ด๋…ธํ…Œ์ด์…˜๐Ÿ”น @SpringBootApplication3.. 2025. 4. 12.
[ํ•œ๊ฒฝxToss] 14์ฃผ์ฐจ ์š”์•ฝ : Java ๊ฐœ์ธ์˜ ํ•™์Šต ๋‚ด์šฉ ๊ธฐ๋ก ์ค‘, ๊ทนํžˆ ์ผ๋ถ€์˜ ๋‚ด์šฉ๋งŒ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Java//์ž๋ฐ”๋Š” ํด๋ž˜์Šค์—์„œ ์‹œ์ž‘ํ•ด์„œ ๋๋‚œ๋‹ค.//public : ์ ‘๊ทผ์ œํ•œ์ž//class : ํด๋ž˜์Šค ์ •์˜์–ดpublic class ex01 { //static : ์ •์  ๋ณ€์ˆ˜/ํ•จ์ˆ˜๋กœ ์„ ์–ธ // ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘์ ์— ์ •์˜ํ•œ๋‹ค. //String[] : ๋ฌธ์ž์—ด ๋ฐฐ์—ด, ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘์‹œ // ํŒŒ๋ผ๋ฏธํ„ฐ ex) hwp.exe a.hwp b.hwp public static void main(String[] args) { //println : ์ฝ˜์†” ์ถœ๋ ฅ System.out.println("Hello Java!"); }}//๋ฐ์ดํ„ฐ ํƒ€์ž…(์ž๋ฃŒํ˜•) //๊ธฐ.. 2025. 4. 12.
[ํ•œ๊ฒฝxToss] 12-13์ฃผ์ฐจ ์š”์•ฝ(2) : Next.JS ๊ฐœ์ธ์˜ ํ•™์Šต ๋‚ด์šฉ ๊ธฐ๋ก ์ค‘, ๊ทนํžˆ ์ผ๋ถ€์˜ ๋‚ด์šฉ๋งŒ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.  React VS Next๋ฆฌ์•กํŠธ : CSR (ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง) - ๋ฒˆ๋“ค์œ ์ € pc์—์„œ js์™€ html์„ ๊ทธ๋ ค์คŒ๊ฒ€์ƒ‰์—”์ง„(SEO)์— ์•ˆ๊ฑธ๋ฆผ์ฒซ ๋กœ๋”ฉ์‹œ ์ง€์—ฐ ๋ฐœ์ƒ๋„ฅ์ŠคํŠธ : SSR (์„œ๋ฒ„์‚ฌ์ด๋“œ ๋ Œ๋”๋ง) - ๋ฆฌ์•กํŠธ ์ œ์ž‘ํ•˜๊ณ , html์„ ๋‚ด๋ ค์คŒ๊ฒ€์ƒ‰์—”์ง„์— ๋‚˜์˜ด์ง€์—ฐ์ด ๋ฐœ์ƒ๋˜์ง€ ์•Š์Œfetch ํ•จ์ˆ˜ ์ตœ์ ํ™”, ๋ชจ๋“  ๊ธฐ๋Šฅ ์ตœ์ ํ™” ์ œ๊ณต๋ณ„๋„์˜ ๋ผ์šฐํ„ฐ ์„ค์ •์ด ํ•„์š” ์—†๊ณ , ํŒŒ์ผ์‹œ์Šคํ…œ ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ… ์ œ๊ณตSSR ์žฅ์  : ๋ณด์•ˆ์„ฑ, ํ˜ธํ™˜์„ฑ, SEO ์ตœ์ ํ™”๋‹จ์  : ๋” ๋งŽ์€ ์ž์› ์†Œ๋ชจ, ๋งŽ์€ ๋ถ€ํ•˜, ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ ์ฆ๊ฐ€, ํŽ˜์ด์ง€ ์š”์ฒญ ์‹œ๊ฐ„ ์ฆ๊ฐ€, ๋ธŒ๋ผ์šฐ์ € ์ „์šฉ API ์‚ฌ์šฉ ์‹œ ๋ช…์‹œ์  ์ง€์ • ํ•„์š”  ๐Ÿ“Œ ์˜ˆ์‹œ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ (app/page.tsx)// ๊ธฐ๋ณธ์ ์œผ๋กœ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธexp.. 2025. 4. 12.
[ํ•œ๊ฒฝxToss] 12-13์ฃผ์ฐจ ์š”์•ฝ(1) : MySQL ๊ฐœ์ธ์˜ ํ•™์Šต ๋‚ด์šฉ ๊ธฐ๋ก ์ค‘, ๊ทนํžˆ ์ผ๋ถ€์˜ ๋‚ด์šฉ๋งŒ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.  mysql ์„ค์น˜mysql workbench, dbeaver ์„ค์น˜ (UI๊ฐ€ ๋” ์ข‹์€ ๋””๋น„๋ฒ„ ์‚ฌ์šฉ) ๐Ÿ“Œ  SQL ํ•จ์ˆ˜ ์ข…๋ฅ˜๋‚ด์žฅ ํ•จ์ˆ˜: MySQL์—์„œ ๊ธฐ๋ณธ ์ œ๊ณต๋‹จ์ผํ–‰ ํ•จ์ˆ˜: ํ•˜๋‚˜์˜ ํ–‰ โ†’ ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ์ง‘๊ณ„ ํ•จ์ˆ˜: ์—ฌ๋Ÿฌ ํ–‰ โ†’ ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜: ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๋งŒ๋“  ํ•จ์ˆ˜๐Ÿ“š ๋ฌธ์ž์—ด ํ•จ์ˆ˜๊ธธ์ด:CHAR_LENGTH('HELLO'): ๊ธ€์ž ์ˆ˜ (5)LENGTH('HELLO'): ๋ฐ”์ดํŠธ ์ˆ˜ (5)ํ•œ๊ธ€์€ ๋ฐ”์ดํŠธ ์ˆ˜ ๋‹ค๋ฆ„์—ฐ๊ฒฐ:CONCAT('A','B'): ABCONCAT_WS('-', 'A','B'): A-B์ž๋ฅด๊ธฐ:LEFT('๋ฌธ์ž์—ด', 3) / RIGHT('๋ฌธ์ž์—ด', 3)SUBSTR('๋ฌธ์ž์—ด', ์‹œ์ž‘, ๊ฐœ์ˆ˜)์ผ๋ถ€ ์ถ”์ถœ:SUBSTRING_INDEX.. 2025. 4. 12.
[์ฒ˜์Œ ๋งŒ๋‚œ ๋ฆฌ์•กํŠธ] React ์ฑ…์ฝ๊ธฐ : Chapter 9-12 ์ •๋ฆฌ [ ์ฐธ๊ณ  ์„œ์  : ์†Œํ”Œ์˜ ์ฒ˜์Œ ๋งŒ๋‚œ ๋ฆฌ์•กํŠธ(2ํŒ) - ํ•œ๋น›๋ฏธ๋””์–ด ] โœ… ์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง (Conditional Rendering)์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ Œ๋”๋ง ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง€๋„๋ก ํ•˜๋Š” ๊ฒƒ๐Ÿ”น 1. ์—˜๋ฆฌ๋จผํŠธ ๋ณ€์ˆ˜๋ฆฌ์•กํŠธ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ๋ณ€์ˆ˜์ฒ˜๋Ÿผ ์ €์žฅํ•ด์„œ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์„ ํƒ์ ์œผ๋กœ ๋ Œ๋”๋ง let button;if (isLoggedIn) { button = ;} else { button = ;}return {button};๐Ÿ”น 2. ์ธ๋ผ์ธ ์กฐ๊ฑดโ–ถ ์ธ๋ผ์ธ If์กฐ๊ฑด๋ฌธ์„ ์ฝ”๋“œ ์•ˆ์— ์ง์ ‘ ์ง‘์–ด๋„ฃ๋Š” ๋ฐฉ์‹๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž && (AND) ์‚ฌ์šฉ์•ž์˜ ์กฐ๊ฑด์ด true์ผ ๋•Œ๋งŒ ๋’ค์˜ ์—˜๋ฆฌ๋จผํŠธ๊ฐ€ ๋ Œ๋”๋ง๋จ{isLoggedIn && }โ–ถ ์ธ๋ผ์ธ If-Else์‚ผํ•ญ ์—ฐ์‚ฐ์ž ? : ์‚ฌ์šฉ์กฐ๊ฑด์ด true๋ฉด ์ฒซ ๋ฒˆ์งธ, false๋ฉด ๋‘ ๋ฒˆ์งธ ํ•ญ๋ชฉ์„ ๋ Œ๋”๋ง์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ๊ฐ€์ง€.. 2025. 4. 7.
[์ฒ˜์Œ ๋งŒ๋‚œ ๋ฆฌ์•กํŠธ] React ์ฑ…์ฝ๊ธฐ : Chapter 6-8 ์ •๋ฆฌ [ ์ฐธ๊ณ  ์„œ์  : ์†Œํ”Œ์˜ ์ฒ˜์Œ ๋งŒ๋‚œ ๋ฆฌ์•กํŠธ(2ํŒ) - ํ•œ๋น›๋ฏธ๋””์–ด ] ๐Ÿ”น React State ์ •๋ฆฌโœ… State๋ž€?๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ์˜ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉState๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์žฌ๋ Œ๋”๋ง๋จ๋ Œ๋”๋ง์ด๋‚˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„์— ์‚ฌ์šฉ๋˜๋Š” ๊ฐ’๋งŒ State์— ํฌํ•จํ•ด์•ผ ํ•จ๐ŸŽฏ State์˜ ํŠน์ง•JavaScript ๊ฐ์ฒด ํ˜•ํƒœ์ง์ ‘ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅ โ†’ ๋ฐ˜๋“œ์‹œ ์ง€์ •๋œ ๋ฐฉ๋ฒ•(set ํ•จ์ˆ˜)์œผ๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ•จโš›๏ธ ํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ์—์„œ State ์‚ฌ์šฉ๋ฒ•์ƒ์„ฑ์ž์—์„œ State๋ฅผ ํ•œ ๋ฒˆ์— ์ •์˜State ๋ณ€๊ฒฝ ์‹œ setState() ํ•จ์ˆ˜ ์‚ฌ์šฉโšก ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ์—์„œ State ์‚ฌ์šฉ๋ฒ•useState() Hook์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ๊ฐ์˜ State๋ฅผ ์ •์˜๊ฐ State๋ณ„๋กœ ์ œ๊ณต๋˜๋Š” set ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€๊ฒฝ๐Ÿ”น React ์ƒ๋ช…์ฃผ๊ธฐ(Life.. 2025. 4. 4.
728x90
๋ฐ˜์‘ํ˜•