본문 바로가기

전체 글44

Java - Lombok이란? Boilerplate 코드들 Java를 사용하기 위해서는 엄청나게 많은 Boilerplate 코드들을 작성하게 된다. 가장 기본적인 변수에 접근하기 위해서도 getter를 선언해야 한다. 실제 코드는 몇 줄 안되는 것 같은데 이미 스크롤은 끝이 없이 늘어나있다. 필요한 class를 찾기 위해서 이리저리 스크롤을 엄청나게 움직여야하는데 불편함이 이만 저만이 아니다. public static class Create { private String username; private String nickname; private User.SnsType snsType; private String description; private String sellerEnabledYN; private Integer workHour.. 2022. 9. 15.
Java - 비동기 api 호출 (CompletableFuture 2편) 지난 시간에는 Java에서 비동기로 api를 호출하기 위해서 CompletableFuture를 사용하는 방법에 대해서 알아보았다. 오늘은 CompletableFuture를 사용할 때 성능을 최적화하는 방법과 여러 개의 비동기 작업을 파이프라인을 통해서 선언적으로 사용하는 방법에 대해서 알아보도록하겠다. CompletableFuture의 기본 사용 방법을 알고 싶다면 이전 글을 참고하길 바란다. https://today-devstart.tistory.com/32 Java - 비동기 api 호출 (CompletableFuture 1편) 동기 API Java 개발을 하다보면 loop 안에서 여러번의 api를 호출해야할 때가 있다. 예를 들어서 아래와 같이 10번의 api 호출을 해야하는 코드가 있다. for .. 2022. 9. 5.
Java - 비동기 api 호출 (CompletableFuture 1편) 동기 API Java 개발을 하다보면 loop 안에서 여러번의 api를 호출해야할 때가 있다. 예를 들어서 아래와 같이 10번의 api 호출을 해야하는 코드가 있다. for (int i = 0; i < 10; i++) { blockingApiCall(); } Java에서 이렇게 함수를 호출하면 동기적으로 처리가 된다. 동기적으로 처리 된다는 것은 현재 진행중인 작업이 완료되어야만 그 다음 작업이 진행될 수 있다는 것인데 아래 그림처럼 1번 요청이 완료되어야 2번 요청을 진행할 수 있다는 것을 뜻한다. 만약 api를 한 번 호출하는데 1초가 걸린다고 하면 이 함수는 10번을 반복하기 때문에 무려 10초라는 시간을 기다려야 한다. 뿐만 아니라 이렇게 api의 응답을 기다리는데 걸리는 시간 동안 쓰레드가 bl.. 2022. 9. 4.
Mysql에 SSL enable 하기 (Mac OS) 1. mysql이 어디에 설치되어 있는지 확인하기 /usr/local/mysql-8.0.29-macos12-arm64 2. mysql이 있는 폴더에 cert 폴더를 만들어서 인증서 생성하기 (폴더 이름은 자유) - /usr/local/mysql-8.0.29-macos12-arm64/cert - pem 파일들을 rsa로 한번 바꿔줘야 작동한다. (MYSQL이 인식을 못하는듯함) openssl genrsa 2048 > ca-key.pem openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca.pem openssl req -newkey rsa:2048 -days 3600 -nodes -keyout server-key.pem -out server-re.. 2022. 8. 23.