Programming-[Backend] (393) 썸네일형 리스트형 [TIL] 카프카 로그 압축 정보 local container에서 확인 방법(kafka-run-class, DumpLogSegments) 1. 개요아래 Ref. 블로그에서 Producer로 메시지 발송 시 압축에 대한 내용을 보고, Docker로 실행 중인 local 컨테이너에서 로그 정보를 출력해볼려고 했다.https://velog.io/@wwlee94/Kafka-메시지-압축에-대하여 docker로 실행하다보니 CLI용 kafka-run-class.sh 스크립트의 경로 및 로그 파일 경로가 달라서 찾느라 시간을 썼다. 저장해놓는다. /usr/bin/kafka-run-class kafka.tools.DumpLogSegments --files /var/lib/kafka/data/{yourPartitionName}/{yourMessageSegment}.log --print-data-log | grep compresscodec 2. 테스.. [TIL] Test Coverage Report - Jacoco, Codecov, Test Reporter 1. JacocoJacoco를 사용하면 build시 Test Coverage Report를 생성해준다. 코드 라인별로 테스트 코드에서 참조되어 사용되었는지 점검하고, if 분기문 등 모든 케이스에 대해 점검하기 때문에 혹시 빠뜨린 테스트가 없는지 살펴보는데도 도움이 된다. gradle로 build를 하고나면 build/reports/tests/test/ 디렉토리에 index.html 이라는 coverage report를 만들어준다. 아래 사진 처럼 각 패키지별, 클래스별로 테스트 수, 성공/실패 여부, 성공률 및 자세한 내용을 알려준다. 세부 내용으로 들어가면 앞서 말한 바와 같이 내가 어떤 부분을 놓쳤는지 알 수 있기 때문에 견고한 소프트웨어를 만드는데 있어 필수라고 할 수 있다. ref) http.. 자바 기초 강의 정리 - 6. 직렬화, URL 및 소켓 프로그래밍 인프런 얄코의 제대로 파는 자바 강의를 듣고 정리한 내용이다. 중요하거나 실무를 하면서 놓치고 있었던 부분들 위주로만 요약 정리한다.자세한 내용은 강의를 직접 수강하는 것이 좋다.https://www.inflearn.com/course/%EC%A0%9C%EB%8C%80%EB%A1%9C-%ED%8C%8C%EB%8A%94-%EC%9E%90%EB%B0%94/dashboard 1. 직렬화(Serialization)자바 클래스를 Serializable 클래스를 구현하여 직렬화할 수 있다. 직렬화 시 클래스의 인스턴스를 바이트 스트림으로 변환하여 다른 곳으로 보낼 수 있다. public class Person implements Serializable { private static long serialV.. 자바 기초 강의 정리 - 5. 데이터 입출력(Stream, Reader, Writer) 인프런 얄코의 제대로 파는 자바 강의를 듣고 정리한 내용이다. 중요하거나 실무를 하면서 놓치고 있었던 부분들 위주로만 요약 정리한다.자세한 내용은 강의를 직접 수강하는 것이 좋다.https://www.inflearn.com/course/%EC%A0%9C%EB%8C%80%EB%A1%9C-%ED%8C%8C%EB%8A%94-%EC%9E%90%EB%B0%94/dashboard 1. 파일 다루기 기존 java.io.File 클래스는 멀티쓰레드 문제, 기능 한정, OS간 이식성 문제 등으로 사용하지 않고, java.nio.file 패키지의 기능들로 대체되었다. 1.1 Pathsnio 패키지 내의 클래스이다. 이전 버전의 File과는 다르게 Path를 String뿐만 아니라 Path라는 객체 자체로 다루면서 더 .. 자바 기초 강의 정리 - 4. CompletableFuture, Thread-safe, Concurrent, Atomic 인프런 얄코의 제대로 파는 자바 강의를 듣고 정리한 내용이다. 중요하거나 실무를 하면서 놓치고 있었던 부분들 위주로만 요약 정리한다.자세한 내용은 강의를 직접 수강하는 것이 좋다.https://www.inflearn.com/course/%EC%A0%9C%EB%8C%80%EB%A1%9C-%ED%8C%8C%EB%8A%94-%EC%9E%90%EB%B0%94/dashboard 1. CompletableFuture completableFuture도 Future와 마찬가지로 비동기처리의 결과를 담고 있는 클래스이다. Future와 동일하게 .get() 메서드를 호출하면 main 쓰레드의 흐름에 관여한다. CompletableFuture.supplyAsync() 메서드로 사용하여 인자없이 결과를 반환하는 Supp.. 자바 기초 강의 정리 - 3. 멀티태스킹(쓰레드) - 1: Thread, Runnable, Group, Daemon 인프런 얄코의 제대로 파는 자바 강의를 듣고 정리한 내용이다. 중요하거나 실무를 하면서 놓치고 있었던 부분들 위주로만 요약 정리한다.자세한 내용은 강의를 직접 수강하는 것이 좋다.https://www.inflearn.com/course/%EC%A0%9C%EB%8C%80%EB%A1%9C-%ED%8C%8C%EB%8A%94-%EC%9E%90%EB%B0%94/dashboard 1. 쓰레드 프로세스 vs 쓰레드프로세스는 컴퓨터에서 실행 중인 프로그램이라고 보면 된다. 기본적으로 프로세스간 자원이 공유되지는 않는다. 쓰레드는 한 프로세스 안에서 일어나는 여러 실행 흐름을 의미한다. 이 쓰레드는 같은 프로세스 내의 공유 자원을 사용할 수 있기 때문에 공유 자원 사용에 유의해야한다. 쓰레드 생성 방법다음 두 가지의.. 자바 기초 강의 정리 - 2. 컬렉션, 함수형 인터페이스, 에러와 예외 인프런 얄코의 제대로 파는 자바 강의를 듣고 정리한 내용이다. 중요하거나 실무를 하면서 놓치고 있었던 부분들 위주로만 요약 정리한다.자세한 내용은 강의를 직접 수강하는 것이 좋다.https://www.inflearn.com/course/%EC%A0%9C%EB%8C%80%EB%A1%9C-%ED%8C%8C%EB%8A%94-%EC%9E%90%EB%B0%94/dashboard 1. 컬렉션 ListLinkedList스택과 큐는 예전에는 따로 자료구조로 사용하였으나, 현재는 LinkedList 하나로만 사용한다. ArrayList vs LnikedList주로 ArrayList를 많이 쓰지만, 장단점에 대해 잘 기억하고 써야한다. ArrayList는 각 요소들로의 접근이 빠르지만 추가 | 제거 시에는 성능에.. gradle -Build Tools 설정, 서브 모듈, task에 대한 기본적 이해 자바 - 스프링부트 프로젝트에서 gradle을 이용하여 종속성 관리를 많이한다. 환경 설정 셋업이라 주니어 개발자로써 잘 모르는 내용이 많았는데, 대략적으로라도 이해한 내용을 정리해놓는다. 아래 gradle 공식 사이트에서 docs - running gradle builds - Tutorial 부분을 20~30분만 읽어봐도 대략적으로 이해할 수 있다.ref) https://docs.gradle.org/current/userguide/part1_gradle_init.html 1. build 자바- 스프링 계열에서 프로젝트 build를 하는 것은 실행가능한 .jar 파일을 만드는 과정이다. 직접 작성하는 .java 파일들을 JVM이 해석할 수 있는 .class 파일로 변환하고 메인 함수의 위치는 어디인지(.. 이전 1 ··· 5 6 7 8 9 10 11 ··· 50 다음