본문 바로가기
eomoff

2026/10

5

Dev Log/Java & Spring [아키텍처/설계] - MSA 1. MSA란1-1 모놀리식 아키텍처모놀리식 아키텍처(Monolithic Architecture)는 애플리케이션의 모든 기능을 하나의 코드베이스로 만들어 하나의 단위로 빌드하고 배포하는 구조입니다.회원, 주문, 결제 기능이 한 프로젝트 안에 패키지로 나뉘어 있고, 하나의 실행 파일로 배포되며, 보통 하나의 데이터베이스를 함께 씁니다.기능 간 호출은 같은 프로세스 안의 메서드 호출이고, 여러 기능에 걸친 작업도 하나의 DB 트랜잭션으로 처리합니다. 그래서 개발, 테스트, 배포가 단순합니다.대신 서비스와 팀이 커지면 배포, 확장, 장애의 범위가 애플리케이션 전체에 묶인다는 한계가 드러납니다. MSA는 이 한계를 풀기 위한 구조입니다.1-2 정의MSA(Microservice Architecture)는 하나의 .. 2026. 10. 21. 15:39
Dev Log/Java & Spring [네트워크] - REST API 설계 1. REST란1-1 정의REST(Representational State Transfer)는 자원을 URI로 구분하고, 자원의 상태를 표현(representation)으로 주고받는 방식을 정한 아키텍처 스타일입니다.로이 필딩(Roy Fielding)이 2000년 박사 논문에서 웹의 아키텍처 원칙을 정리하며 정의했습니다.프로토콜이나 표준이 아니라, 지켜야 할 제약 조건의 모음입니다(2절).이름의 뜻은 "자원 상태의 표현을 전송한다"입니다. 서버와 클라이언트가 주고받는 것은 자원 자체가 아니라, 자원의 상태를 JSON 같은 형식으로 옮긴 표현입니다.1-2 구성 요소자원(Resource): 다룰 대상입니다. URI로 식별합니다. /api/users/1은 1번 회원입니다.행위(Verb): 자원에 할 일입니다... 2026. 10. 21. 15:09
Dev Log/Java & Spring [ORM/JPA] - N+1 문제 정의연관관계가 있는 엔티티를 조회할 때, 목록을 가져오는 쿼리 1번 외에 조회된 행 수(N)만큼 연관 엔티티 조회 쿼리가 추가로 나가는 문제.예시Team(1) : Member(N) 관계에서 팀이 10개 있다고 하자.@Entitypublic class Team { @Id @GeneratedValue private Long id; @OneToMany(mappedBy = "team", fetch = FetchType.LAZY) private List members = new ArrayList();}@Entitypublic class Member { @Id @GeneratedValue private Long id; @ManyToOne(fetch = FetchType.LAZY.. 2026. 10. 5. 23:17
Dev Log/Java & Spring [운영체제] CPU 스케줄링 정의준비 큐(Ready Queue)에 있는 프로세스 중 누구에게, 언제, 얼마 동안 CPU를 줄지 운영체제가 결정하는 것.왜 필요한가프로세스의 실행은 CPU 버스트(CPU를 쓰는 구간)와 I/O 버스트(입출력을 기다리는 구간)의 반복이다. 한 프로세스가 I/O를 기다리는 동안 CPU를 놀리면 낭비이므로, 그 사이에 다른 프로세스를 실행시켜 CPU를 최대한 활용한다(멀티프로그래밍).CPU 바운드 프로세스: CPU 버스트가 길다. 연산 위주(인코딩, 계산).I/O 바운드 프로세스: CPU 버스트가 짧고 I/O가 잦다. 사용자와 상호작용하는 프로그램.스케줄링이 일어나는 시점상태 전이예시구분실행 → 대기I/O 요청비선점실행 → 종료프로세스 종료비선점실행 → 준비타이머 인터럽트(할당 시간 만료)선점대기 → 준비I.. 2026. 10. 5. 14:20
Dev Log/Algorithm [프로그래머스] 코딩 기초 트레이닝 - Day 4 코딩테스트 기초 - Day 4 : 연산, 조건문문제 1. n의 배수문제: 정수 num과 n이 주어질 때, num이 n의 배수이면 1을, 아니면 0을 return한다.입력: 98 2출력: 1입력: 34 3출력: 0정답:획득: 나머지 연산자 %의 결과가 0인지로 배수 여부를 판별하는 방법, 삼항 연산자로 두 값 중 하나를 반환하기문제 2. 공배수문제: 정수 number와 n, m이 주어질 때, number가 n의 배수이면서 m의 배수이면 1을, 아니면 0을 return한다.입력: 60 2 3출력: 1입력: 55 10 5출력: 0정답:획득: 두 조건을 모두 만족해야 할 때 논리 AND 연산자 &&로 조건을 묶는 방법문제 3. 홀짝에 따라 다른 값 반환하기문제: 양의 정수 n이 주어질 때, n이 홀수면 n 이하.. 2026. 10. 5. 00:57