Skip to content

sammy0329/sangchu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

header

๐Ÿฅฌ ๊ฐœ์š”


์‰ฌ์šฐ๋ฉด์„œ ์ „๋ฌธ์ ์ธ ์ƒ๊ถŒ ๋ถ„์„ ๐Ÿ“Š

๐Ÿฅฌ ์š”์‹์—… ๋งž์ถค ๊ณจ๋ชฉ์ƒ๊ถŒ ๋ถ„์„ ์•ฑ ์ƒ์ถ” ๐Ÿฅฌ

"์ƒˆ๋กœ์šด ์‚ฌ์—…์„ ์œ„ํ•ด, ์–ด๋””์— ๋‚˜์˜ ๊ฐ€๊ฒŒ๋ฅผ ์ฐจ๋ฆฌ๋Š” ๊ฒƒ์ด ์ข‹์„๊นŒ?"

์‚ฌ์—…์€ ์ธ์ƒ์„ ๋ฐ”๊ฟ€๋งŒํผ ํฐ ๋ˆ์ด ์˜ค๊ฐ€๋Š” ๋งŒํผ, ๊ทธ ๋ฌด์—‡๋ณด๋‹ค ์‹œ์ž‘์ ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ƒ๊ถŒ์— ๋Œ€ํ•œ ์˜ฌ๋ฐ”๋ฅธ ๋ถ„์„์ด ์‚ฌ์—…์˜ ์„ฑ๊ณต์„ ๊ฐ€๋ฆ…๋‹ˆ๋‹ค.
์šฐ๋ฆฌ๋Š” ์„œ์šธ์‹œ์—์„œ ์Œ์‹์ ์„ ์ฐฝ์—…ํ•˜๊ณ ์ž ํ•˜๋Š” ์ž์˜์—…์ž๋“ค์„ ์œ„ํ•œ ์ƒ๊ถŒ ๋ถ„์„ ๋ฐ ์ถ”์ฒœ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ง์ ‘ ์‚ฌ์šฉํ•ด๋ณด์„ธ์š”. (App store)

๐Ÿฅฌ ์„œ๋น„์Šค ์†Œ๊ฐœ


๐Ÿฅฌ ์ƒ์ถ” ์„œ๋น„์Šค ํ™๋ณด ์˜์ƒ

์„œ์šธ์‹œ ์ƒ๊ถŒ Top 10 ์ถ”์ฒœ (๋ฉ”์ธํ™”๋ฉด)

  • ์„œ์šธ์‹œ์—์„œ ๋– ์˜ค๋ฅด๋Š” ๊ณจ๋ชฉ์ƒ๊ถŒ ์ˆœ์œ„๋ฅผ 10์œ„๊นŒ์ง€ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

img_10.png

์„œ์šธ์‹œ ๊ณจ๋ชฉ ์ƒ๊ถŒ ์ถ”์ฒœ

  • ์ง๊ด€์ ์ธ ์ ์ˆ˜๋กœ ์ตœ๊ณ ์˜ ์ƒ๊ถŒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

img_10.png

์ƒ๊ถŒ ์ง€ํ‘œ ๊ทธ๋ž˜ํ”„

  • ์ธ๊ตฌ, ์ธํ”„๋ผ, ๋งค์ถœ ๊ด€๋ จ ๋‹ค์–‘ํ•œ ์ •๋ณด๋“ค์„ ๊ทธ๋ž˜ํ”„๋กœ ๋น„๊ต ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

img_10.png

์ž์น˜๊ตฌ์™€ ์—…์ข…๋ณ„ ๋ถ„์„

  • ์ฐฝ์—…์„ ์›ํ•˜๋Š” ์ž์น˜๊ตฌ์™€ ์—…์ข…์„ ๊ณ ๋ คํ•˜์—ฌ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    img_10.png img_10.png

๋ถ๋งˆํฌ์™€ ๋ฉ”๋ชจ, ๊ณต์œ  ๊ธฐ๋Šฅ

  • ๋งˆ์Œ์— ๋“œ๋Š” ์ƒ๊ถŒ์„ ๋ถ๋งˆํฌ์— ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์‚ฌ์ง„๊ณผ ํ•จ๊ป˜ ๋ฉ”๋ชจ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ด๋ฅผ ์นด์นด์˜คํ†ก์œผ๋กœ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    img_10.png img_10.png

์ƒ๊ถŒ ์ง€๋„ ๋ฐ ๊ธธ์ฐพ๊ธฐ

  • ์ƒ๊ถŒ ์˜์—ญ์„ ์ง์ ‘ ์ง€๋„๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ฐพ์•„๊ฐ€๊ณ  ์‹ถ๋‹ค๋ฉด ๊ธธ์ฐพ๊ธฐ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

img_10.png


๐Ÿฅฌ ๊ธฐ์ˆ  ์Šคํƒ


1) ๋ชจ๋ฐ”์ผ

