Today, What I learned? ๊ธฐ์กด ํ๋ก์ ํธ์ ํ์ ์คํฌ๋ฆฝํธ ๋ฆฌํฉํ ๋ง์ ์๋ํ๊ธฐ ์์, ํผ์ ํ๋ ํฌ๋๋ฆฌ์คํธ ํ๋ก์ ํธ๋ฅผ ํ์ ์คํฌ๋ฆฝํธ๋ก ๋ฆฌํฉํ ๋ง ํด๋ณด๊ธฐ๋ก ํ๋ค. ๋จผ์ ๊ธฐ์กด ํ๋ก์ ํธ๋ ๋ฆฌ๋์ค์ ๋ผ์ฐํฐ๋ฅผ ์ด์ฉํด์ ํ์ด์ง ์ด๋๊ณผ CRUD๊ฐ ์ ์ฉ๋์ด ์๋ ํฌ๋๋ฆฌ์คํธ์๋ค. ๊ธฐ๋ณธ ๋ฆฌ๋์ค๊ฐ ์ ์ฉ๋์ด ์์๊ธฐ ๋๋ฌธ์ ๋จผ์ redux-toolkit์ผ๋ก ๋ฆฌํฉํ ๋ง ํด์ค ํ ๋ณธ๊ฒฉ์ ์ธ ํ์ ์คํฌ๋ฆฝํธ ์ ์ฉ ์์!.. ํจํค์ง ์ค์นํ๊ธฐ ๋จผ์ ํ์ ์คํฌ๋ฆฝํธ์ ๊ด๋ จ๋ ํจํค์ง๋ค์ ์ค์นํด ์ฃผ์๋ค. ํ์ ์คํฌ๋ฆฝํธ ๊ณต์๋ฌธ์์์ ๋ณด๊ณ ํจํค์ง๋ฅผ ์ค์นํ ํ์, https://www.typescriptlang.org/download How to set up TypeScript Add TypeScript to your project, or instal..
1์ ๋์งธ ์ฃผ๋ฅผ ๋ณด๋ด๋ฉฐ ๊ฐ์ธ์ ์ผ๋ก ์ด๋ฒ ํ๋ก์ ํธ๋ ์ ๋ง ํ๋ค์๋ค!... ์ฑ๊ณผ ์น์ ํ๊ฒฝ์ ์ ๋ง ๋ค๋ฅด๊ตฌ๋๋ฅผ ๋ ํ ๋ฒ ๋๋ผ๋ฉฐ.. ํ์ง๋ง ํ๋ค์๋ ๋งํผ ์ป์ ๊ฒ๋ค๋ ๋ถ๋ช ํด์ ์ข์ ๊ฒฝํ์ด์๋ค. ๋ฒ์จ 1์ ์ค์.. ๐ฅบ ๐ Fact ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ ํ๋ก์ ํธ๋ฅผ ํ ์ ์๋ ์ ์์ ์์ฑ๋๋ฅผ ๋์ฌ ๋ฌด์ฌํ ๋๋๋ค. ์ด๋ฒ ํ๋ก์ ํธ์์ ๊น ์ถฉ๋์ด ์ ๋ง ๋ง์ด ์ผ์ด๋ฌ๋ค. ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๊ฐ ๋ง์์ฒ๋ผ ์ ๋๋ ๋ถ๋ถ๋ค์ด ์์ด ์ฝ์ง์ ๋ง์ด ํ๋ค. ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ ๊ฐ์ธ ํํธ ๋ฆฌํฉํ ๋ง์ ์ ํด๋ธ ๊ฒ ๊ฐ๋ค. ๐ Feeling ๋ฐฐํฌ ํ ํ ์คํธ ๋๋ ๋ง๋์ง ๋ชปํ๋ ์๋ฌ๋ค์ด ์ฐ๋ฌ์ ๋ฐ์ํด์ ์ ์ ๋ฉ๋ถ์ด ์์์.. ์ฝ์ง ํ์ ์ฑ๊ณต์ ์์ฃผ ๋ฟ๋ฏํ๊ธฐ๋, ์กฐ๊ธ ํ๋ฌดํ๊ธฐ๋ ^^.. ๊น ์ถฉ๋ ๋๋ฌธ์ ๋จธ๋ฆฌ๊ฐ ์ํ๊ธฐ๋ ํ๋๋ฐ ์ฐจ๋ผ๋ฆฌ ์ด ์๊ธฐ์ ๊ฒช์ด์ ๋คํ..
ํ๋ก์ ํธ ์ธํฐ๋ฏธ์ ์ ๊ฐ๋ฌด๋ฆฌํ๋ฉฐ ์ฒ์ ์ ํ๋ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ก ๋ฐฐํฌ๊น์ง ๋ง๋ฌด๋ฆฌํ ์ฐ๋ฆฌ์ ํ๋ก์ ํธ ์ธํฐ๋ฏธ์ ์ด ๋๋ฌ์ต๋๋ค. ํ๋ก์ ํธ๋ฅผ ๋ง๋ฌด๋ฆฌํ๋ฉฐ ๊ฐ์ ์์ฑํด ๋ณธ KPT ํ๊ณ ์ ๋๋ ์ ์ ์ทจํฉํด ๋ณด์์ต๋๋ค. Keep ์ฐ๋ฆฌ์ ํ๋ช ์ฒ๋ผ, ์๋ก๋ฅผ ๋ฐฐ๋ คํ๋ฉฐ ๋ชจ๋ ํ์์ด ๋์ค ์์ด ํ๋ก์ ํธ๋ฅผ ์งํํ ์ ์ฝ๋ ์ปจ๋ฒค์ ์ค์ ์ฌ๋, ๋ฐ ๋ ธ์ ์ ํ๋ก์ ํธ ์ ๋ฆฌ์ ์ ๊ทน ํ์ฉํ์ฌ ํ๋ฐํ๊ฒ ์ํตํ๊ธฐ ์ ํด๊ฒฐ ์ ๋๋ ๋ถ๋ถ์ ํ์๋ผ๋ฆฌ ์ ๊ทน์ ์ผ๋ก ๊ณต์ ํ๊ธฐ Problem ๊นํ๋ธ ์ถฉ๋์ด ์ฆ์์ ์๊ฐ์ ๋ง์ด ๋บ๊ฒผ๋ ์ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ผ์ ์๊ฐ์ง๋ ๋ชปํ ์ค๋ฅ๋ฅผ ๋ง์ด ๋ง์ฃผ์นจ UI ์์์ด ๊ตฌ์ฒด์ ์ผ๋ก ์ ํด์ง์ง ์์ ์๊ฐ์ด ์ถ๊ฐ์ ์ผ๋ก ์๋ชจ๋ ์ yarn ํจํค์ง ์ค๋ฅ๊ฐ ๋ฐ์ํ์ฌ ์ค๊ฐ์ npm์ผ๋ก ๋ณ๊ฒฝํ ๋ถ๋ถ Try ์ ๋ Pull์ ๋ฐ์ ๋ธ๋์น๋ PR ํ..
ํ๋ก์ ํธ๋ฅผ ๋ง์น๋ฉฐ ์ ๋ ํ๋ค๊ณ ๊ณ ํต์ด์๋ ์ด๋ฒ ํ๋ก์ ํธ๊ฐ ๋๋ฌ๋ค!.. ๋ค์ดํฐ๋ธ.. ๋๋ฌด๋ ํ๋ค์๋ค.. ๊ฐ์ฅ ํ๋ค์๋ ๋ถ๋ถ์ ๋ฐฐํฌ ํ ์์์น ๋ชปํ ์๋ฌ๊ฐ ์ฐ๋ฌ์ ํฐ์ก์ ๋์๋ ๊ฒ ๊ฐ๋ค ^^.. ์ฐ๋ฆฌ์ ์๋น์ค๋ ์๋ ๋ ํฌ์งํ ๋ฆฌ์ ์ ์ ๋ฆฌํด ๋์๋ค! https://github.com/yujleee/intermission GitHub - yujleee/intermission: ๊ณต์ฐ์์ ํตํฉ์ ์ฐ๋ง(KOPIS)์ OPEN API๋ฅผ ํ์ฉํ ๋ฎค์ง์ปฌ ์ ๋ณด ์ ๊ณต ๋ฐ ๋ฆฌ๋ทฐ ๊ณต์ฐ์์ ํตํฉ์ ์ฐ๋ง(KOPIS)์ OPEN API๋ฅผ ํ์ฉํ ๋ฎค์ง์ปฌ ์ ๋ณด ์ ๊ณต ๋ฐ ๋ฆฌ๋ทฐ ์ฑ. Contribute to yujleee/intermission development by creating an account on GitHub. github.com ์ด..
Today, What I learned? ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ ๋ฒํผ์ ํด๋ฆญํ ๋๋ง๋ค ๋ฎค์ง์ปฌ์ ์์ธ ์ค๋ช ์ด๋ฏธ์ง๊ฐ ์ ๊ณ ํผ์ณ์ง๋ ๋ถ๋ถ์ด ํ์ํ๋ค. collapsible view ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์๋ ๋ฏํ์ง๋ง, ๊ฐ๋จํ๊ฒ ๊ตฌํํ๊ณ ์ถ์ด์ state๋ฅผ ์ด์ฉํ๋ค. ์ด ๊ณผ์ ์์ ๊ฒช์๋ ์ํ์ฐฉ์ค๋ฅผ ์ ๋ฆฌํด๋ณธ๋ค. ์ ํ, ํผ์นจ ๋ฒํผ ์ ๊ณ ํผ์ณ์ง๋ ๋ถ๋ถ์ ํ์๋ถ์ด state๋ก ์ ๊ตฌํํด ์ฃผ์ จ๋ค. const [isMoreButton, setMoreButton] = useState(false); isMoreButton์ ๋ฐ๋ผ์ ์ด๋ฏธ์ง๊ฐ ๋ค์ด๊ฐ๋ ์์ญ์ด ๋ณด์ด๊ณ ๊ฐ์ถฐ์ง๋๋ก ํ๋ค. {isMoreButton && ( )} ์ฒ์์ ์ ์์ญ์ ๋ฎค์ง์ปฌ ์ ๋ณด ์์ญ ์ปดํฌ๋ํธ ์์ ์์๋๋ฐ, ์ด๋ ๊ฒ ๋ณ๊ฒฝ๋์์ ๋ ์ด๋ฏธ์ง๊ฐ ๋ค๋ฅธ ์์ญ์ ์ด๋ฏธ์ง๊น์ง..
Today, What I learned? ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ ์นดํ ๊ณ ๋ฆฌ์ ๋ฐ๋ผ์ React Query์ useQuery๋ฅผ ํตํด ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๋ถ๋ถ์ ์งํํ๋ฉฐ ์ด๋ค ๋ฐฉ์์ผ๋ก ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋ค์๋์ง ๊ธฐ๋กํด ๋ณธ๋ค. ํผ๊ทธ๋ง ์์ผ๋ก ๋ง๋ค์ด์ผ ํ๋ ๋ถ๋ถ์ด๋ค. ๊ฐ ์ง์ญ์ ํด๋ฆญํ๋ฉด ํด๋น ์ง์ญ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์์ผ ํ๋ ๋ถ๋ถ! ์ผ๋จ ๋ฒํผ์ ํด๋ฆญํ ๋๋ง๋ค ๊ฐ ์ง์ญ์ ์ฝ๋๋ฅผ API์ params ๊ฐ์ผ๋ก ๋๊ฒจ์ฃผ์ด์ผ ํ๋ค. ๊ทธ๋์ API ํจ์์์๋ ์๋์ ๊ฐ์ ๋ฐฉ์์ผ๋ก params๋ฅผ ๋ฐ์์ค๊ธฐ๋ก ํ๋ค. export const getLocalPopular = (params) => { const [_, category] = params.queryKey; return fetch( `${BASE_URL}/boxoffice?servic..
์ด๋ค ์๋ฌ? ํ๋ซ๋ฆฌ์คํธ๋ฅผ ์ฌ๋ฌ ๊ฐ ์ฌ์ฉํ๋ ค๋ค ๋ณด๋ ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ERROR A VirtualizedList contains a cell which itself contains more than one VirtualizedList of the same orientation as the parent list. You must pass a unique listKey prop to each sibling list. ํ๋ซ๋ฆฌ์คํธ๊ฐ ์ค์ฒฉ๋์ง ์๊ณ ์ฌ๋ฌ๋ฒ ์ฐ์ผ ๋ ๋ชจ๋ ํ์ ๋ฆฌ์คํธ์๊ฒ ํค๊ฐ์ด ํ์ํ ๊ฒ ๊ฐ์๋ค. ์ฌ์ค ์๋ฌ์์ ๋ต์ ์ฃผ๊ณ ์์์ง๋ง listKey๊ฐ keyExtractor์ ์ฐ๊ด์ด ์๋์ค ์๊ณ ๋ง์ ์ฝ์ง์ ํ๋ค (...) key๊ฐ ์ ๋ํฌํ ๊ฐ์ด ์๋์ด์ ๊ทธ๋ฐ๊ฐ? ์ถ์ด์ ์ด๋ฐ ์ฝ์ง๋ค์ ํ์๋ค. ..
Today, What I learned? ํ๋ก์ ํธ ์ค!.. api์์ ๊ฐ์ ธ์ค๋ xml ๋ฐ์ดํฐ๋ฅผ JSON ๋ฐ์ดํฐ๋ก ๋ณํํ๊ธฐ ์ํด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ณผ์ ์ ์ ๋ฆฌํด ๋ณธ๋ค. ๋จผ์ ์ฌ์ฉํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ด๊ฒ์ด๋ค. https://github.com/connected-io/react-native-xml2js GitHub - connected-io/react-native-xml2js: XML to JavaScript object converter. XML to JavaScript object converter. Contribute to connected-io/react-native-xml2js development by creating an account on GitHub. github.com ๋ณํํ๊ธฐ const p..
์๋ฌ ๋ฐ์ ๋ฉ์ฉกํ ์ ๋๊ณ ์๋ expo ์๋ฒ๊ฐ ๊ฐ์๊ธฐ yarn start ํ๋ ์๋ ์ค๋ฅ๋ฅผ ๋ด๋ฉด์ ์ข ๋ฃ๋์๋ค. node:events:505 throw er; // Unhandled 'error' event ^ Error: EMFILE: too many open files, watch at FSWatcher._handle.onchange (node:internal/fs/watchers:204:21) Emitted 'error' event on NodeWatcher instance at: at NodeWatcher.checkedEmitError (/Users/yjlee/project/intermission/node_modules/sane/src/node_watcher.js:143:12) at FSWatche..
1์ ์ฒซ์งธ ์ฃผ๋ฅผ ๋ณด๋ด๋ฉฐ ๋ค์ ํ๋ก์ ํธ๊ฐ ์์๋์๋ค. ๐ซ .... ์ด๋ฒ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ ๊ณต๋ถ๊ธฐ๊ฐ์ ์ ๋ ์งง๊ฒ ๋๊ปด์ก๋ค. ์์ง ๊ฐ์ ๋ด์ฉ์ ์ฒด๋ํ์ง ๋ชปํ ๊ฒ ๊ฐ์๋ฐ ํ๋ก์ ํธ ๊ธฐ๊ฐ์ด ๋์์์ ๊ฐ์ธ์ ์ผ๋ก๋ ์์ฌ์์ด ํฌ๋ค.. ๐ค ๐ Fact ๋ฆฌ์กํธ ์ฟผ๋ฆฌ๋ฅผ ์ด์ฉํด์ API๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐ ์ฑ๊ณตํ๋ค. ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ก ๋ฌดํ์คํฌ๋กค ๊ตฌํ์ ํ๋ค. ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ ํ๋ก์ ํธ๊ฐ ์์๋์๋ค. ๋ฒ์จ ์บ ํ ๊ธฐ๊ฐ์ด ๋ ๋ฌ ์ฌ๊ฐ ์ง๋ฌ๋ค (!!) ๐ Feeling ๋ฆฌ์กํธ ์ฟผ๋ฆฌ๊ฐ ๋ง๋ฅ ์ด๋ ต๊ฒ ๋๊ปด์ก์๋๋ฐ ์ดํด๊ฐ ์ข ๋ ๊ฒ ๊ฐ์ ์ข๋ค. ๋ค์ดํฐ๋ธ์์ ๋ฌดํ์คํฌ๋กค์ ๊ตฌํํด๋ณด์์ผ๋ ๋ฆฌ์กํธ์์๋ ์ด๋ป๊ฒ ํด๋ณผ ์ ์์ง ์์๊น? ํ๋ ๊ธฐ๋๊ฐ.. ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ ๋ญ๊ฐ ์๊ฐ๋๋ก ๋์ง ์๋ ๋ถ๋ถ๋ค์ด ๊ฝค ์์ด์ ๋ต๋ตํจ ๐ ๋ ๋ฌ ์ ๋ ๋ค๋ฉด ์๋ฃ๋ผ๋..
Comment