농부 졸업 작년에 1일 1잔디 8개월 회고라는 제목으로 1일 1커밋에 대한 포스팅을 한 적이 있다. 일일커밋을 잔디 심는 농부에 빗대어 장점을 정리하고 글을 읽는 다른 분들에게도 일일커밋이 성향에 맞다면 시도해볼 것을 추천하는 내용이었다. 이제는 졸업할 시기가 온 것 같다. 코로나 2차 백신을 맞고 3일 째 누워있다가, 오늘도 오늘 치 잔디를 심어야겠다는 생각에 (코딩할 힘은 없고) 미뤄둔 책을 꺼내서 몇 장 읽다가 문득 든 생각이었다. 돌아보니 2020년 3월 중순부터 이 글을 작성하는 2021년 10월 중순까지 19개월 정도 일일커밋을 진행했다. (오래도 했다) 졸업을 고민한 이유 지난 회고에서 정리했던 일일커밋의 장점을 다시 언급해 보자면 다음과 같다. 슬럼프를 최소화하면서 꾸준히 공부할 수 있다...
아래 포스팅에 대한 상위 메타 문서는 [RTFM] 매일 읽는 공식 문서 를 참고해 주세요. 원문 : https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#aop 관점 지향 프로그래밍(AOP)는 프로그램 구조에 대한 다른 생각을 제공함으로써 객체 지향 프로그래밍(OOP)을 보완한다. OOP에서 모듈화의 핵심 단위는 클래스인 반면, AOP에서 모듈화의 단위는 애스펙트이다. 애스펙트는 여러 타입과 객체를 관통하는 (트랜잭션 관리 같은) 개념의 모듈화를 가능하게 한다. 스프링의 핵심 컴포넌트 중 하나가 바로 AOP 프레임워크이다. 스프링 IoC 컨테이너가 AOP에 의존하지 않는 반면에 (즉, AOP를 사용하고 싶지 않으면 사용..
아래 포스팅에 대한 상위 메타 문서는 [RTFM] 매일 읽는 공식 문서 를 참고해 주세요. 원문 : https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#expressions 스프링 표현 언어(SpEL)는 런타임에 객체 그래프를 탐색하고 조작할 수 있도록 해주는 강력한 표현 언어이다. 자바 표현 언어는 여러가지(OGNL, MVEL, JBoss EL 등)가 있지만, SpEL은 스프링 프로덕트 전반적으로 사용할 수 있는 좋은 단일 표현 언어로 스프링 커뮤니티에 제공되었다. 평가 다음 코드는 Hello World 라는 문자열 표현을 평가하는 SpEL API를 소개한다. ExpressionParser parser = new S..
아래 포스팅에 대한 상위 메타 문서는 [RTFM] 매일 읽는 공식 문서 를 참고해 주세요. 원문 : https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#validation 비즈니스 로직으로 유효성 검사를 고려하는 데는 장단점이 있으며, 스프링은 둘 중 하나도 배제하지 않는 유효성 검사 설계를 제공한다. 유효성 검사는 웹 계층에 종속적이어서도 안 되며, 현지화가 쉬워야 하고, 어떤 validator도 적용할 수 있어야 한다. 이러한 것들을 고려하여, 스프링은 애플리케이션의 모든 계층에서 기본적이고 탁월한 사용이 가능한 Validator를 제공한다. 데이터 바인딩은 사용자 입력을 애플리케이션 도메인 모델에 동적으로 바인딩..