Skip to content

Afternote/Afternote-FE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1,374 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Afternote-FE

๐Ÿš€ ์‹ ๊ทœ ํŒ€์› ๋นŒ๋“œ ์…‹์—…

local.properties ๋Š” .gitignore ์— ๋“ฑ๋ก๋˜์–ด ์žˆ์–ด git ์œผ๋กœ ๋ฐ›์•„์ง€์ง€ ์•Š๋Š”๋‹ค. clone ์งํ›„ ๋‹ค์Œ ๋‘ ํ‚ค๋ฅผ ๋ฃจํŠธ local.properties ์— ์ง์ ‘ ์ฑ„์›Œ์•ผ ์นด์นด์˜คยท๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ์ด ์ •์ƒ ๋™์ž‘ํ•œ๋‹ค.

ํ•„์š” ํ‚ค

ํ‚ค ์šฉ๋„ ๋ฐœ๊ธ‰ ์œ„์น˜
KAKAO_NATIVE_APP_KEY ์นด์นด์˜ค SDK ์ดˆ๊ธฐํ™” (KakaoSdk.init) + ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์ฝœ๋ฐฑ intent-filter ์˜ kakao{NATIVE_APP_KEY} scheme Kakao Developers โ†’ ๋‚ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ โ†’ ์•ฑ ํ‚ค โ†’ ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ ํ‚ค
GOOGLE_WEB_CLIENT_ID Google ๋กœ๊ทธ์ธ ์‹œ CredentialManager.requestGoogleIdToken(serverClientId = ...) ์˜ server client id (๋ฐฑ์—”๋“œ๊ฐ€ ID Token ์˜ aud ๋ฅผ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋„๋ก Web client ID ์‚ฌ์šฉ) Google Cloud Console โ†’ APIs & Services โ†’ Credentials โ†’ OAuth 2.0 Client IDs โ†’ Web application ํƒ€์ž…

local.properties ์–‘์‹

ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์˜ local.properties ๋์— ๋‹ค์Œ ๋ผ์ธ ์ถ”๊ฐ€:

KAKAO_NATIVE_APP_KEY=<์นด์นด์˜ค ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ ํ‚ค>
GOOGLE_WEB_CLIENT_ID=<๊ตฌ๊ธ€ OAuth web client id>.apps.googleusercontent.com

ํ‚ค ์ˆ˜๋ น ์ฑ„๋„

์‹ ๊ทœ ํŒ€์›์€ ์œ„ ๋‘ ํ‚ค๋ฅผ Slack DM ์œผ๋กœ 1hyok ์—๊ฒŒ ์š”์ฒญ. (์ง์ ‘ ๋ฐœ๊ธ‰ ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์œ„ ์ฝ˜์†”์—์„œ ์ง์ ‘ ์กฐํšŒ ๊ฐ€๋Šฅ.)

๋ˆ„๋ฝ ์‹œ ์ฆ์ƒ

๋‘ ํ‚ค๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด ๋นŒ๋“œ๋Š” ํ†ต๊ณผํ•˜์ง€๋งŒ ๋‹ค์Œ์ด ๊นจ์ง„๋‹ค:

  • KakaoSdk.init("") โ†’ SDK ์ดˆ๊ธฐํ™” ์‹คํŒจ (์•ฑ ๋‚ด ์•ˆ๋‚ด: KAKAO_NATIVE_APP_KEY๋ฅผ ํ™•์ธํ•ด์ฃผ์„ธ์š”.)
  • AndroidManifest.xml ์˜ android:scheme="kakao${KAKAO_NATIVE_APP_KEY}" ๊ฐ€ ๋นˆ scheme ์œผ๋กœ ๋“ฑ๋ก โ†’ ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์ฝœ๋ฐฑ intent-filter ๋งค์นญ ์•ˆ ๋จ
  • requestGoogleIdToken(serverClientId = "") โ†’ Credential Manager ๊ฐ€ invalid request ๋กœ ์‹คํŒจ

๐Ÿ“ฆ ๋น„๊ฐœ๋ฐœ์ž APK ๋ฐฐํฌ (Firebase App Distribution)

