๊ฐœ๋ฐœ๊ตฌ๋ฆฌ๐Ÿธ

Burp Suite ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿธ ๋ช‡ ๋‹ฌ ํ›„ ๋ณด์•ˆ ์ทจ์•ฝ์  ์—…๋ฌด์—์„œ ํ—ˆ๋•์ผ ์ €์™€ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•œ ๋ถ„๋“ค์„ ์œ„ํ•ด ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋ชฉ์ฐจ ์„ค์น˜ ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ์‹œ์ž‘ ํ”„๋ก์‹œ ํ™˜๊ฒฝ ์„ค์ • ์ „์šฉ ๋ธŒ๋ผ์šฐ์ € ์‚ฌ์šฉํ•˜๊ธฐ ์œˆ๋„์šฐ ํ”„๋ก์‹œ ์‚ฌ์šฉํ•˜๊ธฐ ํฌ๋กฌ ํ™•์žฅํ”„๋กœ๊ทธ๋žจ ์‚ฌ์šฉํ•˜๊ธฐ(์ถ”์ฒœ) ...

Next.js ๊ณต๋ถ€ํ•˜๊ธฐ 7์ผ์ฐจ

์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿธ ์š”์ฆ˜ ๋‹ค์‹œ ๋ฐ”์œ ์—…๋ฌด์™€ ํ—ค์ดํ•ด์ง„ ์ •์‹ ๋ ฅ์œผ๋กœ ์ธํ•ด ๊ฒŒ์œผ๋ฅธ ์ œ๊ฐ€ ๋˜ ๊ณต๋ถ€๋ฅผ ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด์„œ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. Dynamic metadata ์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์ˆ˜๊ฐ€ ์•„๋‹Œ ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐœ์‹œ๊ธ€์˜ ์ƒ์„ธ๋ณด๊ธฐ, ์˜ํ™” ์ •๋ณด ํŽ˜์ด์ง€ ๋“ฑ๊ณผ ๊ฐ™์ด ์–ด๋– ํ•œ ์ •๋ณด์˜ ์ƒ์„ธ ํŽ˜์ด์ง€์ธ ๊ฒฝ์šฐ ํ•ด๋‹น ์ •๋ณด๋ฅผ ๋Œ€...

ํ”„๋กœ์‹œ์ € ์ƒ์„ฑ ์‹œ ํ…Œ์ด๋ธ” ํ™•์ธ์€ ํ•˜์ง€ ์•Š๋Š”๋‹ค

๋ชฉ์ฐจ ์š”์•ฝ ์ƒํ™ฉ ์›์ธ ์š”์•ฝ ํ”„๋กœ์‹œ์ € ์ƒ์„ฑ ์‹œ์—๋Š” ์ฟผ๋ฆฌ ๊ตฌ๋ฌธ์˜ ์œ ํšจ์„ฑ๋งŒ์„ ๊ฒ€์‚ฌํ•œ๋‹ค. ์ƒํ™ฉ ์ต์ผ ์—…๋ฌด๋ฅผ ์œ„ํ•ด ๊ฐœ๋ฐœDB์—์„œ ํ…Œ์ŠคํŠธ ํ–ˆ๋˜ ํ”„๋กœ์‹œ์ €๋ฅผ ์šด์˜DB์—๋„ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ์‹œ์ € ์ƒ์„ฑ ํ•˜์ง€๋งŒ SELECT ํ•˜๋Š” ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ๋˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ํ”„๋กœ์‹œ์ €๋ฅผ ์ƒ์„ฑ ํ–ˆ๊ณ  ์—๋Ÿฌ ์—†์ด ์ •์ƒ ์ƒ์„ฑ๋จ์—์„œ ์˜์•„ํ•จ์„ ๋А๋‚Œ ์›...

์ž๋ฐ”์˜ ์˜ˆ์™ธ ๊ตฌ์กฐ์™€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

๋ชฉ์ฐจ Throwable ์˜ ์ƒ์† ๊ตฌ์กฐ ์˜ˆ์™ธ(Exception) ์™€ ์—๋Ÿฌ(Error) ์ฒดํฌ ์˜ˆ์™ธ(Checked Exception) ์™€ ์–ธ์ฒดํฌ ์˜ˆ์™ธ(Unchecked Exception) ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ• Throwable ์˜ ์ƒ์† ๊ตฌ์กฐ ์˜ˆ์™ธ์™€ ์—๋Ÿฌ์˜ ์ƒ์† ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์ฐธ๊ณ  ์ด๋ฏธ์ง€ ์ถœ์ฒ˜ : https://programmers.io/...

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์˜ค๋ฒ„๋กœ๋”ฉ

