Java는 소스 코드를 컴파일하면 바이트코드(.class)로 변환되며, 이 바이트코드는 JVM(Java Virtual Machine) 위에서 실행됩니다. 각 운영체제별로 JVM이 구현되어 있기 때문에, 바이트코드만 있으면 어떤 운영체제에서도 동일한 Java 프로그램을
Optional은 Java 8에서 도입된 클래스이고, 가장 큰 목적은 NullPointerException을 줄이고 null 처리를 더 명시적\*으로 하기 위해서입니다.예전에는 null인지 직접 조건문으로 확인해야 했는데, Optional을 사용하면 값이 없을 수도 있
1. Spring에서 DTO와 Entity를 분리해서 사용하는 이유는 무엇인가요? 실무에서 REST API를 개발하면서 항상 DTO와 Entity를 분리해서 사용했습니다. 그 이유는 먼저 Entity는 데이터베이스와 직접 매핑되기 때문에 불필요한 정보가 외부로 노출될
RESTful API를 설계할 때는 자원을 URI로 명확하게 표현하고, 행위를 HTTP 메서드로 구분해 의미에 맞게 사용하는 것이 중요합니다.예를 들어, 사용자 정보를 가져올 때는 GET /users/{id}처럼 명사 기반의 URI를 사용하고, POST는 자원 생성,
OMS는 일 평균 3만 건 이상의 주문 데이터를 처리하는 핵심 시스템이라, 안정성을 위해 API 요청·응답 로깅과 예외 처리 로직을 전 구간에 적용했습니다.또한 Service 계층에 트랜잭션과 예외 처리 로직을 적용해 데이터 정합성을 보장했고, 주요 쿼리는 인덱싱과 쿼
저는 입사하고 React를 처음 접하고 공부하면서 개발했기때문에 프론트엔드가 더 어려웠습니다. 특히 컴포넌트가 불필요하게 리렌더링되면서 데이터 저장이 제대로 되지 않는 문제였습니다.예를 들어, 주문 수정 화면에서 편집 후 저장하면, 상위 컴포넌트의 state 변경으로
DTO는 말 그대로 데이터를 전달하기 위한 객체로, 주로 계층 간 데이터 교환에 사용됩니다. 그래서 가능하면 비즈니스 로직은 넣지 않고 getter, setter, toString 정도만 구현합니다.반면에 VO는 값 자체를 표현하는 객체라서 불변성을 유지하는 것이 중요