๋””์ž์ด๋„ˆยทPMยทQAยท์™ธ๋ถ€ ๋ฒ ํƒ€ํ…Œ์Šคํ„ฐ์—๊ฒŒ release APK ๋ฅผ ์ž๋™ ๋ฐฐํฌํ•˜๋Š” ํ๋ฆ„. Firebase ํ”„๋กœ์ ํŠธ afternote-b4d3c + ํ…Œ์Šคํ„ฐ ๊ทธ๋ฃน afternote ์‚ฌ์šฉ.

์…‹์—… (1hyok ๋งŒ 1ํšŒ โ€” ์‹ ๊ทœ ์ธ๊ณ„์ž๋„ ๋™์ผ)

  1. Release keystore ์ƒ์„ฑ (๋ถ„์‹ค ์‹œ ์•ฑ ์—…๋ฐ์ดํŠธ ์˜๊ตฌ ๋ถˆ๊ฐ€ โ†’ 1Password / iCloud ๋“ฑ 2๊ณณ ์ด์ƒ ๋ฐฑ์—… ํ•„์ˆ˜)

    keytool -genkeypair -v \
      -keystore ~/afternote-release.jks \
      -keyalg RSA -keysize 4096 -validity 10000 \
      -alias afternote-release
  2. local.properties ๋์— 4๊ฐœ ํ‚ค ์ถ”๊ฐ€ (signing config ๊ฐ€ ์ฝ์Œ)

    RELEASE_STORE_FILE=/Users/<you>/afternote-release.jks
    RELEASE_STORE_PASSWORD=<keystore ๋น„๋ฐ€๋ฒˆํ˜ธ>
    RELEASE_KEY_ALIAS=afternote-release
    RELEASE_KEY_PASSWORD=<key ๋น„๋ฐ€๋ฒˆํ˜ธ>
  3. google-services.json ๋ฐฐ์น˜ โ€” Firebase Console โ†’ ํ”„๋กœ์ ํŠธ ์„ค์ • โ†’ ์ผ๋ฐ˜ โ†’ Android ์•ฑ com.afternote.afternote_fe ์นด๋“œ์—์„œ ๋‹ค์šด๋กœ๋“œ โ†’ app/google-services.json

  4. Firebase CLI ์„ค์น˜ + ์ธ์ฆ (์ž๋™ ์—…๋กœ๋“œ์šฉ)

    npm install -g firebase-tools
    firebase login
  5. ์ฝ˜์†”์— ์‹ ๊ทœ keystore SHA ๋“ฑ๋ก (๋ฐฐํฌ ๋ฐ›์€ ์‚ฌ๋žŒ์˜ ์นด์นด์˜ค/๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ ๋™์ž‘ ์œ„ํ•ด)

    • Release SHA-1 ์ถ”์ถœ: keytool -list -v -keystore ~/afternote-release.jks -alias afternote-release | grep SHA1
    • ์นด์นด์˜ค ํ‚ค ํ•ด์‹œ ์ถ”์ถœ: keytool -exportcert -alias afternote-release -keystore ~/afternote-release.jks | openssl sha1 -binary | openssl base64
    • Kakao Developers โ†’ ์•ฑ โ†’ ํ”Œ๋žซํผ ํ‚ค โ†’ Android โ†’ ํ‚ค ํ•ด์‹œ ์ถ”๊ฐ€
    • Firebase Console โ†’ ํ”„๋กœ์ ํŠธ ์„ค์ • โ†’ Android ์•ฑ โ†’ SHA ์ธ์ฆ์„œ ์ง€๋ฌธ ์ถ”๊ฐ€

๋ฐฐํฌ (๋งค ํšŒ)

์ž๋™ โ€” main push ์‹œ (๊ธฐ๋ณธ ๊ฒฝ๋กœ)

