Skip to content

talentforest/Jellie-Blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

212 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“‘ Jellie Blog

๐Ÿ“ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

Next.js 13์œผ๋กœ ๋งŒ๋“ค์–ด๋ณธ ์ •์  ๋ธ”๋กœ๊ทธ ์‚ฌ์ดํŠธ์ž…๋‹ˆ๋‹ค. ์ €์—๊ฒŒ ๋งž๋Š” ํŽธ๋ฆฌํ•œ UI์™€ ๊ธฐ๋Šฅ๋“ค์„ ์ง์ ‘ ์ปค์Šคํ…€ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด์ „์— ์ž‘์„ฑํ•œ ํฌ์ŠคํŠธ๋“ค์„ ํ˜„์žฌ ๋งŒ๋“  ๋ธ”๋กœ๊ทธ๋กœ ์˜ฎ๊ธฐ๊ณ , ์•ž์œผ๋กœ ์ข‹์€ ํฌ์ŠคํŠธ๋“ค์„ ์ถ”๊ฐ€ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

https://jellieblog.dev/

์ ค๋ฆฌ๋ธ”๋กœ๊ทธ ํ™ˆํ™”๋ฉด ๋‹คํฌ๋ชจ๋“œ ์ ค๋ฆฌ๋ธ”๋กœ๊ทธ ํ™ˆํ™”๋ฉด ๋ผ์ดํŠธ๋ชจ๋“œ

๐Ÿ“ ํ”„๋กœ์ ํŠธ์— ์‚ฌ์šฉํ•œ ์Šคํƒ

Next.js๋ฅผ ์„ ํƒํ•œ ์ด์œ 

์ฒ˜์Œ์— ์ •์  ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด Gatsby์™€ Next.js ๋‘˜ ์‚ฌ์ด์—์„œ ๊ณ ๋ฏผ์„ ํ•˜๋‹ค๊ฐ€, Next.js๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์— ์—ฌ๋Ÿฌ๋ฒˆ ์จ๋ณธ Next.js๋ฅผ ์„ ํƒํ•œ ์ด์œ ๋Š” 13 ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ 13 ๋ฒ„์ „์ด ์•ˆ๋‚˜์™”๋‹ค๋ฉด Gatsby๋ฅผ ์„ ํƒํ–ˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์จ๋ณธ ํ›„๊ธฐ๋Š” ๋” ๋ณต์žกํ•ด์กŒ์ง€๋งŒ ๋” ๋งŒ์กฑ์Šค๋Ÿฌ์›Œ์กŒ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ํ”„๋กœ์ ํŠธ ํ›„๊ธฐ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ธฐ๋Šฅ

ํฌ์ŠคํŠธ ํ—ค๋” ์นดํ…Œ๊ณ ๋ฆฌ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŠธ ๋ชฉ์ฐจ

๊ธฐ๋Šฅ ์„ค๋ช…
๋‹คํฌ๋ชจ๋“œ ์‹œ์Šคํ…œ ๊ธฐ๋ณธ ์„ค์ •์„ ๋””ํดํŠธ๋กœ ๋‹คํฌ๋ชจ๋“œ ๋ฒ„ํŠผ ์ง€์›
์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ํฌ์ŠคํŠธ ์นดํ…Œ๊ณ ๋ฆฌ ํ•ญ๋ชฉ๋ณ„๋กœ ํฌ์ŠคํŠธ ๋ถ„๋ฅ˜ํ•˜๊ธฐ
์„ ๋ณ„ ํฌ์ŠคํŠธ ๋ชจ๋“  ํฌ์ŠคํŠธ ์ค‘ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์€ ํฌ์ŠคํŠธ๋ฅผ ์„ ๋ณ„ํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋กœ ๋ณด์—ฌ์ฃผ๊ธฐ
์ด์ „๊ณผ ๋‹ค์Œ ํฌ์ŠคํŠธ ํฌ์ŠคํŠธ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ํŽ˜์ด์ง€์—์„œ ํ•˜๋‹จ์— ์ด์ „๊ณผ ๋‹ค์Œ ํฌ์ŠคํŠธ ๋ณด์—ฌ์ฃผ๊ธฐ
๋ชฉ์ฐจ ํฌ์ŠคํŠธ์˜ ๋ชฉ์ฐจ
ํ˜„์žฌ ์Šคํฌ๋กค ์œ„์น˜ ํ˜„์žฌ ๋‚˜์˜ ์Šคํฌ๋กค ์œ„์น˜๋ฅผ ํผ์„ผํ…Œ์ด์ง€๋กœ ๊ฐ€๋กœ ์ง„ํ–‰๋ฐ”์—์„œ ๋ณด์—ฌ์ฃผ๊ธฐ
๋Œ“๊ธ€ Giscus๋ฅผ ์ด์šฉํ•˜์—ฌ ๋Œ“๊ธ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„
PWA ์›น์•ฑ ์„ค์ •

