본문 바로가기

프로그래밍94

[Tip] spring boot gradle로 배포 gradlew가 있는 폴더로 디렉토리 변경 gradlew build 입력 ./build/libs 로 디렉토리 변경 java -jar 파일이름.jar 입력하면 서버 구동. 2022. 10. 12.
[window to mac] 복사 붙여넣기 팁 윈도우 환경에서 인텔리제이를 통해 코드를 작성하고, mac으로 옮기려고 할 때 line feed가 제대로 되지 않는 경우가 발생합니다. 그럴 때에는 윈도우 메모장에 코드를 한번 옮겨서 복사 붙여넣기를 한 후, 그 메모장의 내용을 다시 mac으로 복사 붙여넣기를 하게 되면 line feed가 제대로 적용된 코드를 만나실 수 있습니다. 2022. 10. 11.
[ModernJavaInAction] 7장 병렬스트림 정리 2편 이 글은 ModernJavaInAction이란 책을 읽고 요약 정리한 글 입니다. 모든 실습 코드는 아래 주소에 있습니다. https://github.com/jojojojocho/mordernjavainaction GitHub - jojojojocho/mordernjavainaction: 모던자바인액션 연습코드 모던자바인액션 연습코드. Contribute to jojojojocho/mordernjavainaction development by creating an account on GitHub. github.com 1편에 이어서 자바 7부터 병렬화 처리를 쉽게 하도록 도와주는 포크 / 조인 프레임워크 대해 알아 보도록 하죠. 포크 / 조인 프레임 워크 포크 / 조인 프레임 워크는 병렬화 할 수 있는 메.. 2022. 10. 11.
[ModernJavaInAction] 7장 병렬스트림 정리 1편 이 글은 ModernJavaInAction이란 책을 읽고 요약 정리한 글 입니다. 모든 실습 코드는 아래 주소에 있습니다. https://github.com/jojojojocho/mordernjavainaction 안녕하세요!! 이번 장에서는 스트림의 성능을 좀 더 개선할 수 있는 방법 중 하나인 병렬스트림에 대해서 알아보겠습니다. 7장 병렬 스트림 병렬 스트림이란? 데이터를 각각의 스레드에서 처리 할 수 있도록 스트림 요소를 여러개의 청크로 분할한 스트림 입니다. 그러나 무턱대고 순차로직을 병렬화 하게 되면 race condition 문제가 발생할 수 있습니다. ** race condition(경쟁상태) 둘 이상의 입력 또는 조작의 타이밍이나 순서가 예상과 다르게 작동하면 정상적인 결과가 나오지 않게 .. 2022. 10. 10.
[MordernJavaInAction] 6장 스트림으로 데이터 수집(Stream Collector) 2편. 이 글은 MordernJavaInAction이란 책을 읽고 요약 정리한 글입니다. 6장 1편에 이어서 진행되는 글 입니다. - 데이터 분할 Collectors.partitioningBy() 분할은 분할 함수(partitioning function) 이라 불리는 Predicate를 분류함수로 사용하는 특수한 그룹화 기능입니다. 분할 함수는 불리언을 반환하므로 맵의 키는 Boolean 타입인 true, false 딱 2종류로만 분할이 됩니다. (다중 분류는 groupingBy를 사용해야 합니다.) - 분할의 장점 참과 거짓 두가지 요소의 스트림 리스트가 모두 유지 됩니다. (true에 해당하는 데이터가 없더라도 리스트는 유지됨.) 그럼 예제코드로 살펴보시죠. /** * 6.4 분할 - partitioning.. 2022. 10. 3.
[MordernJavaInAction] 6장 Collectors 클래스의 정적 팩토리 메서드 사용법 예제 모음. 이 글은 ModernJavaInAction이란 책을 읽고 요약 정리한 글 입니다. /** * 표 6-1 Collectors 클래스의 정적 팩토리 메서드 사용법 예제 - toList() * 스트림의 모든 항목을 리스트로 수집 */ @DisplayName("toList 사용법") @Test public void usingToList() { // when List toList = menu.stream().collect(toList()); // then System.out.println(toList); // [pork, beef, chicken, french fries, rice, season fruit, pizza, prawns, salmon] Assertions.assertThat(toList.size()).. 2022. 10. 3.
[Spring Batch] jobExecution 안에 있는 ExecutionContext안에 데이터 저장하기. (jobExecution에 데이터 저장 해서 사용하기) 1. Listener 클래스를 하나 선언한 후 public class 클래스명 implements JobExecutionListener{ } 해준다. 2. 클래스 내부에 beforeJob을 오버라이드 해준다. @Override public void beforeJob(JobExecution jobExecution) { ExecutionContext executionContext = jobExecution.getExecutionContext(); executionContext.put("키", 데이터가 선언된 변수); } 3. 이렇게 넣어주면 된다. 4. 사용할 때에는 아래와 같이 @Value와 jobExecutionContext에서 키값을 이용해 데이터를 꺼내와 미리 저장해둔 데이터 자료구조에 맞는 타입과 .. 2022. 9. 27.
[MordernJavaInAction] 6장 스트림으로 데이터 수집(Stream Collector) 1편. 이 글은 ModernJavaInAction 이란 책을 읽고 정리한 글 입니다. 안녕하세요. 저번 글에서는 스트림의 활용에 대해서 알아 보았는데요. 이번글에서는 스트림의 Collectors의 대해 알아보고자 합니다. 스트림에 대해서 궁금하신 분들은 이전 글들을 참고해주세요~ https://jojoplot2.tistory.com/entry/JavaInAction-%EC%8A%A4%ED%8A%B8%EB%A6%BCStream [ModernJavaInAction] 4장 스트림(Stream) 이 글은 모던 자바 인 액션이라는 책을 읽고 스스로 내용을 정리하여 작성 한 글입니다. 모든 실습 코드는 아래 주소에 있습니다. https://github.com/jojojojocho/mordernjavainaction Git.. 2022. 9. 25.
[ModernJavaInAction] 5장 스트림의 활용 이 글은 MordernJavaInAction을 읽고 정리한 글 입니다. 안녕하세요. 저번 글에서는 스트림에 대해서 알아 보았는데요. 이번글에서는 스트림의 활용에 대해 알아보고자 합니다. 스트림에 대해서 궁금하신 분들은 아래 링크에서 읽어보시길 바랄게요~ https://jojoplot2.tistory.com/entry/JavaInAction-%EC%8A%A4%ED%8A%B8%EB%A6%BCStream [ModernJavaInAction] 스트림(Stream) 이 글은 모던 자바 인 액션이라는 책을 읽고 스스로 내용을 정리하여 작성 한 글입니다. 안녕하세요. 오늘은 스트림에 대해서 알아보고자 합니다. 스트림은 JAVA 8 부터 API에 새로 추가된 기능입 jojoplot2.tistory.com 모든 실습 코.. 2022. 9. 12.