develop โ†’ main ๋จธ์ง€๊ฐ€ push ๋˜๋ฉด GitHub Actions ์›Œํฌํ”Œ๋กœ release-distribution.yml ๊ฐ€ ์ž๋™ ์‹คํ–‰ โ†’ APK ๋นŒ๋“œ โ†’ Firebase App Distribution ์—…๋กœ๋“œ โ†’ ํ…Œ์Šคํ„ฐ ๊ทธ๋ฃน afternote ์ „์›์—๊ฒŒ ์ž๋™ ์ด๋ฉ”์ผ ๋ฐœ์†ก. ์šด์˜ ์ •์ฑ… "main ๋จธ์ง€๋œ ์ƒํƒœ๋งŒ ๋ฐฐํฌ" ์™€ ์ผ์น˜.

CI ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” GitHub Secrets (Settings โ†’ Secrets and variables โ†’ Actions):

ํ‚ค ์šฉ๋„
RELEASE_STORE_FILE_B64 release keystore ํŒŒ์ผ (~/afternote-release.jks) ์˜ base64 ์ธ์ฝ”๋”ฉ
RELEASE_STORE_PASSWORD keystore ๋น„๋ฐ€๋ฒˆํ˜ธ
RELEASE_KEY_ALIAS key alias (afternote-release)
RELEASE_KEY_PASSWORD key ๋น„๋ฐ€๋ฒˆํ˜ธ
FIREBASE_SERVICE_ACCOUNT_JSON App Distribution Admin ๊ถŒํ•œ ๋ถ€์—ฌ๋œ service account JSON ์›๋ฌธ
KAKAO_NATIVE_APP_KEY ยท GOOGLE_WEB_CLIENT_ID ยท GOOGLE_SERVICES_JSON_B64 local.properties ํ‚ค (lint.yml ๊ณผ ๊ณต์œ )

base64 ์ธ์ฝ”๋”ฉ: base64 -i ~/afternote-release.jks | pbcopy (macOS)

์ˆ˜๋™ โ€” 1hyok ๋จธ์‹  (fallback / ๊ธด๊ธ‰ ์‹œ)

./gradlew assembleRelease appDistributionUploadRelease

โ†’ ๋™์ผํ•˜๊ฒŒ APK ๋นŒ๋“œ + Firebase ์—…๋กœ๋“œ. CI ์žฅ์•  ์‹œ ๋˜๋Š” main ๋จธ์ง€ ์—†์ด ์ž„์‹œ ๋ฐฐํฌ ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉ.

๊ฐ™์€ versionCode ๋กœ ์žฌ์—…๋กœ๋“œํ•˜๋ฉด ๊ธฐ์กด release ๊ฐฑ์‹ . ์ƒˆ release ๋งŒ๋“ค๋ ค๋ฉด app/build.gradle.kts ์˜ versionCode ์ฆ๊ฐ€.

ํ…Œ์Šคํ„ฐ ๊ด€๋ฆฌ

  • ์ถ”๊ฐ€/์ œ๊ฑฐ: Firebase Console โ†’ App Distribution โ†’ ํ…Œ์Šคํ„ฐ ๋ฐ ๊ทธ๋ฃน โ†’ afternote ๊ทธ๋ฃน ํŽธ์ง‘
  • ์‹ ๊ทœ ํ…Œ์Šคํ„ฐ๋Š” ์ฒซ ์ดˆ๋Œ€ ์ด๋ฉ”์ผ์—์„œ App Tester ์•ฑ ์„ค์น˜ ์•ˆ๋‚ด๋ฅผ ๋ฐ›์Œ โ†’ ์ดํ›„ ๋นŒ๋“œ๋Š” ์ž๋™ ์•Œ๋ฆผ

๐Ÿ“ธ Compose Preview Screenshot Testing (docker baseline)

