test - Team-Wordi/Wordi GitHub Wiki

๐Ÿ’ก ์ „์ฒด์ ์œผ๋กœ ๊ฐ€์žฅ ์ต์ˆ™ํ•œ ํˆด์„ ์šฐ์„ ์ ์œผ๋กœํ•˜์—ฌ ํ™œ์šฉ ๊ธฐ์ˆ ์„ ์„ ์ •ํ•˜์˜€๋‹ค.

๋ฒ„์ „๊ด€๋ฆฌ


๋ฒ„์ „๊ด€๋ฆฌ ์‹œ์Šคํ…œ

  • Git
  • SVN
  • Mercurial

Git ์›น ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค

์ด์Šˆ ๊ด€๋ฆฌ ๋„๊ตฌ(์ด์Šˆ ํŠธ๋ž˜์ปค)

Git GUI

๋ฒ„์ „๊ด€๋ฆฌ

  • Git: Git์€ ๋ฒ„์ „์„ ์Šค๋ƒ…์ƒท์œผ๋กœ ๊ด€๋ฆฌํ•˜์—ฌ ์„ฑ๋Šฅ ์ด์Šˆ๊ฐ€ ์ ๊ณ , ๋ธŒ๋žœ์น˜๋ฅผ ๋„์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ๋‹ค๋ฅธ ๋ฒ„์ „๊ด€๋ฆฌ ์‹œ์Šคํ…œ์— ๋น„ํ•ด ๊ฐ€์žฅ ์ต์ˆ™ํ•˜๋‹ค๋Š” ์ ์—์„œ Git์„ ์„ ํƒํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.
  • GitHub: GitHub๋Š” ๊ฐ€์žฅ ๋Œ€์ค‘์ ์ธ ์›น ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค๋กœ ํ˜„์žฌ ๋‚ด๊ฒŒ ๊ฐ€์žฅ ์ต์ˆ™ํ•œ ์„œ๋น„์Šค์ด๋‹ค. ๋˜ํ•œ, GitHub ์ž์ฒด์ ์œผ๋กœ ๋‚ด์žฅ๋˜์–ด ์žˆ๋Š” ์ด์Šˆ ํŠธ๋ž˜์ปค๋ฅผ ํฌํ•จํ•œ ํ’๋ถ€ํ•œ ์„œ๋น„์Šค๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๋‹ค.
  • GitHub Issues & Projects: GitHub ์ž์ฒด ๋‚ด์—์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ๊ฐ€์žฅ ํฌ๋‹ค. ๊ฐ ์ด์Šˆ์— ๋Œ€ํ•ด ์ž‘์—…์ž๋ฅผ assign ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜๊ณผ ๋ผ๋ฒจ ํ™œ์šฉ, ์ด์Šˆ ์ƒํƒœ ๋“ฑ์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๋“ฑ ์ถฉ๋ถ„ํ•œ ๊ธฐ๋Šฅ์„ ํ• ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๋‹ค.

ComputeEngine ๊ฒฐ์ • & ์„œ๋ฒ„ ๋ฐฐํฌ ๋ฐ ๋ฐฐํฌ ์ž๋™ํ™”


์ปดํ“จํŒ… ํŒŒ์›Œ ์ถœ์ฒ˜

  • PC
  • ์„œ๋ฒ„์šฉ ํ•˜๋“œ์›จ์–ด๋ฅผ ๊ตฌ์ž…ํ•ด ํ™ˆ์„œ๋ฒ„ ์šด์˜
  • ์„œ๋ฒ„ํ˜ธ์ŠคํŒ…
  • ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ

ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ

  • AWS(Amazon Web Service)
  • GCP(Google Cloud Platform)
  • Microsoft Azure

์ปดํ“จํŒ… ์—”์ง„(AWS ๊ธฐ์ค€)

  • EC2(Elastic Compute Cloud)
  • Beanstalk
  • ECS(Elastic Container Service)
  • ECS+Fargate
  • Lightsail
  • Lambda

๋ฐฐํฌ ์ž๋™ํ™” ์„œ๋น„์Šค

  • Travis-CI
  • CircleCI
  • Amazon CodeBuild์™€ CodeDeploy๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉ
  • Amazon CodeBuild๋งŒ ์‚ฌ์šฉ

