๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ป DEV63

[Github] GPG Keys ์ƒ์„ฑ & ๋“ฑ๋กํ•˜๊ธฐ ์ ‘๊ทผ (์š”์•ฝ)์ด์ „ ๊ธ€์—์„œ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ + Tag ์ƒ์„ฑ + Release ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ, GPG Keys ๊ฐ€ ์—†์–ด์„œ Tags ํƒญ์— 'verified'๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฒƒ์„ ํ•ด์†Œํ•˜๊ณ ์ž ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ GPG Keys๋ฅผ ์ƒ์„ฑํ•˜๊ณ  Github repo์— ์ •์ƒ์ ์œผ๋กœ ๋“ฑ๋กํ•˜๋Š” ์ ˆ์ฐจ๋ฅผ ๊ธฐ๋กํ•œ๋‹ค. 1. GPG Key ์ƒ์„ฑ (1) gnupg ํŒจํ‚ค์ง€ ์„ค์น˜- (mac) ~$ brew install gnupg 2. GPG Key ์ƒ์„ฑ (2) Key ์ƒ์„ฑํ•˜๊ธฐ- ~$ gpg --full-generate-key- (1) what kind of key you want(ํ‚ค ์ข…๋ฅ˜) (2) keysize(ํ‚ค ๊ธธ์ด)- (3) specify how long(์œ ํšจ๊ธฐ๊ฐ„) (4) name / email / comment (๊ฐœ์ธ์‹ ์›)- ์ƒ์„ฑ.. 2025. 5. 15.
[Github] Releases Tags ์ƒ์„ฑ & Verified ์ธ์ฆ ์ ‘๊ทผ (์š”์•ฝ)์ง„ํ–‰ ์ค‘์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๋‹จ๊ณ„(develop → master)์—์„œ Release์™€ Tag ๊ด€๋ฆฌ๋ฅผ ์š”ํ–ˆ๋‹ค. ์ ์šฉํ•œ ๋‚ด์šฉ์„ ๊ธฐ๋กํ•œ๋‹ค.(์ถ”๊ฐ€๋กœ, Github repo์˜ Verified ์ธ์ฆ๊นŒ์ง€) 1. ๋ฐฐํฌ ์ค€๋น„- develop ๋ธŒ๋žœ์น˜ ์ตœ์‹ ํ™”- master ๋ธŒ๋žœ์น˜๋กœ ๋ณ‘ํ•ฉ 2. ์ˆ˜๋™์œผ๋กœ Tag ๋‹ฌ๊ธฐ (Git Flow ์—†์ด)- ๋ฆด๋ฆฌ์ฆˆ ํƒœ๊ทธ ์ƒ์„ฑ git tag -s v2.0.4 -m "Release v2.0.4"- ์›๊ฒฉ์— push (git push origin master / git push origin v2.0.4) 3. Github repo Release ๋ฉ”๋‰ด- Draft a new release 4. Github Repo > Tag > Verified- '-s' ์™€ '-a'์˜ .. 2025. 5. 13.
[ReactQuery] (4) ReactQuery - useIsFetching (feat. Nextjs) ์ ‘๊ทผ (์š”์•ฝ)์•ฑ์—์„œ isLoading ๊ณผ isFetching๋งŒ์„ ์‚ฌ์šฉํ•ด ์ปดํฌ๋„ŒํŠธ๋งˆ๋‹ค ๊ฐœ๋ณ„ Loading Indicator๋งŒ์„ ํ™œ์šฉํ–ˆ๋‹ค๋ฉด,useIsFetching์— ๋Œ€ํ•ด์„œ ์•Œ๊ฒŒ ๋˜๊ณ  ๋” ํฐ ์•ฑ์— ์ค‘์•™ ์ง‘์ค‘์‹ Loading Indicator๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ ์œ„ํ•ด ์ •๋ฆฌ๋ฅผ ๋‚จ๊ธด๋‹ค.   1. isLoading & isFetching & useIsFetching   2. useIsFetching ์ ์šฉํ•˜๊ธฐ   3. ์ ์šฉ TEST๋ฐฉ๋ฒ•  1. isLoading & isFetching & useIsFetching# useIsFetching- ๊ฐ ์ปดํฌ๋„ŒํŠธ์— ๋Œ€ํ•ด "๊ฐœ๋ณ„ ๋กœ๋”ฉ ์ธ๋””์ผ€์ดํ„ฐ (Loading Indicator)" ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹ - "์ค‘์•™ ์ง‘์ค‘์‹ ๋กœ๋”ฉ ์ธ๋””์ผ€์ดํ„ฐ"๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์•ฑ์„ ์—…๋ฐ์ดํŠธ ํ•  ์˜ˆ์ •!>> useIsF.. 2025. 3. 19.
[ReactQuery] (1) ReactQuery ๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ์ ‘๊ทผ (์š”์•ฝ)reactQuery์˜ ๊ฐœ์š”๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.   1. Client State vs Server State 1. Client State - ์›น ๋ธŒ๋ผ์šฐ์ € ์„ธ์…˜๊ณผ ๊ด€๋ จ๋œ ๋ชจ๋“  ์ •๋ณด ์˜๋ฏธ (๋‹จ์ˆœํžˆ ์‚ฌ์šฉ์ž์˜ ์ƒํƒœ)  (ex_ ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์–ธ์–ด๋ฅผ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ๋ฐ์€/์–ด๋‘์šด ํ…Œ๋งˆ๋ฅผ ์„ ํƒํ•˜๋Š” ๋“ฑ์˜ ์„œ๋ฒ„์—์„œ ์ผ์–ด๋‚˜๋Š” ์ผ๊ณผ๋Š” ์•„๋ฌด ๊ด€๋ จ์ด ์—†๋Š” ๊ฒƒ)2. Server State- ์„œ๋ฒ„ ์ƒํƒœ๋Š” ์„œ๋ฒ„์— ์ €์žฅ๋˜์ง€๋งŒ ํด๋ผ์ด์–ธํŠธ์— ํ‘œ์‹œํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ  (ex_๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“ฑ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ ๋ฐ์ดํ„ฐ)- ๋ฐ์ดํ„ฐ๋Š” ์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ์— ํ‘œ์‹œ๋˜์–ด์•ผ ํ•˜๊ธฐ์— ์„œ๋ฒ„์— ์ €์žฅ๋จ   2. React Query ํŠน์ง• 1. React Query๋Š” ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„ ๋ฐ์ดํ„ฐ ์บ์‹œ๋ฅผ ๊ด€๋ฆฌ React Code ↔ React Query Cache ↔ S.. 2025. 3. 15.
[ReactQuery] (3) ReactQuery - customHooks (feat. Nextjs) ์ ‘๊ทผ (์š”์•ฝ)reactQuery๋ฅผ ํ™œ์šฉํ•ด custom hooks์„ ์ž‘์„ฑํ•œ๋‹ค. (queryKey์™€ queryFn)     1. queryKey Object (queryKey Namespace) ํŒจํ„ด์œผ๋กœ ์ •๋ฆฌ- queryKey : ๋ฐ์ดํ„ฐ ์š”์ฒญ์„ ์‹๋ณ„ํ•˜๋Š” ์ค‘์š”ํ•œ ์—ญํ• - ์ฟผ๋ฆฌ ํ‚ค ๋„ค์ž„์ŠคํŽ˜์ด์Šค ํŒจํ„ด์„ ํ™œ์šฉํ•œ ํšจ์œจ์  ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ- ./react-query/index.ts   2. hooks ํด๋” ๋‚ด์— customHooks ์ž‘์„ฑ => useExampleQuery.ts- app/hooks/queries/useExampleQuery.ts- app/hooks/queries/mutation/useExampleMutation.ts   3. useExampleQuery.ts (CustomHooks ์ฝ”๋“œ ํ˜•์‹)- Data Fet.. 2025. 3. 15.
[ReactQuery] (2) Nextjs ํ”„๋กœ์ ํŠธ์— ReactQuery ์ ์šฉ ์ ‘๊ทผ (์š”์•ฝ)Next.js ๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋Š”๋ฐ, Web App์˜ ์„œ๋ฒ„ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ•„์ˆ˜์ ์ด๋‹ค.๊ณต์‹ ์›น์‚ฌ์ดํŠธ๋ฅผ ํ™•์ธ ํ•ด๋ณด๋ฉด, npm ์—์„œ์˜ ๋ˆ„์  ๋‹ค์šด๋กœ๋“œ ์ˆ˜๊ฐ€ 18์–ต์— ์œก๋ฐ•ํ•˜๊ณ  ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ˆ˜์น˜๊ฐ€ ์ƒ์Šนํ•˜๋Š” ๊ฒƒ์„ ๋ณด๊ธฐ๋งŒ ํ•ด๋„์–ผ๋งˆ๋‚˜ ํ•ซํ•œ ๊ธฐ์ˆ ์ธ์ง€ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋ฅผ ํ”„๋กœ์ ํŠธ์— ๋„์ž…ํ•˜์—ฌ ์น˜์—ดํ•˜๊ฒŒ ์—ฐ๊ตฌ๋ฅผ ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.(์˜ˆ์ „์— ๊ฐœ๋ฐœ ๋•Œ์— ๋“œ๋ฌธ๋“œ๋ฌธ ํ™œ์šฉํ–ˆ๋˜ ๊ฒƒ ๊ทธ ์ด์ƒ์œผ๋กœ ์นœ์ˆ™ํ•ด์ง€๊ณ ์ž ํ•œ๋‹ค)   1. ReactQuery ์„ค์น˜- npm install @tanstack/react-query- npm install @tanstack/react-query-devtools   2. ESLint Plugin ์„ค์น˜- npm i -D @tanstack/eslint-plugin-query- ๊ธฐํƒ€ ์„ค์ • (... 2025. 3. 14.
[Github Actions] ํ”„๋กœ์ ํŠธ์— github Actions ์ ์šฉ ์ ‘๊ทผ (์š”์•ฝ)์—…๋ฌด์—์„œ Web Service ๋ฐฐํฌ ๋ฐฉ์‹์— ๋ณ€ํ™”(→ Github Actions)๋ฅผ ๋„๋ชจํ–ˆ๋‹ค.์ด๋Ÿฌํ•œ ๋ณ€ํ™”๋ฅผ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ์—๋„ ์ ์šฉํ•˜๊ณ ์ž Nextjs ํ”„๋กœ์ ํŠธ + Github Action์„ ์ ์šฉํ•œ ์ƒ˜ํ”Œ์„ ๊ธฐ๋กํ•œ๋‹ค.(๊ฐ ๋‹จ๊ณ„๋ฅผ Step๋ณ„๋กœ ์ž‘์„ฑํ•ด๋ณธ๋‹ค.)   0. Create Project (Terminal) → ํ•˜๋‹จ์— ๊ฒŒ์‹œ๊ธ€ ์ฒจ๋ถ€- ๊ฒฝ๋กœ ์ด๋™- Project App ์ƒ์„ฑ- Open Project & Branch ๋ณ€๊ฒฝ (main → master)- 4. ์›๊ฒฉ์ €์žฅ์†Œ ์ƒ์„ฑ(Web) & Push (๋กœ์ปฌ → ์›๊ฒฉ์ €์žฅ์†Œ)    1. Github Action ์ ์šฉ- (Web) Actions > set up a workflow yourself-  ๋ฐฉ๋ฒ•   1. Github Action ์ ์šฉ1. (Web) Ac.. 2025. 3. 10.
[Github] ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ (๋กœ์ปฌ ์ €์žฅ์†Œ์—์„œ ์›๊ฒฉ ์ €์žฅ์†Œ Push) ์ ‘๊ทผ (์š”์•ฝ)Project ์ƒ์„ฑ์‹œ, Github Web์—์„œ Repo๋ฅผ ๋งŒ๋“ค์–ด Pull์„ ๋ฐ›๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ์™€ ๋”๋ถˆ์–ด,์ด๋ฏธ ์ฝ”๋“œ ์ž‘์„ฑ์ด ์ง„ํ–‰๋œ ์ƒํ™ฉ์˜ ํ˜•์ƒ(๋กœ์ปฌ ์ €์žฅ์†Œ)์„ ์›๊ฒฉ์ €์žฅ์†Œ์— Push ํ•˜๊ณ ์ž ํ•  ๋•Œ์— ํ๋ฆ„์„ ์ž‘์„ฑํ•œ๋‹ค.   1. Create Project (Terminal)- ๊ฒฝ๋กœ ์ด๋™- Project App ์ƒ์„ฑ- Open Project & Branch ๋ณ€๊ฒฝ (main → master)- 4. ์›๊ฒฉ์ €์žฅ์†Œ ์ƒ์„ฑ(Web) & Push (๋กœ์ปฌ → ์›๊ฒฉ์ €์žฅ์†Œ)  ๋ฐฉ๋ฒ•   1. Create Project (Terminal) 1. Project ์ƒ์„ฑํ•  ๊ฒฝ๋กœ๋กœ ์ด๋™ (./WebStormProjects) 2. Next.js App ์ƒ์„ฑ $ npx create-next-app@latest 3. Open.. 2025. 3. 10.
[ssh-key] ๋‹ค์ค‘ ๋“ฑ๋ก์œผ๋กœ ์ธํ•œ ์ธ์‹ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ ์ ‘๊ทผ (์š”์•ฝ)๊ฐœ์ธ, ์—…๋ฌด์šฉ 2๊ฐœ์˜ github ssh-key๋ฅผ ๊ฐ€์ง€๊ณ , ๋“ฑ๋กํ•œ ์ฑ„ webStorm์œผ๋กœ git push๋ฅผ ํ•˜๊ณ ์ž ํ–ˆ์œผ๋‚˜ ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ์›ํ•˜๋Š” ssh-key๊ฐ€ ์ธ์‹๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ์— ๋ด‰์ฐฉํ–ˆ๋‹ค. ์ด๋•Œ์— ํ•ด๊ฒฐํ•˜๋Š” ๊ณผ์ •์„ ๋‹ด๋Š”๋‹ค.    1. Push, ์˜ค๋ฅ˜   2. ํ˜„์žฌ ์—ฐ๊ฒฐ๋œ Git ๊ณ„์ • ํ™•์ธ (ํ™•์ธ1)   3. ์›๊ฒฉ ์ €์žฅ์†Œ URL ํ™•์ธ (ํ™•์ธ2)   4. SSHํ‚ค๋ฅผ ์‚ฌ์šฉํ•œ ์ ‘๊ทผ ์„ค์ • (ํ™•์ธ3)   5. SSHํ‚ค ๋“ฑ๋ก (๋กœ์ปฌ ๋‚ด ๊ฒฝ๋กœ > ํŒŒ์ผ๋ช… ํ™•์ธ)   6. ๋“ฑ๋ก๋˜์–ด ์šด์šฉ ์ค‘์ธ ssh-key ํ™•์ธ   7. ๋ชจ๋“  SSH ํ‚ค ์ดˆ๊ธฐํ™” ํ›„, ์˜ฌ๋ฐ”๋ฅธ ํ‚ค๋งŒ ์ถ”๊ฐ€   5. SSHํ‚ค ๋“ฑ๋ก (๋กœ์ปฌ ๋‚ด ๊ฒฝ๋กœ > ํŒŒ์ผ๋ช… ํ™•์ธ)   5. SSHํ‚ค ๋“ฑ๋ก (๋กœ์ปฌ ๋‚ด ๊ฒฝ๋กœ > ํŒŒ์ผ๋ช… ํ™•์ธ)๋ฐฉ๋ฒ•  1. Push, ์˜ค๋ฅ˜ER.. 2025. 3. 7.