Spring/강의

[📕 기초 Spring] 용어 모음집

가지코딩 2025. 5. 3. 12:21

📕 목차

  1. 프로그래밍 명명규칙 (Casing)
  2. JSON (JavaScript Object Notation)
  3. Scale Up vs Scale Out
  4. Stateful vs Stateless
  5. Connection vs Connectionless

1. 프로그래밍 명명규칙 (Casing)

명명법 특징 사용처
snake_case  소문자 + 언더바 _ 연결 파이썬, DB 컬럼 등
camelCase  소문자로 시작, 단어마다 대문자 Java 변수/메서드 등
PascalCase  모든 단어의 시작이 대문자 클래스명 등
kebab-case 소문자 + 하이픈 - 연결 HTML/CSS, URL 등

 


2. JSON (JavaScript Object Notation)

JSON (JavaScript Object Notation)

  • 클라이언트-서버 간 데이터를 주고받는 공통 포맷
  • JSON은 사람, 기계 모두 이해하기 쉬우며 용량이 작다.
  • XML 대비 가볍고 가독성이 좋다
  • Web 세계의 공통어처럼 사용된다. (JavaScript Object Notation)

 

JSON 구조

  • Key-Value 구조
  • snake_case, camelCase 모두 사용 가능하다.
  • null, number, string, array, object, boolean 형태의 데이터를 사용할 수 있다.
{
  "user": [
    {
      "first_name": "wonuk",
      "last_name": "Hwang",
      "age": 100,
      "phone_agree": false,
      "hobby": ["Java", "Spring"]
    },
    {
      "firstName": "sparta",
      "lastName": "Team",
      "age": 200,
      "phone_agree": true,
      "hobby": ["React", "Spring", "Node"]
    }
  ]
}

3. Scale Up vs Scale Out

구분 설명 장점 예시
Scale Up 서버 자체의 성능을 높임 구조 변경 없이 성능 향상 가능 CPU, 메모리 업그레이드
Scale Out 서버 대수를 늘려 작업 분산 유연한 확장 가능, 장애 분산에 유리 웹 서버 여러 대를 로드밸런싱으로 운영

4. Stateful vs Stateless

구분 설명 장점 예시
Stateful 서버가 사용자 상태를 기억함 사용자 경험 향상, 세션 관리 편리 로그인 후 장바구니 상태 유지 등
Stateless 서버가 상태를 기억하지 않음 확장성과 유지보수에 유리, 수평 확장 쉬움 REST API, 매 요청에 토큰 포함 등

5. Connection vs Connectionless

구분 설명 장점
예시
Connection 서버와 지속적으로 연결 유지 빠른 응답, 상태 지속 관리 가능 채팅, 게임 서버 등 실시간 통신
Connectionless 요청마다 연결 생성 및 종료 리소스 절약, 확장성 좋음 웹 브라우저로 HTML 요청, 이메일 전송 등