์ปดํ“จํŒ… ์—”์ง„ ๊ฒฐ์ • & ์„œ๋ฒ„ ๋ฐฐํฌ

  • ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ: ํ˜„์žฌ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋‹จ๊ณ„์—์„œ ๊ฐ€์žฅ ์œ ๋™์ ์œผ๋กœ ์„œ๋ฒ„ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋น„์šฉ ๋˜ํ•œ ์ƒํ™ฉ์— ๋งž๊ฒŒ ์„ ํƒํ•˜์—ฌ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์„ ์„ ํƒํ•˜์˜€๋‹ค.
  • AWS: ๋Œ€์ค‘์ ์ด๋ฉฐ ํ‰์†Œ์— ๊ฐ€์žฅ ์ž์ฃผ ์‚ฌ์šฉํ•˜๊ณ  ์ต์ˆ™ํ•œ AWS ํ”Œ๋žซํผ์„ ํ™œ์šฉํ•˜์˜€๋‹ค.
  • EC2: ํ˜„์žฌ ๊ฐ€์žฅ ์ต์ˆ™ํ•œ ์ปดํ“จํŒ… ์—”์ง„์ด๋‹ค. ์ฒ˜์Œ ๋ฐ๋ชจ ๋ฒ„์ „ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ํ…Œ์ŠคํŠธ ํ•œ๋‹ค๋Š” ์ ์—์„œ๋Š” ์ถฉ๋ถ„ํ•˜๋‹ค๊ณ  ํŒ๋‹จํ•˜์˜€๋‹ค.

API ์„ค๊ณ„ ์›์น™, ๋ฌธ์„œํ™” ๋ฐฉ์‹, ์ง๋ ฌํ™” ํฌ๋งท ****


API ์„ค๊ณ„ ์›์น™

  • HTTP API
  • REST API
  • GraphQL

API ๋ฌธ์„œํ™” ๋ฐฉ์‹

  • Excel
  • Swagger
  • ์†Œ์Šค์ฝ”๋“œ์— ๋ฌธ์„œ ์ž„๋ฒ ๋”ฉ
  • ReDoc์„ ์ง์ ‘ ๊ด€๋ฆฌ
  • ReDoc์„ GitHub Pages(github.io)์—์„œ ๊ด€๋ฆฌ
  • Slate๋ฅผ ์ง์ ‘ ๊ด€๋ฆฌ
  • Slate๋ฅผ GitHub Pages(github.io)์—์„œ ๊ด€๋ฆฌ
  • GitBook

์ง๋ ฌํ™” ํฌ๋งท

JSON key ๋„ค์ด๋ฐ ๋ฃฐ

  • ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ex) 'signindate'
  • ๊ณต๋ฐฑ์œผ๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค. ex) 'signin date'
  • ์นด๋ฉœ ์ผ€์ด์Šค(Camel Case)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ex) 'signinDate'
  • ํŒŒ์Šค์นผ ์ผ€์ด์Šค(Pascal Case)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ex) 'SigninDate'
  • ์Šค๋„ค์ดํฌ ์ผ€์ด์Šค(Snake Case)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ex) 'signin_date'

API ์„ค๊ณ„ ์›์น™, ๋ฌธ์„œํ™” ๋ฐฉ์‹, ์ง๋ ฌํ™” ํฌ๋งท

  • HTTP API: ์—ฌ๊ธฐ์„œ ์˜๋ฏธํ•˜๋Š” HTTP API๋Š” ๋Œ€์ค‘์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” REST API์˜ ์˜๋ฏธ์ด๋‹ค. ์‹ค์ œ REST API๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” HATEOAS ์›์น™์„ ์ง€์ผœ์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— HTTP API๋กœ๋„ ์ถฉ๋ถ„ํ•˜๋‹ค๊ณ  ํŒ๋‹จ๋˜์—ˆ๋‹ค.
  • Excel, SwaggerHub: ๊ฐ€์žฅ ์ต์ˆ™ํ•œ ํˆด์ธ Excel์„ ์„ ํƒํ•˜์˜€๋‹ค. ์ƒ์‹œ ์—…๋ฐ์ดํŠธ๋ฅผ ์œ„ํ•ด Google Sheets๋ฅผ ํ™œ์šฉํ•  ์˜ˆ์ •์ด๋‹ค. ๋˜ํ•œ, ์—‘์…€๋งŒ์œผ๋กœ API๋ฅผ ๋ช…์„ธํ•˜๋Š” ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ณ ์ž Swagger๋ฅผ ํ™œ์šฉํ•˜๊ณ ์ž ํ•œ๋‹ค.
  • JSON: ๊ฐ€์žฅ ์ต์ˆ™ํ•œ ํฌ๋งท์ด๋ฉฐ, ํƒ€ ์ง๋ ฌํ™” ํฌ๋งท์— ๋น„ํ•ด ๊ฒฝ๋Ÿ‰ํ™”๋˜๊ณ , ๊ฐ€๋…์„ฑ๋„ ์ข‹๋‹ค. ๊ฒฐ์ •์ ์œผ๋กœ ํ˜‘์—ฝํ•˜๋Š” ํ”„๋ก ํŠธ์—”๋“œ ๋ถ„๋„ JSON ํฌ๋งท์— ์ต์ˆ™ํ•œ ์ ์—์„œ ์„ ํƒํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.
  • ์นด๋ฉœ ์ผ€์ด์Šค: Java ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์— ๊ฐ€์žฅ ์ ํ•ฉํ•˜์—ฌ ํƒ€ ๋„ค์ด๋ฐ์— ๋น„ํ•ด ์‚ฌ์šฉํ•˜๊ธฐ ํŽธ๋ฆฌํ•˜๋ฉฐ, ํ”„๋ก ํŠธ ๊ฐœ๋ฐœ์ž์™€ ์ƒ์˜ ํ•˜์— ๊ฒฐ์ •ํ•˜์˜€๋‹ค.

