본문 바로가기
반응형

슬기로운 자바 개발자 생활63

java8 Stream 02 map과 forEach 활용 java8 Stream 02 map과 forEach 활용 stream 방식으로 코딩을 하면 꽤 좋은 점이 코드가 눈에 띄게 줄어든다. 처음 자바8을 접했을 때는 익숙치 않아 거부감도 있었지만 일을 하면서 적용을 해보니 확실히 복잡한 프로그램을 만들 수록 소스 코드가 줄어든다. 누군가에에 도움을 주기 위한 포스팅은 아니고 내가 일하면서 자주 보려 한다. forEach 끝에 체이닝으로 collect를 넣었다가 한참 헤멨다. import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class Edu08_Map02 {.. 2023. 6. 1.
자바 스트림 Java stream 01 Modern java stream 01 이제야 스트림을 제대로 해보자는 생각이 들어 책을 구입하고 차근차근 예제를 따라 해 보는 중이다. 다른 이들보다 재능이 적다는 사실을 잊고 무작정 spring webflux나 reactive, RxJava 공부를 했었는데, 기초가 중요하다는 사실을 다시 깨달았다. 모던 자바 인 액션을 도서관에서 빌려와서 몇 번 대충 보고 반납했었는데 곁에 두고 익힐고 활용할 수 있을 수준이 될 때까지의 실력 향상을 도모하고자 구입했다. 10년 만에 구입하는 프로그래밍 책. 오늘은 스트림 기본 공부 1. Dish.class 는 기본 vo객체. package chaprer02; import java.util.Arrays; import java.util.List; public class.. 2023. 5. 28.
자바8 날짜함수 관련. //날짜를 지정해보기 DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyyMMdd"); LocalDate localDate = LocalDate.of(2023, 05, 31); //localDate.plusDays(1); 이렇게는 안됨... System.out.println(localDate.plusDays(2).format(format)); 데이터베이스에 회사 캘린더 테이블이 존재하는데 그 테이블에 특정일자가 휴일인지 아닌지를 체크하는 로직이 필요했다. 휴일이라면 +1일을 해서 다음 일자가 또 휴일인지 아닌지를 판단하고 휴일이 아니라면 그 년월일을 리턴해야 한다. 내가 선택한 방법은 간단하다. 처음 던진 일자를 시작으로 10일 치 미래 일자와 휴무.. 2023. 5. 26.
스프링에서 oracle declare 문 사용해보기 스프링에서 oracle declare 문 사용해 보기 절차지향 언어인 PL/SQL 과 객체지향 언어인 JAVA 스프링 프레임워크가 일반화되면서 많은 프로젝트에서 DB 프로시져나 DB Function 사용을 자제하고 자바서비스 부분으로 비즈니스 또는 복잡한 계산 프로그래밍을 넣는 방식으로 바뀌고 있다. 추세가 그렇게 변하는 이유는 꽤 많다. DataBase는 비싸고 웹서비스 쪽은 가격이 그에 비해 저렴하기도 하며, 비즈니스 로직을 데이터베이스에 되도록 의존적이지 않게 만들게 되면 스케일업이나 확장 및 이관도 용이한 면이 존재한다. 또한 개발자들이 객체지향과 데이터베이스의 절차지향 프로그래밍 방법으로 인해, 프로그래밍 패러다임이 엇갈려 많은 고뇌를 할 수밖에 없던 상황을 벗어날 수 있게 도와주는 JPA도 일.. 2023. 5. 14.
디자인 패턴 간단한 Command 패턴 개인적으로 필요해서 간단히 패턴을 익히고자 나만의 포스팅. public interface Command { public void execute(); } 범용적인 기능이 구현된 클래스... 추가적인 인자를 받아 더 디테일한 기능을 구현하게 된다. public class Light { String location = ""; public Light(String location) { this.location = location; } public void on(){ System.out.println(location + " light is on"); } public void off(){ System.out.println(location + " light is off"); } } Ligth 객체의 기능을 호출할 수 .. 2023. 4. 18.
자바로 윤년 체크하기 Why is there a Leap Year? 윤년(閏年, leap year)은 과년(夥年)이라고도 하며, 역법인 태음력이나 태양력에서, 자연의 흐름에 대해서 생길 수 있는 오차를 보정하기 위해 삽입하는 날이나 주, 달이 들어가는 해를 말한다. 삽입하는 달을 정하는 방법을 치윤법(置閏法)이라고 한다. 한국법에서는, "윤년"이란 그레고리력에서 여분의 하루인 2월 29일을 추가하여 1년 동안 날짜의 수가 366일이 되는 해를 말한다(천문법 제2조 제5호). 윤년에는 2월과 8월이 같은 요일로 시작된다. 간단하게 그 해의 달력 2월 29일이 있다면 윤년이고, 2월 28일까지 있다면 평년이다. 즉 365일은 평년, 366일은 윤년이다. 4년마다 한 번씩 돌아온다. 4로 나누어 떨어지는 해는 윤년, 그 밖의 해는.. 2023. 3. 29.
반응형