Skip to content

kwakmins/smart_budget_craft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

108 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

μž¬μ‚° 관리 μ„œλΉ„μŠ€

image

λͺ©μ°¨

  1. 개발 κΈ°κ°„
  2. μ½”λ“œ μ»¨λ²€μ…˜ κ·œμΉ™
  3. ν”„λ‘œμ νŠΈ κ°œμš” 및 μ„œλΉ„μŠ€ κ°œμš”
  4. μš”κ΅¬μ‚¬ν•­ 뢄석
  5. ν”„λ‘œμ νŠΈ λ™μž‘ μ˜ˆμ‹œ
  6. ν”„λ‘œμ νŠΈ 일정관리
  7. ERD
  8. ν”„λ‘œμ νŠΈ νŒ¨ν‚€μ§€ ꡬ쑰
  9. API λͺ…μ„Έ
  10. ν…ŒμŠ€νŠΈ
  11. TIL 및 회고

2023-11-09 ~ 2023-11-18 (10일)

μžμ„Ένžˆ (클릭)

곡톡 API Response Dto


λ‹€μŒκ³Ό 같이 응닡 ν˜•μ‹μ„ μ •ν•©λ‹ˆλ‹€.

public class ApiResponse {

  private static final String STATUS_SUCCESS = "success";
  private static final String STATUS_FAIL = "fail";
  private static final String STATUS_ERROR = "error";

    ...
}
//성곡
{
  "status": "success",
  "message": null,
  "data": {
    data1
  }
}

//일반 μ—λŸ¬
{
  "status": "fail",
  "message": "fail message",
  "data": null
}

//μ˜ˆμ™Έ λ°œμƒ
{
  "status": "error",
  "message": "error message",
  "data": null
}

Commit Convention


  • Commit message

    • ꡬ글 μžλ°” μ»¨λ²€μ…˜
  • Branch name

    • Github 브랜치 μ „λž΅
    • issue Name 동일
  • issue & Pull Request Template μ‚¬μš©

    • μ§€μ •λœ ν…œν”Œλ¦Ώμ„ μ‚¬μš©ν•˜μ—¬, μ„€λͺ…κ³Ό 할일 등을 λͺ…μ‹œν•˜κΈ°
  • Git Projects μ‚¬μš©

    • Git Projectsλ₯Ό μ‚¬μš©ν•˜μ—¬, 진행상황 μ‹œκ°ν™”ν•˜κΈ°

Code convention


주석 Convention


  • μ•„λž˜μ™€ 같은 ν˜•μ‹μœΌλ‘œ 주석달기
/**
 * λ™μž‘ κΈ°λŠ₯ μ„€λͺ…
 *
 * @param νŒŒλΌλ―Έν„° λͺ…      νŒŒλΌλ―Έν„°μ— κ΄€ν•œ μ„€λͺ…
 * ...
 * @return λ°˜ν™˜ μ„€λͺ…
 */
