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

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

(79)
MySQL ๋คํ”„ ๋œจ๊ธฐ ๋ฏธ๋ž˜์— ๋คํ”„ ๋œฐ ๋‚˜๋ฅผ ์œ„ํ•ด mysqldump -u root -p [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ช…] > [ํŒŒ์ผ๋ช…].sql ์ฐธ์กฐ https://blog.dalso.org/article/mysql-mariadb-dump
MySQL ์ปฌ๋Ÿผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์ž์ฃผํ•˜๋Š” ์ž‘์„ฑ(?)ํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ๊ทธ๋Ÿฐ์ง€ DDL ์ž‘์„ฑํ•  ๋•Œ๋Š” ๋งค๋ฒˆ ์ฐพ์•„๋ณด๋Š” ๊ฒƒ ๊ฐ™์€ ๋Š๋‚Œ -_-;; ALTER TABLE `ํ…Œ์ด๋ธ”๋ช…` ADD COLUMN `์ปฌ๋Ÿผ๋ช…` ๋ฐ์ดํ„ฐ ํƒ€์ž… NULL๊ฐ’์„ค์ • COMMENT '์ปค๋งจํŠธ๋ช…' AFTER `์ถ”๊ฐ€๋˜๊ธธ ์›ํ•˜๋Š” ์œ„์น˜ ์•ž ์ปฌ๋Ÿผ๋ช…`; ALTER TABLE `member` ADD COLUMN `firstname` VARCHAR(20) NOT NULL COMMENT '์ด๋ฆ„' AFTER `surname`; ALTER TABLE `member` ADD COLUMN `nickname` VARCHAR(20) NULL DEFAULT NULL COMMENT '์ด๋ฆ„' AFTER `firstname`; ๋งจ ์•ž์— ์ถ”๊ฐ€๋˜๊ธฐ๋ฅผ ์›ํ•œ๋‹ค๋ฉด AFTER `์ปฌ๋Ÿผ๋ช…`์ด ์•„๋‹Œ FIRST๋ฅผ ์ ์–ด์ฃผ๋ฉด๋˜๊ณ  ๋งจ ๋’ค..
[ํ”Œ์ ๊ธฐ๋ก] ๋‰ด์Šค๋ ˆํ„ฐ ๋ชจ์Œ ์‚ฌ์ดํŠธ NEWใƒปLEใƒปKA NEWใƒปLEใƒปKA(๋‰ด๋ ˆ์นด) โžก๏ธ https://newleka.vercel.app ๐ŸŽฌ ์‹œ์ž‘ ๋ฐ ๊ณ„๊ธฐ ์‹œ์ž‘์€ ์ง„์ง€ํ•˜๊ฒŒ ๊ถ์„œ์ฒด๋กœ ์ž‘์„ฑํ•ด๋ณด๊ฒ ๋‹ค. ์•ฝ ๋ฐ˜๋…„ ์ „์ฏค ์‹œ์ž‘ํ•œ ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋‹ค. (ํŠน๋ณ„ํ•œ ์ผ์ด ์—†์œผ๋ฏ€๋กœ ๊ฑฐ์˜ ๋ฉ”์ธ์ธ) ๋ญ”๊ฐ€๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ณ  ์‹ถ์€๋ฐ ํด๋ก  ์ฝ”๋”ฉํ•˜๋Š” ๊ฑด ์ง€๊ฒน๊ณ ... ๋‚ด๊ฐ€ ์ง์ ‘ ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•ด๋ณด๊ณ  ์‹ถ์€ ๊ฒƒ๋„ ์žˆ๊ณ , ์ง์ ‘ ๋งŒ๋“ค๋ฉด ๋ญ”๊ฐ€๋ฅผ ๋” ๋งŽ์ด ๋ฐฐ์šฐ์ง€ ์•Š์„๊นŒ ํ•˜๋Š” ์ƒ๊ฐ์œผ๋กœ ์ด๋Ÿฐ์ €๋Ÿฐ ์ƒ๊ฐ์„ ํ•˜๋‹ค๊ฐ€ ๋– ์˜ค๋ฅธ ์•„์ด๋””์–ด์˜€๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ํ‰์†Œ์— ๋‰ด์Šค๋ ˆํ„ฐ ๋ณด๋Š” ๊ฑธ ๊ฝค ์ข‹์•„ํ–ˆ๋‹ค. ๋งŽ์€ ๋‰ด์Šค๋ ˆํ„ฐ๋ฅผ ๊ตฌ๋…ํ–ˆ๋˜ ๊ฑด ์•„๋‹ˆ์ง€๋งŒ ํฌํ„ธ ์‚ฌ์ดํŠธ์— ๋Œ์•„๋‹ค๋‹ˆ๋ฉด์„œ ๋ณด๊ฒŒ ๋˜๋Š” ์ •๋ณด๋“ค๊ณผ ๋‹ค๋ฅด๊ฒŒ ๋ˆ„๊ตฐ๊ฐ€ ์ •์„ฑ์„ ๋“ค์—ฌ ๋ชจ์•„๋†“์•˜๊ฑฐ๋‚˜ ์ •๋ฆฌํ•œ ๋˜๋Š” ๋งŒ๋“  ๋ฐ์ดํ„ฐ๋ผ ๊ทธ๋Ÿฐ์ง€ ์งง์€ ์‹œ๊ฐ„์—๋„ ๋งŽ์€ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๊ณ  ์–‘์งˆ์˜ ์ •๋ณด๋“ค์ด ๋งŽ์•˜๋‹ค. ์—ฌ๋Ÿฌ ๋ถ„์•ผ์˜..
[๋‚ด๋ณด๋‚ด๋ฒˆ] Next.js docs - Dynamic Import ๋‚ด๋ณด๋‚ด๋ฒˆ(๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ๋‚ด๊ฐ€ ๋ฒˆ์—ญํ•œ...) Next.js docs 2021๋…„ 8์›” 3์ผ ๊ธฐ์ค€ Next.js ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ฒˆ์—ญํ–ˆ๋‹ค. โ€ป ์˜์–ด ์ „๊ณต์ž๋„ ํ•ด์™ธ ์œ ํ•™ํŒŒ๋„ ์•„๋‹ˆ๊ธฐ์— ๋ฒˆ์—ญ์—๋Š” ์˜์—ญ, ์˜ค์—ญ, ๊ตฌ๊ธ€ ๋ฒˆ์—ญ์ด ๋ฌด์ˆ˜ํžˆ ๋งŽ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ˜ผ์ž ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•ด๊ฐ€๋ฉฐ ๋ฒˆ์—ญํ•˜๋‹ค ๋ณด๋‹ˆ ์˜คํƒ€๋„ ๋งŽ์„ ์ˆ˜ ์žˆ๋‹ค. ์ •ํ™•ํ•œ ๋‚ด์šฉ์€ ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ง์ ‘ ์‚ดํŽด๋ณด๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์ •๋ณด๋“ค์„ ๋” ์ฐพ์•„๋ณด๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. (ํ•˜์ง€๋งŒ ๋Œ“๊ธ€ ํ”ผ๋“œ๋ฐฑ๋„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค๐Ÿ˜ƒ ) Next.js ๊ณต์‹๋ฌธ์„œ ํ™•์ธํ•˜๊ธฐ>> Advanced Features: Dynamic Import | Next.js Dynamically import JavaScript modules and React Components and split your code into manageable chunk..
[๋‚ด๋ณด๋‚ด๋ฒˆ] Next.js docs - Authentication ๋‚ด๋ณด๋‚ด๋ฒˆ(๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ๋‚ด๊ฐ€ ๋ฒˆ์—ญํ•œ...) Next.js docs 2021๋…„ 8์›” 2์ผ ๊ธฐ์ค€ Next.js ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ฒˆ์—ญํ–ˆ๋‹ค. โ€ป ์˜์–ด ์ „๊ณต์ž๋„ ํ•ด์™ธ ์œ ํ•™ํŒŒ๋„ ์•„๋‹ˆ๊ธฐ์— ๋ฒˆ์—ญ์—๋Š” ์˜์—ญ, ์˜ค์—ญ, ๊ตฌ๊ธ€ ๋ฒˆ์—ญ์ด ๋ฌด์ˆ˜ํžˆ ๋งŽ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ˜ผ์ž ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•ด๊ฐ€๋ฉฐ ๋ฒˆ์—ญํ•˜๋‹ค ๋ณด๋‹ˆ ์˜คํƒ€๋„ ๋งŽ์„ ์ˆ˜ ์žˆ๋‹ค. ์ •ํ™•ํ•œ ๋‚ด์šฉ์€ ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ง์ ‘ ์‚ดํŽด๋ณด๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์ •๋ณด๋“ค์„ ๋” ์ฐพ์•„๋ณด๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. (ํ•˜์ง€๋งŒ ๋Œ“๊ธ€ ํ”ผ๋“œ๋ฐฑ๋„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค๐Ÿ˜ƒ ) Next.js ๊ณต์‹๋ฌธ์„œ ํ™•์ธํ•˜๊ธฐ>> Authentication | Next.js Learn about authentication patterns in Next.js apps and explore a few examples. nextjs.org Authentication verifies who ..
[์‚ฝ์งˆ๋กœ๊ทธ] Next.js(Vercel) + Strapi(Heroku) 504 ์—๋Ÿฌ ๋Œ€์ฒ˜ (์ด ๊ธ€์€ 2021๋…„ 7์›” 11์ผ ๊ธฐ์ค€ ๊ธ€์ด๋‹ค.) ์‚ฝ์งˆ์š”์•ฝ๐Ÿ‘จ‍๐Ÿ”ง ์Šคํƒ: Next.js(Vercel) + Strapi - Postgres(Heroku) ์ฆ์ƒ: ์ดˆ๊ธฐ ์ ‘๊ทผ์‹œ 504 ์—๋Ÿฌ๊ฐ€ ๋œธ. (Serverless Function Timeout) ๋Œ€์ฒ˜: ๋งค๋ฒˆ ์„œ๋ฒ„์— ์š”์ฒญํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” getServerSideProps์—์„œ getStaticProps๋กœ ๋ณ€๊ฒฝ ํ›„ revalidate ์„ค์ •. (์—๋Ÿฌ์— ๋Œ€ํ•œ ๊ทผ๋ณธ์ ์ธ ํ•ด๊ฒฐ์ฑ…์ด ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ๋Œ€์ฒ˜ํ•œ ๊ฒƒ์ด๊ธฐ์— ๋Œ€์ฒ˜๋ผ๊ณ  ์ผ๋‹ค.) ์‚ฝ์งˆ๊ตฌ๊ตฌ์ ˆ์ ˆ ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋‹ค๊ฐ€ ํ•œ๋™์•ˆ ๋‹ค๋ฅธ ํ† ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ์ง€์ž‘๊ฑฐ๋ฆฌ๋‹ค๋ณด๋‹ˆ ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ๋Š” ์ €์–ด์–ด ๋ฉ€๋ฆฌ ๋ฉ€์–ด์ ธ๋ฒ„๋ ธ๊ณ  ์†๋Œ€๊ธฐ๋„ ๊ท€์ฐฎ์•„์กŒ๋‹ค. ์†”์งํžˆ ๋งํ•˜๋ฉด ํ•ด๊ฒฐํ•ด์•ผ ํ•  ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ํ•ด๊ฒฐ์ฑ…์ด ๋ณด์ด์ง€ ์•Š์•„์„œ ๋” ๊ฑด๋“ค๊ธฐ๊ฐ€ ์‹ซ์—ˆ๋‹ค...
[๋‚ด๋ณด๋‚ด๋ฒˆ] Next.js docs - Deployment ๋‚ด๋ณด๋‚ด๋ฒˆ(๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ๋‚ด๊ฐ€ ๋ฒˆ์—ญํ•œ...) Next.js docs 2021๋…„ 7์›” 11์ผ ๊ธฐ์ค€ Next.js ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ฒˆ์—ญํ–ˆ๋‹ค. โ€ป ์˜์–ด ์ „๊ณต์ž๋„ ํ•ด์™ธ ์œ ํ•™ํŒŒ๋„ ์•„๋‹ˆ๊ธฐ์— ๋ฒˆ์—ญ์—๋Š” ์˜์—ญ, ์˜ค์—ญ, ๊ตฌ๊ธ€ ๋ฒˆ์—ญ์ด ๋ฌด์ˆ˜ํžˆ ๋งŽ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ˜ผ์ž ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•ด๊ฐ€๋ฉฐ ๋ฒˆ์—ญํ•˜๋‹ค ๋ณด๋‹ˆ ์˜คํƒ€๋„ ๋งŽ์„ ์ˆ˜ ์žˆ๋‹ค. ์ •ํ™•ํ•œ ๋‚ด์šฉ์€ ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ง์ ‘ ์‚ดํŽด๋ณด๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์ •๋ณด๋“ค์„ ๋” ์ฐพ์•„๋ณด๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. (ํ•˜์ง€๋งŒ ๋Œ“๊ธ€ ํ”ผ๋“œ๋ฐฑ๋„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค๐Ÿ˜ƒ ) Next.js ๊ณต์‹๋ฌธ์„œ ํ™•์ธํ•˜๊ธฐ>> Deployment | Next.js Deploy your Next.js app to production with Vercel and other hosting options. nextjs.org Vercel(Recommended) The easiest wa..
[๋‚ด๋ณด๋‚ด๋ฒˆ] JavaScript - Function Declarations vs. Function Expressions GitHub์— ์žˆ๋Š” 33 Concepts Every JavaScript Developer Should Know ๋ผ๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๋‚ด์šฉ ์ค‘ ๊ณต๋ถ€ํ•˜๊ณ  ์‹ถ์€ ์•„ํ‹ฐํด์„ ๋‚ด๊ฐ€ ์ •๋ฆฌํ•  ๊ฒธ ๊ธฐ์–ตํ•  ๊ฒธ ์ž‘์„ฑํ•˜๋Š” ๋ฒˆ์—ญ๊ธ€์ด๋‹ค. 33๊ฐ€์ง€ ์ค‘ ๋‘ ๋ฒˆ์งธ์ธ ๊ธฐ๋ณธํ˜•๊ณผ ๊ด€๋ จ๋œ ๋‚ด์šฉ์ด๋‹ค. โ€ป ๋‚ด๋ณด๋‚ด๋ฒˆ(๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ๋‚ด๊ฐ€ ๋ฒˆ์—ญํ•œ): ์˜์–ด ์ „๊ณต์ž๋„ ํ•ด์™ธ ์œ ํ•™ํŒŒ๋„ ์•„๋‹ˆ๊ธฐ์— ๋ฒˆ์—ญ์—๋Š” ์˜์—ญ, ์˜ค์—ญ, ๊ตฌ๊ธ€ ๋ฒˆ์—ญ์ด ๋ฌด์ˆ˜ํžˆ ๋งŽ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์˜คํƒ€๋„ ๋งŽ์„ ์ˆ˜ ์žˆ๋‹ค. ์ •ํ™•ํ•œ ๋‚ด์šฉ์€ ์›๋ฌธ์„ ์ง์ ‘ ์‚ดํŽด๋ณด๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์ •๋ณด๋“ค์„ ๋” ์ฐพ์•„๋ณด๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. (ํ•˜์ง€๋งŒ ๋Œ“๊ธ€ ํ”ผ๋“œ๋ฐฑ๋„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค๐Ÿ˜ƒ ) ์ด๋ฒˆ์— ๊ณ ๋ฅธ ์•„ํ‹ฐํด์€ Mandeep Singh ๋‹˜์ด ์ž‘์„ฑํ•˜์‹  Function Declarations vs. Function Expressions ์ด๋‹ค. ๋‚ด์šฉ ์ค‘๊ฐ„ ์ค‘๊ฐ„ ๐Ÿค”..