๋น ๋ฅด๊ฒ ๋ณํ๋ IT ํธ๋ ๋์ ๊ธฐ์ ์คํ์ ์ฝ๊ฒ ๋ค์ ์ ์๋ ํ์บ์คํธ ์๋น์ค์ ๋๋ค. ๋ณต์กํ ๋ฌธ์๋ ๊ธด ๊ธ ๋์ , ์ํ๋ ์ ๋ณด๋ฅผ ๋ค์ผ๋ฉฐ IT ์ธ์์ ๋ฐ๋ผ๊ฐ ๋ณด์ธ์.
๊ฐ๋ฐ์๋ฅผ ์ํ ์ค๋์ค ํ์ต ํ๋ซํผ, ํ์ด๋ฆฟ(hEARit)์ด ์ฌ๋ฌ๋ถ์ ๊ท๋ฅผ ์ฑ์๋๋ฆฝ๋๋ค.
์ค๋ ์ถ์ฒํ๋ ํ์บ์คํธ, ๊ด์ฌ ์๋ ์นดํ ๊ณ ๋ฆฌ์ ํ์บ์คํธ๋ฅผ ๋ฐ๋ก ๋ณผ ์ ์์ด์ ๐ง
์ง๊ธ ๋ฑ, ๋น์ ์ด ์ข์ํ ์ฝํ ์ธ !
๊ด์ฌ ์๋ ์นดํ ๊ณ ๋ฆฌ์ ํ์บ์คํธ๋ฅผ ํ๋์ ๋ณด๊ณ , ํ ํ๋ฉด์์ ๋ฐ๋ก ๋ค์ด๋ณด์ธ์.
์๋ก ์ฌ๋ผ์จ ํ์บ์คํธ๋ถํฐ ์ฆ๊ฒจ ๋ฃ๋ ์ฝํ ์ธ ๊น์ง ๋์น์ง ์๊ณ ๋ง๋๋ณผ ์ ์์ด์.
์งง๊ฒ, ๋น ๋ฅด๊ฒ, ์์ ๋กญ๊ฒ!
์์๋๋ก ์คํฌ๋กคํ๋ฉฐ ๋ค์ํ ํ์บ์คํธ๋ฅผ ํ์ํด๋ณด์ธ์.
๋น์ ์ ์ทจํฅ์ ๋ง๋ IT ์ฝํ ์ธ ๋ฅผ ์ฝ๊ฒ ๋ฐ๊ฒฌํ ์ ์์ต๋๋ค.
๋ฃ๋ ์ฌ๋ฏธ์ ๋ณด๋ ์ฌ๋ฏธ๊น์ง!
์คํฌ๋ฆฝํธ์ ์ถ์ฒ๋ฅผ ํจ๊ป ๋ณด๋ฉฐ ๋ ํ์ฑํ๊ฒ ์ฆ๊ฒจ๋ณด์ธ์.
์์ฝ๊ณผ ์ฐธ๊ณ ์๋ฃ๊น์ง ํ๋์ ํ์ธํ ์ ์์ต๋๋ค.
๋ฃ๊ณ ์ถ์ ํ์บ์คํธ, ๋ฐ๋ก ์ฐพ๊ธฐ!
์ ๋ชฉ์ด๋ ํค์๋๋ก ์ํ๋ ์ฝํ ์ธ ๋ฅผ ๊ฒ์ํ๊ณ , ์นดํ ๊ณ ๋ฆฌ๋ณ๋ก ์ ๋ฆฌ๋ ํ์บ์คํธ๋ ํ๋์ ํ์ธํด๋ณด์ธ์.
์์ฃผ ๋ฃ๋ ์ฝํ ์ธ ๋ ์ต๊ทผ ๊ฒ์์ด๋ก ์์ฝ๊ฒ ๋ค์ ์ฐพ์๋ณผ ์ ์์ต๋๋ค.
| ์กฐ์ด(๊น๊ฐํ) | ๋ฏธํ(ํจ๋ฒ์ค) | ๋น๋น(์ฅ๋ฏผ์ ) |
|---|---|---|
| ์ฌ๋(์กฐ์์ฐ) | ๋ฉ๊ตฌ(์ด์ ์) | ๋ฒกํฐ(๋ฐฑ์น์ฃผ) | ๊ฐ์ฝฉ(์ต๊ฐ๋น) |
|---|---|---|---|
| ๊ตฌ๋ถ | ์ฌ์ฉ ๊ธฐ์ |
|---|---|
| Language | Kotlin, XML |
| Architecture | MVVM |
| Network | Retrofit, OkHttp |
| Serialization | kotlinx-serialization |
| Async | Coroutines |
| Jetpack | Compose, ViewModel, DataBinding, Notification, Media3, LiveData, RecyclerView, Navigation |
| ThirdParty | Lottie, Flexbox, Coil, Kakao SDK, Firebase Analytics, Firebase Crashlytics, Timber |
| LocalDB | RoomDB, DataStore |
| Test | JUnit5, Junit4, Espresso, AssertJ |
| ๊ตฌ๋ถ | ์ฌ์ฉ ๊ธฐ์ |
|---|---|
| Language / Framwork | Java 21, Spring Boot 3.5.3 |
| Library | Spring Security, JPA, JWT, Lombok |
| Database | MySQL, H2 |
| Infra | AWS EC2, S3, Nginx, Docker |
| Build Tool | Gradle |
| CI/CD | GitHub Actions(Self-hosted Runner) |
| Test | JUnit 5, AssertJ, RestAssured, MockMvc, Mockito |
| Document | Swagger, Spring REST Docs |
| Monitoring / Observability | Grafana, Prometheus, Loki, Tempo, Node Exporter, Mysqld Exporter |
| Logging | Log4j2, Promtail |
| Security / Auth | JWT, HTTPS |
- 26์ผ(9/25~10/20)๋ง์ ์ฑ ์ฌ์ฉ์ 101๋ช ์ ์ถ๊ฐ ํ๋ณดํ์ฌ ์ด 141๋ช ์ ์ฌ์ฉ์ ๋ฌ์ฑ (์ด๊ธฐ 40๋ช )
- Media3 ๊ธฐ๋ฐ ์ค๋์ค ์ฌ์ ๊ธฐ๋ฅ์ผ๋ก ์์ ์ ์ด๊ณ ๋๊น ์๋ ์ฒญ์ทจ ๊ฒฝํ ์ ๊ณต
- ๋ฐฑ๊ทธ๋ผ์ด๋ ์ฌ์ ๋ฐ ์ด์ด๋ฃ๊ธฐ ๊ธฐ๋ฅ ์ง์์ผ๋ก ๋ชฐ์ ๊ฐ ๋์ ์ฌ์ฉ์ ๊ฒฝํ ๊ตฌํ
- ํ์ / ๋นํ์ ๋ชจ๋ ์ด์ฉ ๊ฐ๋ฅํ ๊ตฌ์กฐ๋ก ์ ๊ทผ์ฑ๊ณผ ์ง์ ์ฅ๋ฒฝ ์ต์ํ
- ์ฑ ์ ๋ฐ์ ๋์์ธ๊ณผ ์ธํฐ๋์ ์ ์ง์ ์ค๊ณํ์ฌ hEARit ์ ์ฒด์ฑ๊ณผ ์ผ๊ด๋ ์ฌ์ฉ์ ๊ฒฝํ ์ ๊ณต
- ์ฌ์ฉ์ ์ค์ฌ์ ์ง๊ด์ UI์ ์๋ง, ์ ๋๋ฉ์ด์ ํจ๊ณผ ๊ตฌํ์ผ๋ก ๋๊ตฌ๋ ์ฝ๊ฒ ์ฝํ ์ธ ๋ฅผ ์ฐพ๊ณ ๋ชฐ์ ํ ์ ์๋๋ก ํจ
- ์ถ์ฒ, ๋ถ๋งํฌ, ์ต๊ทผ ์ฌ์ ๋ฑ ๊ฐ์ธํ๋ ํ ํ๋ฉด ๊ตฌ์ฑ์ผ๋ก ์ฌ๋ฐฉ๋ฌธ ์ ๋
- Firebase Analytics & Crashlytics ์ฐ๋์ผ๋ก ์ฌ์ฉ์ ํ๋ ๋ถ์ ๋ฐ ์ง์์ ์ธ ํ์ง ๊ฐ์
- ์ฌ์ฉ์ ๋ง์ถค ์ถ์ฒ ์์คํ
๊ตฌ์ถ
- ์ฝํ ์ธ ๊ธฐ๋ฐ ํํฐ๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉํด ์ํผ ํ์บ์คํธ๋ฅผ ๊ฐ์ธํ ์ถ์ฒ (๋ถ๋งํฌ, ์ฌ์ ๊ธฐ๋ก, ์ต์ ์ฝํ ์ธ ๋ฐ์ดํฐ ํ์ฉ)
- ํ ํ๋ฉด์ ์ฌ์ฉ์๊ฐ ๋ถ๋งํฌํ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง์ถคํ ์ฝํ ์ธ ์ ๊ณต
- API ๋ฒ์ ๊ด๋ฆฌ๋ก ํ์ ํธํ์ฑ ๋ณด์ฅ
- ์ฑ ์ ๋ฐ์ดํธ ์ดํ์๋ ์ด์ ๋ฒ์ ์ฌ์ฉ์๊ฐ ์์ ์ ์ผ๋ก ์ด์ฉํ ์ ์๋๋ก ๋ฒ์ ๋ณ API ๊ด๋ฆฌ ์ฒด๊ณ ๊ตฌ์ถ
- ํจ์จ์ ์ธ ํ์
์ ์ํ API ๋ฌธ์ ์๋ํ
- Spring Rest Docs์ Swagger UI๋ฅผ ์ฐ๋ํด ํ ์คํธ ๊ธฐ๋ฐ ๋ฌธ์ ์๋ ์์ฑ ๊ฐ๋ฐ
- ์ฝ๋์ ๋ฌธ์ ๊ฐ ๋ถ์ผ์น๋ฅผ ์ ๊ฑฐํ์ฌ ๋น ๋ฅธ MVP ๊ฐ๋ฐ๊ณผ ํ์ ํจ์จ์ฑ ํฅ์
- DB ๋ถํ ์ต์ํ๋ฅผ ์ํ ๋ฐฐ์น ์ ์ฅ ๊ตฌ์กฐ ๋์
- ์ฌ์ ๊ธฐ๋ก์ ๋น๋ฒํ ์ ์ฅ ์์ฒญ์ ์ค์ผ์ค๋ฌ ๊ธฐ๋ฐ ๋ฐฐ์น ์ฒ๋ฆฌ๋ก ์ ํ
- ์์ฒญ๋น ์ฒ๋ฆฌ ๋ถํ๋ฅผ ์ค์ด๊ณ , ๋ฐ์ดํฐ ์ผ๊ด ์ ์ฅ์ผ๋ก ์ฑ๋ฅ ์ต์ ํ
ํ์ด๋ฆฟ ๊ด๋ จ ์ ๋ณด(๊ธฐ์ ์คํ, ๊ทธ๋ผ์ด๋ ๋ฃฐ, ์ฝ๋ ์ปจ๋ฒค์ , ๊ธฐ์ ๋ฌธ์ํ ๋ฑ)๋ ๋ชจ๋ ์ฌ๊ธฐ ์ ๋ฆฌ๋์ด ์์ต๋๋ค
๐ ํ์ด๋ฆฟ Wiki




