본문 바로가기

전체 글400

[Spring] @Data는 왜 지양해야 하는 것일까? 팀 프로젝트를 진행하며 Controller, Service 등에 공통적으로 사용할 어노테이션 목록을 정하면서 또 토의가 열렸다. @Data를 사용하는 쪽이 편하다는 의견과 @Data를 지양하자는 의견이 나왔기 때문이다. 그래서 찾아보는 '@Data를 지양해야 하는 이유'!   @Data@ToString, @Getter, @Setter, @EqualsAndHashCode, @RequiredArgsConstructor을 한 번에 사용하는 강력한 어노테이션@ToString : toString 메소드 자동생성@Getter : 모든 필드의 getter 메소드 자동생성@Setter : 모든 필드의 setter 메소드 자동생성@EqualsAndHashCode : equals, hashCode 메소드 자동생성@Requ.. 2024. 7. 4.
[Spring] HTTP 메소드 : PUT과 PATCH의 차이 팀 프로젝트를 진행하던 중, 정보를 업데이트할 때 PUT과 PATCH 중 어떤 것을 사용해야 하는지에 대한 토의(?)가 열렸다.나는 이제껏 PatchMapping을 주로 써왔기에 PATCH가 맞다고 생각했는데, 찾아보니 PATCH를 권장하지 않는다는 이야기가 있어서 깜짝 놀랐다. 알아봤던 내용을 정리해두면 좋을 것 같아 글로 남긴다.  HTTP 메소드 중 PUT과 PATCH는 리소스의 업데이트를 의미한다.리소스를 업데이트한다는 점에서 '똑같은 거 아닌가?'라는 생각이 들지만 둘 사이에는 약간의 차이가 있다. PUT : 리소스의 모든 것을 업데이트한다.PATCH : 리소스의 일부를 업데이트한다.  예를 들어 아래와 같은 리소스가 있다고 생각해보자.고객(customer)1이름(name)김철수나이(age)20.. 2024. 7. 4.
[Java] 스트림 API (Stream API) 스트림 API란?여러 종류의 데이터를 다양한 방식으로 다룰 수 있도록 제공하는 표준화된 방법 (≥ JDK 1.8)배열이나 컬렉션 뿐만 아니라 파일 데이터도 가능반복문이나 반복자(iterator)를 사용하여 개발하지 않아도 되도록 지원import java.util.Arrays;public class BasicStreamExample { public static void main(String[] args) { String[] stringArray = {"this", "is", "a", "stream", "example", "is", "this"}; Arrays.stream(stringArray).distinct().forEach(System.out::println); .. 2024. 6. 24.
[Java] 람다 표현식(Lambda Expression) 람다 표현식메서드를 하나의 식으로 표현한 것형태는 매개 변수를 가진 코드 블록이지만 런타임 시에는 익명 클래스를 생성간략하면서도 명확한 식으로 표현객체 지향보다 함수 지향 언어와 가까움(타입 매개변수) → {실행문; ...} 형태로 작성interface LambdaTest { int addOne(int i);}public class LambdaExample { public static void main(String[] args) { LambdaTest test = i -> ++i; System.out.println(test.addOne(1)); }}  람다 표현식의 특징장점코드의 간결성지연연산 수행병렬처리 가능단점불필요한 사용 시, 가독성 저하람다식의 호출이 까다로움람다 stre.. 2024. 6. 24.
[Lv.0] 프로그래머스 - 평행 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   이해하기너무 기본이지만 기울기와 평행 조건부터 다시 정리하였다. 기울기 구하는 법 어렵지 않아요!안녕하세요, 홍재룡수학학원입니다. 수평선 또는 수평면에 대한 기울어짐 정도를 나타내는 기울기! 기울기 ...blog.naver.com  두 직선의 위치관계 - 평행, 일치, 수직두 직선의 위치관계는 중학교 1학년 때 두 직선의 위치관계에서 공부했어요. 이때는 그냥 위치 관계의 종류에 대해서만 공부했죠. 평행, 일치, 수직, 한 점에서 만나는 경우요. 이 글에서는 직선mathbang.net 처음에 잘못 생각하였던 점.. 2024. 6. 21.
[Lv.0] 프로그래머스 - 겹치는 선분의 길이 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   이해하기처음에는 lines를 앞에서부터 하나씩 가져온 후, 이를 나머지 lines과 비교하여 겹치는 영역을 더하도록 하였다.하지만 세번째 예시인 {{0, 5}, {3, 9}, {1, 10}}가 실패하였다.이 때의 풀이는 각각의 0번 인덱스를 기준으로 정렬한 후, 서로 겹치는 부분을 answer에 더해주었다. 생각해보니 문제를 잘못 이해한 것이었다.문제에서 요구한 것은 세 선분이 전부 겹친다면 위와 같이 셋의 겹치는 부분을 찾으라는 것이었다.위 그림을 보면 1부터 9까지는 점이 2개 이상이고, 그렇기에 결과가 .. 2024. 6. 21.