prospace-desktop v1.0.1
๐ช Prospace
์๊ฐ๋ ์ฌ๋๋ค์ ์์ฐ์ฑ ํฅ์, ์๊ฐ ์ ์ฝ, ์๋ผ๋ฐธ ์ฆ์ง์ ๋๋ ์์ฐ์ฑ ์ฑ์ ๊ฐ๋ฐํฉ๋๋ค.
๋ฏธ์
์ ํฉํ ๋๊ตฌ์ ์ง์์ ์ฝ๊ฒ ๋ฐ๊ฒฌํ๊ณ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ด๋์๋ ์์ฐ์ฑ์ ๋์ผ ์ ์๋ ์ ๋ฌด๊ณต๊ฐ์ ๋ง๋ค๊ณ ์ ํฉ๋๋ค.
๋ชฉ์ฐจ
์ ๊ฐ ์ ์ฌํ๊ณ ๊ถ๊ธํ๋ ๋ถ๋ถ๋ค์ Q&A ํ์์ผ๋ก ์ ๋ฆฌํ์์ต๋๋ค. ๋๊ตฌ๋ ๊ถ๊ธ์ฆ์ด ์๊ธฐ๊ณ , ํด๊ฒฐ ๋๋ ๊ณผ์ ์ ์ถ๊ฐ ํ ์ ์๋ ๋ฆฌ๋๋ฏธ๊ฐ ๋์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค.
- ํ๋ก์คํ์ด์ค๋ ์ด๋ค ์๋น์ค์ผ๊น?
- ์ ์ด ๊ธฐ์ ๋ก ๊ฐ๋ฐํ๊ณ ์์๊น?
- ์ํ๊ฐ์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ
- ์ด๋ค ๋ฐฉ์์ผ๋ก ๊ฐ๋ฐํ๊ณ ์์๊น?
ํ๋ก์คํ์ด์ค๋ ์ด๋ค ์๋น์ค์ผ๊น?
ํ๋ก์คํ์ด์ค๋ '๋ง์ ํญ๊ณผ ์ฑ์ ํตํฉํด์ ๊ด๋ฆฌํ ์ ์์๊น?'๋ผ๋ ์ง๋ฌธ์์ ์์ํ์ต๋๋ค.
๊ฐ์
์ ๋ฌด๋ฅผ ํ๊ธฐ ์ํด์ ์ฌ์ฉ๋๋ ๋ง์ ํญ๊ณผ ์ฑ์ ๊ด๋ฆฌํ๊ณ ์ฌ์ฉํ๋ ๋ฐ ๋๋ฌด ๋ง์ ๋ฆฌ์์ค๊ฐ ๋ค๋ฉฐ, ๋๋ถ๋ถ์ ์ฑ๋ค์ ๋ธ๋ผ์ฐ์ ์์์ ์ฌ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค. ์ด๊ฒ์ ํ๋์ ํญ ๊ทธ๋ฃน์ผ๋ก ๋ง๋ค์ด ๊ด๋ฆฌํ๊ณ , ๋จ์ถํค๋ฅผ ์ฌ์ฉํ์ฌ ๋น ๋ฅด๊ณ ๊ฐํธํ๊ฒ ์ด๋ํ ์ ์๋ค๋ฉด ์์ฐ์ฑ์ด ๋์์ง ๊ฒ ์ ๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ
Space
๊ณต๊ฐ์ ์๋ฏธํ๋ ๋จ์ด Space๋ Tap Group๋ค์ ๊ด๋ฆฌํ๋ ๊ณต๊ฐ์ ๋๋ค. ๊ณต๊ฐ์ ์์ฑ, ์ญ์ ํ ์ ์์ต๋๋ค. left-sidebar๊ฐ ์ ํ์์ ๊ฒฝ์ฐ ์์ด์ฝ์ผ๋ก Space๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
Tap Group
์ผ๋ฐ ๋ธ๋ผ์ฐ์ ์ฐฝ ํ๋๋ฅผ Tap Group์ผ๋ก ๋ด์์ต๋๋ค. ํญ์ ์๋จ๊ณผ ์ข์ธก์ผ๋ก ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ํญํ๋ฉด์ ๋ซ์ ์ผ๋ฐ์ ์ธ ๋ฆฌ์คํธ ํํ๋ก ๋ณผ ์ ์์ต๋๋ค.
Keyboard shortcuts
๋ง์ฐ์ค๋ฅผ ์ฌ์ฉ ํ ํ์์์ด Keyboard shortcuts๋ฅผ ์ด์ฉํด ํ๋ก์คํ์ด์ค๋ฅผ ์ปจํธ๋กค ํ ์ ์์ต๋๋ค. ctrl or command + s ๋ฅผ ํตํด on/off ํ ์ ์์ต๋๋ค. right-sidebar์์ ๋ชฉ๋ก์ ํ์ธํ ์ ์์ต๋๋ค.
์ ์ด ๊ธฐ์ ๋ก ๊ฐ๋ฐํ๊ณ ์์๊น?
๋ ์์ฐ์ฑ์๋ ๊ฐ๋ฐ์ ๋ชฉํ๋ก ํฉ๋๋ค. ๋น ๋ฅธ ๊ฐ๋ฐ์๋์ ์ฌ์ด ๋ฌ๋์ปค๋ธ๋ฅผ ์ถ๊ตฌํ๋ฉด์๋ ์๋น์ค์ ํ๋ฆฌํฐ๋ฅผ ๋ํ๋ ๋ฐฉํฅ์ผ๋ก ๊ฐ๋ฐํฉ๋๋ค.
๋ ์ข์ ํจํค์ง ๊ด๋ฆฌ๋ฅผ ์ํด yarn์ ์ฌ์ฉํฉ๋๋ค
yarn์ ๋น ๋ฅธ ์๋๋ฅผ ๊ฐ์ง javascript ํจํค์ง ๋งค๋์ ์ ๋๋ค.
ํจํค์ง๋ฅผ ์์๋๋ก ์ค์นํ๋ npm๊ณผ ๋ฌ๋ฆฌ ํจํค์ง๋ฅผ ๋ณ๋ ฌ๋ก ์ค์นํ๋ฉฐ, ์ค์นํ ํจํค์ง๋ฅผ ์ ์ฅํ์ฌ ์บ์ฑํด ๋๋ฒ์งธ ์ค์น๋ถํฐ๋ ๋์ฑ ์ ์๋ฏธํ ๋น ๋ฅธ ์๋๋ฅผ ๋ณด์ฌ์ค๋๋ค. (์ฑ๋ฅ ํ ์คํธ ์ฐธ๊ณ )
yarn๊ณผ yarn berry๋ ๊ธฐ๋ณธ ๋ช ๋ น์ด๊ฐ ๊ฐ์ migration์ด ์ฝ๋ค๋ ์ฅ์ ๋ ์์ด, ํ์ yarn berry๋ก ๋์๊ฐ ๊ณํ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์ฐ๋ฆฌ๊ฐ ์์ฃผ ์ฌ์ฉํ๋ yarn์ ๋ช ๋ น์ด ๋ช๊ฐ์ง
# ํ์ผ์ ๋ช
์๋ ์์กด์ฑ๋ค์ ์ค์น
yarn
# ์๋ก์ด ํจํค์ง๋ฅผ ํ๋ก์ ํธ์ ์ถ๊ฐ
yarn add [package]# dependencies
yarn add [package] --dev# devDependencies
# ํจํค์ง๋ฅผ ์ต์ ๋ฒ์ ์ผ๋ก ์
๊ทธ๋ ์ด๋
yarn upgrade [package]
# ํจํค์ง๋ฅผ ์ ๊ฑฐํ๊ณ , ์์กด์ฑ ์ ๋ณด๋ ํจ๊ป ์ญ์
yarn remove [package]
# package.json์ script๋ฅผ ์คํ
yarn [script]
electron์ผ๋ก ํฌ๋ก์ค ํ๋ซํผ ๋ฐ์คํฌํ ์ฑ์ ๋ง๋ญ๋๋ค.
javascript๋ฅผ ์ฌ์ฉํ ๋ฐ์คํฌํ ์ฑ์ ์ ์ ๋ฌ๋ ํ์์ผ๋ก ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
์ผ๋ ํธ๋ก ์ ํ๋ก์คํ์ด์ค์ ๊ฐ๋ฐ์๊ฐ ๋ฐ์คํฌํฑ ์ฑ์ ๊ฐ๋ฐํ๊ธฐ ์ํด์ ๋ฐ๋ก ๊ณต๋ถ๋ฅผ ํ ํ์๊ฐ ์์ต๋๋ค. ์๋ํ๋ฉด ์น ๊ฐ๋ฐ์๊ฐ ์ต์ํ javascript, html, css๋ฅผ ์ฌ์ฉํด์ ๊ฐ๋ฐํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์๋ก์ด ์ธ์ด๋ฅผ ๋ฐฐ์ฐ๋๋ฐ ๋ค์ด๋ ๋ ธ๋ ฅ๊ณผ ์๊ฐ์ ์๊ฐํ๋ฉด ์ด๊ฒ์ ํฐ ์ฅ์ ์ ๋๋ค.
์ผ๋ ํธ๋ก ์ ๊ฐ์ฅ ํฐ ์ฅ์ ์ ํฌ๋ก์คํ๋ซํผ์ ์ง์ํ๋ค๋ ์ ์ ๋๋ค. javascript ์ฝ๋ ํ๋๋ก Windows, macOS, Linux๋ฑ๋ฑ์ ๋ชจ๋ ์ง์ํฉ๋๋ค. ๊ฐ ํ๋ซํผ๋ง๋ค ๋ค๋ฅธ ๊ฐ๋ฐ ํ๊ฒฝ์ด ํ์์์ต๋๋ค.
million.js๋ฅผ ์ด์ฉํด React์ ๋๋๋ง ์๋๋ฅผ ํฅ์์ํต๋๋ค.
ํ๋ก์คํ์ด์ค์์ ์๋์ ์ฑ๋ฅ ์ต์ ํ๊ฐ ์ค์ํ ์ด์ ๋?
ํ๋ก์คํ์ด์ค๋ ๋ง์ ํญ๊ณผ ์ฑ์ ํตํฉํ๋ ๊ฒ ๋ชฉ์ ์ ๋๋ค. ๋๋ฌธ์ ๋น ๋ฅธ ์ด๋๊ณผ ๋ฐ์์ด ์ค์ํ๋ฉฐ, ์ฑ๋ฅ ์ต์ ํ๋ผ๋ ์ค์ํ ํค์๋๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
million.js๋ React Component๋ฅผ HOC(Higher Order Component)๋ก ๊ฐ์ธ๋ ๊ฒ๋ง์ผ๋ก ๋ ๋๋ง ์๋๋ฅผ ์ต๋ 70% ํฅ์์ํค๋ virtual DOM ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๋๋ค. (๋ ๋๋ง ์๋ ๋ฒค์น๋งํฌ : krausest/js-framework-benchmark)
ํ๋ก์คํ์ด์ค ์ฑ ์คํ ์ ์๋ ๊ฐ์
์ปดํฌ๋ํธ์ ๋ ๋๋ง์ด ์ ๊ฒ๋ 45%์์ ์ต๋ 100%๊น์ง ๋นจ๋ผ์ง ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
million.js์์๋ Spread attribute๋ฅผ ์ง์ํ์ง ์์ ๊ฒฝ๊ณ ๋ฌธ๊ตฌ๊ฐ ํฌํจ ๋์์ต๋๋ค. (๊ณต์๋ฌธ์)
์ฑ ๋ด์์๋ ์ค์ ๋ก ์ผ๋ง๋ ์ฐจ์ด๊ฐ ๋ ๊น?
ํ๋ก์คํ์ด์ค ์ฑ์ ์ด์ฉํ์ฌ ๊ฐ์ ํ์ด์ง๋ฅผ ๋๋๋ง ํด๋ณด์์ต๋๋ค.
million.js๋ reconciliation์ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ node ๊ฐ์์ ์ํฅ์ ๋ฐ์ง ์๊ณ ๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ง DOM ์ ๋ฐ์ดํธ๋ฅผ ์งํํฉ๋๋ค.
๋๋ฌธ์ ๊ฐ์ ์กฐ๊ฑด์์ ์์ํ ๋๋๋ง์ผ ๊ฒฝ์ฐ ์๋ฃ ์๋๊ฐ 65% ๊ฐ๋ ๊ฐ์ํ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
without millon | |
---|---|
with millon |
๋ฌธ์ ๋ ์์์๊น?
millon.js๊ฐ ์๋์ผ๋ก ์ ๊ณตํ๋ <slot/>
๋๋ฌธ์ ์ด๋ฒคํธ ๋ฒ๋ธ๋ง์ ์์๊ฐ ๊ผฌ์ด๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์์ต๋๋ค. (์ด์ ๋งํฌ)
onMouseDown() ๋ฉ์๋๋ฅผ ์ด์ฉํด ๋ฒ๋ธ๋ง์ ๋ง์์ฃผ์ด ์ผ์์ ์ผ๋ก ํด๊ฒฐํ๊ณ , millon.js๊ฐ v3.0.0 ๋ฒ์ ์์ slot์ ์ญ์ ํ๋ฉฐ ํด๊ฒฐ ๋ ๊ฒ์ผ๋ก ํ์ธ ๋์์ต๋๋ค.
์ฝ๊ณ ๊ฐ๋ฒผ์ด ์ํ๊ด๋ฆฌ zustand
Zustand๋ ์ํคํ ์ฒ๋ ํจํด์ ๊ฐ์ ํ์ง ์๋ ๋งค์ฐ ์ ์ฐํ ์ํ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค.
ํ๋ก๋ฐ์ด๋๊ฐ ์์ด ๋ถํ์ํ ๋ฆฌ๋ ๋๋ง์ด ์ต์ํ ๋๋ฉฐ, SSR๊ณผ์ ํธํ์ฑ์ด ์ข๊ณ , ์์ ๋ฒ๋ค ์ฌ์ด์ฆ(187kb)๋ก ์ฑ๋ฅ์ ๋ฏผ๊ฐํ ํ๋ก์ ํธ์์ ํฐ ์ด์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
ํ์ฌ Zustand๋ npm trends์์ recoil์ ์์๊ฐ๊ณ ์์ผ๋ฉฐ, ๋น ๋ฅด๊ฒ ์ฑ์ฅํ๋ ์ปค๋ฎค๋ํฐ์ ํ๋ฐํ ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์ํ๊ฐ์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ
- ์ํ์ ๋ ๋ง์ ์์ ๊ถ์ ๊ฐ์ง ๊ธฐ๋ฅ์ ๋๋ ํ ๋ฆฌ์ create-slice.ts ํ์ผ์ ๋ง๋ค์ด ๊ด๋ฆฌํฉ๋๋ค.
- ํ์ผ ๋ด ์ด๊ธฐ๊ฐ๊ณผ ๊ทธ ๊ฐ์ ๊ด๋ฆฌํ ํจ์๋ฅผ ์ ์ธํฉ๋๋ค.
- ์ ์ธ ํ app/shared/hooks/use-store.ts ํ์ผ์์ store์ ๋ฑ๋กํด์ค๋๋ค.
์ํ๋ช ๊ณผ ํ์ (v-2024.03.23)
// app/space/create-slice.ts
spaces: ISpace[];
modalTabGroup: any | null;
// app/tool-bar/create-slice.ts
toolbarStatus: ToolbarStatus;
// app/tab-croup/create-slice.ts
tabGroups: ITabGroup[];
// app/resizable/create-slice.ts
isResizing: boolean;
// app/left-sidebar/create-slice.ts
emoji: Emoji;
isOpen: boolean;
currentIcon: string;
currentAppName: string;
editingSpaceId: string;
isCreatingApp: boolean;
currentCategory: string;
deletingSpaceId: string;
isEditingSpace: boolean;
currentSpaceName: string;
isCreatingSpace: boolean;
isDeletingSpace: boolean;
isFoldedSidebar: boolean;
isOpenEmojiPicker: boolean;
// app/right-sidebar/create-slice.ts
isOpenRightSidebar: boolean;
์ด๋ค ๋ฐฉ์์ผ๋ก ๊ฐ๋ฐํ๊ณ ์์๊น?
๊ฐ๋ฐ์ ํ๋ ๊ฒ์ ์ง์คํ๊ธฐ ์ํด์ ๋ ธ๋ ฅํฉ๋๋ค. ์ผ์ ์ํ ์ผ์ ์ค์ด๊ณ , ์๋ํ๋ฅผ ํตํด ๊ฐ๋ฐ์๋ง ์ง์คํ ์ ์๋ ํ๊ฒฝ์ ๋ง๋ค๊ธฐ ์ํด ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ๊ฐ์ธ์ ๋ค์์ฑ์ ์กด์คํ๊ณ , ์์ฐ์ฑ์ ์ค์ํ๋ ํ์ฌ์ fit์ ๋ง๋ ์ ๋ฌด ํ๋ก์ธ์ค๋ฅผ ๊ตฌ์ถํ๋ ๊ณผ์ ์ ์์ต๋๋ค.
ํธ๋ ํฌ ๊ธฐ๋ฐ ๊ฐ๋ฐ
ํ์ ์ ์ํ Git ์ฌ์ฉ์ ๋๋ฌด ์๊ฒฉํ๊ณ ๋ง์ ์ปจํ๋ฆญ์ ๋ฐ์ํ์ต๋๋ค. ๋๋ฌธ์ ๊ฐ๋ฐ์ ํ๋ ์๊ฐ๋ณด๋ค ๋ ๋ง์ ์๊ฐ์ ์ปจํ๋ฆญ์ ํด๊ฒฐํ๋ ๋ฐ ์ฌ์ฉํ๊ฒ ๋์์ต๋๋ค.
์ด๋ฅผ ํธ๋ ํฌ ๊ธฐ๋ฐ ๊ฐ๋ฐ(trunk-based-development)์ผ๋ก ํด๊ฒฐํ๋ ค ํฉ๋๋ค.
ํธ๋ ํฌ ๊ธฐ๋ฐ ๊ฐ๋ฐ์ main์ด๋ผ๋ ์ฃผ ๋ธ๋์น ํ๋๋ง ์ด์ํฉ๋๋ค. ์์ ํ ๋ธ๋์น๋ main์ผ๋ก ๋ฐ๋ก ๋จธ์งํ์ฌ ์์ฃผ, ๋น ๋ฅธ ํตํฉ๊ณผ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
์์ ๊ธฐ๋ฅ ๋จ์๋ก ์์
์์ ๊ธฐ๋ฅ ๋จ์๋ก feature ๋ธ๋์น๋ฅผ ๋ง๋ค์ด ์์ ํ๋ฉฐ, ๊ฐ์ฅ ์์ ๋จ์๋ก ์ปค๋ฐํฉ๋๋ค. ๋น ๋ฅธ ํผ๋๋ฐฑ๊ณผ ์ข์ ํ์ง์ ํผ๋๋ฐฑ์ ํ๊ธฐ ์ํ์ฌ ๋ ธ๋ ฅํฉ๋๋ค.
์ค์ํ์ง ์๊ธฐ ์ํ CI ๋น๋
main์ผ๋ก ๋ฐ๋ก ๋จธ์งํ๊ฒ ๋๋ ๊ฒ์ด ๋๋ ต์ง ์๋๋ก ์ ๋ขฐํ ์ ์๋ ๋น๋ ์์คํ ์ ๋ง๋ญ๋๋ค. ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ํต๊ณผํ๋ ๊ฒฝ์ฐ๋ง ๋จธ์ง๊ฐ ๋ฉ๋๋ค.
ํด๋ฆญ์ ๊ณผ ๊นํ๋ธ๋ฅผ ์ฐ๊ฒฐํด Task๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
ํด๋ฆญ์ ์ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ณ ์์ต๋๋ค. Github branch์ pull requests๋ฅผ ๋ฒํผ ํ๋๋ก ๊ฐ๋จํ ์์ฑํด์ค๋๋ค.
ํด๋ฆญ์ ์ dev-jakga๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค
ํด๋ฆญ์ ์ App Center์์ GitHub๋ก ์ ์ํฉ๋๋ค. Create a private connection์ Connect ๋ฒํผ์ ๋๋ฌ Authorize ClickUp์ ํด์ค๋๋ค. โ๏ธ์ด๋ ๋ณธ์ธ์ ๊ณ์ ์์ ์ ์ ๋ก๊ทธ์์ ํ ํ dev-jakga ์์ด๋๋ก ์ ์ํด ๋ก๊ทธ์ธ ํด์ผํฉ๋๋ค. ์ฐ๊ฒฐ์ด ์๋ฃ๋ ์ดํ๋ ๋ค์ ๋ณธ์ธ ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธํ์๋ฉด ๋ฉ๋๋ค.
์์ ์ ํด๋ฆญ์ ์ task๋ฅผ ์์ฑํฉ๋๋ค.
ํด๋ฆญ์
๊นํ๋ธ ์นํ
์ ์์ด๋ง ํฌํจํ๋๋ก ์ง์ํ๊ณ ์์ต๋๋ค.
task๋ฅผ ์์ฑํฉ๋๋ค. ์ ๋ชฉ์ [๊ธฐ๋ฅ์๋ฌธ๋ช
]ํ๊ธ๊ธฐ๋ฅ์ค๋ช
์ผ๋ก ์์ฑํฉ๋๋ค.
description์ ํ์ํ ๋ด์ฉ์ ๋ฃ์ด์ค๋๋ค.
์ด๋ ํด๋ฆญ์
์์ task_id๋ฅผ ๋ฐ์ํด์ค๋๋ค. ์์ : CU-86ent4gh3
๋ธ๋์น ์์ฑ, PR์ ํด๋ฆญ์ ์ ํตํด ์์ฑํฉ๋๋ค.
ํด๋ฆญ์ ์ ํตํด ๋ธ๋์น๋ฅผ ์์ฑํ๋ฉด taskid๋ฅผ ํฌํจํ์ฌ ์์ฑํด์ฃผ๋ฉฐ, ๋ธ๋์น์ด๋ฆ๊ณผ ์์ฑ ๋ช ๋ น์ด๋ฅผ ๊ฐํธํ๊ฒ ๋ณต์ฌํด์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์์ : git checkout -b "add-readme---_CU-86ent4gh3"
PR ๋ํ ํด๋ฆญ์ ์์ ๊ฐ๋จํ ์์ฑ์ด ๊ฐ๋ฅํฉ๋๋ค. ์ด๋, ํ์ธ์ด ํ์ํ checklist๋ฅผ ํฌํจํ์ฌ ๋ฑ๋กํฉ๋๋ค.
์ด ๋๊ณผ์ ์ ์งํํ๋ฉด ๋ธ๋์น์ PR์ ์ํ๊ฐ ํด๋ฆญ์ task์ ์ฐ๋๋์ด ํ๊ณณ์์ ํ์ธํ ์ ์์ต๋๋ค.
์ปค๋ฐ ๋ชฉ์ ์ ์ฝ๊ฒ ์ ๋ฌํ๊ธฐ ์ํด ๊น๋ชจ์ง๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ด๋ชจ์ง๋ฅผ ์ฌ์ฉํ๋ ๊น๋ชจ์ง๋ ๋ค๋ฅธ ํ๋ฆฌํฝ์ค๋ณด๋ค ์ ๋ฌ๋ ฅ์ด ์ข์ต๋๋ค. ๋, ์ผ๋ฐ์ ์ธ ํ๋ฆฌํฝ์ค๋ณด๋ค ๋ ์ธ๋ถํ ๋์ด ์์ต๋๋ค.
๊ธ์๋ก ๊ฐ๋ํ ๋ฉ์ธ์ง๋ค ์ฌ์ด์์ ์ปค๋ฐ์ ๋ชฉ์ ๊ณผ ์๋๋ฅผ ์์ฃผ ์ฝ๊ณ ๋ช ํํ๊ฒ ์ ๋ฌํ๊ธฐ ์ํ์ฌ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
Gitmoji ์ต์คํ ์ ์ด๋ gitmoji-cli๋ฅผ ํ์ฉํด ์ ๊ทผํ๋ฉด ๋ ๋น ๋ฅด๊ฒ ์ตํ ์ ์์ต๋๋ค.
์ปค๋ฐ ์ [๊น๋ชจ์ง] ์ปค๋ฐ ๋ด์ฉ
์ ๊ตฌ์กฐ๋ก ์์ฑํฉ๋๋ค.
์์ : ๐ ์๋ก์ด ํ๋ก์ ํธ ์์
๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ
์ฑ ๋ด ํ์ด์ง ์ด๋์ด ์๋ ํ๋ก์คํ์ด์ค๋ ํฐ ๊ธฐ๋ฅ์ด๋ ์ปดํฌ๋ํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํด์ ๊ด๋ฆฌํฉ๋๋ค.
์ฃผ์ ๋๋ ํ ๋ฆฌ
// ๊ถ์ฅ ์ต์คํ
์
์ ์ถ๊ฐ
.vscode
โ extensions.json
// ๊ณต์ ์ฌ์ฉ
shared
โฃ components
โฃ hooks
โ utils
// app/๊ธฐ๋ฅ ํด๋์ ๊ตฌ์กฐ
space
โฃ blocks
โฃ create-slice.ts
โฃ index.tsx
โ types.ts
// electron์ process
process
์ ์ฒด ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ๋ก ์ด๋ : ์ต์ข ์ ๋ฐ์ดํธ ์ผ์ 2024-03-12 (๋งํฌ)
25 days ago