javaSpring 중복코드 줄여보기Spring 다형성, 상속성을 이용한 중복코드 줄여보기 스프링부트를 활용하면 상당 부분 설정이 편리해진 부분이 있었지만, 흔한 MVC 패턴에서(물론 실제 개발은 MVVM 패턴으로 개발중) 엔드포인트 혹은 엔티티가 늘어 날 때마다 반복되는 코드들이 생…
java제네릭 1편 와일드카드 (Generic Wildcard)Java 와일드카드 제네릭 제네릭은 Unbound wildcard라고 불리며, 어떤 타입이 될지 모른다 라는 의미입니다. wildcard가 사용된 제네릭은 타입으로 들어온 타입에 대하여 관심이 없다 라는 의미도 되며 기능적인 메소드 외에 원소 값과…
javaSOLID 5원칙에피소드 예전에 전 직장 동료 분들과 함께 하는 점심 식사 자리에서 데이터 모델링에 대한 심화 적인(?) 주제로 대화를 나누다가 객체지향에 대한 주제로 번졌고, 그 중 동료분이 “SOLID 아시죠?” 라는 질문에 저는 “가수 SOLID요?” 라고 답…
javaJPA Locking낙관적 락 충돌이 발생하지 않을 거라고 낙관적으로 가정하는 방법 데이터베이스 레벨이 아닌 JPA레벨에서 버전 관리 기능을 통해 구현되어있음 테이블에 version 관리를 할 컬럼을 지정해놓고 읽었을 때의 버전과, 변경 할 때의 버전이 같지 않으면 예…
aopAOP 관점지향프로그래밍AOP 직역하면 관점지향프로그래밍 인데, 한국말로 들으면 전혀 와닿지 않습니다. 좀 더 이해가 가기 쉬운 의미로 해석해보자면, 애플리케이션 전체에 걸쳐 사용되는 기능을 재사용하도록 지원하는 것입니다. 실무에서는 흔히 공통적인 흐름의 코드를 적용시켜 …
reflectionJava ReflectionJava Reflection 객체를 통해서 객체 클래스 정보를 분석해내는 프로그래밍법을 의미한다. 또한 위키백과에서 설명하기로는 컴퓨터 과학에서의 Reflection(반영)은 런타임 시점에 사용되는 자신의 구조와 행위를 관리하고 수정할 수 있는 프로…