์ ์ฒด ๊ธ166 Firebase Hosting ์ GitHub Actions ์ฌ์ฉํด์ CI/CD ๊ตฌ์ถํ๊ธฐ CI/CD๋? CI (์ง์์ ํตํฉ, Continuous Integration) ๊ฐ๋ฐ์๋ค์ด ์์ค ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊น์ ํธ์ํ ๋๋ง๋ค ์๋์ผ๋ก ์ฝ๋ ๋ณ๊ฒฝ์ ํตํฉํ๊ณ ํ ์คํธํ๋ ํ๋ก์ธ์ค ์ฌ๋ฌ ๊ฐ๋ฐ์๊ฐ ๋์์ ์์ ํ๋ ํ๋ก์ ํธ์์ ์ฝ๋ ์ถฉ๋์ ๋ฐฉ์งํ๊ณ , ์ฝ๋ ํ์ง์ ์ ์งํ๋ฉฐ, ๋น ๋ฅธ ์ค๋ฅ ๊ฒ์ถ์ ๊ฐ๋ฅํ๊ฒ ํจ ์๋ํ๋ ๋น๋ ๋ฐ ํ ์คํธ ์์ ์คํ ex) Jenkins, Travis CI, CircleCI, GitHub Actions CD (์ง์์ ๋ฐฐํฌ, Continuous Deployment) ์ํํธ์จ์ด ๋ณ๊ฒฝ ์ฌํญ์ ์๋์ผ๋ก ํ๋ก๋์ ํ๊ฒฝ์ผ๋ก ๋ฐฐํฌํ๋ ๊ฒ ์ฃผ์ ์ด์ ์ฝ๋ ํ์ง ํฅ์ ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ ์๋ ํฅ์ ์ ์ํ ์ค๋ฅ ๊ฐ์ง ๋ฐ๋ณต ๊ฐ๋ฅํ ํ๋ก์ธ์ค GitHub Actions๋? GitHub์์ ์ ๊ณตํ๋ CI/CD ๋๊ตฌ.. 2023. 9. 12. [๊ณต์ ] ๊ฐ์ธ ์ ๋ฌด ํ๊ณ ํ ํ๋ฆฟ ํด์ฌ๋ฅผ ์๋๊ณ ํ์ฌ๊น์ง ์งํํ ์ ๋ฌด๋ค์ ๋ํด ์์ฒด ํ๊ณ ๋ฅผ ์งํํด๋ณด๋ ์ค ํ ํ๋ฆฟ์ ์ง์ ๋ง๋ค์ด๋ดค๋ค. 1. ์ ๋ฌด ์งํ - ๋ด๊ฐ ์ด ์ ๋ฌด๋ฅผ ์ ์งํํ๊ฒ ๋์๊ณ , ๊ทธ ๊ณผ์ , ๊ทธ๋ฆฌ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ์๋ค. 2. KPT - KPT ํ๊ณ ๋ก ์ ์ ๋ช ํด์ ๋ค๋ค ์ ๊ฒ ๊ฐ๋ค. - ํ ํ๋ฆฟ์๋ KPT๋ฅผ ๋ชจ๋ ๋ฃ์์ง๋ง, ์ ๋ฌด์ ํน์ฑ์ ๋ง์ถฐ์ ๋ด์ฉ์ด ์๊ฑฐ๋ ํ์ํ์ง ์์ ๋ถ๋ถ์ ์๋ตํ๊ณ ๊ธฐ๋กํ์๋ค. 3. ์ธ์ฌ์ดํธ - ์ฌ์ค ์ด ๋ถ๋ถ์ด ํต์ฌ์ธ ๊ฒ ๊ฐ๋ค. - ๊ธฐ์ ์ ์ธ ๋ถ๋ถ ์ธ์๋ ๋น ์ง์์ด ์ ์๋ค. (ex. ์์ฌ์ํต, ๊ฐ๋ฑ ๊ด๋ฆฌ ๋ฑ) ํน์ ํ์ํ์ ๋ถ์ด ๊ณ์๋ค๋ฉด ์๋ ๋งํฌ๋ก ๋ค์ด๊ฐ์ ํ ํ๋ฆฟ ๋ณต์ ํด์ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค :) https://maze-slouch-c9c.notion.site/cfdefed202104227a4be8961d7aac08.. 2023. 8. 15. styled-components์ emotion์ ๋ํ ๊ณ ์ฐฐ ํ์ฌ ๊ทผ๋ฌด ์ค์ธ ๊ณณ์์ ์คํ์ผ ๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก emotion์ ์ฌ์ฉํ๊ณ ์๋ค. (๊ทผ๋ฐ ๋ styled-components๋ ์ผ๋ถ ์ฌ์ฉํ๊ณ ์๋ค.) ํ์ง๋ง ๋๋ ์ด๊ณณ์ ๋ค์ด๊ฐ๊ธฐ ์ ๊น์ง๋ styled-components๋ง ์ฃผ๋ก ์ฌ์ฉํ์๊ธฐ ๋๋ฌธ์, ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฐจ์ด์ ์ด ๊ถ๊ธํ๋ค. ์๋ํ๋ฉด ์ฝ๋ ์ ํฌ๊ฒ ๋ค๋ฅธ ์ ์ด ๋ณด์ด์ง ์์๊ธฐ ๋๋ฌธ์ด์๋ค. ๋๋ฃ ๋ถ๊ป ์ง๋ฌธํ์ ๋ ๋์์จ ๋ต์ "emotion์ด ์ข ๋ ๊ฐ๋ฒผ์์์~" ์์๋ค. ๊ทธ๋ ์ง๋ง ๋ค๋ฅธ ํ์ฌ๋ค ์ฑ์ฉ ๊ณต๊ณ ํ์ด์ง์ ์ ํ ์๋ ๊ฒ์ ๋ณด๋ฉด, styled-component์ emotion์ ๊ฐ๊ฐ ๊ท ๋ฑํ๊ฒ ์ฌ์ฉํ๊ณ ์๋ ๊ฒ์ ๋ณผ ์ ์์๋ค. ๊ทธ๋์ ์ด ๋์ด ๋๋์ฒด ๋ญ๊ฐ ๋ค๋ฅธ ๊ฑด์ง์ ๋ํด ์์๋ณด์๋ค. ์คํ์ผ ๊ธฐ๋ฅ ๋ฐ ๋ฌธ๋ฒ ์ฐ์ ์ ๋ฐ์ ์ธ ์คํ์ผ ๊ธฐ๋ฅ์ ํฌ๊ฒ ๋ค๋ฅด์ง ์.. 2023. 8. 13. [Next.js] Google Maps API๋ก ์ง๋์ ์ ๊ทธ๋ฆฌ๊ธฐ (๋น๊ทผ๋ง์ผ ๋ด ๋๋ค ์ค์ ๋ฐ๋ผํด๋ณด๊ธฐ) ๋น๊ทผ๋ง์ผ์ ๋ด ๋๋ค ์ค์ ๊ธฐ๋ฅ์ ๋ณด๋ฉด, ํ๋จ ๋ฐ๋ฅผ ์์ง์ผ ๋๋ง๋ค ์ง๋์ ํ์๋ ์์ญ์ ๋์ด์ ์ง๋ ์ค์ผ์ผ์ด ๋ณํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ๋น๊ทผ๋ง์ผ์ฒ๋ผ ์ง์ญ ํน์ฑ์ ๋ง์ถ์ด ์์ธํ ๋ค๊ฐํ์ผ๋ก ํํํ๋ ๊ฒ์ ๋ฌด๋ฆฌ๊ณ , ์ง์ญ๋ณ๋ก ์ค์ฌ ์ขํ๋ฅผ ์ ํ๊ณ , ์ด๋ฅผ ์ค์ฌ์ผ๋ก ํ ์์ ๊ทธ๋ฆฌ๋ ๊ฒ์ ํ ๋ฒ ํด๋ณด๊ธฐ๋ก ํ๋ค. 0. Google Maps API ํค ๋ฐ๊ธฐ ๊ฐ์ ํด์ ํค๋ฅผ ๋ฐ๊ธ ๋ฐ์ผ๋ฉด ๋๋ค. https://developers.google.com/maps?hl=ko Google Maps Platform | Google for Developers Google Maps Platform ์ค๋ช developers.google.com 1. ์ค์นํ๊ธฐ Google Maps API Docs๋ ์์ javascript๋ก ์ค๋ช ์ ํด์ฃผ๊ณ ์๊ธฐ ๋.. 2023. 6. 28. [Next.js] ๋ฒ์ญ ๊ธฐ๋ฅ (๋ค๊ตญ์ด) ์ ์ฉํ๊ธฐ (i18next) ํ๊ตญ์์ ์ด์ ์ค์ธ ์๋น์ค๋ฅผ ํฅํ ์ธ๊ตญ๊น์ง ํ์ฅํ๋ค๋ฉด, ํด๋น ๊ตญ๊ฐ์ ์ธ์ด ์ ์ฉ์ด ํ์ํ๋ค. ๊ทธ๋ด๋๋ง๋ค ๋ชจ๋ ํ์ด์ง์ ํ ์คํธ๋ฅผ ์ผ์ผํ ๋ฐ๊พธ๋ ๊ฒ์ ๋งค์ฐ ๋นํจ์จ์ ์ด๋ฏ๋ก next-i8next๋ผ๋ ๋ชจ๋์ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค. ์์ค์ฝ๋์ ๊นํ๋ธ ๋ฆฌ๋๋ฏธ์ ๋ฌธ์๊ฐ ์์ธํ ์์ฑ๋์ด ์์ด ์ด๋ฅผ ์ฐธ๊ณ ํ๋ฉฐ ์งํํ๋ค. https://github.com/i18next/next-i18next GitHub - i18next/next-i18next: The easiest way to translate your NextJs apps. The easiest way to translate your NextJs apps. Contribute to i18next/next-i18next development by creating an accoun.. 2023. 5. 16. SyntaxError: Cannot use import statement outside a module โป SyntaxError: Cannot use import statement outside a module redux๋ฅผ ์ฌ์ฉํ๋ฉด์ ์ฌ๋ฌ ๊ฐ์ง ๋ชจ๋์ ๋ง์ด ์ฐ๋ค ๋ณด๋, ์ด ์๋ฌ๋ฅผ ๋ค์ ๋ง์ด ๋ง๋ฌ๋ค. ์ด๊ฒ์ default๋ก export ํ์ง ์์ ํจ์๋ฅผ {}๋ฅผ ์ฐ์ง ์๊ณ ๋ฐ๋ก ๋ด๋ณด๋ผ ๋ ๋์ค๋ ์๋ฌ์ด๋ค. ์ ๋ฆฌํ์๋ฉด, export ํจ์ ๋ก ๋ชจ๋์ ๋ง๋ค์์ผ๋ฉด ์ฌ์ฉํ ๋ import { ํจ์ } from './๊ฒฝ๋ก' ์ด๋ ๊ฒ ๊ฐ์ ธ์์ผ ํ๊ณ , export default ํจ์ ๋ก ๋ชจ๋์ ๋ง๋ค์์ผ๋ฉด ์ฌ์ฉํ ๋ import ํจ์ from '/๊ฒฝ๋ก' ์ด๋ ๊ฒ ๊ฐ์ ธ์ค๋ฉด ๋๋ค 2023. 5. 10. redux-persist๋ก localStorage ๊ด๋ฆฌํ๊ธฐ ํ์ฌ ํ์ฌ์์ redux๋ฅผ ์๋ก ๋์ ํ๋ ๊ณผ์ ์์ ๋ฏธ๋ฆฌ ๊ณต๋ถํ๋ ์ค์ ๊ตฌ๊ธ๋งํด์ ์ฐพ์๋ธ ๊ธ๋ค๊ณผ ์ฑ์งํผํฐ์ ๋์์ ๋ฐ์ผ๋ฉฐ ํด๋ณด๋ ์ค์ ๊ทธ ๊ณผ์ ์ ์ ๋ฆฌํ๊ณ ๋ฐ์ํ๋ ์๋ฌ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณด์๋ค. redux-persist๋? redux์ ์ํ๋ ์ผ์์ ์ด๊ธฐ ๋๋ฌธ์, ๋ธ๋ผ์ฐ์ ๋ฅผ ์๋ก๊ณ ์นจํ๋ฉด ๋ชจ๋ ์ํ๊ฐ๋ค์ด ์ด๊ธฐํ๋๋ค. ์ฌ์ฉ์๊ฐ ์๋ก๊ณ ์นจํ ๋๋ง๋ค ๊ฐ์ด ์ฌ๋ผ์ ธ๋ฒ๋ฆฌ๋ฉด ์ํ ๊ด๋ฆฌ๋ฅผ ํ๋ ์๋ฏธ๊ฐ ์๋ค. ์ด๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด, redux-persist๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ redux์ ์ํ๋ฅผ ๋ธ๋ผ์ฐ์ ๋ด์ ์ ์ฅํ ์ ์๋ค. ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ redux store ๊ฐ๋ค์ ์๊ตฌ ์ ์ฅ์์ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, ๋ธ๋ผ์ฐ์ ๋ฅผ ์๋ก๊ณ ์นจํ๋๋ผ๋ ์ํ๋ฅผ ์ ์งํ ์ ์๊ฒ ๋๋ค. ํ์ฌ ์ฝ๋ ์ํ ์ง๊ธ์ ํน๋ณํ ํ๋ก์ ํธ๊ฐ ์๋.. 2023. 5. 10. [Redux] Redux ์ฌ์ฉํด์ Counter ๊ตฌํํ๊ธฐ (Next.js + TypeScript) ๋ฒจ๋กํผํธ์ ํจ๊ปํ๋ ๋ชจ๋ ๋ฆฌ์กํธ ๋ฌธ์๋ฅผ ๋ฐ๋ผํ๋ฉด์ redux ํํ ๋ฆฌ์ผ์ ์งํํด๋ณด์๋ค. ๋๋ถ๋ถ์ redux ํํ ๋ฆฌ์ผ์ด (์ด๊ฒ๋ ๋ง์ฐฌ๊ฐ์ง์ง๋ง) React์ JavaScript ๊ธฐ๋ฐ์ผ๋ก ์งํ๋์ด ์๊ฐํ๋ ๊ฒ๋ณด๋ค๋ ์๊ฐ์ด ์กฐ๊ธ ๊ฑธ๋ ธ๋ค (ํค๋งค๋๋ผ....), ๊ทธ๋์ ๋๋ ์์ผ๋ก ์ ํค๋งค๊ณ , ๋ ๋์ฒ๋ผ Next Typescript Redux๋ฅผ ํ ๋ฒ์ ๋ฐฐ์ฐ๋.. ์๋ํ๋ ... ์ฌ๋๋ค์ ์ํด์ ๊ธฐ๋กํด๋ณธ๋น. 0. ์ค์นํ๊ธฐ 1) next ํ๋ก์ ํธ ์์ฑ : npx create-next-app ํ์ ์ด๋ฆ --typescript 2) redux ์ค์น : npm install react-redux next-reddux-wrapper 3) redux-devtools ์ค์น : npm install react-devtools-exte.. 2023. 5. 8. Next.js + TypeScript + Redux ์์ํ๊ธฐ (+ redux-devtools ์ฌ์ฉ) 1. Next.js ํ๋ก์ ํธ ์์ฑํ๊ธฐ npx create-next-app ํ์ ์ด๋ฆ --typescript ์ด ๋, ํฐ๋ฏธ๋์ ESLint ์ธ๊ฑฐ๋๊ณ ๋ฌผ์ด๋ณด๋๋ฐ, yes๋ผ๊ณ ๋๋ตํ๋ฉด ts ๊ด๋ จ ์์กด์ฑ ํจํค์ง๋ค๋ ์์์ ๋ค์ด๋ฐ์์ค๋ค. ๋ง์ฝ์ ์ ๊น์์ค๋ค๋ฉด, ์ง์ ๊น์์ฃผ๋ฉด ๋๋ค. npm install --save-dev typescript @types/react @types/node 2. Redux ์ค์นํ๊ธฐ next์์ redux๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด, 2๊ฐ์ง๊ฐ ํ์ํ๋ค. npm install react-reduxnpm install next-redux-wrapper 3. redux devtools redux devtools๋ฅผ ์ฌ์ฉํ๋ฉด, ํ์ฌ ์คํ ์ด์ ์ํ๋ฅผ ๊ฐ๋ฐ์ ๋๊ตฌ์์ ์กฐํํ ์ ์๊ณ , ์ง๊ธ๊น์ง ์ด๋ค ์ก์ ๋ค์ด ๋์คํจ.. 2023. 5. 7. ์ด์ 1 2 3 4 5 6 7 ยทยทยท 19 ๋ค์