본문 바로가기

분류 전체보기

(246)
[TIL] 2021년 3월 회고록 👊 목표 TIL 블로그 주 1회 올리기 → 80% 달성 (2째주 빼고 이번주꺼 올리면..) 사이드 프로젝트 - API 3건 연동하기 → 70% 달성 (API는 2건 만들었지만 부가적으로 처리한게 많으니 ..ㅎ!) 유튜브 2건 올리기 → 50% 달성 (이번 주 꼭 올려야지...) 조금 지치지만 꾸준히 빡세지 않지만 그냥 묵묵히, 꾸준히 쭉 할 거 하면서 지내온 3월인 것 같다. 회사에서 개인 공부할 시간이 많아져서 덕분에 블로그 글도 많이 쓰고 개발에 몰두할 수 있는 시간이 주어져서 좋았다. 벌써 2021년 1/4분기가 지나갔다. 내가 살아왔던 년도 중 가장 하고자하는걸 꾸준히 했던 년도라고 감히 말할 수 있다. 일기, 개발, 블로그, 운동.. 미친듯이 빡세게는 못한다. 사실 이건 만년 핑계거리지만 출퇴근..
[TIL] 2021년 3월 4째주 (21.3.22~21.3.28) ✔️ 목표 [사이드] IT 행사 아카이빙 프로젝트 - 계정(생성/조회/삭제/수정) API 개발 (완료) Mon 🎉 IT 행사 아카이빙 프로젝트 작업 내용 Event Response 구조 변경 (소라님 요청 건) Tue 🎉 IT 행사 아카이빙 프로젝트 작업 내용 계정(Account) API 구조 셋팅 완료 계정 생성 적용 (response dto 변경 필요함) 📚 개발 독서 - 토비의 스프링3 8.1~2 스프링의 정의,목적 (https://yuja-kong.tistory.com/entry/토비의-스프링3-8-스프링이란-무엇인가) 8.3 POJO 프로그래밍 (https://yuja-kong.tistory.com/entry/토비의-스프링3-8-3-POJO-프로그래밍) Wed 🎉 IT 행사 아카이빙 프로젝트 작..
[Spring] Bean property '필드명' is not readable or has an invalid getter method 에러 해결 에러 내용 Request 클래스의 validator 에러처리를 추가하고 있었는데 아래와 같은 에러를 발견하였다. Request processing failed; nested exception is org.springframework.beans.NotReadablePropertyException: Invalid property 'nickname' of bean class [AccountUpdateDto.Nickname]: Bean property 'nickname' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter? getter/sette..
[토비의 스프링3] 8-4. 스프링의 기술(2) - AOP, PSA '토비의 스프링3' 개발 서적을 읽으며 내용을 정리한 글입니다. 애스펙트 지향 프로그래밍(AOP) IoC/DI를 이용해서 POJO에 선언적인 엔터프라이즈 서비스를 제공할 수 있지만 일부 서비스는 순수한 객체지향 기법만으로 POJO 조건을 유지한 채 적용하기 힘들다. 이런 문제를 해결하기 위해 나온게 AOP 이다. AOP 적용 기법 다이내믹 프록시를 사용하는 방법 - 기존 코드에 영향을 주지 않고 부가 기능을 적용해주는 데코레이터 패턴을 응용한 것이다. - 부가기능을 부여할 수 있는 곳은 메소드의 호출이 일어나는 지점뿐이라는 제약이 있다. AspectJ를 이용한 언어의 확장 - 유명 오픈소스 AOP 툴이다. - 프록시 방식에서 불가능한 다양한 조인 포인트를 제공한다. - Java, JDK의 지원만으로 불가..
[토비의 스프링3] 8-4. 스프링의 기술(1) - IoC/DI '토비의 스프링3' 개발 서적을 읽으며 내용을 정리한 글입니다. 8.4 스프링의 기술 스프링에는 POJO 프로그래밍을 쉽게 할 수 있도록 3 가지 가능기술을 지원한다. : IoC/DI, AOP, PSA 스프링은 단지 이런 기술을 제공하는 기술 프레임워크가 아니다. 스프링의 진정한 목표는 POJO 기반의 엔터프라이즈 개발을 편리하게 해주는 것이다. 따라서 스프링이 직접 제공하지 않는 기술에 대해서도 가능기술을 적용하여 개발하는 것이 목적과 핵심 가치에 부합한다. 제어의 역전(IoC) / 의존관계 주입(DI) IoC/DI는 스프링의 가장 기본이 되는 기술이자 핵심 개발 원칙이다. 왜 이 원칙이 필요한지 알아보자. 왜 두 개의 오브젝트를 분리해서 만들고, 인터페이스를 느슨하게 연결한 뒤, 실제 사용할 대상은 ..
지독한 너란 매핑, 그리고 오픈소스 기여에 대한 생각 매핑 에러 에러 에러 !! Spring Boot로 API를 만들면서 계~속 에러→찾고→해결→에러 의 반복을 겪고 있는 매핑.. (objectMapper, ModelMapper, Jackson..) Getter, Setter, 생성자.. 필수조건같은거 너무나 복잡해서 다 머리에 안들어온다. 오늘은 ModelMapper 때문에 이슈였는데 @Setter 붙이니까 됨.. 사실 레퍼런스 상세히 보면 알 수 있는 내용들이었다. 내가 계속 헷갈린다는 것은 그만큼 얕게 공부한거겠지?😭 오픈 소스에 한글 번역을 기여해볼까? 위 이슈로 ModelMapper 레퍼런스를 열어보았는데 검정색 지렁이들.. 눈에 안읽히고.. ㅎr.. 내가 레퍼런스를 잘 안보는 이유도 영어라 나에게 불친절해서 ㅠㅠ 괜히 영어공부 해라해라 했던게 아..
[Spring] ModelMapper Entity to DTO 변환 시 프로퍼티 null 해결 들어가며 API의 Response로 전달될 Object를 만들면서 Entity 를 DTO로 변환해야하는 경우가 생겼다. 여느 때처럼 DTO클래스에 Mapper로 매핑작업을 하는 of() 메서드를 만들었는데 json 응답 값이 null 파티였다. (😂NULL🎉....) 왜 나는 modelMapper, objectMapper, Jackson의 늪은 벗어날 수 없는걸까.. 거의 매일 찾아보는데 다음 날 되면 다시 리셋되는 나의 머릿 속,,😫 또 같은 실수를 반복하지 않기 위해 울면서작성해본다 광광..흑흑.. 문제 상황 Account 엔티티 객체 -> AccountResDto 응답용 객체 로 변환하고자 of 메서드를 제작하였다. @Getter public class AccountResDto { private s..
[토비의 스프링3] 8-3. POJO 프로그래밍 '토비의 스프링3' 개발 서적을 읽으며 내용을 정리한 글입니다. 8.3 POJO 프로그래밍 스프링의 가장 강력한 특징과 목표를 기술적으로 정의하자면 아래와 같다. 분리됐지만 반드시 필요한 엔터프라이즈 서비스 기술을 POJO 방식으로 개발된 애플리케이션 핵심 로직을 담은 코드에 제공한다. 해석 (1) : 핵심 로직은 아니지만 반드시 필요한 뒷단의 기술을 (2) : POJO 방식으로 개발된 애플리케이션 핵심 로직에 포함시킨다. 핵심 로직과 뒷단의 기술을 분리하였는데 (2)에 포함시켜 제공하고자 하는게 스프링이 기술적으로 지향하는 목적이라고 한다. 그렇다면 POJO가 대체 뭘까? POJO에 대해서 알아보자. POJO란 무엇일까? POJO 정의 간단한 자바 오브젝트. 객체지향적인 원리에 충실하면서, 환경과 기술..