Compose Preview Screenshot Testing ์˜ anti-aliasing / font hinting / scale ๋“ฑ host ํ™˜๊ฒฝ ์˜์กด ๋ Œ๋”๋ง ์ฐจ์ด๋กœ CI rendered PNG ๋ฅผ baseline ์œผ๋กœ ๊ต์ฒดํ•˜๋Š” ping-pong ์ด ๋ฐœ์ƒํ•ด ์™”๋‹ค (PR #302 / #322). ๋ณธ ๋ฆฌํฌ์˜ Dockerfile.screenshot + .github/workflows/screenshot.yml ์˜ container ๋‹จ๊ณ„๊ฐ€ baseline ์ƒ์„ฑยท๊ฒ€์ฆ์„ ๋™์ผ ํ™˜๊ฒฝ์—์„œ ์ˆ˜ํ–‰ํ•ด ํ™˜๊ฒฝ ์ฐจ์ด root fix.

์‚ฌ์ „ ์ค€๋น„

  • Docker Desktop ์„ค์น˜ (๋กœ์ปฌ macOS ยท Linux ๋ชจ๋‘ ๋™์ผ)

๋กœ์ปฌ baseline ๊ฐฑ์‹  (์˜๋„๋œ ์‹œ๊ฐ ๋ณ€๊ฒฝ ์‹œ)

docker build -t afternote-screenshot:latest -f Dockerfile.screenshot .
docker run --rm -v "$PWD":/workspace -w /workspace afternote-screenshot:latest \
  ./gradlew :core:ui:updateScreenshotTest \
            :app:updateScreenshotTest \
            :feature:onboarding:presentation:updateScreenshotTest \
            :feature:afternote:presentation:updateScreenshotTest

โ†’ ๋ณ€๊ฒฝ๋œ PNG ๊ฐ€ ๊ฐ ๋ชจ๋“ˆ src/screenshotTestDebug/reference/... ์— ๊ฐฑ์‹ . git add ํ›„ commit.

๋กœ์ปฌ baseline ๊ฒ€์ฆ (CI ์‹คํŒจ ์žฌํ˜„)

docker run --rm -v "$PWD":/workspace -w /workspace afternote-screenshot:latest \
  ./gradlew :core:ui:validateScreenshotTest \
            :app:validateScreenshotTest \
            :feature:onboarding:presentation:validateScreenshotTest \
            :feature:afternote:presentation:validateScreenshotTest

โ†’ baseline ๊ณผ docker ํ™˜๊ฒฝ์—์„œ ์ƒˆ๋กœ ๊ทธ๋ฆฐ PNG ๋น„๊ต. ์‹คํŒจ ์‹œ build/outputs/screenshotTest-results/preview/debug/diffs/ ์—์„œ diff PNG ํ™•์ธ.

ํ˜ธ์ŠคํŠธ ์ง์ ‘ ์‹คํ–‰์€ ๋” ์ด์ƒ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Œ

./gradlew :<module>:updateScreenshotTest ๋ฅผ host ์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•˜๋ฉด macOS / Linux / JDK ๋งˆ์ด๋„ˆ ๋ฒ„์ „ / ํฐํŠธ ์บ์‹œ ์ฐจ์ด๋กœ CI ์™€ baseline ์ด ์–ด๊ธ‹๋‚œ๋‹ค. docker ํ™˜๊ฒฝ ํ†ต์ผ์ด root fix.

๐Ÿค– (์˜ต์…˜) Claude Code ์›Œํฌํ”Œ๋กœ ์ฐธ๊ณ 

docs/claude/ ์— 1hyok ์ด ๋ณธ repo ์—์„œ Claude Code ๋ฅผ ์“ฐ๋ฉด์„œ ๋ˆ„์ ํ•œ hook ยท CLAUDE.md ์ƒ˜ํ”Œ ยท ๋ฉ”๋ชจ๋ฆฌ ํ…œํ”Œ๋ฆฟ์ด ์žˆ๋‹ค. ๊ฐ•์ œ ์•„๋‹ˆ๊ณ  ์ฐธ๊ณ ์šฉ.

๋ณธ์ธ Claude Code ์›Œํฌํ”Œ๋กœ์— ๋„์ž…ํ•˜๊ณ  ์‹ถ์œผ๋ฉด:

./scripts/install-claude-hooks.sh

โ†’ docs/claude/hooks/*.sh ๋ฅผ ์ž๊ธฐ .claude/hooks/ ๋กœ symlink (๊ธฐ์กด ํŒŒ์ผ ์žˆ์œผ๋ฉด skip โ€” ๋ฎ์–ด์“ฐ๊ธฐ 0). hook ๋“ฑ๋กยทCLAUDE.md ์ผ๋ถ€ ๊ฐ€์ ธ๊ฐ€๊ธฐยท๋ฉ”๋ชจ๋ฆฌ ๋„์ž… ๋“ฑ ์ž์„ธํ•œ ๊ฐ€์ด๋“œ๋Š” docs/claude/README.md ์ฐธ๊ณ .

๋ณธ์ธ .claude/ ๋Š” .gitignore ๊ทธ๋Œ€๋กœ๋ผ ๋ณธ ํด๋”์™€ ๋ฌด๊ด€ โ€” ์–ด๋А ์ชฝ๋„ ๋‹ค๋ฅธ ์ชฝ์„ ๊ฐ•์ œํ•˜์ง€ ์•Š๋Š”๋‹ค.

๐Ÿ’ป ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜

๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜

  • ๋„ค์ด๋ฐ ํ•ญ๋ชฉ ์ˆœ์„œ๋Š” android-style-guide๋ฅผ ์ค€์ˆ˜ํ•œ๋‹ค.
  • ๋‹จ, Layout์„ ์ œ์™ธํ•œ ๋„ค์ด๋ฐ์€ CamelCase๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
    • ์˜ˆ์‹œ) android:id="@+id/tvPostNovelTitle"
    • ์ž์„ธํ•œ ์ •๋ณด๋Š” ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜์˜€๋‹ค.

  • Coding Style์€ ๊ฐ์ฒด์ง€ํ–ฅ ์ƒํ™œ ์ฒด์กฐ ์›์น™์„ ์ค€์ˆ˜ํ•œ๋‹ค.
    • ์ž์„ธํ•œ ์ •๋ณด๋Š” ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜์˜€๋‹ค.

[Java] ๊ฐ์ฒด์ง€ํ–ฅ ์ƒํ™œ ์ฒด์กฐ ์›์น™ 9๊ฐ€์ง€ (from ์†ŒํŠธ์›์Šค ์•ค์†”๋Ÿฌ์ง€)

๐Ÿฆฅย ๊นƒ ์ „๋žต ๋ฐ ์ปจ๋ฒค์…˜

๋ธŒ๋žœ์น˜ ์ „๋žต

  • GitHub Flow๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
    • ์ˆ˜์‹œ๋กœ ์ฝ”๋“œ๊ฐ€ ๋ณ€ํ•˜๋Š” ์•ฑ์žผ์˜ ํŠน์„ฑ์„ ๊ณ ๋ คํ•˜์˜€๋‹ค.
    • ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์–ธ๋”๋ฐ”๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
      • ์˜ˆ์‹œ) feat/post_novel
    • ์ž์„ธํ•œ ์ •๋ณด๋Š” ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜์˜€๋‹ค.

[GIT] ๐Ÿ“ˆ ๊นƒ ๋ธŒ๋žœ์น˜ ์ „๋žต ์ •๋ฆฌ - Github Flow / Git Flow

Commit ์ปจ๋ฒค์…˜

  • ์‚ฌ์šฉํ•  ์ปค๋ฐ‹ ํƒ€์ž…์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
    • ๐Ÿฏ [FEAT] ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€
    • โ™ป๏ธย [REFACTOR] ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
    • ๐Ÿ”จย [FIX] ๋ฒ„๊ทธ ์ˆ˜์ •
    • ๐Ÿšงย [BUILD] ๋นŒ๋“œ ์—…๋ฌด ์ˆ˜์ •, ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ์ˆ˜์ •
  • ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์˜ˆ์‹œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
    • ์˜ˆ์‹œ) feat: color system ๊ตฌ์„ฑ
  • ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋Š” ํ•œ๊ธ€๋กœ ์ž‘์„ฑํ•˜๊ณ , ์ด์Šˆ ๋ฒˆํ˜ธ๋Š” ๋ณ„๋„๋กœ ํ‘œ๊ธฐํ•˜์ง€ ์•Š๋Š”๋‹ค.

Issue ์ปจ๋ฒค์…˜

  • ์ œ๋ชฉ ์˜ˆ์‹œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
    • ์˜ˆ์‹œ) feat: library view ๊ตฌํ˜„
## โš”๏ธ Kind (Required)    <!-- ์ด์Šˆ ์ข…๋ฅ˜๋ฅผ ์„ ํƒํ•ด์ฃผ์„ธ์š” -->
`FEATURE` `BUG`

## ๐Ÿ“œ Overview (Required)    <!-- ์ด์Šˆ์— ๋Œ€ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š” -->

> **โœ”๏ธ To do**    <!-- ์ง„ํ–‰ํ•  ์ž‘์—…์— ๋Œ€ํ•ด ์ ์–ด์ฃผ์„ธ์š” -->
> - [ ] color system ๊ตฌ์„ฑ _(์˜ˆ์‹œ)_

## ๐Ÿ“ Note (Optional) <!-- ํŠน์ด์‚ฌํ•ญ์„ ์ ์–ด์ฃผ์„ธ์š” -->

PR ์ปจ๋ฒค์…˜

  • ์ œ๋ชฉ ์˜ˆ์‹œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
    • ์˜ˆ์‹œ) feat: bottomNavigation color system ์ ์šฉ
## ๐Ÿ“Œ๐˜๐˜ด๐˜ด๐˜ถ๐˜ฆ๐˜ด
- closed #

## ๐Ÿ“Ž๐˜ž๐˜ฐ๐˜ณ๐˜ฌ ๐˜‹๐˜ฆ๐˜ด๐˜ค๐˜ณ๐˜ช๐˜ฑ๐˜ต๐˜ช๐˜ฐ๐˜ฏ
- 
- 

## ๐Ÿ“ท๐˜š๐˜ค๐˜ณ๐˜ฆ๐˜ฆ๐˜ฏ๐˜ด๐˜ฉ๐˜ฐ๐˜ต

## ๐Ÿ’ฌ๐˜›๐˜ฐ ๐˜™๐˜ฆ๐˜ท๐˜ช๐˜ฆ๐˜ธ๐˜ฆ๐˜ณ๐˜ด

Code Review ์ปจ๋ฒค์…˜ ๋ฐ ์ถ”๊ฐ€์ •๋ณด

  • Merge๋Š” ๋ฆฌ๋ทฐ ์ธ์› 2๋ช…์˜ ์Šน์ธ์„ ๋ฐ›๋Š”๋‹ค.
  • ๋ฆฌ๋ทฐ ์ธ์›์œผ๋กœ ํ• ๋‹น๋ฐ›์€ ์‚ฌ๋žŒ์€ 12์‹œ๊ฐ„ ์ด๋‚ด์— ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ์™„๋ฃŒํ•œ๋‹ค.
  • RCA๋ฃฐ์„ ํ†ตํ•ด Prefix๋ฅผ ์ ๊ณ , ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ํ‘œ์‹œํ•œ๋‹ค.
    • R (Request Changes) : ์ ๊ทน์ ์œผ๋กœ ๋ฐ˜์˜์„ ๊ณ ๋ คํ•ด์ฃผ์„ธ์š”.
    • C (Comment) : ์›ฌ๋งŒํ•˜๋ฉด ๋ฐ˜์˜ํ•ด์ฃผ์„ธ์š”.
    • A (Approve) : ๋ฐ˜์˜ํ•ด๋„ ์ข‹๊ณ , ๋„˜์–ด๊ฐ€๋„ ์ข‹์Šต๋‹ˆ๋‹ค. ์‚ฌ์†Œํ•œ ์˜๊ฒฌ์ž…๋‹ˆ๋‹ค.
      • ์˜ˆ์‹œ) R: @Data ์–ด๋…ธํ…Œ์ด์…˜ ์‚ฌ์šฉ์€ ์ง€์–‘ํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ์ž๋ฃŒ ๋ณ„์ฒจํ•ฉ๋‹ˆ๋‹ค.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors