본문 바로가기

전체 글

(176)
[매일메일] Record를 VO가 아닌 DTO로 사용하는 이유? (BE.250128) (개발자 강화/백엔드) 2025. 1. 29. 00:20 Record란?Java 16에서 정식 출시된 특별한 클래스 유형기존 클래스 생성 시 반복적으로 작성하던 보일러플레이트 코드를 줄이는 데 중점을 둠자동으로 생성자, getter, equals(), hashCode(), toString() 메서드 생성함public record User(String name, String email, int age) {} VO(Value Object)란?도메인 모델 내에서 특정 개념이나 값을 표현하는 객체객체 간의 값 기반 비교를 지원하며, 값이 동일하면 같은 객체로 간주함비즈니스 로직과 밀접하게 연관되어 있으며, 특정 값에 대한 제약 조건이나 유효성 검증 로직을 포함함 Coordinates라는 이름의 VO를 구현해, (x,y) 좌표 값의 유효성을 검증하거나, 좌표를 이동시키..
🌟[매일메일] useEffect란? useLayoutEffect와 차이 (FE.250113/250128) (개발자 강화/프론트엔드) 2025. 1. 28. 23:47 useEffectuseLayoutEffect실행 시점랜더링이 완료되는 시점(렌더링 후 화면에 직접적인 영향 없음)랜더링 후 DOM이 업데이트 되기 직전(화면이 그려지기 전)동기/비동기비동기적동기적예시사용자 데이터를 API에서 가져옴(데이터 렌더링 후 화면 업데이트)이벤트 리스너를 추가함DOM 크기를 측정해서 다른 요소 위치 조정(요소 높이 측정해 레이아웃 높이 조정)코드useEffect(()=> {  fetchData().then(data=>setData(data));},[]);useLayoutEffect(()=>{const height=ref.current.offsetHeight;setHeight(height);},[]);참고기본적으로 사용너무 많이 실행되면 렌더링 느려짐 useEffect 호출 시점은..
🌟[매일메일] 자바스크립트의 Event Loop와 테스트 큐란? (FE.250122/241218) (개발자 강화/프론트엔드) 2025. 1. 28. 00:05 Javascript는 싱글 스레드 언어.한 번에 한 작업만 처리할 수 있는 단일 콜 스택을 가짐. (원래 동기적 언어)브라우저나 Node.js 환경이 제공하는 비동기 처리 매커니즘을 활용해 여러 작업을 동시에 수행 가능함.브라우저: 자바스크립트 엔진은 setTimeout, fetch 등을 WebAPI에 넘겨 비동기 처리. 완료 시 테스크 큐로 이동. Node.js: 이벤트 루프가 콜 스택이 비어있는 지 확인하고 테스트 큐에서 대기중인 작업을 콜 스택으로 옮겨 실행.콜 스택: 현재 실행 중인 코드가 쌓임, 테스크 큐: 비동기 작업이 완료되면 그 결과를 대기시키는 곳이벤트 루프 덕에 UI 업데이트나 사용자 입력 처리를 수행하면서도, 비동기 작업을 블로킹 없이 병렬적 처리 가능함.setTimeout(callb..