๐Ÿ“ ํ”„๋กœ์ ํŠธ ํ›„๊ธฐ

์ผ๋‹จ ๋จผ์ € ์ €๋งŒ์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๋Š” ์ ์—์„œ ๊ต‰์žฅํžˆ ๋ฟŒ๋“ฏํ•ฉ๋‹ˆ๋‹ค. ์•ž์œผ๋กœ ์ €์—๊ฒŒ ๋”์šฑ ๋„์›€์ด ๋˜๋Š” ๋ธ”๋กœ๊ทธ๋กœ ๋งŒ๋“ค์–ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค ๐Ÿš€ ๋ธ”๋กœ๊ทธ๋ฅผ ๋งŒ๋“ค๋ฉด์„œ ๊ฐ€์žฅ ์‹ ๊ฒฝ์ผ๋˜ ๊ฑด ๊ธ€์„ ์ฝ๋Š” ๋…์ž๊ฐ€ ๊ธ€์„ ์ฝ์œผ๋ฉฐ ๋†’์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์–ป์„ ์ˆ˜ ์žˆ๋„๋ก ์‹ ๊ฒฝ์ผ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ œ๊ฐ€ ์ €์˜ ๊ณต๋ถ€๋ฅผ ์œ„ํ•ด ๊ธ€์„ ์“ฐ๋Š” ๊ณต๊ฐ„์ด์ง€๋งŒ ๊ทธ ๊ธ€์„ ๋ณด๋Š” ๋…์ž๋„ ํŽธํ•˜๊ฒŒ ๊ธ€์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ด์—ˆ์œผ๋ฉด ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด์„œ

  1. ํ˜„์žฌ ๋‚˜์˜ ์Šคํฌ๋กค ์œ„์น˜๊ฐ€ ์–ด๋””์ธ์ง€ ๊ฐ€๋กœ ์ง„ํ–‰๋ฐ” ํผ์„ผํ…Œ์ด์ง€๋กœ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ
  2. ๋ชฉ์ฐจ๋ฅผ ๋งŒ๋“ค์–ด ํ•ด๋‹น ๋ชฉ์ฐจ๋กœ ๋ฐ”๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ
  3. ํ•ด๋‹น ๋ฌธ์„œ๋ฅผ ์ฝ๋Š” ๋ฐ ๋ช‡๋ถ„ ๊ฑธ๋ฆฌ๋Š”์ง€ ์•Œ๋ ค์ฃผ๋Š” ๊ธฐ๋Šฅ
  4. PWA๋กœ ๋งŒ๋“ค์–ด ๋ชจ๋ฐ”์ผ์—์„œ ์›น์•ฑ์œผ๋กœ ๋” ํŽธํ•˜๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ

์„ ๊ตฌํ˜„ํ•ด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๋†’์˜€์Šต๋‹ˆ๋‹ค!

