Skip to content

Commit

Permalink
Merge branch 'Docs/issue-#226' of https://github.com/kakao-tech-campu…
Browse files Browse the repository at this point in the history
…s-2nd-step3/Team8_BE into Docs/issue-#226
  • Loading branch information
GitJIHO committed Nov 14, 2024
2 parents 99afb57 + d30221a commit 2f360cd
Showing 1 changed file with 163 additions and 1 deletion.
164 changes: 163 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@
- [2. 포인트](#2-포인트)
- [3. 콜백 μ„œλΉ„μŠ€](#3-콜백-μ„œλΉ„μŠ€)
- [4. μ•ˆλΆ€ μ „ν™” μ„œλΉ„μŠ€](#4-μ•ˆλΆ€-μ „ν™”-μ„œλΉ„μŠ€)

- [πŸ“‚ 디렉토리 ꡬ쑰](#디렉토리-ꡬ쑰)
- [πŸ‘©β€πŸ‘©β€πŸ‘§β€πŸ‘§ ν˜‘μ—… κ³Όμ •](#ν˜‘μ—…-κ³Όμ •)
## πŸš€ 배포 μ£Όμ†Œ
### βœ”οΈ Client
[https://sinitto.life/](https://sinitto.life/)
Expand Down Expand Up @@ -423,3 +424,164 @@ redis-server
β€™λ³΄ν˜Έμžβ€˜λŠ” β€™μ„œλΉ„μŠ€ μ΄μš©λ‚΄μ—­β€˜ νŽ˜μ΄μ§€μ—μ„œ μ™„λ£Œ λŒ€κΈ° μƒνƒœμΈ μ•ˆλΆ€μ „ν™” μ„œλΉ„μŠ€λ₯Ό
μ™„λ£Œμƒνƒœλ‘œ λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
## 디렉토리 ꡬ쑰
```c
Team8_BE
└── src
β”œβ”€β”€ main
β”‚Β Β  β”œβ”€β”€ java
β”‚Β Β  β”‚Β Β  └── com
β”‚Β Β  β”‚Β Β  └── example
β”‚Β Β  β”‚Β Β  └── sinitto
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ auth
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ controller
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ dto
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ entity
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ repository
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── service
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ callback
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ controller
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ dto
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ entity
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ repository
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ service
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── util
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ common
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ config
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ dummy
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exception
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ interceptor
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ properties
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── service
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ guard
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ controller
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ dto
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ repository
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── service
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ guardGuideline
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ controller
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ dto
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ entity
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ repository
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── service
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ helloCall
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ controller
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ dto
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ entity
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ repository
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── service
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ member
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ controller
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ dto
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ entity
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ repository
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── service
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ point
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ controller
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ dto
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ entity
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ repository
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── service
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ review
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ controller
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ dto
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ entity
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ repository
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── service
β”‚Β Β  β”‚Β Β  └── sinitto
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ controller
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ dto
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ entity
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ repository
β”‚Β Β  β”‚Β Β  └── service
β”‚Β Β  └── resources
β”‚Β Β  β”œβ”€β”€ application-dev.properties
β”‚Β Β  β”œβ”€β”€ application.properties
β”‚Β Β  β”œβ”€β”€ keystore.p12
β”‚Β Β  β”œβ”€β”€ static
β”‚Β Β  β”‚Β Β  └── css
β”‚Β Β  └── templates
β”‚Β Β  β”œβ”€β”€ dummy
β”‚Β Β  └── point
└── test
└── java
└── com
└── example
└── sinitto
β”œβ”€β”€ auth
β”‚Β Β  β”œβ”€β”€ entity
β”‚Β Β  β”œβ”€β”€ repository
β”‚Β Β  └── service
β”œβ”€β”€ callback
β”‚Β Β  β”œβ”€β”€ entity
β”‚Β Β  β”œβ”€β”€ repository
β”‚Β Β  β”œβ”€β”€ service
β”‚Β Β  └── util
β”œβ”€β”€ guard
β”‚Β Β  β”œβ”€β”€ entity
β”‚Β Β  β”œβ”€β”€ repository
β”‚Β Β  └── service
β”œβ”€β”€ guardGuideline
β”‚Β Β  β”œβ”€β”€ entity
β”‚Β Β  β”œβ”€β”€ repository
β”‚Β Β  └── service
β”œβ”€β”€ hellocall
β”‚Β Β  β”œβ”€β”€ entity
β”‚Β Β  β”œβ”€β”€ repository
β”‚Β Β  └── service
β”œβ”€β”€ member
β”‚Β Β  β”œβ”€β”€ entity
β”‚Β Β  β”œβ”€β”€ repository
β”‚Β Β  └── service
β”œβ”€β”€ point
β”‚Β Β  β”œβ”€β”€ entity
β”‚Β Β  └── service
β”œβ”€β”€ review
β”‚Β Β  β”œβ”€β”€ entity
β”‚Β Β  └── service
└── sinitto
β”œβ”€β”€ entity
β”œβ”€β”€ repository
└── service
```

## ν˜‘μ—… κ³Όμ •

ν”„λ‘ νŠΈμ—”λ“œ-λ°±μ—”λ“œ κ°„ ν˜‘μ—… κ³Όμ • 쀑 제곡된 apiλ₯Ό μ—°κ²°ν•˜λŠ” κ³Όμ •μ—μ„œ μ†Œν†΅μ— 어렀움이 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

ν•™μ—…κ³Ό 병행할 수 μžˆλŠ” μΉ΄μΉ΄μ˜€ν…Œν¬μΊ νΌμŠ€μ˜ νŠΉμ„± 상 μ‘°μ›λ“€λ§ˆλ‹€ κ°œλ°œμ„ μ§„ν–‰ν•˜λŠ” μ‹œκ°„μ΄ 달라 μ‹€μ‹œκ°„μœΌλ‘œ
문제λ₯Ό ν•΄κ²°ν•˜κΈ° μ–΄λ €μš΄ 문제점이 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ ν”„λ‘ νŠΈμ—”λ“œμ—μ„œ λ°±μ—”λ“œ μ„œλ²„λ‘œ apiλ₯Ό 톡해 μš”μ²­μ„ λ³΄λƒˆμ„ λ•Œ,
μ—λŸ¬κ°€ λ°œμƒν–ˆμ„ 경우 μžμ„Έν•œ 였λ₯˜ λ©”μ‹œμ§€κ°€ 응닡을 톡해 λ‚˜νƒ€λ‚˜μ§€ μ•Šμ•˜μœΌλ©°, μ‹€μ œ 였λ₯˜ λ‚΄μš©μ€
λ°±μ—”λ“œ μ„œλ²„μ— κΈ°λ‘λ˜λŠ” λ¬Έμ œκ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

λ˜ν•œ λ°±μ—”λ“œ λ‹΄λ‹Ή μ‘°μ›μ—κ²Œ μ§ˆλ¬Έμ„ ν•˜λ”λΌλ„ 닡변을 λ°›κΈ° μ „κΉŒμ§€λŠ” κ·Έλ™μ•ˆ ν•˜λ˜ μž‘μ—…μ„
μ§„ν–‰ν•˜μ§€ λͺ»ν•˜λŠ” λ¬Έμ œκ°€ 생겨, 전체적인 개발 속도가 λŠλ €μ§€λŠ” λ¬Έμ œκ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

μ΄λŸ¬ν•œ 방법을 μ–΄λ–»κ²Œ ν•΄κ²°ν•  수 μžˆμ„κΉŒ κ³ λ―Όν•΄λ³΄λ˜ 쀑, κ°€μž₯ λ¨Όμ € λ– μ˜€λ₯Έ 방법은 'μ—λŸ¬ μ½”λ“œκ°€ 생기면
Slack의 채널에 전솑을 ν•˜λŠ” 것' μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

λ°±μ—”λ“œ μ„œλ²„μ—μ„œ μžλ°” νŒŒμΌμ„ μ‹€ν–‰ν•  경우 nohup λͺ…λ ¬μ–΄λ₯Ό 톡해 μ‹€ν–‰ν•˜λŠ”λ°, 이 λ•Œ μžλ°” νŒŒμΌμ„ μ‹€ν–‰ν•œ 기둝이
out ν™•μž₯자 νŒŒμΌμ— λ‚¨κ²Œ λ©λ‹ˆλ‹€. 이 μ€‘μ—μ„œ μ—λŸ¬κ°€ λ°œμƒν•œ 경우 'ERROR' λΌλŠ” 단어가 포함이 λ˜λŠ”λ°,
μ΄λŸ¬ν•œ νŒ¨ν„΄μ„ ν™•μΈν•˜μ—¬ 'ERROR'이 ν¬ν•¨λœ 단어가 out ν™•μž₯자 νŒŒμΌμ— 기둝되면 Slack의 'μ„œλ²„-둜그' 채널에
μ „μ†‘λ˜λ„λ‘ ν•˜μ˜€μŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 ν”„λ‘ νŠΈμ—”λ“œ κ°œλ°œμžλΆ„λ“€μ΄ μ–΄λ– ν•œ 였λ₯˜μΈμ§€ 확인할 수 있게 ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ ν•œ 가지 λ¬Έμ œκ°€ 더 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 개발 μ–Έμ–΄κ°€ λ‹€λ₯΄κΈ° λ•Œλ¬Έμ— ν”„λ‘ νŠΈμ—”λ“œμ˜ 경우 μžλ°”μ—μ„œ λ°œμƒν•˜λŠ”
μ—λŸ¬μ½”λ“œλ₯Ό μ½λŠ”λ° 어렀움이 μžˆλ‹€λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€. μ‹€μ œλ‘œ ν”„λ‘ νŠΈμ—”λ“œ κ°œλ°œμžλΆ„λ“€κ»˜ ν•΄λ‹Ή μ—λŸ¬μ½”λ“œμ— λŒ€ν•΄
이해가 λ˜λŠ”μ§€ 물어봀을 λ•Œ, μ΄ν•΄ν•˜κΈ°κ°€ μ–΄λ €μ›Œ ChatGPT와 같은 LLM λͺ¨λΈμ— μ—λŸ¬μ½”λ“œλ₯Ό λ³΅μ‚¬ν•˜μ—¬ μ§ˆλ¬Έμ„
ν•œλ‹€λŠ” 닡변을 λ°›μ•˜μŠ΅λ‹ˆλ‹€.

μ΄λŸ¬ν•œ λΆˆνŽΈν•¨μ„ ν•΄κ²°ν•˜κΈ° μœ„ν•΄, ν˜„μž¬ 무료둜 μ΄μš©ν•  수 μžˆλŠ” LLM λͺ¨λΈμΈ Upstage의 'Solar-pro' λͺ¨λΈκ³Ό
연결을 ν•˜μ—¬ 이λ₯Ό ν•΄κ²°ν•˜μ˜€μŠ΅λ‹ˆλ‹€. 기쑴의 μ—λŸ¬μ½”λ“œλ₯Ό Slack에 λ°”λ‘œ μ „μ†‘ν•˜λŠ” λŒ€μ‹ , ν•΄λ‹Ή λ©”μ‹œμ§€λ₯Ό
rest μš”μ²­μ„ 톡해 LLM λͺ¨λΈμ— 닡변을 λ°›κ³ , ν•΄λ‹Ή 닡변을 ν¬ν•¨ν•˜μ—¬ μ—λŸ¬μ½”λ“œμ™€ 같이 보내도둝 λ³€κ²½ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

μ΄λŸ¬ν•œ 과정을 ν†΅ν•˜μ—¬ 개발 κ³Όμ •μ—μ„œμ˜ μ†Œν†΅μ˜ 어렀움을 ν•΄κ²°ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

μ•„λž˜λŠ” μ‹€μ œ 개발 κ³Όμ •μ—μ„œ μ‚¬μš©λœ λ‚΄μ—­μž…λ‹ˆλ‹€. ν•΄λ‹Ή λ‚΄μš©κ³Ό κ΄€λ ¨λœ μ‰˜ μŠ€ν¬λ¦½νŠΈλŠ” λ°±μ—”λ“œ λ‚΄λΆ€ μ‰˜μŠ€ν¬λ¦½νŠΈ λͺ¨μŒ
(https://www.notion.so/3ce05a49e06046469bde14c12b8b9c00) 쀑 'μ„œλ²„μ—λŸ¬ μžλ™ 곡지 κ΄€λ ¨μ½”λ“œ' μ—μ„œ
확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
![image](https://github.com/user-attachments/assets/0f7ee6d3-f468-4f48-9e5f-91beaaeefb8a)


0 comments on commit 2f360cd

Please sign in to comment.