๋ฌธ์ ์ํฉmsw๋ฅผ ์
๊ทธ๋ ์ด๋ ํ๋ค (ํ๋ก์ ํธ ๋ด๋ถ์์ ๊ธฐ์กด msw 1.xx ๋ฒ์ ์ 2.31๋ก ์
๊ทธ๋ ์ด๋ํจ)Migration guideline ์ ๋ฐ๋ผ ์ฝ๋ migration์ ํ๋๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์คํํ๋ msw์ ๋ชจํนAPI์ ์๋ต์ด ์๊พธ 404 (Not Found)๊ฐ ๋จ์ด์ก๋ค. ๊ทธ๋์ ํ์ด์ง๊ฐ ์์ ์๋จ๋ ๋ฌธ์ ๊ฐ ์์๋ค. ๋๋ฒ๊น
ํ์ด์ง๊ฐ ๋ ๋๋ง๋๋ฉด์ api๋ฅผ ํธ์ถํ์ง ์๊ณ ์ฌ์ฉ์ ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ผ์ง๋ง api๊ฐ ํธ์ถ๋๋ ํ์ด์ง๋ค์ ์ ์์ ์ผ๋ก msw์ mocking ์๋ต์ ์ ์ฃผ์๋ค.๋ฌธ์ ๋ ํ์ด์ง๋ฅผ ๋์ฐ๋ฉด์ ๋ฐ๋ก api๋ฅผ ํธ์ถํ๋ ํ์ด์ง์์๋ง ํด๋น 404 ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. https://mswjs.io/docs/getting-started#step-2-describe Getting startedThree st..
์ ์ฒด ๊ธ
์ํฉ ๋ก์ปฌ์์ ๋ฆฌ์กํธ๋ก ๊ฐ๋ฐํ๊ณ ์๋ ํ๋ฉด์ ๋ชจ๋ฐ์ผ ์น๋ทฐํ๋ฉด์์๋ ์ด๋ป๊ฒ ๋ณด์ด๋์ง ๋ฐ๋ก ํ์ธํ๊ณ ์ถ์ด ์ฑ ๋ด์์ ๋ก์ปฌ ์๋ฒ์ฃผ์๋ฅผ ํธ์ถํ๋๋ ERR_CLEARTEXT_NOT_PERMITTED ๋ผ๋ ์๋ฌ๊ฐ ๋ด๋ค.์๋์ ๊ฐ์ด ์นํ์ด์ง ์ฃผ์๊ฐ ๋จ๋ฉด์ ๋ก๋ฉ์ด ์๋๋ค๊ณ ํจ ํด๋น ์ค๋ฅ๋ https ํต์ ์ด ์๋ http ํต์ ์ ๋ณด์๋ฌธ์ ๋ก ๋ง์๋ฌ์ ๊ทธ๋ฌ๋ http ํต์ ์ ์คํํ๋ฉด ๋๋ค. ํด๊ฒฐmain > AdroidManifest.xml ํ์ผ์ ์๋๋ฅผ ์ถ๊ฐํด์ฃผ๊ณ , ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์ฌ์์ํ๋ ์ ๋์๋ค. Refhttps://docs.flutter.dev/release/breaking-changes/network-policy-ios-android#allowing-cleartext-connection-for-debug-b..
๊ตฌ๊ธ ์ฝ๋ฉ?์น ๋ธ๋ผ์ฐ์ ์์ ํ
์คํธ, ํ์ด์ฌ ์ฝ๋๋ฅผ ์์ ๋กญ๊ฒ ์์ฑํ ์ ์๋ ํ
์คํธ ์๋ํฐ ํน์งํ๋ก๊ทธ๋จ์ ์ค์นํ์ง์๊ณ ๋ ์น ๋ธ๋ผ์ฐ์ ๋ง ์์ผ๋ฉด ํ์ด์ฌ์ผ๋ก ๊ฐ๋ฐ ๊ฐ๋ฅ ํ์ด์ฌ์ ์คํํ๊ธฐ์ํ ์ธํฐํ๋ฆฌํฐ๋ฅผ pc์ ์ค์นํด์ ์์ค์ฝ๋-์ปดํ์ผ-์คํ ๋ฐฉ์์ ๊ฑฐ์ณ์ผ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํ ์ ํต์ ์ธ ๋ฐฉ์ ํํผ ๊ตฌ๊ธ ํด๋ผ์ฐ๋ ์๋ฒ ์์์ ๋ฌด๋ฃ๋ก ์ฌ์ฉ ์ฌ์ด ๊ณต์ - ๋ค๋ฅธ ์ฌ๋๊ณผ๋ ์ค์๊ฐ ๊ณต์ ๊ฐ๋ฅ, ๊ตฌ๊ธ ๋๋ผ์ด๋ธ ์ฐ๋ ์ฌ์ฉ์ฝ๋ฉ์์ ํ์ผ์ ๋
ธํธ๋ถ์ด๋ผ๊ณ ๋ถ๋ฆ์ ํ์ผ ์ด๊ธฐ File < New notebook ํ์ฅ์๋ .ipynb๋ก interactive python notebook ์ ์ฝ์IPython Notebook๋? ํ์ด์ฌ์ ์คํ์ํฌ ์ ์๋ ์์ค์ฝ๋์ ํ
์คํธ๋ฅผ ์ธ ์ ์๋ ์บ๋ฒ์ค ํ์ผ์ธ Jupyter Notebook์ ์ด์ ๋ช
์นญ ์ฃผํผํฐ ..
ํฐ๋ณด๋ ํฌ๋ก ๊ตฌ์ถํ ํ๋ก์ ํธ์ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ turbo.json ํ์ผ์ ์์ ๊ฐ๋ค. ์ฐฉ๊ฐํ๋ ๊ฒturbo.json { "pipeline": { "build": { "dependsOn": ["^build"], "outputs": ["dist/**"] }, ... }์ด๊ฑธ ๋ณด๊ณ ๋น๋ ๊ฒฐ๊ณผ๋ฌผ์ outputs์ด ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ dist์๋ ์ ์ฅ๋๊ฒ ๊ตฌ๋ ์๊ฐํ๋ค. ๊ทผ๋ฐ turbo run build๋ฅผ ํ๊ณ ์๋ฌด๋ฆฌ ์ฐพ์๋ด๋ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ dist ํด๋๊ฐ ๋ณด์ด์ง์์๋ค;;๋ฃจํธ์์ ๋น๋๋ฅผ ํ๊ณ ๋๋ฉด, ์ํฌ์คํ์ด์ค ์์
๋ฌผ์ธ ํจํค์ง, ํ์ ํ๋ก์ ํธ๋ค์ ๋น๋ ๊ฒฐ๊ณผ๋ฌผ์ด ๋ฃจํธ์๋ ๋ฌถ์ฌ์ dist ํด๋์ ์ ์ฅ์ด ๋๋ค๊ณ ์ฐฉ๊ฐํ๋ ๊ฒ์ด๋ค.๋น๋ Outputs ๊ฒฝ๋ก๋น๋ ๊ฒฐ๊ณผ๋ฌผ์ ๊ฐ ์ํฌ์คํ์ด์ค์ dist..
ํ๋ก์ ํธ์ ์์กด์ฑ ํจํค์ง๋ฅผ ์ต์ ๋ฒ์ (latest version)์ผ๋ก ์
๋ฐ์ดํธ ํ๋ ค๊ณ ํ๋ค. npm update๋ผ๋ ๋ช
๋ น์ด๋ฅผ ์ณ์ ์
๋ฐ์ดํธ๋ฅผ ํ๋๋ฐ package.json ํ์ผ์ ์๋ก์ด ๋ฒ์ ์ผ๋ก ์
๋ฐ์ดํธ๊ฐ ์ ~๋ ๋์ง์์๋ค. ์๋ฌ๋ฉ์์ง๊ฐ๋จ๊ณ npm audit ์ผ๋ก ์ ๊ฒํด๋ณด๋ผ๋๋ fix --force ๋ฅผ ํด๋ package-lock.json์๋ง ๋ช๋ช ๋ณ๊ฒฝ์ฌํญ์ด ๋จ๊ณ , ํน์ ํจํค์ง๋ฅผ updateํ๋๋ ๊ทธ ํจํค์ง๋ package-lock์๋ ์
๋ฐ์ดํธ๊ฐ ์๋๊ณ ๋ค๋ฅธ ์ํ ํจํค์ง๋ค๋ง ์
๋ฐ์ดํธ๊ฐ ๋์ด ์์๋ค. ์๊ณ ๋ณด๋ ์์กด์ฑ ํจํค์ง๋ฅผ `์ต์ ๋ฒ์ ์ผ๋ก` ์
๋ฐ์ดํธํ๋ ๋ช
๋ น์ด๋ `npm update`๊ฐ ์๋์๋ค;; npm update npm-update ๋ package.json์ ์ ์๋ ์ต์ ๋ฒ์ ๊น์ง๋ง ์
๋ฐ์ดํธ ๋..
์ํฉ turbo๋ผ๋ ํจํค์ง๋ฅผ global๋ก ์ค์นํ๋๋ฐ, terminal์์ ์ฐพ์ ์ ์๋ ๋ช
๋ น์ด๋ผ๋ ์๋ฌ๊ฐ ๊ณ์ ๋ด๋ค. npm list -g ๋ช
๋ น์ด๋ก ์ด๋ค ํจํค์ง๋ค์ด global๋ก ๊น๋ ค์๋์ง ํ์ธํ๋ฉด, ์ ๋์จ๋ค. ๋ฌธ์ ํจํค์ง๋ฅผ ์ค์นํ์ง๋ง command not found ์๋ฌ๋ฅผ ๊ณ์ ๋ง์ฃผํ๋ค๋ฉด, ํ๊ฒฝ๋ณ์ ๋ฌธ์ ์ด๋ค. ํด๊ฒฐ ๊ธ๋ก๋ฒ ํจํค์ง์ ์คํํ์ผ์ด ์์นํ๋ ๊ฒฝ๋ก๋ฅผ ํ๊ฒฝ๋ณ์์ ์ถ๊ฐํด์, ๋ช
๋ น์ด๋ฅผ ์ด๋์์๋ ์ง ์ฌ์ฉํ ์ ์๊ฒ ํ๋ค.zsh ์์ configuration file (์ค์ ํ์ผ)์ธ `.zshrc` ํ์ผ์ ํ๊ฒฝ๋ณ์๋ฅผ ์ถ๊ฐํ๋ค. ํ์ฌ npm global path๋ฅผ ์์๋ด๊ธฐ npm config get prefix ๊ทธ๋ผ npm global ํจํค์ง๊ฐ ์ค์น๋์ด์๋ ๊ฒฝ๋ก๊ฐ ๋์จ๋ค. .zshrc ํ์ผ์ ์์ ..
์ํฉ1๋ฒ์งธ api ์์ฒญ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ์ 2๋ฒ์งธ api๊ฐ ์ฒ๋ฆฌ๋๋๋ก ๋๊ธฐ์ ์ผ๋ก ์คํ์์๋ฅผ ๋ณด์ฅํ๊ณ ์ถ๋ค. 1๋ฒ์งธ api ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๋น๋ฐ๋ฒํธ๊ฐ ๊ธฐ์กด ๋น๋ฐ๋ฒํธ์ ์ผ์นํ๋์ง ํ์ธ //์ฌ์ฉ์ ๋น๋ฐ๋ฒํธ ํ์ธ checkCurrentPassword: builder.mutation({ query: (password: string) => ({ url: ๋น๋ฐ๋ฒํธํ์ธ ์์ฒญ ์ฃผ์, method: 'POST', headers: { 'Content-type': 'text/plain', }, body: password, }), }), 2๋ฒ์งธ api์ฌ์ฉ์ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๊ฒฝ//๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝupdatePasswordQuery: b..
๋ชฉํํ๋ฌํฐ APP์์ webview_flutter ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํด์ ์ต์ํ์ ์ฝ๋๋ก ๋ฆฌ์กํธ ์นํ์ด์ง๋ฅผ ๋์ด๋ค. ํ๋ฌํฐ ํ๋ก์ ํธ ์ค๋นhttps://hanaindec.tistory.com/entry/flutter-%EC%9B%B9%EB%B7%B0#2.%20%ED%94%8C%EB%9F%AC%ED%84%B0%20%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%20%EC%83%9D%EC%84%B1-1 flutter ์ค์น ๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ ์ค์ - VS Code, Android Studio ํ๊ฒฝ (Mac silicon)ํ๋ฌํฐ๋ก ์ฑ ๊ฐ๋ฐ์ ํด๋ณด๋ ค๊ณ ํ๋ฌํฐ๋ฅผ ์ค์นํ๊ณ ํ์ํ ํ๊ฒฝ์ ๊ตฌ์ถํด๋ณด์๋ค.๋๋ ์๋ ์น ํ๋ก ํธ ๊ฐ๋ฐ์์ด๋ฏ๋ก VS Code๋ ์ค์น๋์ด์์ด ์ฑ ๊ฐ๋ฐ editor๋ VS Code๋ฅผ ๊ทธ๋๋ก ..