오브젝트 스프링의 핵심 철학은 다음과 같다. J2EE 시절의 혼란 속에서 잃어버린 객체지향 기술의 진정한 가치를 회복시키고, 그로부터 OOP가 제공하는 폭넓은 혜택을 누릴 수 있도록 기본으로 돌아가자는 것이다. 따라서 스프링이 가장 관심을 많이 두는 대상은 오브젝트이다. 오브젝트에 대한 관심은 오브젝트의 기술적인 특징과 사용 방법을 넘어서 오브젝트의 설계로 발전하게 된다. 관심사의 분리 자바빈(JavaBean) 자바빈은 다음 두 가지 관례를 따라 만들어진 오브젝트를 가리킨다. 디폴트 생성자 자바빈은 파라미터가 없는 기본 생성자를 갖고 있어야 한다. 프레임워크 등에서 Reflection을 이용해 오브젝트를 생성하기 때문에 필요하다. 프로퍼티 자바빈이 노출하는 이름을 가진 속성을 프로퍼티라고 한다. 프로퍼티..
Entity의 기본 생성자 JPA를 처음 접한지 얼마 지나지 않았던 시기에, Entity의 기본 생성자와 관련하여 발생한 프록시 예외로 몇 시간 동안 이유를 알아내지 못해 당황해했던 기억이 있습니다. 실제로 JPA 2.0 표준 스펙에 다음과 같은 내용이 있는데요. 엔티티는 반드시 파라미터가 없는 생성자가 있어야 하고, 이는 public 또는 protected 여야 한다. 이와 관련하여 이번 포스팅에서는 JPA Entity의 기본생성자에 대해 간단하게 정리해 보겠습니다. 기본생성자는 필수! JPA를 처음 접하시는 분들이 쉽게 마주하시는 예외가 바로 기본생성자가 없다고 하는 예외인데요. 다음과 같이 엔티티를 만들어 간단한 애플리케이션을 만들어 보았습니다. (Lombok을 사용하였습니다.) @Getter @E..
아래 글은 2019년 6월 8일에 작성한 글이며, 블로그를 이전하는 과정에서 현재 날짜에 재작성한 글입니다. 시작은 포비님의 한 마디 말로부터 현재 우아한 형제들의 개발자 양성학교인 우아한 테크코스 1기로 교육을 받고 있습니다. 벌써 이 글을 작성하는 시점 기준으로는 교육을 받기 시작한지 5주 정도 지났네요. 매주 한 번 교육생들과 포비(a.k.a. 자바지기)님의 질답 시간이 있는데, 이 토이 프로젝트의 시작은 포비님의 말 한 마디로부터 시작되었습니다. 잠실 주변 맛집들을 알려주실 수 있느냐는 질문에 포비님은 '현재 맛집 리스트를 모으고 있는 중이다. 조만간 공개할 예정이다. 혹시 아는가, 누가 점심 추천 슬랙봇이라도 만들어줄지...' 점심 추천 슬랙봇 슬랙봇...! 코스 내 소통공간으로 ..
아래 글은 2019년 4월 11일에 작성, 4월 22일에 추가 작성한 글이며, 블로그를 이전하는 과정에서 현재 날짜에 재작성한 글입니다. 우아한 테크코스 배달의 민족 우아한 형제들에서 올해부터 새롭게 개발자 양성 학교를 만들었습니다. 50명 정도의 인원을 선발하여 2019년 5월부터 12월까지 약 8개월 간의 시간 동안 집중적으로 프로그래밍에 대해 교육을 받게 됩니다. 코스의 이름은 우아한 테크코스인데요, 테크코스에서 지향하는 목표는 다음과 같습니다. 일반 사용자용 서비스를 개발하는 회사가 필요로하는 역량을 키우는 것에 집중함으로써 재교육없이 현장의 업무를 바로 시작할 수 있도록 하는 것 자기주도적인 학습 역량을 키우는 것 다른 사람들과 소통하고 협업하면서 같이 성장할 수 있는 인재를 키우는 것 더 자세..