๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

๊ฐ๊ฐ ๋”ฐ๋กœ ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…์„ ํ•˜๊ณ  develop ๋ธŒ๋žœ์น˜๋กœ push ํ•  ๋•Œ๋งˆ๋‹ค merge conflict๊ฐ€ ๋‚œ๋‹ค!!! workspace.xml ํŒŒ์ผ์€ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ •๊ณผ ๊ด€๋ จ๋œ ์ •๋ณด๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๊ณ , ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ๋ณดํ†ต .gitignore์— ์˜ฌ๋ ค์„œ develop mergeํ•  ๋•Œ๋งˆ๋‹ค ์ถฉ๋Œ ๋‚˜๋Š” ๊ฒƒ์„ ๋ง‰๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ํ˜„์žฌ ์ง„ํ–‰์ค‘์ธ ํ”„๋กœ์ ํŠธ๊ฐ€ ํ˜‘์—…์šฉ์ด ์•„๋‹ˆ์—ˆ๋Š”๋ฐ, ๋น„์ฆˆ๋‹ˆ์Šค ์ผ์ •์ƒ ๊ฐ‘์ž๊ธฐ ํˆฌ์ž…์ด ๋˜๋ฉด์„œ ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž์™€ ์“ฐ๋Š” ํ˜‘์—… ํ”„๋กœ์ ํŠธ๊ฐ€ ๋˜์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์•„๋งˆ๋„ ์„ ์ž„์ด .gitignore ์„ธํŒ…์— ์ด ๋ถ€๋ถ„์„ ๋น ๋œจ๋ฆฐ ๊ฒŒ ์•„๋‹๊นŒ ์ƒ๊ฐํ•ด ๋ณธ๋‹ค.
flutter๋กœ ๋นŒ๋“œํ•œ ํ”„๋กœ์ ํŠธ๋Š” react๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ์ž‘์—…์„ ์ง„ํ–‰ ์ค‘์ด๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ flutter๋กœ ๋นŒ๋“œํ•˜๋Š” ์ž‘์—…์„ ๋‚ด๊ฐ€ ํ•˜์ง€ ์•Š์•˜์ง€๋งŒ ์–ด๋Š์ •๋„ flutter์ฝ”๋“œ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์–ด์„œ cloneํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๋ ค๋Š”๋ฐ ๋ฒ„์ ผ์ด ๋งž์ง€ ์•Š์•„์„œ ์ œ๋Œ€๋กœ run์ด ๋˜์ง€ ์•Š๋Š”๊ฒƒ์ด๋‹ค! ํ”Œ๋Ÿฌํ„ฐ ๋ฒ„์ ผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ธฐ ๐Ÿš€ ๊ต‰์žฅํžˆ ๊ฐ„๋‹จํ•˜๋‹ค! ํ„ฐ๋ฏธ๋„์— ์•„๋ž˜์™€ ๊ฐ™์ด ์ ์–ด์ฃผ๋ฉด ๋œ๋‹ค. flutter upgrade ๊ทธ์ „์— ์šฐ์„  version์„ ์ฒดํฌํ•ด๋ณด์ž flutter --version ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด version๊ณผ dart version๋„ ํ•จ๊ป˜ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ๋‹ค. upgrade ํ›„์—๋Š” ์ž‘์—…์ค‘์ธ ํ”„๋กœ์ ํŠธ๋กœ ๊ฐ€์„œ flutter -v pub get ์„ ํ•œ๋ฒˆ ํ•ด์ค˜์•ผ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ œ๋Œ€๋กœ ๋Œ์•„๊ฐ„๋‹ค!
๋งจ๋‚  ์ •ํ•ด์ ธ์žˆ๋Š” ํ…œํ”Œ๋ฆฟ์„ ์ด์šฉํ•œ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ๋งŒํ•˜๋‹ค๊ฐ€ ๋ชจ์ฒ˜๋Ÿผ ์ƒˆ๋กœ์šด UI๋ฅผ ์งœ์•ผํ•˜๋Š” ์ผ์ด ์ƒ๊ฒผ๋‹ค. ๋ฐ‘๋ฐฅ์„ ๊น”์•„๋ณด์ž๋ฉด ใ…‹ใ…‹... ์ฒ˜์Œ๋ถ€ํ„ฐ ๋นŒ๋“œํ•œ ํ”„๋กœ์ ํŠธ๊ฐ€ ์•„๋‹ˆ๋ผ ์ค‘๊ฐ„์— ๋ผ์—ฌ๋“  ํ”„๋กœ์ ํŠธ์˜€๊ธฐ์— ์ฝ”๋“œ๋ฅผ ์ฝ์„ ๋•Œ๋ถ€ํ„ฐ ๋ฒ„๋ฒ…์ด๊ธด ํ–ˆ๋‹ค. ์ž ์ด์ œ ๋ฐ‘๋ฐฅ์€ ๊น”๋ฆผ. ๋‚ด๊ฐ€ ํ•ด์•ผํ•  ๋ชฉ๋ก 1. swiper ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์“ด๋‹ค. 2. navigator ๋ฒ„ํŠผ์„ ๋‚˜์˜ค๊ฒŒํ•˜๊ณ  ์ฒซ ์Šฌ๋ผ์ด๋“œ์—์„œ๋Š” ์™ผ์ชฝ ๋ฒ„ํŠผ์ด ์‚ฌ๋ผ์ง€๊ฒŒ ๋งˆ์ง€๋ง‰ ์Šฌ๋ผ์ด๋“œ๋Š” ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์ด ์‚ฌ๋ผ์ง€๊ฒŒํ•œ๋‹ค. 3. ์Šฌ๋ผ์ด๋“œ๋Š” ๋งˆ์šฐ์Šค ๋“œ๋ž˜๊ทธ๋กœ๋„ ๊ฐ€๋Šฅํ•˜๊ฒŒํ•œ๋‹ค. Code import React, { useState } from 'react'; import { Swiper, SwiperSlide } from 'swiper/react'; const Projects = () => { const [sw..
โŒ ๋ฌธ์ œ์ƒํ™ฉ {"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}... Nodejs๋ฅผ ์‚ฌ์šฉํ•ด์„œ mySql์„ ์—ฐ๋™ํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ, mysql ๋ฐ์ดํ„ฐ๊ฐ€ ์•ˆ ๋ถˆ๋Ÿฌ์™€์ง€๋Š” ๊ฒƒ์ด๋‹ค. ์‚ฌ์šฉ๊ถŒํ•œ ์˜ค๋ฅ˜๋กœ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜์ด๋‹ค mysql ํŒจ์Šค์›Œ๋“œ ํ”Œ๋กœ๊ทธ์ธ์„ ์†Œํ™”ํžˆ์ง€ ๋ชปํ•ด์„œ ์ƒ๊ธด ์˜ค๋ฅ˜๋กœ mysql root๋กœ ๋“ค์–ด๊ฐ€์„œ ํŒจ์Šค์›Œ๋“œ๋ฅผ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋œ๋‹ค. ํ•ด๊ฒฐ๋ฐฉ๋ฒ• 1. mysql root ๊ณ„์ •์œผ๋กœ ์ ‘์†ํ•˜๊ธฐ - ํ„ฐ๋ฏธ๋„์„ ์˜คํ”ˆ - 'cd /usr/l..
๐Ÿ“ What I Learned ํšŒ๊ณ ๋ฅผ ์จ์•ผ ํ•˜๋Š” ๊ฑธ๊นŒ?๋ผ๊ณ  ๊ณ ์‹ฌํ•˜๊ฒŒ ํ•œ ํ•œ ๋‹ฌ... ์—…๋ฌด๋Š” ๊ทธ๋ ‡๋‹ค์น˜๊ณ  ๊ฐœ์ธ๊ณต๋ถ€๋ฅผ ์ง„์งœ ํ•œ ๊ฐœ๋„ ๋ชป ํ–ˆ๊ธฐ ๋•Œ๋ฌธ...ใ…Ž.... ๐Ÿ’ป Work ์• ์ž์ผ๋ฐฉ๋ฒ•๋ก ์„ ๋”ฐ๋ผ์„œ ์—…๋ฌด๋ฅผ ์ง„ํ–‰ํ•˜๋Š”๋ฐ, ์ตœ๊ทผ์— PO๊ฐ€ ์ƒˆ๋กœ ๋“ค์–ด์˜ค๋ฉด์„œ ๊ธฐ์กด์˜ ์นธ๋ฐ˜ ํ˜•์‹์—์„œ '์Šคํฌ๋Ÿผ๋ฐ˜' ๋ผ๋Š” ํ˜•์‹์„ ์ทจํ•ด์„œ ์—…๋ฌด๋ฅผ ์ง„ํ–‰ ์ค‘์— ์žˆ๋‹ค. ์ปค๋‹ค๋ž€ ์—…๋ฌด ๋ฐฉ๋ฒ•๋ก ์ด ์ค‘์ ์ ์ธ ๊ฒƒ์ด์ง€ ๊ทธ๊ฒƒ์„ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์— ์žˆ์–ด์„œ '์นธ๋ฐ˜' '์Šคํฌ๋Ÿผ๋ฐ˜'์ด ์ค‘์š”ํ•œ๊ฐ€์— ๋Œ€ํ•ด์„œ๋Š” ๊ทธ๋‹ค์ง€ ์‹ ๊ฒฝ์„ ์“ฐ์ง€ ์•Š์•˜์—ˆ๋Š”๋ฐ ์–ด์ฉŒ๋ฉด ์ค‘์š”ํ• ์ง€๋„. ๊ฐœ๋ฐœํŒ€์ด ์•„๋‹Œ ํŒ€๋“ค๊ณผ ํ•จ๊ป˜ ์“ฐ๋‹ค ๋ณด๋‹ˆ '๋ฐฐํฌ'์˜ ์‹œ๊ธฐ๋ผ๋˜๊ฐ€, 'QA' ์™„๋ฃŒ์˜ ์‹œ์ ์€ ๋ฌด์—‡์ด๋ฉฐ 'QA'๋Š” ๋ฌด์—‡์— ๊ธฐ๋ฐ˜์„ ๋‘๊ณ  ํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€๋ถ€ํ„ฐ ๊ณ„์† ์˜ˆ๋ฏผํ•œ ๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜๋ฐ–์— ์—†๋Š” ์ผ๋“ค์ด ์ƒ๊ฒจ๋‚ฌ๋‹ค. ๊ธฐ๋ถ„์ด ํƒœ๋„๊ฐ€ ๋˜์ง€ ์•Š๊ฒŒ ํ•˜์ž ๊ธฐํš์—๋„ ..
์ง€๋‚œ ๋ฒˆ์— ๋งˆ์ฃผํ–ˆ๋˜ Nextjs ๋ผ์šฐํŒ… ๋ฌธ์ œ๋Š” ์ด์ œ ํ•ด๊ฒฐ ๋œ ๋“ฏ ํ–ˆ๋‹ค. ๊ด€๋ จ ์—๋Ÿฌ ํฌ์ŠคํŒ… ๋ณด๋Ÿฌ๊ฐ€๊ธฐ (๐Ÿ‘‰๐Ÿป https://mindevlog.tistory.com/191) ๋˜ ๋‹ค๋ฅธ ๋ผ์šฐํŒ… ๋ฌธ์ œ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ๋‹ค. ์ •์  ๋ผ์šฐํŒ…์€ cloudFront๋กœ ํ•ด๊ฒฐ์„ ๋ดค๋Š”๋ฐ, ์ด๋ฒˆ์—” ๋™์  ๋ผ์šฐํŒ…์ด ๋ฌธ์ œ์˜€๋‹ค!๐Ÿ˜” ์–ด๋– ํ•œ ๊ฒŒ์‹œํŒ์˜ ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ๋กœ ๋“ค์–ด๊ฐˆ ๋•Œ , `/file/[id]` ์ด๋Ÿฐ์‹์œผ๋กœ ๋™์ ๋ผ์šฐํŒ…(dynamic routing) ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๊ณ  ์žˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ƒˆ๋กœ๊ณ ์นจ(refresh)๋ฅผ ํ•˜๋ฉด, ํ•ด๋‹น ์ƒ์„ธ ํŽ˜์ด์ง€์— ์ถœ๋ ฅ๋˜์–ด์žˆ๋˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋“ค์ด ์‚ฌ๋ผ์ง€๊ณ , ์‹ฌ์ง€์–ด html ์—ญ์‹œ ์ถœ๋ ฅ ๋ชปํ•˜๊ณ  ๊ธฐ๋ณธํŽ˜์ด์ง€๋กœ ๋ณด๋‚ด๋ฒ„๋ฆฌ๋Š” ๊ฒƒ ์•„๋‹Œ๊ฐ€... ๋ฐฉ๋ฒ•์„ ์ฐพ์•„์„œ AWS cloudfront ํ•จ์ˆ˜๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑ๋„ ํ•ด๋ณด๊ณ , lambda๋ฅผ ์จ์•ผํ•œ๋‹ค - next..
์ด๋ฏธ์ง€๋ฅผ ๋‹ค๋ฃจ๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ, ๊ธฐ์กด์— ํ•ด์˜ค๋˜ ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ ์ด๋ฒˆ์—๋Š” ์—ฌ๋Ÿฌ ์ด๋ฏธ์ง€๋ฅผ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋ณด๋‚ด์„œ url๋ฅผ ๋ฐ›์•„์™€์„œ ๋‹ค์‹œ ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ์™€ ํ•จ๊ป˜ create ํ˜น์€ update๋ฅผ ํ•ด์ค˜์•ผํ–ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ๋งŒ์•ฝ์— ๊ธฐ์กด์— url์ด ์žˆ๋Š” ์ƒํƒœ๋ฉด pass๋ฅผ ํ•˜๊ณ  ์ƒˆ๋กœ ๋„ฃ์€ ์ด๋ฏธ์ง€๋งŒ url์„ ๋‹ค์‹œ ๋ฐ›์•„์™€์„œ update๋ฅผ ํ•ด์ค˜์•ผํ•˜๋Š” ๊ฒƒ์—์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋‹ค. api๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์ „์— console.log๋กœ body๋ฅผ ์ฐ์œผ๋ฉด ๋ถ„๋ช…ํžˆ ์—…๋ฐ์ดํŠธ ๋œ ์ด๋ฏธ์ง€ url์ด ์ฐํžˆ๋Š”๋ฐ, ๋ง‰์ƒ api๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด payload์— ์—…๋ฐ์ดํŠธ๋œ ๊ฐ’์ด ์•ˆ ์ฐํžˆ๋Š” ๊ฒƒ์ด๋‹ค!!!!!!!! ๋ฐ˜๋‚˜์ ˆ์„ ๋ถ™์žก๊ณ  ๋Š˜์–ด์ ธ์žˆ๋Š”๋ฐ ๋ฏธ์น ์ง€๊ฒฝ... async - await๋ฅผ ์จ์„œ ๋น„๋™๊ธฐ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์คฌ๋Š”๋ฐ ๋ญ๊ฐ€ ๋ถˆ๋งŒ์ด๋‹ˆ?! ๋ญ๊ฐ€ ์ž˜ ๋ชป ๋œ๊ฑด๋ฐ?! .... ๋ฌธ์ œ..
๐Ÿ“ What I Learned ์ •์‹ ์—†์ด ํ˜๋Ÿฌ๊ฐ„ ๊ฒƒ ๊ฐ™์€ 8์›”. ๊ฐœ์ธ์ ์ธ ๊ณต๋ถ€๋ณด๋‹ค๋Š” ์—…๋ฌด, ํŒ€ ํ”Œ๋ ˆ์ด์— ๋งŽ์ด ์น˜์ค‘ํ•œ ํ•œ ํ•œ ๋‹ฌ์ด์—ˆ๋‹ค. ๐Ÿ’ป Work ๐Ÿ›ก๏ธ ์ฐฝ๊ณผ ๋ฐฉํŒจ์˜ ์‹ธ์›€(?!) ์ƒˆ๋กœ์šด ์ œํ’ˆ ๊ฐœ๋ฐœ์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋ฉด์„œ ๊ฑฐ๋“ญ๋˜๋Š” ํšŒ์˜. ๊ธฐํš ํšŒ์˜์— ๋”ฐ๋ฅธ ๊ฐœ๋ฐœํŒ€๊ณผ์˜ ๋ฏธํŒ…๋“ค์ด ์ด์–ด์กŒ๋‹ค. ๋งˆ์น˜ ์ด๊ฒƒ์€ ์ฐฝ๊ณผ ๋ฐฉํŒจ์˜ ์‹ธ์›€. ์‹ธ์›€์ด๋ผ๊ณ  ํ‘œํ˜„ํ•˜๊ธฐ๋Š” ํž˜๋“ค์ง€๋งŒ ๊ณผ์žฅํ•ด ๋ณด์ž๋ฉด ๊ทธ๋ ‡๋‹ค๋Š” ๊ฒƒ. ์š”๊ตฌ์‚ฌํ•ญ๋“ค์ด ์ฆ๋น„ํ•˜๊ณ , ํ”„๋ŸฐํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ๊ฐ€ ๊ฐ€๋งŒํžˆ ๋“ฃ๊ณ  ์žˆ๋Š”๋ฐ... ์™œ ์ด๋ ‡๊ฒŒ '๋น„ํšจ์œจ์ '์ธ ๊ฒƒ๋“ค์ด ๋ˆˆ์— ์™์™ ๋“ค์–ด์˜ค๋Š” ๊ฑด๊ฐ€. ๋ฌผ๋ก  ๋น„ํšจ์œจ์ ์ธ๊ฒŒ ํ‹€๋ฆฌ๋‹ค๊ณ ๋Š” ์ƒ๊ฐํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋“ค์€ '๋น„์ฆˆ๋‹ˆ์Šค'์ ์ธ ๋ถ€๋ถ„์— ์ง‘์ค‘ํ•˜๋ฉฐ ๊ธฐํšํ–ˆ๊ณ , ๋‹ค๋งŒ ๊ทธ ๋ฐฉ์‹๋“ค์„ ์กฐ๊ธˆ ๋” ํšจ์œจ์ ์ด๊ฒŒ ๋ฐ”๊ฟ” ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์€๋ฐ ์™œ ์ด๋ ‡๊ฒŒ?๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค๊ฒŒ ํ•  ๋ฟ. ๋ณดํ†ต์€ ํ”„๋ก ํŠธ..
dart๋ผ๋Š” ์–ธ์–ด์™€ ํ†ต์—ญ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ณ€์ˆ˜, ๋ฉ”์†Œ๋“œ ๋“ฑ์ด ํ•„์š”ํ•˜๋‹ค method๋Š” ๋ฏน์„œ๊ธฐ์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ•˜๋Š”๋ฐ, ์–ด๋–ค ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ๋ณ€์ˆ˜์˜ ๊ฒฝ์šฐ์—๋Š” ๋‹ค์–‘ํ•œ ์•„์ดํ…œ์„ ๋ณด๊ด€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€์ˆ˜์˜ ํฌ๊ธฐ๋„ ํƒ€์ž…์— ๋งž๊ฒŒ ์„ ์–ธ๋˜์–ด์•ผํ•œ๋‹ค. string, boolen ๊ณผ ๊ฐ™์ด ๋ง์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์ž๋ฉด String์ด๋ผ๊ณ  ํƒ€์ž…์„ ์ •ํ•˜๊ณ  ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•ด์ฃผ๋ฉด ์ปดํ“จํ„ฐ๊ฐ€ ๊ทธ์— ๋งž๋Š” ๊ณต๊ฐ„์„ ์ค€๋น„ํ•˜๊ณ  ๋งŒ๋“ค์–ด์ค€๋‹ค. ์ด์ œ๋Š” ํด๋ž˜์Šค๋‹ค ํด๋ž˜์Šค๋Š” ํ•˜๋‚˜์˜ ์ธํ˜•์ด ์žˆ๋‹ค๊ณ  ํ•˜๋ฉด, ๊ทธ ์ธํ˜•์„ ์ด๋ฃจ๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์–‘ํ•œ ๋ถ€๋ถ„์ด ์กด์žฌํ•œ๋‹ค. ํŒ”, ๋จธ๋ฆฌ , ๋ชธํ†ต๊ณผ ๊ฐ™์ด ๋ง์ด๋‹ค. ์ €๋ ‡๊ฒŒ ๋ถ€๋ถ„์ ์œผ๋กœ ํŒŒํŠธ๋ณ„๋กœ ๋‚˜๋ˆˆ ๋ถ€๋ถ„์„ ํด๋ž˜์Šค๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. ํฌ๊ณ  ๋ณต์žกํ•œ ๊ฒƒ์„ ๋งŒ๋“ค๋•Œ ๋‚˜๋ˆ ์„œ ๋งŒ๋“ค์–ด ์กฐ๋ฆฝ! ๊ฐ์ฒด(object) ๋Š” ๋ˆˆ์— ์‹ค์ฒด๊ฐ€ ๋ณด์ด๋“ ..
๋ฌธ์ œ) Given an array of asynchronous functions functions, return a new promise promise. Each function in the array accepts no arguments and returns a promise. promise resolves: When all the promises returned from functions were resolved successfully. The resolved value of promise should be an array of all the resolved values of promises in the same order as they were in the functions. promise reje..
๋ฌธ์ œ) Given a multi-dimensional array arr and a depth n, return a flattened version of that array. A multi-dimensional array is a recursive data structure that contains integers or other multi-dimensional arrays. A flattened array is a version of that array with some or all of the sub-arrays removed and replaced with the actual elements in that sub-array. This flattening operation should only be d..
๋ฌธ์ œ์ƒํ™ฉ NextJS๋กœ ๋นŒ๋“œํ•œ ์ดํ›„์— ๋ธŒ๋ผ์šฐ์ €์—์„œ reload๋ฅผ ํ•˜๋ฉด ํŽ˜์ด์ง€ ๊ฒฝ๋กœ๋ฅผ ์ œ๋Œ€๋กœ ์ฐพ์ง€ ๋ชป ํ•˜๊ณ  ์ดˆ๊ธฐํ™”๋ฉด์œผ๋กœ ๋ณด๋‚ด๋ฒ„๋ฆฌ๋Š” ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ฒผ๋‹ค. ์ตœ์ข… ์„œ๋น„์Šค๋ฅผ ์•ž๋‘๊ณ  ์ด ๋ฌธ์ œ๋กœ ๊ฝค๋‚˜ ๊ณจ๋จธ๋ฆฌ๋ฅผ ์ฉ๊ณ  ์žˆ์—ˆ๋‹ค. ์›์ธ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์š”์ฒญํ•œ ์ฃผ์†Œ์™€ ์‹ค์ œ ๋ฆฌ์†Œ์Šค์˜ ์ฃผ์†Œ(URL)์ด ๋‹ฌ๋ผ์„œ ์ƒ๊ธด ์ผ์ธ๋ฐ, ์ด๊ฒŒ ๋กœ์ปฌ์—์„œ๋Š” ์ž˜ ๋Œ์•„๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ์ฒ˜์Œ์— ์ •๋ง ๋ฌด์Šจ ์ผ์ธ์ง€ ์•Œ์ˆ˜๊ฐ€ ์—†์—ˆ๋‹ค. static์„ S3์— ์˜ฌ๋ฆฌ๋ฉด์„œ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ๋กœ nextjs๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ผ์šฐํŒ…์„ ํ•˜๋Š”๋ฐ, ์ด๊ฑธ static์ด ์ƒ์„ฑ๋œ๋‹ค. ์ด๋Œ€๋กœ ๋ฐฐํฌํ•˜๋ฉด ๊ธฐ๋ณธ url ์—์„œ๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ ๋’ค์— ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋ถ™๋Š” ๊ฒฝ์šฐ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค. ํ•ด๊ฒฐ 1. next.config์— trailingSlash ์˜ต์…˜ ๋„ฃ์–ด์ฃผ๊ธฐ // next.config.js module.exp..
๋ฐ(Ming) ๐Ÿฐ
'๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (7 Page)