DTO는 말 그대로 데이터를 전달하기 위한 객체로, 주로 계층 간 데이터 교환에 사용됩니다. 그래서 가능하면 비즈니스 로직은 넣지 않고 getter, setter, toString 정도만 구현합니다.반면에 VO는 값 자체를 표현하는 객체라서 불변성을 유지하는 것이 중요
저는 입사하고 React를 처음 접하고 공부하면서 개발했기때문에 프론트엔드가 더 어려웠습니다. 특히 컴포넌트가 불필요하게 리렌더링되면서 데이터 저장이 제대로 되지 않는 문제였습니다.예를 들어, 주문 수정 화면에서 편집 후 저장하면, 상위 컴포넌트의 state 변경으로
OMS는 일 평균 3만 건 이상의 주문 데이터를 처리하는 핵심 시스템이라, 안정성을 위해 API 요청·응답 로깅과 예외 처리 로직을 전 구간에 적용했습니다.또한 Service 계층에 트랜잭션과 예외 처리 로직을 적용해 데이터 정합성을 보장했고, 주요 쿼리는 인덱싱과 쿼
RESTful API를 설계할 때는 자원을 URI로 명확하게 표현하고, 행위를 HTTP 메서드로 구분해 의미에 맞게 사용하는 것이 중요합니다.예를 들어, 사용자 정보를 가져올 때는 GET /users/{id}처럼 명사 기반의 URI를 사용하고, POST는 자원 생성,
1. Spring에서 DTO와 Entity를 분리해서 사용하는 이유는 무엇인가요? 실무에서 REST API를 개발하면서 항상 DTO와 Entity를 분리해서 사용했습니다. 그 이유는 먼저 Entity는 데이터베이스와 직접 매핑되기 때문에 불필요한 정보가 외부로 노출될
Optional은 Java 8에서 도입된 클래스이고, 가장 큰 목적은 NullPointerException을 줄이고 null 처리를 더 명시적\*으로 하기 위해서입니다.예전에는 null인지 직접 조건문으로 확인해야 했는데, Optional을 사용하면 값이 없을 수도 있
Java는 소스 코드를 컴파일하면 바이트코드(.class)로 변환되며, 이 바이트코드는 JVM(Java Virtual Machine) 위에서 실행됩니다. 각 운영체제별로 JVM이 구현되어 있기 때문에, 바이트코드만 있으면 어떤 운영체제에서도 동일한 Java 프로그램을
LeetCode Unique Paths Java)https://leetcode.com/problems/unique-paths/description/입력 : 첫번째 줄-부등호 문자의 개수 k두번째 줄-k개의 부등호 기호 (공백으로 구분)출력 : 첫번째 줄-부등
프로그래머스 광물 캐기 (Java)https://school.programmers.co.kr/learn/courses/30/lessons/172927입력 : 송전탑의 개수 n, 전선 정보가 담긴 정수 2차원 배열 wires 출력 : 두 전력망이 가지고 있는 송
백준 2529번: 부등호 (Java)https://www.acmicpc.net/problem/2529입력 : 첫번째 줄-부등호 문자의 개수 k두번째 줄-k개의 부등호 기호 (공백으로 구분)출력 : 첫번째 줄-부등호 관계를 만족하는 k+1 자리의 최대, 최소 정
프로그래머스 전력망을 둘로 나누기 (Java)https://school.programmers.co.kr/learn/courses/30/lessons/86971입력 : 송전탑의 개수 n, 전선 정보가 담긴 정수 2차원 배열 wires 출력 : 두 전력망이 가지고
프로그래머스 타겟 넘버 (Java)https://school.programmers.co.kr/learn/courses/30/lessons/43165입력 : 게임 맵의 상태 maps출력 : 캐릭터가 상대 팀 진영에 도착하기 위해서 지나가야 하는 칸의 개수의 최솟
프로그래머스 타겟 넘버 (Java)https://school.programmers.co.kr/learn/courses/30/lessons/43165입력 : 게임판의 상태를 나타내는 문자열 배열 board출력 : 말이 목표위치에 도달하는데 이동해야하는 최소 거리
프로그래머스 리코쳇 로봇 (Java)https://school.programmers.co.kr/learn/courses/30/lessons/169199입력 : 게임판의 상태를 나타내는 문자열 배열 board출력 : 말이 목표위치에 도달하는데 이동해야하는 최소
📌 오늘의 학습 키워드 [프로그래머스] 무인도 여행 (Java) https://school.programmers.co.kr/learn/courses/30/lessons/154540 📌 공부한 내용 본인의 언어로 정리하기 문제 탐색하기 입력 : 지도를 나타내는 문자열 배열 maps[] (3 ≤ maps.length ≤ 100) 출력 : 각 섬에서 최...
백준 점프 점프 (Java)https://www.acmicpc.net/problem/14248입력 : int intervals - start, end로 구성된 하나의 구간(Interval)을 나타냄출력 : 각 구간에 대해 해당 구간의 끝점보다 크거나 같은 시작
LeetCode Find Right Interval (Java)https://leetcode.com/problems/find-right-interval/description/입력 : int intervals - start, end로 구성된 하나의 구간(Inte
LeetCode Longest Increasing Subsequence (Java)https://leetcode.com/problems/longest-increasing-subsequence/description/입력 : equations\[], values\
프로그래머스 괄호 회전하기 (Java)https://school.programmers.co.kr/learn/courses/30/lessons/76502입력 : 원하는 제품을 나타내는 문자열 배열 want\[], 원하는 제품의 수량을 나타내는 정수 배열 num
프로그래머스 할인 행사 (Java)https://school.programmers.co.kr/learn/courses/30/lessons/131127입력 : 선수들의 이름이 1등부터 현재 등수 순서대로 담긴 문자열 배열 players\[], 해설진이 부른 이름