์‚ฌ์šฉ์ž ์ธ์ฆ ๋ฐฉ์‹


์ธ์ฆ ์ •๋ณด์˜ ์œ„์น˜

  • request body
  • ์š”์ฒญ์˜ query parameter
  • Cookie ํ—ค๋”
  • Authorization ํ—ค๋”

์ธ์ฆ ์Šคํ‚ค๋งˆ

  • Basic
  • [๋น„ํ‘œ์ค€] OAuth 1.0a๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Bearer
  • OAuth 2.0์„ ์‚ฌ์šฉํ•˜๋Š” Bearer
  • [๋น„ํ‘œ์ค€] JWT, ๋˜๋Š” JWT๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Bearer
  • Digest
  • HOBA

์‚ฌ์šฉ์ž ์ธ์ฆ ๋ฐฉ์‹

  • Authorization ํ—ค๋”: ์ธ์ฆ ๋ฐ์ดํ„ฐ๋Š” ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ ์„ฑ๊ฒฉ์ด ๊ฐ•ํ•ด request body์™€ ์–ด์šธ๋ฆฌ์ง€ ์•Š์œผ๋ฉฐ, ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๊ฒฝ์šฐ ๋ณด์•ˆ์ƒ ์ข‹์ง€ ์•Š๋‹ค. ๋˜ํ•œ, ์ฟ ํ‚ค๋Š” ์•ฑ ๊ฐœ๋ฐœ ๋ถ€๋ถ„์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ฟ ํ‚ค ์ €์žฅ์†Œ๋ฅผ ๋”ฐ๋กœ ๊ตฌํ˜„ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— Authorization ํ—ค๋”๊ฐ€ ๊ฐ€์žฅ ์ ํ•ฉํ•˜๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๋‹ค.
  • JWT: ๊ฐ€์žฅ ์ต์ˆ™ํ•œ ๋ฐฉ๋ฒ•์ด๋ฉฐ, ์‰ฝ๊ฒŒ ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ๋‹ค. ์„œ๋น„์Šค ๋‚ด์—์„œ ๋กœ๊ทธ์ธ ์œ ์ง€ ์ •๋ณด์— ๋Œ€ํ•œ ํ•„์š”์„ฑ์ด ์—†์œผ๋ฉฐ, ์„ธ์…˜์— ๋Œ€ํ•œ ๊ด€๋ฆฌ ๋ถ€๋ถ„๊ณผ ์„œ๋ฒ„ ์ž์›์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ์„ ํƒํ•˜์˜€๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ ์ •


๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

  • RDB
  • NoSQL

DB ํ˜ธ์ŠคํŒ… ์œ„์น˜

  • EC2
  • RDS(Relational Database Service)

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„

  • Aurora
  • MySQL
  • MariaDB
  • PostgreSQL
  • Oracle
  • SQL Server