public νƒ€μž… λ©”μ†Œλ“œλͺ… or 클래슀λͺ…(νŒŒλΌλ―Έν„° νƒ€μž…,νŒŒλΌλ―Έν„° λͺ…){
  • κ΅¬ν˜„ν•˜μ§€ λͺ»ν•œ λΆ€λΆ„ TODO 둜 남기기
//TODO or /** TODO
  • λͺ¨λ“  ν΄λž˜μŠ€μ™€ λ©”μ†Œλ“œ, λ³€μˆ˜μ—λ„ 주석 달기
public class 클래슀λͺ… {
  //...


  /**
   * λ³€μˆ˜λͺ… μ„€λͺ… (Entity의 id λ“±) 
   */
  private Long id;

λ³Έ μ„œλΉ„μŠ€λŠ” μ‚¬μš©μžλ“€μ΄ 개인 재무λ₯Ό κ΄€λ¦¬ν•˜κ³  μ§€μΆœμ„ μΆ”μ ν•˜λŠ” 데 도움을 μ£ΌλŠ” μ„œλΉ„μŠ€μž…λ‹ˆλ‹€.

  • μ‚¬μš©μžλ“€μ΄ μ˜ˆμ‚°μ„ μ„€μ •ν•˜κ³  μ§€μΆœμ„ λͺ¨λ‹ˆν„°λ§ν•˜λ©° 재무 λͺ©ν‘œλ₯Ό λ‹¬μ„±ν•˜λŠ” 데 도움이 λ©λ‹ˆλ‹€.

  • μ—¬λŸ¬ 톡계λ₯Ό ν™•μΈν•˜λ©΄μ„œ, 맀일 μ§€μΆœ μ»¨μ„€νŒ…μ„ λ°›μ•„ μ†ŒλΉ„ μŠ΅κ΄€μ„ λ°”κΎΈλŠ” 데 도움이 λ©λ‹ˆλ‹€.

μ„œλΉ„μŠ€ κ°œμš” μžμ„Ένžˆ (클릭)
#### 1. νšŒμ›μ€ νšŒμ›κ°€μž…μ„ ν•΄μ•Ό μ„œλΉ„μŠ€λ₯Ό μ΄μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

- λ³΅μž‘ν•œ 절차 없이 νšŒμ›κ°€μž…μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€.

#### 2. μ˜ˆμ‚° μ„€μ • 및 μΆ”μ²œ μ„œλΉ„μŠ€

- 월별 총 μ˜ˆμ‚°μ„ μ„€μ •ν•©λ‹ˆλ‹€.
- λ³Έ μ„œλΉ„μŠ€λŠ” μΉ΄ν…Œκ³ λ¦¬ 별 μ˜ˆμ‚°μ„ μΆ”μ²œν•˜μ—¬ μ‚¬μš©μžμ˜ κ³Όλ‹€ μ§€μΆœμ„ λ°©μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

#### 3. μ§€μΆœ μž‘μ„±

- μ‚¬μš©μžλŠ” μ§€μΆœ 을 κΈˆμ•‘, μΉ΄ν…Œκ³ λ¦¬ 등을 μ§€μ •ν•˜μ—¬ 등둝 ν•©λ‹ˆλ‹€.
- μ–Έμ œλ“ μ§€ μˆ˜μ • 및 μ‚­μ œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

#### 4. μ§€μΆœ μ»¨μ„€νŒ…

- 월별 μ„€μ •ν•œ μ˜ˆμ‚°μ„ κΈ°μ€€μœΌλ‘œ 였늘 μ†ŒλΉ„ κ°€λŠ₯ν•œ μ§€μΆœ 을 μ•Œλ €μ€λ‹ˆλ‹€.
- 맀일 λ°œμƒν•œ μ§€μΆœ 을 μΉ΄ν…Œκ³ λ¦¬ λ³„λ‘œ μ•ˆλ‚΄λ°›μŠ΅λ‹ˆλ‹€.

#### 5. μ§€μΆœ 톡계

- `μ§€λ‚œ 달 λŒ€λΉ„` , `μ§€λ‚œ μš”μΌ λŒ€λΉ„`, `λ‹€λ₯Έ μœ μ € λŒ€λΉ„` λ“± μ—¬λŸ¬ κΈ°μ€€ μΉ΄ν…Œκ³ λ¦¬ 별 μ§€μΆœ 톡계λ₯Ό 확인 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ„œλΉ„μŠ€ κ°œμš”μ— 맞게 μš”κ΅¬μ‚¬ν•­μ„ λΆ„μ„ν•˜μ—¬ μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

개발 쀑 μƒˆλ‘œμš΄ 의문이 λ“€λ©΄, λ‹€μ‹œ κΈ°λ‘ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

μš”κ΅¬μ‚¬ν•­ 뢄석 μžμ„Ένžˆ (클릭)
### 1. μœ μ €

1. μ‚¬μš©μž νšŒμ›κ°€μž…
    1. `계정λͺ…`, `νŒ¨μŠ€μ›Œλ“œ` μž…λ ₯ν•˜μ—¬ νšŒμ›κ°€μž…
2. μ‚¬μš©μž 둜그인
    1. λ‘œκ·ΈμΈμ‹œ `JWT` λ°œκΈ‰
    2. 이후 λͺ¨λ“  API μš”μ²­ Header에 JWT 포함 ν›„ μœ νš¨μ„± 검증 ν•„μˆ˜
3. μ‚¬μš©μž λ‘œκ·Έμ•„μ›ƒ
    1. λ‘œκ·Έμ•„μ›ƒμ‹œ DB에 μžˆλŠ” Refresh 토큰 μ‚­μ œ

### 2. μ˜ˆμ‚°μ„€μ • 및 섀계

1. μ§€μΆœ μΉ΄ν…Œκ³ λ¦¬ λͺ©λ‘
    1. `식비` , `ꡐ톡` λ“± 일반적인 μ§€μΆœ μΉ΄ν…Œκ³ λ¦¬ λͺ©λ‘ λ°˜ν™˜

2. μ˜ˆμ‚° μ„€μ •
    1. `μΉ΄ν…Œκ³ λ¦¬`, `μ˜ˆμ‚°` 둜 μ„€μ •.
    2. μ˜ˆμ‚° 섀계 μΆ”μ²œ μ‹œμŠ€ν…œ (API)
        - `μΉ΄ν…Œκ³ λ¦¬` λ₯Ό μ§€μ • μ•ˆν•  λ•Œ, `μΉ΄ν…Œκ³ λ¦¬` 별 λ°°λΆ„ κΈˆμ•‘ μΆ”μ²œ.
        - κΈ°μ‘΄ λͺ¨λ“  μœ μ €λ“€μ˜ μΉ΄ν…Œκ³ λ¦¬ 별 μ˜ˆμ‚°μ„ 톡계λ₯Ό ꡬ해, μžλ™μœΌλ‘œ μΉ΄ν…Œκ³ λ¦¬μ— λ°°λΆ„.
            - μ΄λ•Œ, 톡계가 10ν”„λ‘œ μ΄ν•˜μΈ μΉ΄ν…Œκ³ λ¦¬λ“€μ€ λͺ¨λ‘ λ¬Άμ–΄ κΈ°νƒ€λ‘œ 제곡.
        - 계산식
            - `(μ˜ˆμ‚° * μΉ΄ν…Œκ³ λ¦¬μ˜ 톡계(((μΉ΄ν…Œκ³ λ¦¬μ˜ 총 μ˜ˆμ‚° κΈˆμ•‘)/(전체 총 μ˜ˆμ‚° κΈˆμ•‘))* 100)) /100`
    3. μˆ˜μ •/μ‚­μ œ κ°€λŠ₯

### 3. μ§€μΆœ 기둝

1. μ§€μΆœ 속성
    1. `μ§€μΆœ μΌμ‹œ`, `μ§€μΆœ κΈˆμ•‘`, `μΉ΄ν…Œκ³ λ¦¬`, `λ©”λͺ¨`, `ν•©κ³„μ œμ™Έμ—¬λΆ€` ν•„μˆ˜ 포함
    2. 좔가적인 ν•„λ“œ μ‚¬μš© κ°€λŠ₯
2. μ§€μΆœ CRUD
    1. `생성`, `μˆ˜μ •`, `읽기(상세)`, `읽기(λͺ©λ‘)`, `μ‚­μ œ`, `ν•©κ³„μ œμ™Έ λ³€κ²½`
3. μ§€μΆœ 읽기(λͺ©λ‘)
    1. 쑰회 κΈ°μ€€: `κΈ°κ°„(ν•„μˆ˜ μž…λ ₯)`, `μΉ΄ν…Œκ³ λ¦¬`, `κΈˆμ•‘(μ΅œμ†Œ, μ΅œλŒ€ κΈˆμ•‘)`
    2. 쑰회된 λͺ¨λ“  μ§€μΆœμ˜ `μ§€μΆœ 합계`, `μΉ΄ν…Œκ³ λ¦¬ 별 μ§€μΆœ 합계` 포함
    3. `ν•©κ³„μ œμ™Έ` μ²˜λ¦¬ν•œ μ§€μΆœμ€ λͺ©λ‘μ—λŠ” ν¬ν•¨λ˜μ§€λ§Œ, λͺ¨λ“  `μ§€μΆœ 합계`μ—μ„œλŠ” μ œμ™Έ
    4. νŽ˜μ΄μ§• κΈ°λŠ₯ 포함

### 4. μ§€μΆœ μ»¨μ„€νŒ…

1. 였늘 μ§€μΆœ κ°€λŠ₯ν•œ κΈˆμ•‘ μΆ”μ²œ
    1. `월별` μ˜ˆμ‚°μ„ 만쑱 μ‹œν‚€λŠ” 였늘 μ‚¬μš©κ°€λŠ₯ν•œ `총앑`κ³Ό `μΉ΄ν…Œκ³ λ¦¬ 별 κΈˆμ•‘` μΆ”μ²œ
    2. 이번 λ‹¬μ˜ `남은 일수` κ³ λ €
    3. 0원 λ˜λŠ” 음수이면 μ•ˆλ˜κ³  `μ΅œμ†Œ μΆ”μ²œ κΈˆμ•‘`을 μ„€μ •

2. μœ μ € 상황에 λ§žλŠ” `μ‘°μ–Έ 멘트`

   κΈ°μ€€μΉ˜ 계산 = `μ§€κΈˆκΉŒμ§€ μ‚¬μš©ν•œ μ§€μΆœ λΉ„μœ¨ 계산` / `μ›λž˜ μ‚¬μš©ν•΄μ•Ό ν•  μ˜ˆμ‚°`
    1. 맀달 1일 일 λ•Œ
        - 이번 달에도 μ—΄μ‹¬νžˆ μ˜ˆμ‚°κ΄€λ¦¬λ₯Ό ν•΄λ΄μš”!
    2. 잘 아끼고 μžˆμ„ λ•Œ (κΈ°μ€€μΉ˜ 1.3이상)
        - 잘 아끼고 μžˆμ–΄μš”. ν˜„λͺ…ν•œ μ†ŒλΉ„λ₯Ό ν•˜κ³  κ³„μ‹œλ„€μš”
    3. μ λ‹Ήνžˆ μ‚¬μš© 쀑 일 λ•Œ (κΈ°μ€€μΉ˜ 1.3 ~ 1.0 이상)
        - μ λ‹Ήνžˆ μ‚¬μš© μ€‘μ΄μ‹œλ„€μš”. 쑰절된 μ†ŒλΉ„λŠ” μ€‘μš”ν•΄μš”
    4. 기쀀을 λ„˜μ—ˆμ„ λ•Œ (κΈ°μ€€μΉ˜ 1.0 미만)
        - 기쀀을 쑰금 λ„˜μ—ˆμ–΄μš”. μ§€μΆœμ„ λ‹€μ‹œ κ²€ν† ν•΄λ³΄λŠ” 것도 μ’‹κ² μ–΄μš”.
    5. μ˜ˆμ‚°μ„ μ΄ˆκ³Όν–ˆμ„ λ•Œ (κΈ°μ€€μΉ˜ 0.0)
        - μ˜ˆμ‚°μ„ μ΄ˆκ³Όν–ˆμ–΄μš”. μ†ŒλΉ„ νŒ¨ν„΄μ„ λ‹€μ‹œ μ‚΄νŽ΄λ³΄λŠ” 게 μ’‹κ² μ–΄μš”.
3. 100원 λ‹¨μœ„ `λ°˜μ˜¬λ¦Όν•œ κΈˆμ•‘`으둜 μΆ”μ²œ
4. μŠ€μΌ€μ₯΄λŸ¬ 및 μ›Ήν›…μœΌλ‘œ `μ•ŒλžŒ` κ΅¬ν˜„ (선택 사항)
5. 였늘 μ§€μΆœν•œ λ‚΄μš© μ•ˆλ‚΄
    1. `총앑`, `μΉ΄ν…Œκ³ λ¦¬ 별 κΈˆμ•‘` μ•ˆλ‚΄
    2. `적정 κΈˆμ•‘`, `μ§€μΆœ κΈˆμ•‘`, `μœ„ν—˜λ„` λ₯Ό μΉ΄ν…Œκ³ λ¦¬ λ³„λ‘œ μ•ˆλ‚΄

### 5. μ§€μΆœ 톡계

> μ‚¬μš©μžμ˜ 톡계데이터 생성을 μœ„ν•΄ Dummy 데이터λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

- `μ§€λ‚œ 달` λŒ€λΉ„ `총앑`, `μΉ΄ν…Œκ³ λ¦¬ 별` μ†ŒλΉ„μœ¨
    - μ§€λ‚œ λ‹¬μ˜ 였늘 μΌμ°¨κΉŒμ§€ ν•΄λ‹Ήν•˜λŠ” κ³Όκ±° λͺ¨λ“  데이터 기둝 λŒ€λΉ„
- `μ§€λ‚œ μš”μΌ` λŒ€λΉ„ μ†ŒλΉ„μœ¨
    - 였늘 μš”μΌμ— ν•΄λ‹Ήλ˜λŠ” κ³Όκ±° λͺ¨λ“  데이터 기둝 λŒ€λΉ„
- `λ‹€λ₯Έ μœ μ €` λŒ€λΉ„ μ†ŒλΉ„μœ¨
    - λ‹€λ₯Έ μœ μ €μ˜ μ˜€λŠ˜μ— ν•΄λ‹Ήν•˜λŠ” μ˜ˆμ‚°
    - λ‹€λ₯Έ μœ μ €μ˜ μ†ŒλΉ„μœ¨κ³Ό λ‚˜μ˜ μ†ŒλΉ„μœ¨ λŒ€ν•œ 평균 λΉ„μœ¨

### 6. μΆ”κ°€

- Docker 적용
- AWS EC2, RDSλ₯Ό μ΄μš©ν•œ 배포
- Discord μ•ŒλžŒ μ‚¬μš©

### + 의문

#### 1. κΈ°μ‘΄ λͺ¨λ“  μœ μ €λ“€μ˜ μΉ΄ν…Œκ³ λ¦¬ 별 μ˜ˆμ‚°μ„ 톡계λ₯Ό ꡬ할 λ•Œ, κ³„μ‚°ν•˜λŠ”λ° μ˜€λž˜κ±Έλ¦¬μ§€ μ•Šμ„κΉŒ?

- λ§Œμ•½ μ„œλΉ„μŠ€κ°€ 컀질 것을 μ˜ˆμƒν•˜λ©΄, μΉ΄ν…Œκ³ λ¦¬ λ³„λ‘œ λͺ¨λ“  μœ μ €λ“€μ˜ μ‚¬μš© %λ₯Ό κ°€μ§„ 컬럼으둜 관리 ν•  수 μžˆμ„ 것 κ°™λ‹€.

#### 2. μ˜ˆμ‚° 섀계 μΆ”μ²œ μ‹œμŠ€ν…œμ—μ„œ κΌ­ νšŒμ›μ΄ μš”κ΅¬ν•œ λˆμ— λ”± 맞게 μΆ”μ²œν•΄μ€˜μ•Όν• κΉŒ?

- κ²°κ΅­ μ†Œμˆ˜μ μœΌλ‘œ 떨어지에, 100 λ‹¨μœ„λ‘œ μ •ν™•ν•˜κ²Œ μ£ΌλŠ”κ±΄ λΆˆκ°€λŠ₯.
- 두가지 경우둜 κ΅¬ν˜„ κ°€λŠ₯
    1. μš”κ΅¬ν•œ λˆμ—μ„œ +- 300원 였차 λ°œμƒν•˜μ§€λ§Œ, μ •ν™•ν•œ νΌμ„ΌνŠΈλ‘œ μΆ”μ²œ. (채택)
    2. λˆμ— λ”± 맞게 μΆ”μ²œν•˜μ§€λ§Œ, μ •ν™•ν•œ νΌμ„ΌνŠΈλŠ” μ•„λ‹˜.

Discord webHook 을 톡해 κ΅¬ν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

1. νšŒμ› 상황에 λ§žλŠ” 멘트 호좜

image

2. νšŒμ›μ˜ 였늘 μΉ΄ν…Œκ³ λ¦¬λ³„ μ§€μΆœ μΆ”μ²œ

image

Git Projects μ‚¬μš©

Git Projects 링크

처음 λͺ¨μŠ΅ (클릭)

image

μ’…λ£Œ ν›„ λͺ¨μŠ΅ (클릭)

image

Erd Cloud

image

μžμ„Ένžˆ (클릭)
src
β”œβ”€ docs
β”‚  └─ asciidoc
β”œβ”€ main
β”‚  β”œβ”€ java
β”‚  β”‚  └─ com
β”‚  β”‚     └─ personal
β”‚  β”‚        └─ smartbudgetcraft
β”‚  β”‚           β”œβ”€ domain
β”‚  β”‚           β”‚  β”œβ”€ auth
β”‚  β”‚           β”‚  β”‚  β”œβ”€ api
β”‚  β”‚           β”‚  β”‚  └─ application
β”‚  β”‚           β”‚  β”‚     └─ security
β”‚  β”‚           β”‚  β”œβ”€ category
β”‚  β”‚           β”‚  β”‚  └─ cost
β”‚  β”‚           β”‚  β”‚     β”œβ”€ dao
β”‚  β”‚           β”‚  β”‚     └─ entity
β”‚  β”‚           β”‚  β”œβ”€ deposit
β”‚  β”‚           β”‚  β”‚  β”œβ”€ api
β”‚  β”‚           β”‚  β”‚  β”œβ”€ application
β”‚  β”‚           β”‚  β”‚  β”œβ”€ dao
β”‚  β”‚           β”‚  β”‚  β”œβ”€ dto
β”‚  β”‚           β”‚  β”‚  β”‚  β”œβ”€ request
β”‚  β”‚           β”‚  β”‚  β”‚  └─ response
β”‚  β”‚           β”‚  β”‚  └─ entity
β”‚  β”‚           β”‚  β”œβ”€ expenditure
β”‚  β”‚           β”‚  β”‚  β”œβ”€ api
β”‚  β”‚           β”‚  β”‚  β”œβ”€ application
β”‚  β”‚           β”‚  β”‚  β”œβ”€ constant
β”‚  β”‚           β”‚  β”‚  β”œβ”€ dao
β”‚  β”‚           β”‚  β”‚  β”‚  └─ querydsl
β”‚  β”‚           β”‚  β”‚  β”œβ”€ dto
β”‚  β”‚           β”‚  β”‚  β”‚  β”œβ”€ request
β”‚  β”‚           β”‚  β”‚  β”‚  └─ response
β”‚  β”‚           β”‚  β”‚  └─ entity
β”‚  β”‚           β”‚  └─ member
β”‚  β”‚           β”‚     β”œβ”€ api
β”‚  β”‚           β”‚     β”œβ”€ application
β”‚  β”‚           β”‚     β”œβ”€ dao
β”‚  β”‚           β”‚     β”‚  β”œβ”€ budgettracking
β”‚  β”‚           β”‚     β”œβ”€ dto
β”‚  β”‚           β”‚     β”‚  β”œβ”€ request
β”‚  β”‚           β”‚     β”‚  └─ response
β”‚  β”‚           β”‚     └─ entity
β”‚  β”‚           β”‚        └─ budgettracking
β”‚  β”‚           β”œβ”€ global
β”‚  β”‚           β”‚  β”œβ”€ config
β”‚  β”‚           β”‚  β”‚  β”œβ”€ jpa
β”‚  β”‚           β”‚  β”‚  β”œβ”€ p6spy
β”‚  β”‚           β”‚  β”‚  β”œβ”€ redis
β”‚  β”‚           β”‚  β”‚  β”‚  β”œβ”€ dao
β”‚  β”‚           β”‚  β”‚  β”œβ”€ security
β”‚  β”‚           β”‚  β”‚  β”‚  β”œβ”€ annotation
β”‚  β”‚           β”‚  β”‚  β”‚  β”œβ”€ data
β”‚  β”‚           β”‚  β”‚  β”‚  β”œβ”€ filter
β”‚  β”‚           β”‚  β”‚  β”‚  β”œβ”€ handler
β”‚  β”‚           β”‚  β”‚  β”œβ”€ valid
β”‚  β”‚           β”‚  β”‚  β”‚  └─ annotation
β”‚  β”‚           β”‚  β”‚  └─ web
β”‚  β”‚           β”‚  β”œβ”€ dto
β”‚  β”‚           β”‚  β”‚  └─ response
β”‚  β”‚           β”‚  β”œβ”€ entity
β”‚  β”‚           β”‚  β”œβ”€ error
β”‚  β”‚           β”‚  β”œβ”€ external
β”‚  β”‚           β”‚  β”‚  └─ discord
β”‚  β”‚           β”‚  β”‚     β”œβ”€ api
β”‚  β”‚           β”‚  β”‚     └─ application
β”‚  β”‚           β”‚  └─ schedule
β”‚  β”‚           └─ SmartBudgetCraftApplication.java
β”‚  └─ resources
...

Spring Rest Docs 기반 API λͺ…μ„Έμ„œ

image

βœ… 70/70 (2.745s)

Mockito & JUnit5 기반 계측별 λ‹¨μœ„

image

N+1을 ν•΄κ²°ν•˜λŠ” BatchSize와 fetchJoin의 μ°¨μ΄λŠ” λ¬΄μ—‡μΌκΉŒ?

필터링 queryλ¬Έ VS Stream

localDate와 Date 차이

μ •ν™•ν•œ 계산 λΉ…λ°μ‹œλ§ˆ 무쑰건 μ¨μ•Όν• κΉŒ?

RefreshToken은 μ™œ Redisλ₯Ό ꢌμž₯ν• κΉŒ?

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors