반응형
[Java] Logger 이해
Language/Java2024. 8. 8. 21:47[Java] Logger 이해

Java 애플리케이션의 성능 문제를 해결할 때는 JVM 메트릭만으로는 충분하지 않습니다. Java 개념을 완전히 이해하려면 Java 로그와 추적도 필요합니다. 이 글에서는 Java 애플리케이션 로그에 대해 집중적으로 살펴보겠습니다.로깅(Logging)이란?로깅은 애플리케이션의 오류를 추적할 수 있는 기능을 제공하는 API입니다. 애플리케이션이 로깅 호출을 생성하면 Logger가 LogRecordfile에 이벤트를 기록합니다. 그런 다음 해당 핸들러(handler) 또는 어펜더(appender)로 이벤트를 보냅니다. 콘솔이나 파일로 보내기 전에 어펜더는 포맷터 또는 레이아웃을 사용하여 로그 기록을 포맷합니다.Java 로깅 라이브러리/프레임워크SLF4Jjava.util.loggingLogbackLog4jLo..

Java 8 코딩 및 프로그래밍 면접 질문과 답변
Language/Java2024. 7. 31. 12:13Java 8 코딩 및 프로그래밍 면접 질문과 답변

이 글에서는 Java 8 코딩 및 프로그래밍 면접 질문과 답변을 공유하겠습니다. 아래 질문들을 풀기 위해 Stream API 함수만 사용했습니다.1. 정수 목록에 있는 모든 짝수를 찾아내는 방법은 무엇일까요?List list = Arrays.asList(10, 15, 8, 49, 25, 98, 32);list.stream() .filter(n -> n % 2 == 0) .forEach(System.out::println);// Output: 10, 8, 98, 322. 정수 목록에서 1로 시작하는 모든 숫자를 찾아낼 수 있나요?List myList = Arrays.asList(10, 15, 8, 49, 25, 98, 32);myList.stream() .map(s -> s + "") ..

[Java 8] Stream API 면접 질문과 답변
Language/Java2024. 7. 30. 13:08[Java 8] Stream API 면접 질문과 답변

Java 면접을 준비하고 계신다면 이 글이 가장 유용할 것입니다. Java 버전의 지속적인 업그레이드 이후 면접 질문도 증가했기 때문입니다. 여기에서는 가장 자주 묻는 Java 8 Stream API 면접 질문과 답변을 정리했습니다. Stream APIStream API는 면접에서 면접관이 가장 많이 선택하는 주제 중 하나입니다. 가장 많이 사용되는 Stream API 질문의 개념을 알아보세요. Java 8의 Stream API에 대한 몇 가지 질문과 답변을 살펴보겠습니다.1. Stream API란 무엇인가요?Java 8은 java.util.stream이라는 새로운 추가 패키지를 제공합니다. 이 패키지는 클래스, 인터페이스, 열거형 등으로 구성되어 요소에 대한 함수형 연산을 허용합니다.java.util...

[Java] Iteration 예
Language/Java2022. 11. 25. 13:13[Java] Iteration 예

Iteration 람다(Lambda)의 forEach 함수를 사용하는 예제입니다. 사용 예 List friends = Arrays.asList("Brian", "Nate", "Neal", "Raju", "Sara", "Scott"); 기존 for 문 for (int i = 0; i < friends.size(); i++) { System.out.println(friends.get(i)); } for (String name : friends) { System.out.println(name); } # 결과 Brian Nate Neal Raju Sara Scott forEach 사용 forEach 함수를 사용한 예제입니다. 첫 번째부터 마지막까지 점점 코드가 간략해지는 것을 볼 수 있습니다. // 1) fri..

[Java] 스트림(Stream) 사용 방법
Language/Java2022. 11. 25. 10:15[Java] 스트림(Stream) 사용 방법

스트림(stream) Java 8 버전부터 추가되었고 특정 요소 형식으로 이루어진 연속된 값에 대한 집합 인터페이스를 제공합니다. filter, map, reduce, sort, find 등의 함수들을 제공합니다. 사용 예 @Data @NoArgsConstructor @AllArgsConstructor public class Person { private String name; private String age; } List people = Arrays.asList( new Person("Eden", 20), new Person("Ko", 21), new Person("Lee", 21), new Person("Kang", 25) ); Mutable 21살 이상의 사람을 찾는 코드입니다. filter를 사..

Java 8 람다(Lambda) 적용 예
Language/Java2022. 11. 24. 14:38Java 8 람다(Lambda) 적용 예

람다(Lamdba) 란 람다식, 또는 람다 함수라 부른다. 프로그래밍 언어에서 사용되는 개념으로, 익명 함수(Anonymous functions)를 지칭하는 용어이다. 나무위키 예제 Map에서 특정한 값을 가지는 entry에 대해서 삭제하는 코드입니다. Map map = new HashMap(); map.put("XXX", "111"); map.put("YYY", "222"); map.put("ZZZ", "333"); map.put("AAA", "444"); map.put("BBB", "555"); map.entrySet().stream() .filter(entry -> entry.getValue().equals("111")) .map(entry -> entry.getKey()) .collect(Coll..

Java 8 스트림 적용시 성능 변화
Language/Java2022. 11. 24. 14:36Java 8 스트림 적용시 성능 변화

for 문 int startIndex = 0; long endIndex = 2000000000L; long startTime = System.currentTimeMillis(); long sum = 0; for (long i = startIndex; i < endIndex; i++) { sum += i; } long processTime = System.currentTimeMillis() - startTime; System.out.println("sum : " + sum); System.out.println("process time : " + processTime + "ms"); 실행 결과입니다. sum : 1999999999000000000 process time : 11919ms Stream 사용 i..

[JAVA] 날짜 비교
Language/Java2022. 9. 23. 22:21[JAVA] 날짜 비교

SimpleDateFormat을 이용한 날짜 비교하는 방법에 대해 알아보겠습니다. 소스코드 import java.text.SimpleDateFormat; import java.util.Date; public class SimpleDateFormatExample { public static long getDayCount( String start, String end ) { SimpleDateFormat format = new SimpleDateFormat( "yyyy-M-d" ); long diff = -1; try { Date dateStart = format.parse( start ); Date dateEnd = format.parse( end ); // time is always 00:00:00 so..

[JAVA] String형 Bytes length 구하기
Language/Java2022. 9. 22. 20:53[JAVA] String형 Bytes length 구하기

String 길이 구하기 String test = "테스트"; System.out.println("length : " + test.length()); # 결과 length : 3 바이트 길이 구하기 String test = "테스트"; int length = test.getBytes().length; System.out.println("length : " + length + " Bytes"); # 결과 length : 9 Bytes 기본 인코딩이 UTF-8 설정되어있을 경우 한글은 한글자당 3바이트씩 계산됩니다. 한글 한글자당 2바이트씩 나오게 하려면 아래와 같이 인코딩을 설정하면 됩니다. String charset = "euc-kr"; String test = "테스트"; int length = tes..

[JAVA] 동네예보 조회서비스 API 사용 방법
Language/Java2022. 9. 12. 21:51[JAVA] 동네예보 조회서비스 API 사용 방법

동네예보 조회서비스 동네예보 정보를 조회하기 위해 공공데이터 포털 사이트의 동네예보 조회서비스 API 사용 방법에 대해 알아보겠습니다. Open API 활용 방법 동네예보 조회서비스 사이트에서 활용신청을 하고 Service Key를 발급받습니다. 오픈 API 활용 가이드를 다운로드하여 조회 조건 및 결과 데이터를 이해합니다. 동네예보 데이터 조회 http://apis.data.go.kr/1360000/VilageFcstInfoService/getVilageFcst?ServiceKey={발급받은 Service Key}&pageNo=1&numOfRows=10&dataType=JSON&base_date={현재날짜}&base_time={현재시간}&nx={지점 X 좌표값}&ny={지점 Y 좌표값} 결과 데이터(J..

반응형
image