MySQL Driver(ํด๋ผ์ด์–ธํŠธ)

  • HeidlSQL
  • MySQL Workbench
  • DataGrip

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ ์ •

  • RDB: ๊ฐ€์žฅ ์ต์ˆ™ํ•œ RDB๋ฅผ ํƒํ•˜์˜€๋‹ค. ๊ตฌํ˜„ํ•˜๋ ค๋Š” ์„œ๋น„์Šค ํŠน์„ฑ์ƒ ํŠธ๋ž˜ํ”ฝ์ด ์ง‘์ค‘๋˜๋Š” ์„œ๋น„์Šค ๋ณด๋‹ค๋Š” ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค๋กœ ๊ฐ€๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ์ด๋ผ๊ณ  ํŒ๋‹จํ•˜์—ฌ RDB๊ฐ€ ๋” ์ ํ•ฉํ•˜๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๋‹ค.
  • RDS: EC2์— ํ˜ธ์ŠคํŒ…ํ•  ๊ฒฝ์šฐ, ์„œ๋ฒ„ ๋ฌธ์ œ๊ฐ€ DB๊นŒ์ง€ ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฌด๋ฃŒ๋กœ ์ œ๊ณต๋˜๋Š” EC2์˜ ์„ฑ๋Šฅ์„ ๊ณ ๋ คํ–ˆ์„ ๋•Œ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํŒ๋‹จ๋˜์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ, DB๋ฅผ ์„œ๋ฒ„์™€ ๋ถ„๋ฆฌํ•œ RDS๋ฅผ ํ™œ์šฉํ•˜๋Š”๊ฒŒ ์ ํ•ฉํ•˜๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๋‹ค.
  • MySQL: ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ–ˆ์œผ๋ฉฐ, ์ต์ˆ™ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„์ด๊ธฐ์— ์„ ํƒํ•˜์˜€๋‹ค.
  • DataGrip: ๋ฐ์ดํ„ฐ ์ถ”์ถœ๊ณผ ์ €์žฅ์ด ๊ฐ„ํŽธํ•˜๋ฉฐ, ์ฟผ๋ฆฌ ๋ฐ ๋ฐ์ดํ„ฐ ์ž„์‹œ ์ €์žฅ ๊ธฐ๋Šฅ, ์ž๋™ ์™„์„ฑ ๊ธฐ๋Šฅ ๋“ฑ ํŽธ๋ฆฌํ•œ ๊ธฐ๋Šฅ์„ ๋งŽ์ด ๊ฐ–์ถ”๊ณ  ์žˆ๋‹ค.

๊ธฐ์ˆ  ์Šคํƒ ์ •์˜ & ์˜์กด์„ฑ ๊ด€๋ฆฌ๋„๊ตฌ


ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

  • Python
  • Scala
  • Java
  • Go
  • Node.js

ํ”„๋ ˆ์ž„์›Œํฌ

  • Spring Boot
  • Spirng Web
  • Spring Security
  • Spring Data
  • Spring Batch
  • Spring Cloud

DB ์ ‘๊ทผ ๊ธฐ์ˆ 

  • JDBC
  • JdbcTemplate
  • Mybatis
  • JPA
  • ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ JPA
  • QueryDSL

์˜์กด์„ฑ ๊ด€๋ฆฌ ๋„๊ตฌ

  • .pip
  • npm
  • yarn
  • gem
  • maven
  • gradle

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  • Lombok
  • Springfox Boot Starter
  • Bean Validation
  • Thymeleaf

๊ธฐ์ˆ  ์Šคํƒ ์ •์˜ & ์˜์กด์„ฑ ๊ด€๋ฆฌ๋„๊ตฌ

  • Java: ๊ฐ€์žฅ ์ต์ˆ™ํ•œ ์–ธ์–ด์ด๋‹ค.
  • Spring Boot: ๊ธฐ๋ณธ Spring์— ๋น„ํ•ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ, ์„ค์ •์˜ ์ž๋™ํ™”, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฒ„์ „๊ด€๋ฆฌ ์ž๋™ํ™”, ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ๊ณผ ๋‚ด์žฅ Tomcat ๋“ฑ ํ™˜๊ฒฝ ์„ค์ • ๋ถ€๋ถ„์—์„œ ํŽธ๋ฆฌํ•œ ๋ถ€๋ถ„์ด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์„ ํƒํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.
  • JPA: RDB์— ์‚ฌ์šฉํ•˜๊ธฐ ์ ํ•ฉํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ฒด์™€ ๋งคํ•‘ํ•˜์—ฌ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•จ. ๊ตฌํ˜„ํ•  ์„œ๋น„์Šค๊ฐ€ ํ†ต๊ณ„ ์ฒ˜๋ฆฌ์™€ ๊ฐ™์€ ๋ณต์žกํ•œ ๋กœ์ง์ด ํ•„์š”ํ•œ ์„œ๋น„์Šค๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— JPA ๋‚ด์—์„œ ์ถฉ๋ถ„ํžˆ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ, ์ƒ์‚ฐ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜ ๋“ฑ์„ ์‚ด๋ฆฌ๊ณ ์ž ํ–ˆ๋‹ค.
  • QueryDSL: JPA๋งŒ์œผ๋กœ๋Š” ๋‹ค๋ฃจ๊ธฐ ํž˜๋“  ๋™์  ์ฟผ๋ฆฌ๋ฅผ ํ•จ๊ป˜ ๋‹ค๋ฃจ๊ณ ์ž ์‚ฌ์šฉํ•  ์˜ˆ์ •์ด๋‹ค.
  • gradle: Java์— ๋งž๋Š” ์˜์กด์„ฑ ๊ด€๋ฆฌ ๋„๊ตฌ์ด๋ฉฐ, maven์— ๋น„ํ•ด ๊ด€๋ฆฌ๊ฐ€ ์‰ฝ๊ณ , ๊ฐ€๋…์„ฑ์ด ์ข‹๋‹ค๊ณ  ํŒ๋‹จ. ๊ฒฐ์ •์ ์œผ๋กœ ๊ฐ€์žฅ ์ต์ˆ™ํ•œ ์˜์กด์„ฑ ๊ด€๋ฆฌ ๋„๊ตฌ์ด๋‹ค.
  • Lombok: ๋ณด๋‹ค ํŽธ๋ฆฌํ•œ ์–ด๋…ธํ…Œ์ด์…˜ ๊ด€๋ฆฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•จ.
  • Springfox Boot Starter: Swagger๋ฅผ ํ†ตํ•œ API ๋ฌธ์„œ ๊ด€๋ฆฌ, ํ…Œ์ŠคํŠธ๋ฅผ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ.
  • Bean Validation: ๊ฒ€์ฆ ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ€์žฅ ์ƒ์‚ฐ์„ฑ ์žˆ๊ฒŒ, ํšจ์œจ์ ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํŒ๋‹จ. ๊ฒ€์ฆ๋ถ€๋ฅผ DTO์—์„œ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฒ€์ฆ ๋กœ์ง์„ ์ œ์™ธํ•œ ํด๋ฆฐ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐ๋œ๋‹ค.