๊ทธ ๊ฒฐ๊ณผ๋กœ 100%๋Š” ์•„๋‹ˆ์–ด๋„ ๊ฝค ๋งˆ์Œ์— ๋“œ๋Š” ๊ฒฐ๊ณผ๋ฌผ์ด ๋‚˜์™”์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋„ ์„ฑ์žฅ์„ ์œ„ํ•ด ์ข‹์€ ๊ธ€๋“ค์„ ๋งŽ์ด ์˜ฌ๋ฆด ์˜ˆ์ •์ž…๋‹ˆ๋‹ค!๐Ÿ˜„


์ฒ˜์Œ ์‚ฌ์šฉํ•ด๋ณธ Next.js 13 ๋ฒ„์ „ ๊ฐœ์ธ์ ์ธ ํ›„๊ธฐ

์ƒˆ๋กœ ๋‚˜์˜จ Next.js 13 ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ด๋ดค๋Š”๋ฐ์š”. React Server Component์˜ ๋„์ž… ์ดํ›„ ์•ž์œผ๋กœ์˜ Next.js์˜ ๋ฐฉํ–ฅ์„ฑ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. 13 ๋ฒ„์ „์—์„œ๋Š” ํ•œ ํŽ˜์ด์ง€ ๋‚ด์—์„œ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ์™€ ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ๋” ๋ณต์žกํ•ด์กŒ์ง€๋งŒ ์•„๋ž˜์™€ ๊ฐ™์€ ์ด์œ ๋กœ ๋” ํŽธ๋ฆฌํ•˜๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค.

  1. ๋จผ์ € ํด๋ผ์ด์–ธํŠธ์—์„œ API ์š”์ฒญ์„ ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ์—์„œ ์š”์ฒญํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋‹ˆ ์ฝ”๋“œ๊ฐ€ ๋” ์ ์–ด์กŒ์ง€๋งŒ ์„œ๋ฒ„์—์„œ ๋ชจ๋‘ ์ˆ˜ํ–‰๋˜์–ด ๊ฐ™์€ ํ™”๋ฉด์„ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
  2. ์˜คํžˆ๋ ค ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋‚˜๋ˆ„๊ธฐ ๋” ์‰ฝ๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํŽ˜์ด์ง€์˜ ์–ด๋–ค ๋ถ€๋ถ„์„ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋กœ ๋งŒ๋“ค๊ฒƒ์ธ์ง€, ์–ด๋–ค ๋ถ€๋ถ„์„ ๊ผญ ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š”์ง€๋กœ ์ƒ๊ฐํ•˜๋‹ค๋ณด๋‹ˆ ์˜คํžˆ๋ ค ๋” ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‰ฝ๊ฒŒ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  3. ์ž๋™ React.lazy ์ ์šฉ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ์— import๋œ ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ๋Š” ๋ชจ๋‘ Code splitting ๋˜์–ด ์ž๋™์œผ๋กœ React.lazy์ด ์ ์šฉ๋˜์–ด ์ž‘์„ฑํ•˜์ง€ ์•Š์•„๋„ ๋˜์–ด์„œ ๊ต‰์žฅํžˆ ํŽธํ–ˆ์Šต๋‹ˆ๋‹ค.
    ์•„์ง 13.2.4 ๋ฒ„์ „์—์„œ appํด๋” ๋‚ด์—์„œ์˜ 404.js ํŒŒ์ผ์ด ์ง€์›๋˜์ง€ ์•Š๊ณ , ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ์˜ async ์ ์šฉ๊ณผ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ๊ฐ„์— ์ถฉ๋Œ์ด ์žˆ๋Š” ๋“ฑ ์•ˆ์ •๋˜์ง€ ์•Š๋Š” ๋ถ€๋ถ„๋“ค์ด ์žˆ์ง€๋งŒ ๊ต‰์žฅํžˆ ๋งŒ์กฑ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค!

About

๐Ÿ“‘ Next.js 13 ๋ฒ„์ „์œผ๋กœ ๋งŒ๋“ค์–ด๋ณธ ์ •์  ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors