Skip to content

Releases: june-by/Blog

v5.0 contentlayer์™€ ๋งˆํฌ๋‹ค์šด ๊ธฐ๋ฐ˜ ๊ตฌ์กฐ ์ˆ˜์ •

21 Dec 12:22
Compare
Choose a tag to compare
  • ์ง€์†์ ์ธ ๊ณผ๊ธˆ ๋ถ€๋‹ด์œผ๋กœ ๋ฐฑ์—”๋“œ์„œ๋ฒ„ ์‚ญ์ œ
  • ๋งˆํฌ๋‹ค์šด ๊ธฐ๋ฐ˜ SSG๋กœ ๊ตฌ์กฐ ๋ณ€๊ฒฝ

v4.0 App Router ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

10 Nov 10:37
Compare
Choose a tag to compare

v3.7 ์ƒํƒœ๊ด€๋ฆฌ ๋กœ์ง Context, Reducer ๊ธฐ๋ฐ˜์œผ๋กœ ์ˆ˜์ •

22 Apr 13:09
ef359c1
Compare
Choose a tag to compare
  • ๊ฒŒ์‹œ๊ธ€ Form ๋ฐ์ดํ„ฐ ์ƒํƒœ ๊ด€๋ฆฌ ๋กœ์ง : ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ „์ฒด์ƒํƒœ๋ฅผ ๊ฐ€์ง€๊ณ  propsํ˜•ํƒœ๋กœ ๋‚ด๋ฆฌ๋˜ ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ,์ˆ˜์ • ํŽ˜์ด์ง€์˜ ๊ฒŒ์‹œ๊ธ€ ํผ ๋ฐ์ดํ„ฐ์™€ ๊ด€๋ จ ๋กœ์ง์„ Context, Reducer๊ธฐ๋ฐ˜์œผ๋กœ ์ˆ˜์ • โ†’ https://github.com/BY-juun/Blog/blob/production/client/context/writeContext.tsx
  • ๋ชจ๋‹ฌ ๊ด€๋ จ ๋กœ์ง : ์ƒํƒœ์™€ ํ•ด๋‹น ์ƒํƒœ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ํ•จ์ˆ˜๊ฐ€ ๋‚˜๋‰˜์–ด์žˆ๋˜ ๋ชจ๋‹ฌ ๊ด€๋ จ ๋กœ์ง์„ Context, Reducer๊ธฐ๋ฐ˜์œผ๋กœ ์ˆ˜์ • โ†’ https://github.com/BY-juun/Blog/blob/production/client/context/headerContext.tsx

v3.6 On Demand Revalidation์„ ์ด์šฉํ•ด ISR๊ฐœ์„ 

26 Feb 13:47
Compare
Choose a tag to compare
  • On Demand Revalidation์„ ์œ„ํ•œ NextJS ์„œ๋ฒ„ ๋‚ด๋ถ€ API ๊ตฌ์„ฑ

v3.5 OAuth

06 Feb 11:37
Compare
Choose a tag to compare
  • Github OAuth ๋„์ž…
  • KaKao OAuth ๋„์ž…
  • OAuth ๋„์ž…์— ๋”ฐ๋ฅธ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๋กœ์ง ๋ณ€๊ฒฝ
  • OAuth ๋„์ž…์— ๋”ฐ๋ฅธ ์‚ฌ์šฉ์ž ํ…Œ์ด๋ธ” ๋ณ€๊ฒฝ

v3.4 Infinite Scroll ์ ์šฉ

21 Jan 06:48
Compare
Choose a tag to compare
  • ๋ฉ”์ธํŽ˜์ด์ง€, ์นดํ…Œ๊ณ ๋ฆฌ ํŽ˜์ด์ง€ InfiniteScroll์ ์šฉ
  • ์ด์ „ ํŽ˜์ด์ง€ ์Šคํฌ๋กค ์œ„์น˜ ์ €์žฅ์„ ์œ„ํ•ด sessionStorageํ™œ์šฉ
  • React Query์—์„œ ์ œ๊ณตํ•˜๋Š” useInfiniteQueryํ™œ์šฉ

v3.3 ์ด๋ฏธ์ง€ ์ตœ์ ํ™”

27 Nov 12:42
8886523
Compare
Choose a tag to compare
  • Intersection Observer๋ฅผ ํ™œ์šฉํ•œ ์ด๋ฏธ์ง€ Lazy Loading ์ ์šฉ
  • png => webp ์ ์šฉ (picture, source ํƒœ๊ทธ ํ™œ์šฉ)
  • alias path ์ ์šฉ

