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

๐ŸŽฎ ํ”„๋กœ๊ทธ๋ž˜๋ฐ/2025 ํ•œ๊ฒฝxํ† ์Šค ๋ถ€์บ (Fullstack)17

[ํ•œ๊ฒฝ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.
[ํ•œ๊ฒฝxToss] ๐Ÿ‘์ถ”๊ฐ€๊ณต๋ถ€) Node JS, MySQL ์„œ๋ฒ„ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… / API ๋งŒ๋“ค๊ธฐ ER_NOT_SUPPORTED_AUTH_MODE ์—๋Ÿฌ mysql ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… ๊ธฐ๋กํ„ฐ๋ฏธ๋„์—์„œ node mysql-server.js ๋กœ ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๋•Œ, ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋‹ค.code: 'ER_NOT_SUPPORTED_AUTH_MODE',errno: 1251,sqlMessage: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client',sqlState: '08004',fatal: true  ๋ถ„๋ช… ๋ชฝ๊ณ ๋””๋น„ ์“ธ๋•Œ๋Š” ์ž˜๋๋Š”๋ฐ..!!!์ด ์˜ค๋ฅ˜๋Š” MySQL ์„œ๋ฒ„์˜ ์ธ์ฆ ๋ฐฉ์‹์ด ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ MySQL ํด๋ผ์ด์–ธํŠธ์—์„œ ์ง€์›๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ํ•œ๋‹ค MySQL 8.0 ์ด์ƒ์—์„œ๋Š” ๊ธฐ๋ณธ ์ธ์ฆ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด caching_sha2_passwor.. 2025. 3. 26.
[ํ•œ๊ฒฝxToss] Fullstack ๊ฐœ๋ฐœ - ์ค‘๊ฐ„ ํ”„๋กœ์ ํŠธ ํšŒ๊ณ  ๐Ÿ“š๐Ÿ‘ฉ‍๐Ÿ’ป [ํ•œ๊ตญ๊ฒฝ์ œ์‹ ๋ฌธ with toss bank] Tech ์šฐ์ˆ˜์ธ์žฌ ์–‘์„ฑ์„ ์œ„ํ•œ ํ’€์Šคํƒ ๊ณผ์ • 2๊ธฐ ์•ฝ 3์ฃผ ๋™์•ˆ ์ง„ํ–‰ํ•œ ์ค‘๊ฐ„ ํ”„๋กœ์ ํŠธ ํ›„๊ธฐ.์ง€๋‚œ ์ฃผ์— ๋ฐœํ‘œ๊ฐ€ ๋๋‚ฌ๋Š”๋ฐ, ๋” ๋ฏธ๋ค˜๋‹ค๊ฐ€๋Š” ๊ธฐ์–ต์ด ํœ˜๋ฐœ๋  ๊ฒƒ ๊ฐ™์•„ ์„œ๋‘˜๋Ÿฌ ์ž‘์„ฑํ•ด๋ณด๋ ค ํ•œ๋‹ค โฌ‡๏ธ ํ”Œ์  ์†Œ์Šค โฌ‡๏ธ https://github.com/inthhh/bufl_fe GitHub - inthhh/bufl_fe: ๋ฒ„ํ”Œ - ์›”๊ธ‰ ์ชผ๊ฐœ๊ธฐ ์ž๋™ํ™” ์„œ๋น„์Šค๋ฒ„ํ”Œ - ์›”๊ธ‰ ์ชผ๊ฐœ๊ธฐ ์ž๋™ํ™” ์„œ๋น„์Šค. Contribute to inthhh/bufl_fe development by creating an account on GitHub.github.com ๋ชฉ์ฐจ 1. ํŒ€ ๋นŒ๋”ฉ2. ์ฃผ์ œ3. ๊ธฐํš์•ˆ ์ž‘์„ฑ4. ๊ฐœ๋ฐœ    - ๊ฐœ๋ฐœ ์ง„ํ–‰    - ์‚ฌ๊ฑด์‚ฌ๊ณ 5. ๋ฐœํ‘œ ์ค€๋น„ 1. ํŒ€ ๋นŒ๋”ฉํŒ€์€ ๊ฐ•์‚ฌ๋‹˜๊ป˜์„œ ์ž„์˜๋กœ.. 2025. 3. 24.
728x90
๋ฐ˜์‘ํ˜•