์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ ˆ๋ฒจ ์˜์‚ฌ๊ฒฐ์ •


์‹œ๊ฐ ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐฉ์‹

  • Unix time
  • Asia/Seoul ๊ธฐ์ค€์˜ ์‹œ๊ฐ ๋ฌธ์ž์—ด
  • UTC ๊ธฐ์ค€์˜ ์‹œ๊ฐ ๋ฌธ์ž์—ด
  • ISO 8601 format ๋ฌธ์ž์—ด

์‹œ๊ฐ ๋ฐ์ดํ„ฐ ํ‘œํ˜„ ๋ฐฉ์‹

  • YYYY-MM-DD HH:mm:ss.SSS
  • Unix time
  • YY-MM-DD HH:mm:ss.SSS
  • ISO 8601 format(YYYY-MM-DDTHH:mm:ss.SSSยฑhh:mm)
  • RFC 3339 format

์‹œ๊ฐ ๋ฐ์ดํ„ฐ ์˜์‚ฌ๊ฒฐ์ •

  • ์‹œ๊ฐ ๋ฐ์ดํ„ฐ ์ €์žฅ: UTC๊ฐ€ ๊ตญ์ œ ํ‘œ์ค€์‹œ๋กœ์„œ ๊ธฐ์ค€์ ์ด ๋˜๊ธฐ๋„ ํ•˜๋ฉฐ, ์‹œ๊ฐ์„ ๋‹ค๋ฃจ๋Š” ์ง€์—ญ์ด ๊ธฐ์ค€์ด ๋œ๋‹ค๋Š” ์ ์—์„œ local timezone์— ์˜์กดํ•˜๋ฉฐ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋Š” ์‹ค์ˆ˜๋ฅผ ๋ฐฉ์–ดํ•˜๊ธฐ์— ์ข‹๋‹ค. ๋˜ํ•œ ๋ฐ์ดํ„ฐ ์ €์žฅ์˜ ๊ฒฝ์šฐ์—๋Š” ์ผ๋ฐ˜์ ์ธ ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ์— UTC๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ์ฐจ์ด๊ฐ’ ๋ฐ์ดํ„ฐ๊ฐ€ ๋”ํ•ด์ง„ ISO 8601 ํ‘œ์ค€์„ ์‚ฌ์šฉํ•˜๊ธฐ์—๋Š” ๊ณผํ•œ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๋‹ค.
  • ์‹œ๊ฐ ๋ฐ์ดํ„ฐ ํ‘œํ˜„: ํด๋ผ์ด์–ธํŠธ์™€ ์ƒ์˜ ํ›„, ์ €์žฅ๋œ UTC๋ฅผ ํ˜•ํƒœ ๊ทธ๋Œ€๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” YYYY-MM-DD-HH:mm:ss.SSS ํ‘œํ˜„ ๋ฐฉ์‹์„ ์„ ํƒํ–ˆ๋‹ค.
โš ๏ธ **GitHub.com Fallback** โš ๏ธ