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

๐ŸŽฎ ํ”„๋กœ๊ทธ๋ž˜๋ฐ51

[Springboot] ์ž๋ฐ” ์Šคํ”„๋ง๋ถ€ํŠธ Swagger ๊ธฐ๋ณธ ์„ค์ • ํ’€์Šคํƒ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋ฉ”๋ชจํ•˜๋Š”์ž๋ฐ” ์Šคํ”„๋ง๋ถ€ํŠธ ์Šค์›จ๊ฑฐ ์„ค์ • ๐Ÿ”ฅ ๊ธฐ๋ณธ URL = http://localhost:8080/swagger-ui/index.html#/ ๐Ÿ”ฅ ๋””๋ ‰ํ† ๋ฆฌ = java/com/example/{ํ”„๋กœ์ ํŠธ ์ด๋ฆ„}/global/config ๐Ÿ”ฅ build.gradle ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋‚ด์šฉ// swagger implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.7.0' ๐Ÿ”ฅ SwaggerConfig ๊ธฐ๋ณธ ์ฝ”๋“œpackage com.example.kiosk_be.global.config;import io.swagger.v3.oas.annotations.OpenAPIDefinition;import io.swagger... 2025. 5. 1.
[NextJS] SSR ์ปดํฌ๋„ŒํŠธ vs CSR ์ปดํฌ๋„ŒํŠธ (Server Component์™€ Client Component), ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ๋ฌธ์ œ ํ•ด๊ฒฐ Next.js - Server Component์™€ Client ComponentNext.js 13๋ถ€ํ„ฐ app ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ๊ฐ€ ๋„์ž…๋˜๋ฉด์„œ, ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์„œ๋ฒ„(Server) ์ปดํฌ๋„ŒํŠธ์ธ์ง€, ํด๋ผ์ด์–ธํŠธ(Client) ์ปดํฌ๋„ŒํŠธ์ธ์ง€ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•ด์กŒ์Šต๋‹ˆ๋‹ค.์ด ๊ธ€์—์„œ๋Š” Server Component์™€ Client Component๊ฐ€ ๋ฌด์—‡์ธ์ง€, ๊ฐ๊ฐ ์–ด๋–ค ํŠน์ง•๊ณผ ์žฅ๋‹จ์ ์„ ๊ฐ€์ง€๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ์–ธ์ œ ์–ด๋–ค ๊ฑธ ์„ ํƒํ•ด์•ผ ํ•˜๋Š”์ง€ ์‰ฝ๊ฒŒ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.Server Component๋ž€?Next.js์—์„œ page.tsx๋‚˜ layout.tsx ์ปดํฌ๋„ŒํŠธ๋“ค์€ ๊ธฐ๋ณธ์ ์œผ๋กœ Server Component์ž…๋‹ˆ๋‹ค.Server Component๋Š” ์„œ๋ฒ„์—์„œ ๋ Œ๋”๋ง๋˜๊ณ , ์ตœ์ข… ๊ฒฐ๊ณผ๋งŒ HTML๋กœ ๋ธŒ๋ผ์šฐ์ €์— ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.โœ… Server Compone.. 2025. 4. 26.
[NextJS] ์ด๋ฏธ์ง€๋ฅผ ๋ Œ๋”๋งํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ• : img vs Image ํƒœ๊ทธ ๋น„๊ต Next.js์—์„œ img์™€ Image ์ปดํฌ๋„ŒํŠธ ๋น„๊ตNext.js๋กœ ์›น ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค ๋ณด๋ฉด ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ฅผ ์‚ฝ์ž…ํ•  ๋•Œ ๋‘ ๊ฐ€์ง€ ์„ ํƒ์ง€๊ฐ€ ์žˆ๋‹ค. ๋ฐ”๋กœ HTML ๊ธฐ๋ณธ ํƒœ๊ทธ์ธ ์™€ Next.js๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋‹ค. ๋น„์Šทํ•ด ๋ณด์ด์ง€๋งŒ, ๋‘ ๋ฐฉ๋ฒ•์€ ๋‚ด๋ถ€ ๋™์ž‘ ๋ฐฉ์‹, ์„ฑ๋Šฅ ์ตœ์ ํ™”, ์‚ฌ์šฉ ํŽธ์˜์„ฑ ์ธก๋ฉด์—์„œ ์ƒ๋‹นํžˆ ๋‹ค๋ฅด๋‹ค. Next.js๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชฉ์  ์ž์ฒด๊ฐ€ ์ตœ์ ํ™”๋œ React ๊ฐœ๋ฐœ์ด๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋ฏธ์ง€ ๋˜ํ•œ ์ „์šฉ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ ๊ทน ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค."๋น ๋ฅด๊ณ  ๊ฐ€๋ฒผ์šด ์›น ์„œ๋น„์Šค" ๋ฅผ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค๋ฉด, Next.js์˜ ๋ฅผ ์‚ฌ์šฉํ•˜์ž! 1. ๊ธฐ๋ณธ ์ •์˜ ์ •์˜HTML ํ‘œ์ค€ ์ด๋ฏธ์ง€ ํƒœ๊ทธNext.js ์ „์šฉ ๊ณ ์„ฑ๋Šฅ ์ด๋ฏธ์ง€ ์ปดํฌ๋„ŒํŠธ์ œ๊ณต ์ฃผ์ฒด๋ธŒ๋ผ์šฐ์ € ํ‘œ์ค€Next.js (next/image ๋ชจ๋“ˆ)2. ๋™์ž‘ ๋ฐฉ์‹ ํƒœ๊ทธ๊ทธ๋ƒฅ HTML ๊ทธ ์ž์ฒด.. 2025. 4. 26.
[NextJS] ๋ผ์šฐํŒ… ์‹œ์Šคํ…œ ์ข…๋ฅ˜ - app vs pages ๋””๋ ‰ํ† ๋ง ๋ฐฉ๋ฒ• ๋น„๊ต, ํด๋” ๊ตฌ์กฐ ์˜ˆ์‹œ, useRouter ์˜ค๋ฅ˜ ๋””๋ฒ„๊น… Next.js์—์„œ app ๋””๋ ‰ํ† ๋ฆฌ์™€ pages ๋””๋ ‰ํ† ๋ฆฌ๋Š”๊ฐ๊ฐ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ํŽ˜์ด์ง€ ๋ผ์šฐํŒ…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.1. pages ๋””๋ ‰ํ† ๋ฆฌimport { useRouter } from 'next/router'; ์‚ฌ์šฉ/pages ๊ตฌ์กฐ ์˜ˆ์‹œ index.tsx → / about.tsx → /about # ๐Ÿ‘ค ์‚ฌ์šฉ์ž์šฉ client/ dashboard.tsx → /client/dashboard profile.tsx → /client/profile blog/ [id].tsx → /client/blog/:id # ๐Ÿ›  ๊ด€๋ฆฌ์ž์šฉ admin/ i.. 2025. 4. 25.
[ํ•œ๊ฒฝ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.
728x90
๋ฐ˜์‘ํ˜•