๐ What I Learned ๊ฒฉ๋์ 10์์ด์์๊น..? ์ฌ ํ ํด๋ 2๋ฌ๋ฐ์ ์ ๋จ์๋ค๊ณ ํ๋ ๊ฐ์๊ธฐ ์ฌ์ฅ์ด ๋ํ๋ํํ๋ค. ๋ถ์ํด์ ๋ง์ด๋ค. ๐ป Work ๊ธฐ์กด์ ๊ตฌํ ์ค์ด๋ ํ๋ก์ ํธ๋ ๋ ์ด์ ์ ๊ท ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ง ์๊ธฐ๋ก ํ๋ค. ์๋ก์ด ํ๋ก์ ํธ๋ค์ด ๋ฌผ๋ฐ๋ฏ์ด ๋ค์ด์ค๋ฉด์ ๊ฐ์๊ธฐ ๊ธฐ์กด์ ํด๋ ๊ณณ๋ค์ด ์ฌ์คํ๋ ๋๋์ด๋ค. ๊ทธ๋์ ๋ฏธ๋ฃจ๋ ํ์ง ๋ณด์ ์์
์ ์งํํ๋ค ์ฌ์ ๋๋ ๋ฐฑ์๋๊ฐ๋ฐ์๊ฐ ์์ด์ ์ฃผ๋ก UI์ ์ธ ๋ถ๋ถ, ์ฌ์ฉ์์ ์ฌ์ฉ์ฑ์ ๊ณ ๋ คํ๋ ์์
๋ค์ด ์ฃผ๋ฅผ ์ด๋ฃจ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ์ฐธ์ฌํ๊ฒ ๋ ์๋ก์ด ํ๋ก์ ํธ. ์๋ ํ๋ฌํฐ๋ก ๊ตฌํํ๋๊ฑฐ๋ฅผ ๋ฆฌ์กํธ ๋ณํ ์์
์ ํ๊ณ ์๋ค. ์ผ๋จ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์์ ํ์ฐํ๊ฒ ๋๊ปด์ง๋ ํ๋ฌํฐ์ ๋ฆฌ์กํธ์ ์ฑ๋ฅ์ฐจ์ด. ํ๋ฌํฐ์ ๋งค๋ ฅ์ ์๋๋ก์ด๋, ios, ์น๊น์ง ๋์์ ๊ฐ๋ฐํ ์ ์๋ค๋ ์ ์ธ๋ฐ, ์ฑ์ ..
์ ์ฒด ๊ธ
๐ฉ๐ปโ๐ป Frontend Developerdrag and drop ๊ธฐ๋ฅ์ ๊ตฌํํด์ ๋น์ฐํ๋ค๋ ๋ฏ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐพ์ ์ผ๋๋ฐ, ์ฌ๊ฑธ - ๊ฐ๋ก๋ก ์์ง์ด๋ ์ฌ๋ผ์ด๋ ๊ตฌํ์ ํ๊ณ ๊ทธ ์์ ๋ณด์ฌ์ง๋ ๋ถ๋ถ์ ์๋์๋ก ์คํฌ๋กค์ด ๋์ด์ผ ํ๋ค. ๊ฒ๋ค๊ฐ ์น์ฑ์ธ์ง๋ผ ํฐ์น๋ก ๋๋๊ทธ๊น์ง ๋์ผํ๋ ์ํฉ์ด์๋ค. ์ฒ์์ ๊ตฌํํ์ ๋๋ siwper๋ผ๋ ๋ฆฌ์กํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ณ , ์ฌ๋ผ์ด๋ ์์ชฝ ๋ถ๋ถ์๋ ๋ค๋ฅธ ๋๋๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํด์ ์งํํ๋๋ฐ, ์ฌ๋ฌ ๊ฐ์ง ์ด์ ์์ ์ ๋๋ก ๊ตฌํ์ ํ ์๊ฐ ์์๋ค. ๊ฐ๋จํ๊ฒ ์ฌ์ ๋ฅผ ์ด์ผ๊ธฐํด๋ณด์๋ฉด, ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊น์ง ์ถฉ๋์ ํ๋ค. ๊ฐํธํ๊ฒ ์ฐ์๊ณ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐ๋๋ฐ ์๋ก ์ถฉ๋ํด์ ๋์ฅํ์ด ๋๋ค. ์ถฉ๋ ์๋๋๊ฑธ ์ฐพ์๋๋ ๊ฐ๋ก ์ฌ๋ผ์ด๋ ๊ตฌํ์ ๋์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ชจ๋ ๋ง์ฐ์ค ์ด๋ฒคํธ๋ฅผ ๋ค ๋บ์ด๊ฐ์ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋จนํ์ง ์๋ ์ผ๋ ๋ฐ์ํ๋ค. ๊ฒฐ๊ตญ์ ํ..
๊ฐ๊ฐ ๋ฐ๋ก ๋ธ๋์น์์ ์์
์ ํ๊ณ 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..