반응형 java14 [Lombok] Constructor 정리 Lombok은 도메인 개발시 불필요한 코드의 사용을 줄여주고 강력한 기능을 제공하여 줍니다. 그만큼 잘 알고 써야 하는 것이 맞고 개인적으로는 잘 사용하지 못할것 같으면 사용을 하지 말고 직접 개발하는 것이 맞다고 생각합니다. 그래서 잘 사용하기 위해서 하나씩 정리해보려고 합니다. 자바로 개발을 진행하면서 생성자를 통하여 많은 내용을 진행하게 됩니다. Lombok 에서는 생성자를 생성하여 주는 기능 또한 제공하여 주는데 다음과 같은 어노테이션을 제공합니다. @NoArgsConstructor : 기본 생성자를 만드는데 사용합니다. @AllArgsConstructor : 모든 필드의 생성자를 만드는데 사용합니다. @RequiredArgsConstructor : 필수 생성자를 만드는데 사용합니다. 각각의 기본.. 2022. 2. 1. [JPA] JPA와 Mybatis 비교 개발자로서 일을 시작하면서 Mybatis의 사용은 거의 80 ~ 90%였습니다. 왜냐하면 어느 프로젝트에서든지 쉽게 접할 수 있었습니다. 그러다보니 어느 프로젝트를 진행하든 Mybatis라는 프레임워크를 만났기 때문에 어렵지 않게 진행할 수 있어서 사실 반가웠습니다. 그래서 JPA는 미지의 영역이었습니다. 그리고 시간이 흘러서 프로젝트를 새롭게 진행하면서 JPA를 접하게 되었습니다. 그때까지만 해도 JPA를 이렇게 알고 있었습니다. Database의 제약없이 변경되도 사용할 수 있다는 것 그러다 이러한 생각이 들었습니다. 단순히 위 기능때문에 그 많은 서비스 기업에서 JPA를 사용하는 것일까? 그리고 나는 개발자로서 Java의 기능을 맞게 사용하고 있는것인가? 라는 생각이 들었고 좋은 기회로 우아한 테크.. 2022. 1. 23. [Item6] 불필요한 객체를 생성하지 마라 Effective Java의 Item6에서는 불필요한 객체를 생성하지 마라고 설명을 하고 있습니다. 그 내용 중 여기서는 오늘 생성 비용이 큰 객체의 재사용의 대해서 한 가지 알아보려고 합니다. 사실, 이 내용은 피드백을 통해서 알게된 내용입니다. 1주차 우테캠 Pro 3기 회고 [1주차] 우테캠 Pro 3기 회고 1주차 미션은 문자열 덧셈기와 로또를 구현하는 미션을 진행하였습니다. 진행해왔던 미션을 회고하면서 놓쳤던 부분들을 정리하려고 합니다. 문자열 덧셈기 기간 미션 진행 기간 : 2021.11.02 ~ 2021 lovethefeel.tistory.com 그렇다면 객체의 생성 비용이 크다면 과연 성능상 얼마나 큰 차이가 있을까 궁금하였습니다. 그래서 다음과 같이 실험을 하였습니다. 개발 환경 Java.. 2022. 1. 5. [Spring WebFlux] Timeout on Mono blocking read 해결 현재 저희팀에서 개발 시 Spring WebFlux를 사용하고 있습니다. Spring WebFlux의 대한 기본 지식없이 맨 땅에 헤딩하면서 진행하여서 해당 부분을 정리하려고 합니다. 개요 사용자 아이디를 이용해서 item을 갖고오는 API가 있습니다. public Flux collect(final String userId) 이 API의 응답값이 Flux으로 되어 있는데, 이 부분을 List으로 변환하고 싶습니다. 그래서 다음과 같은 작업을 하였습니다. 사건의 시작 Flux을 List으로 받기 위해서 아래 소스를 이용해서 응답을 받았습니다. 하지만... private List callUserItem(Request request) { return apiItemController.collect(request.. 2021. 11. 10. [Java] Enum의 활용 enum의 사용방법을 처음 알았을때.신기하고 편해서 정리하려고 한다. doc.https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html enum.열거형(enumerated type)이며, 서로 연관된 상수들의 집합.클래스로 생성 가능하여 필드, 메소드 등 상수의 역할을 넘어서 많은 역할 가능. 사용목적.서로 연관된 상수들의 집합을 이용하여서.가공 및 처리(메소드를 이용하여)가 필요한 경우의 사용. 사용방법.예시를 참고.웹 페이지에서 여러가지 날짜 포맷을 지원하는 경우. public enum DateFormat { /** * yyyyMMdd 문자열 형식 */ YYYYMMDD("yyyyMMdd") , /** * yyyyMMddHHmmss 문자열 형식 */ .. 2020. 5. 22. [Java] Charset과 유니코드 그리고 인코딩 몇년전 이야기.모 은행 프로젝트를 끝내고 본사로 돌아왔을때. 회사 부장님이 은행에서 진행한 내용에 대해서 설명을 해달라고 하였다.설명을 신나게 하고 있는데 갑자기 한 가지 질문을 던지셨다."전문은 왜 사용하지?"....한순간 정적이 흐르고.통신을 하기 위해서 사용한다고 대답하였지만.부장님 기준에는 원하지 않은 대답으로 기억한다. 지금 내 기준에서 정확한 답을 무엇일까?표준통신규약이라고 말할 수 있을것 같다.서로간의 약속된 규약을 통해 약속한 데이터를 전송하는 것.컴퓨터 세상에서는 이러한 데이터를 표현하기 위해서 문자집합을 정의해야 한다.표현해야할 문자(한글, 영어 등등)가 있고 특수문자도 정의해야 하고.이러한 문자들의 순서를 지정한 것을 문자 집합(character set)이라고 한다. 문자집합을 컴퓨터.. 2020. 5. 20. 이전 1 2 3 다음 반응형