Java & Spring Boot

Java 8 버전부터 자바의 Stream을 지원하기 시작하였습니다. Stream이란 컬렉션에 저장되어 있는 원소들을 하나씩 돌아가면서 처리할 수 있는 패턴입니다. Stream은 람다식과 함께 다양한 편의 메서드들을 제공하여 조금 더 코드를 간결하고 아름답게 작성할 수 있게 많은 도움을 주고 있습니다. 그래서 가독성이 좋다는 이유로 for문을 대신하여 stream을 많이 사용하기도 합니다. 그러면 stream과 for문은 어떤 차이가 있을까요? For문 이란? 이미 알고 계시겠지만 노파심에 정리하자면, for문은 안에 for( 초기화; 조건; 후처리 )의 내용을 적어서, 반복문을 만들기 위해서 사용하고 있습니다. 예시로 위의 이미지는 1부터 5까지의 숫자를 가지고 있는 리스트를 차례대로 출력을 하고 있습니..
Java로 프로젝트를 진행하려면 우선 어떤 버전으로 만들 것인지(모든 언어가 그렇지만) 정해야 합니다. Java는 대표적으로 8 버전부터 혁신적으로 언어가 변화했다고 여겨지고 있습니다. 그러나 구체적인 버전 별의 세세한 차이까지는 알지 못하는 사람들이 대부분입니다. 이번 포스팅에서는 Java 1.8 이전 부터 최근에 릴리즈 된 Java 17 버전까지의 차이점을 다루어 보겠습니다. Java 1.8 이전 가장 혁신적으로 바뀌어진 변경점들이 Java 8 에서 나타났기에, 그 이전 버전들은 모두 통으로 묶어서 알아보겠습니다. 우선 Java는, 썬 마이크로 시스템즈에서 C++의 단점을 극복하고자 만든 언어입니다. 그 단점이라 함은, 메모리 할당/해제의 복잡함과 다중 상속으로 인한 실수 유발 등을 말합니다. 항상 ..
백엔드 개발자라면 누구나 들어봤을 만한 개념, SOLID. 기술 면접을 위해 달달 외워보지만 개념도 어렵고 심지어는 긴 영어단어로 이루어져 있어서 이름 외우기도 힘듭니다. 저도 실제로 면접 질문으로 나온 적이 있었는데, 그때 이렇게 대답했습니다. "S가 단일 책임 이고, O가 아... L이 리스코프 치환 어쩌고였는데 생각이 나지 않네요...." 지금 생각하면 아찔한 답변이네요. 자주 나오는 빈출 질문이어서 외우기는 했는데 실제로 답변을 하려니까 머리가 새하얘 졌었습니다. 물론 이 질문 하나로 당락이 결정되지는 않겠지만 외우기 힘든 개념을 술술 말한다면 좋은 인상을 남길 수는 있겠죠. 같은 실수를 반복하지 않기 위해, 그리고 여러분은 저와 같은 실수를 범하지 않게 하기 위해 이번에는 SOLID 원칙에 대해..
Spring Boot 프로젝트를 빌드할 때, Maven과 Gradle 중 하나의 빌드 툴을 정하여 사용하게 됩니다. 만약, Gradle이라는 빌드 툴을 사용할 경우, build.gradle이라는 파일이 생기게 됩니다. 해당 파일에서는 gradle 빌드 작업에 필요한 여러 가지 옵션, 설정, 동작 등을 정의해주며 의존성 라이브러리 또한 관리해줍니다. 의존성을 관리해주는 dependency 프로퍼티는 굉장히 다양한 옵션을 가지고 있습니다. implementation, compileOnly, runtimeOnly,... 등. 일부 종속성은 소스 코드를 컴파일하는 데 사용되는 반면, 다른 종속성은 런타임에만 사용할 수 있어야 합니다. 이번 포스팅에서는 의존성 옵션들 각각의 특징에 대해 알아보겠습니다. Java의..
테이블과 매핑되는 엔티티를 정의할 때는 Id 값이 필수로 들어갑니다. 우리는 주로 Long 타입으로 정의를 하곤 합니다. 근데 왜 Wrapper 타입인 Long을 사용하는 걸까요? Primitive 타입인 long 도 있는데, 이것을 사용하면 안 되는 걸까요? 분명히 어떤 이유가 있을 겁니다. 그러려면 우선 Primitive와 Wrapper의 차이점 부터 알아보아야겠습니다. Primitive Type vs. Reference Type 우선 자바의 변수 타입에는 기본형(Primitive Type)과 참조형(Reference Type)이 있습니다. int age = 3; // 기본형 Point p1 = new Point(5, 4);// 참조형 두 개의 차이점은, 기본형은 변수의 값을 그대로 저장하지만 참조형..
둘기덕
'Java & Spring Boot' 카테고리의 글 목록 (2 Page)