์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿธ ์ €์™€ ๊ฐ™์ด ์ž๋ฐ”๋กœ ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ–ˆ๋˜ ์‚ฌ๋žŒ์€ ๋Œ€๊ฒŒ ์˜ค๋ฒ„๋กœ๋”ฉ&์˜ค๋ฒ„๋ผ์ด๋”ฉ์ด ์ต์ˆ™ํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ์˜ค๋ฒ„๋กœ๋”ฉ, ์˜ค๋ฒ„๋ผ์ด๋”ฉ์ด ์—†์Šต๋‹ˆ๋‹ค ๊ทธ๋Ÿฐ๋ฐ, ์ง€๊ธˆ๊นŒ์ง€ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋„ ์˜ค๋ฒ„๋กœ๋”ฉ์ด ๋œ ๊ฒƒ ๊ฐ™์€ ํ˜„์ƒ์„ ๋ถ„๋ช… ๋งŽ์ด ๋ดค์Šต๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ณด๊ณ  ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋ชฉ์ฐจ ์š”์•ฝ ์ž˜๋ชป๋œ ์˜ค๋ฒ„๋กœ...

์˜ต์‹œ๋””์–ธ ๊นƒํ—ˆ๋ธŒ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์—ฐ๊ฒฐํ•˜๊ธฐ

๋ชฉ์ฐจ ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ ํ™œ์„ฑํ™” Git ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜ ๊นƒํ—ˆ๋ธŒ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์—ฐ๋™ ์ฃผ์š” ํ™˜๊ฒฝ ์„ค์ • ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ ํ™œ์„ฑํ™” ๋‹ค์Œ์˜ ์ˆœ์„œ๋Œ€๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ™”๋ฉด ํ•˜๋‹จ ์˜ต์…˜ ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ ํƒญ ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ ์‚ฌ์šฉ ํด๋ฆญ Git ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜ ๋‹ค์Œ์˜ ์ˆœ์„œ๋Œ€๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ ‘...

์ดํด๋ฆฝ์Šค ํŒŒ์ผ ์—๋””ํ„ฐ ๋ณ€๊ฒฝํ•˜๊ธฐ

์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿธ ํ”„๋กœํผํ‹ฐ ํŒŒ์ผ์ด ์ธ์ฝ”๋”ฉ ๋ฌธ์ œ๋กœ ํ•œ๊ธ€์ด ๊นจ์ ธ ๋‚˜์™€์„œ ๊ณ ์ƒํ•˜๋‹ค๊ฐ€ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ํ”„๋กœํผํ‹ฐ ํŒŒ์ผ์„ ์˜ˆ์‹œ๋กœ ์‚ฌ์ง„์„ ์ฒจ๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค. 1. ์›ํ•˜๋Š” ํ™•์žฅ ํŒŒ์ผ ์šฐํด๋ฆญ -> Open With 2. Other ํด๋ฆญ 3. ์›ํ•˜๋Š” ์—๋””ํ„ฐ ํƒ€์ž… ์„ ํƒ โญโญ์—ฌ๊ธฐ์„œ Use it for all ~ ๋ถ€๋ถ„์„ ์ฒดํฌํ•ด์ค˜์•ผ ํ•ด๋‹น ํ™•์žฅ์ž์— ๋Œ€ํ•œ ๋””ํดํŠธ...

Next.js ๊ณต๋ถ€ํ•˜๊ธฐ 6์ผ์ฐจ

Error Handling ์„œ๋ฒ„์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•  ๊ฒฝ์šฐ์˜ ํŽ˜์ด์ง€๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ์—๋Ÿฌ ํ•ธ๋“ค๋ง์„ ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒฝ๋กœ์— error ํŒŒ์ผ์„ ์ƒ์„ฑ ์‚ฌ์šฉ ์˜ˆ์‹œ "use client" export default function Error(){ return( <div> <h1&gt...

Next.js ๊ณต๋ถ€ํ•˜๊ธฐ 5์ผ์ฐจ

์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿธ ์˜ค๋Š˜์€ Next.js์˜ data fetch ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค data fetch Next.js์—์„œ data fetch ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ์—์„œ data fetch ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ์—์„œ data fetch loading component ๋งŒ๋“ค๊ธฐ ๋ณ‘๋ ฌ ์š”์ฒญ ํ•˜๊ธฐ Suspense ์‚ฌ์šฉํ•˜...

์ธ๊ธฐ ํƒœ๊ทธ