Home

자바 컬렉션을 Null Safe 하게 정렬하기

자바 8에 도입된 스트림(Stream)을 사용하면 컬렉션을 쉽게 정렬할 수 있다. (Stream이 아니더라도 List인터페이서의 sort() 메서드를 사용할 수도 있다.) 예를들어 Member를 나이 순으로 정렬한다면 아래와 같이 할 수 있다. 1234567List<Member> memberList = Arrays.asList(Member.of(

Window and Document

자바스크립트에서 window와 document는 모두 브라우저가 제공하는 자바스크립트 내장 객체이다. 이 두 객체가 의미하는건 무엇이고 어떤 차이가 있을까? Window - 브라우저 객체 모델의 최상위 객체브라우저 객체 모델(BOM : Browser Object Model) 은 웹브라우저의 탭 혹은 창의 모델을 나타내는데, 이러한 웹브라우저 객체 모델의 최

Java Stream에서 allMatch() 사용시 주의할 점

Java 8에 포함된 Stream 클래스에는 모든 요소들이 주어진 조건에 만족하는지 여부를 검사하는 allMatch() 메서드를 제공한다. 예를 들어, 모든 회원의 나이가 5살 이상인지 검사하는 테스트 코드를 다음과 같이 작성할 수 있다. 123456789101112@Testpublic void allMatchTest1()) { List&l

스프링 프로젝트에서 리소스 파일 읽기

리소스(Resource)Maven이나 Gradle을 사용하여 스프링 프로젝트를 만들게 되면 src/main/resources 디렉토리에 리소스 파일을 저장하게 되어있습니다. *.java 파일처럼 컴파일 대상이 되는 소스파일이 아닌 파일들을 리소스 디렉토리에 저장하여 관리합니다. 1234src - main - java (소스파일을 저장)

Ubuntu에 Tomcat 설치하고 실행하기

이번 포스트에서는 우분투에 아파치 톰캣을 설치하는 방법을 정리해 보도록 하겠습니다. 우분투의 패키지 툴인 apt-get 명령을 사용하는 방법도 있지만, 여기서는 wget 명령어를 사용해 톰캣 압축파일을 직접 다운로드 받아 설치를 해보도록 하겠습니다. 1. 톰캣 홈페이지 방문먼저 아파치 톰캣 홈페이지(http://tomcat.apache.org/) 에 방문하

macOS에 JDK 설치하기

1. JDK 다운로드JDK는 오라클(http://www.oracle.com/)에서 제공합니다. 아래의 경로에 접속하면 최신버전의 JDK를 다운로드 받을 수 있습니다. JDK download URL : http://www.oracle.com/technetwork/java/javase/downloads/index.html 혹은 오라클 사이트에서 menu >

Java8에서 날짜 차이 계산하기

Java8의 java.time 패키지에 새롭게 추가된 LocalDate 클래스 사용시, until(ChronoLocalDate endDate)메소드를 사용하면 두 날짜사이의 기간(Period)을 구할수 있습니다. 리턴 받은 Period 객체의 getYears(), getMonths(), getDays() 메소드를 호출하면 년도 차이, 달 차이, 일 차이를

스프링 MVC에서 리스트 파라미터 바인딩시 주의할 점

스프링 MVC의 컨트롤러에는 콤마(,)로 구분된 파라미터를 리스트로 바인딩 해주는 편리한 기능이 있다. ID 목록 등을 요청으로 받을 때 자주 사용하는 기능이다. @PathViriable 과 @RequestParam 모두 사용할 수 있으며, 사용법은 아래와 같이 간단한다. 바인딩 될 파라미터 변수를 List로 선언해주면 된다. 12345@GetMapping

IntelliJ CE에서 스프링 부트 디버깅 하기

내가 프로그래밍을 할때 주로 사용하는 IDE는 IntelliJ이다. 회사에서는 라이센스를 구매해 주기 때문에 Ultimate 버전을 사용하고, 집에서 간단한 예제 코드등을 실행할때는 무료버전인 Community Edition을 사용한다. 지금 공부하고 있는 책의 예제 코드가 메이븐 + 스프링부트 프로젝트여서 코드를 돌려보기 위해 IntelliJ Commun