v3.2_sub ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ ์šฉ

05 Nov 16:57
e71b814
Compare
Choose a tag to compare
  • MSW(Mocking Service Worker)๋ฅผ ์ด์šฉํ•ด, ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๋Š” API ๋ชจํ‚น
  • ํด๋ผ์ด์–ธํŠธ ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ์— ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ ๋ฐ ์ ์šฉ (rendering test, user interaction test)
  • ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๋Š” ๋ชจ๋“  API์— ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ ๋ฐ ์ ์šฉ
  • pages ํด๋”์— ํ…Œ์ŠคํŠธ ํŒŒ์ผ์„ ๋งŒ๋“ค ๊ฒฝ์šฐ, NextJS์—์„œ ๋นŒ๋“œ๊ณผ์ •์—์„œ ์ด๋ฅผ ํ…Œ์ŠคํŠธ๋ผ๊ณ  ์ธ์‹ํ•˜์ง€ ๋ชปํ•จ -> ํŽ˜์ด์ง€ ๊ด€๋ จ ํ…Œ์ŠคํŠธ๋Š” util ํด๋”์— ๋”ฐ๋กœ ๋นผ๋†“์Œ

v3.2 Server Migration to Typescript

28 Oct 16:30
Compare
Choose a tag to compare
  • ์ต์Šคํ”„๋ ˆ์Šค ์„œ๋ฒ„ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ž‘์—… ์ง„ํ–‰
  • ๊ฐ ๋ชจ๋“ˆ ํƒ€์ž… ์ถ”๊ฐ€
  • ์†Œ์Šค์ฝ”๋“œ์— ํƒ€์ดํ•‘์„ ์ถ”๊ฐ€ํ•˜๊ณ , ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์„ค์ • ์ถ”๊ฐ€
  • EC2์—์„œ ์ธ์Šคํ„ด์Šค ์œ ํ˜•์œผ๋กœ t2 Micro๋ฅผ ์‚ฌ์šฉ์ค‘์ธ๋ฐ, ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์—๋Š” ๋นŒ๋“œ๊ฐ€ ๋„ˆ๋ฌด ์˜ค๋ž˜๊ฑธ๋ฆฌ๊ณ , ๋Š๋ฆฌ๊ฒŒ ์ง„ํ–‰๋œ๋‹ค.
  • ํ˜„์žฌ๋Š”, ์„œ๋ฒ„์˜ ์ฝ”๋“œ ์–‘์ด ๊ทธ๋ ‡๊ฒŒ ํฌ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ๋กœ์ปฌ์—์„œ ๋นŒ๋“œ ํ›„ ์›๊ฒฉ์ €์žฅ์†Œ(๊นƒํ—™)์— ์˜ฌ๋ฆฐ ํ›„, EC2์—์„œ๋Š” ๋นŒ๋“œํŒŒ์ผ๊นŒ์ง€ pull ๋ฐ›์€ ํ›„ pm2๋ฅผ ์ด์šฉํ•ด์„œ ์‹คํ–‰ํ•œ๋‹ค.

v3.1 ์„œ๋ฒ„ ๊ตฌ์กฐ ๊ฐœ์„ 

19 Oct 11:33
1a0667f
Compare
Choose a tag to compare
  • ๋ผ์šฐํ„ฐ์—์„œ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์„œ๋ฒ„ ๊ตฌ์กฐ๋ฅผ Router, Controller, Service ์—์„œ ๋‚˜๋ˆ„์–ด ์ฒ˜๋ฆฌํ•˜๋„๋ก ๊ตฌ์กฐ ๊ฐœ์„ 
  • API๋ฅผ ์œ„ํ•œ ์ฝ”๋“œ๋“ค์„ src ํด๋”๋กœ ์ด๋™
  • ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” passport strategy ์‚ญ์ œ

v3.2์—์„œ ๋ณ€๊ฒฝ ํ•  ๋‚ด์šฉ

  • ์„œ๋ฒ„ ์ฝ”๋“œ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ ์šฉ
  • passport ๊ธฐ๋ฐ˜ ๋กœ๊ทธ์ธ์„ jwt ๋˜๋Š” session ๊ธฐ๋ฐ˜ ๋กœ๊ทธ์ธ์œผ๋กœ ๋ณ€๊ฒฝ
  • sequelize๋ฅผ ์ด์šฉํ•œ ๋””๋น„ ์ ‘๊ทผ์„ query ํ˜น์€ typeORM์„ ์ด์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