์–ธ์–ด: Swift 5.10
ํ”„๋ ˆ์ž„์›Œํฌ: SwiftUI 5.10
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ: Alamofire 5.5, swiftui-image-viewer 1.0.0
๊ฐœ๋ฐœํ™˜๊ฒฝ: XCode 15.3, CocoaPods 1.15.2
๊ทธ ์™ธ: Figma

2) ๋ฐฑ์—”๋“œ

์–ธ์–ด: Java 17, Python 3.11.5
ํ”„๋ ˆ์ž„์›Œํฌ: Springboot 3.2.3, SpringSecurity 6.2.2, JPA 3.2.3
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ: Lombok 1.18.22, Swagger 4.15.5, pandas 2.2.1, redis 5.0.3, scikit-learn 1.4.1.post1, SQLAlchemy 2.0.29
๊ฐœ๋ฐœํ™˜๊ฒฝ: IntelliJ 17.0.9+7-b1087.9 amd64, PyCharm Community Edition 2023.3.3
๊ทธ ์™ธ: ERDCLOUD

3) ํ˜‘์—… ํˆด

์ด์Šˆ ๊ด€๋ฆฌ : JIRA
ํ˜•์ƒ ๊ด€๋ฆฌ : Gitlab, Docker 25.0.4
์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ : Notion, Mattermost, Gerrit

4) ์ธํ”„๋ผ

์„œ๋ฒ„ ํ™˜๊ฒฝ: Amazon EC2 Ubuntu 20.04.6 LTS
์›น ์„œ๋ฒ„: Nginx 1.18.0

5) CI/CD

๋ฐฐํฌ ์ž๋™ํ™” ํŒŒ์ดํ”„๋ผ์ธ: Jenkins jdk17
์•„ํ‹ฐํŒฉํŠธ ์ €์žฅ์†Œ: Sonatype Nexus 3.66.0
์ •์  ๋ถ„์„: SonarQube 4.4.1
๋™์  ๋ถ„์„: Jmeter 5.6.3
์œ ์ € ๋ฉ”ํŠธ๋ฆญ ์ˆ˜์ง‘: Prometheus 2.51.1
๋ถ„์„ ์ •๋ณด ์‹œ๊ฐํ™”: Grafana 10.3.5

6) Database

PostgreSQL 16.2, Redis 7.2.4


๐Ÿฅฌ ERD


  • PostgreSQL ๋‚ด๋ถ€ Data์…‹

img_10.png

  • PostgreSQL Data Table ์—ฐ๊ด€๊ด€๊ณ„

img_14.png


๐Ÿฅฌ ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ชจ๋ธ


1. ์„ ํ˜•ํšŒ๊ท€

img.png

img.png

img_1.png

  • ํ•œ ๊ฐœ ๋˜๋Š” ๊ทธ ์ด์ƒ์˜ ๋ณ€์ˆ˜๋“ค(๋…๋ฆฝ๋ณ€์ˆ˜)์— ๋Œ€ํ•˜์—ฌ ๋‹ค๋ฅธ ๋ณ€์ˆ˜(์ข…์†๋ณ€์ˆ˜) ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ์„ ํ˜• ๋ชจํ˜•์„ ์ด์šฉํ•˜์—ฌ ์„ค๋ช…ํ•˜๊ณ  ์˜ˆ์ธกํ•˜๋Š” ๋ถ„์„๊ธฐ๋ฒ•

img_3.png

  • ๋…๋ฆฝ๋ณ€์ˆ˜๋“ค์„ ์ •๊ทœํ™”ํ•ด์„œ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ ๋ณ€์ˆ˜๋“ค์˜ ๊ฐ’์ด ์„ ํ˜•๊ณผ๋Š” ๊ฑฐ๋ฆฌ๊ฐ€ ๋ฉ€๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค
  • RMSE, MAE๋ฅผ ์‚ดํŽด๋ดค์„ ๋•Œ, ์˜ค์ฐจ์˜ ๋ฒ”์œ„๊ฐ€ ์ปค์„œ ๋ชจ๋ธ ๋ณ€๊ฒฝํ•˜๊ธฐ๋กœ ๊ฒฐ์ •

2. ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ ๋ชจ๋ธ

img_4.png

  • ์˜์‚ฌ๊ฒฐ์ •๋‚˜๋ฌด์— ๋ฐฐ๊น…์ด๋ผ๋Š” ์•™์ƒ๋ธ” ํ•™์Šต์„ ์ ์šฉํ•œ ๋ชจ๋ธ๋กœ, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒฐ์ • ํŠธ๋ฆฌ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ๋” ๊ฐ•๋ ฅํ•œ ๋ถ„๋ฅ˜ ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ๊ณผ์ ‘ํ•ฉ์„ ์ค„์ด๊ณ  ๋ถ„์‚ฐ์„ ๊ฐ์†Œ์‹œ์ผœ ์ •ํ™•๋„๊ฐ€ ๋†’๊ณ  ์˜ˆ์ธก ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐ ํšจ๊ณผ์ 

    • ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ ์ ์šฉ ์ „

    img_5.png

    • ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ ์ ์šฉ ํ›„

    img_6.png

    MSE์™€ MAE ๊ฐ’์ด ๋งŽ์ด ์ค„์–ด๋“ฌ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค

3. ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹

img_7.png

  • ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ ๋ชจ๋ธ์€ 16๊ฐœ์˜ ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฐ–๋Š”๋‹ค

  • ์ด ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•จ์— ๋”ฐ๋ผ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์ด ๋‹ฌ๋ผ์ง„๋‹ค

  • ์ตœ์ ์˜ ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์„ ์ฐพ์•„ ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ์‹œํ‚จ๋‹ค

  • Tree์—์„œ ์ œ์ผ ์ค‘์š”ํ•œ ํŠธ๋ฆฌ์˜ ๊ฐœ์ˆ˜, ํŠธ๋ฆฌ์˜ ์ตœ๋Œ€ ๊นŠ์ด๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์„ค์ •ํ•ด Grid Search ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ์ตœ์ ์˜ ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ ์กฐํ•ฉ์„ ์ฐพ์•„๋‚ธ๋‹ค

    img_8.png

  • ์ด ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’๋“ค์„ ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ ๋ชจ๋ธ์— ์ ์šฉํ•˜์—ฌ ์ฐพ์•„๋‚ธ ์ตœ์ข… ๊ฒฐ๊ณผ img_9.png


๐Ÿฅฌ ํŒ€ ์†Œ๊ฐœ


๐Ÿ‘‘ ๋ฐ•์˜๊ทœ

  • ํŒ€์žฅ(PM), ๋ฐœํ‘œ
  • Backend Springboot ์ ์ˆ˜ ๊ธฐ๋ฐ˜ ์ƒ๊ถŒ ์ถ”์ฒœ ์„œ๋น„์Šค, ์ธํ”„๋ผ ๋ฐ ์ธ๊ตฌ ๊ด€๋ จ ์ง€ํ‘œ์™€ ๊ทธ๋ž˜ํ”„ REST API
  • Infra ๋ฐ CI/CD ์ „๋ฐ˜

๐Ÿ ์•ˆ์ƒ์ค€

  • ๋ชจ๋ฐ”์ผ ๋ฆฌ๋”, Swift
  • Alamofire ๊ธฐ๋ฐ˜ API ํ†ต์‹ , ์ฐจํŠธ ๋ฐ ์ง€๋„ ๋ทฐ, ๊ณต์œ ๊ธฐ๋Šฅ
  • ๋…ธ์…˜ ๋ฌธ์„œํ™” ์ž‘์—… ๋ฐ ์„œ๊ธฐ

๐ŸŽ ์–‘ํฌํƒœ

  • ๋ชจ๋ฐ”์ผ Swift, ๋””์ž์ธ
  • Alamofire ๊ธฐ๋ฐ˜ ์ฐจํŠธ ๋ฐ ๋žญํ‚น API ํ†ต์‹ , ๋ถ๋งˆํฌ ๋ฐ ์นด๋ฉ”๋ผ ํ•ด์‹œํƒœ๊ทธ, ์ „์ฒด ๋””์ž์ธ

๐Ÿ“Š ์œค์ •์ธ

  • ๋น…๋ฐ์ดํ„ฐ ๋ชจ๋ธ ๊ฐœ๋ฐœ
  • Backend REST API ๋ฆฌํŒฉํ† ๋ง

๐Ÿ‘ฉโ€๐Ÿ’ป ๊น€ํฌ์ฃผ

  • Backend ๋ฆฌ๋”, ๋””์ž์ธ
  • Backend Springboot ๋งค์ถœ ๊ทธ๋ž˜ํ”„ REST API, ๋””๋ฒ„๊ทธ, ๋ฆฌํŒฉํ† ๋ง
  • ๋ฐ์ดํ„ฐ ๊ทธ๋ž˜ํ”„ ์‹œ๊ฐํ™”

๐ŸŽˆ ์•ˆ์„ฑ์žฌ

  • ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ
  • Backend ๊ทธ๋ž˜ํ”„ API ๋ ˆ๋””์Šค ์ ์šฉ
  • ๋น…๋ฐ์ดํ„ฐ ๋ชจ๋ธ ๊ฐœ๋ฐœ ๋ณด์กฐ
  • ๋ฌธ์„œํ™” ์ž‘์—… ๋ฐ ์„œ๊ธฐ

๐Ÿ‘ฅ ํŒ€ ๊ด€๋ฆฌ

Jira๋ฅผ ์ด์šฉํ•œ ์ผ์ • ๊ด€๋ฆฌ

  • ์ด 755๊ฐœ์˜ ์ด์Šˆ

img_11.png

Gerrit์„ ์ด์šฉํ•œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ

img_12.png


๐Ÿฅฌ ๊ด€๋ จ ๋ฌธ์„œ


๐Ÿฅฌ ๊ธˆ์ชฝ์œ ์น˜์› Team Notion
๐Ÿฅฌ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ PPT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published