[StudyWithMe] Async Thread Pool과 CompletableFuture
·
프로젝트/StudyWithMe
이번 포스팅에서는 `StudyWithMe`에서 `@Async`을 통한 비동기 작업과비동기 작업에 관한 `Thread Pool` 및 `CompletableFuture`에 관해 알아본 내용을 정리하려고 한다. 요약@Async 적용 이유CompletableFuture 사용 이유비동기 스레드 풀 1. @Async 적용 이유 처음 이메일 발송 로직을 아래와 같이 `@Async`를 적용하지 않고 동기적으로 작동하도록 작업했다. EmailService@Slf4j@Service@RequiredArgsConstructorpublic class EmailService { private static final String authCodeEmailTitle = "스터디 윗 미 인증코드"; private static..
2024-01-10 개발일기
·
개발 기록
오늘은 `StudyWithMe` 프로젝트의 스터디 룸 관련 테스트 코드를 싹다 다시 작성했다. 하나의 `Application Context`만 띄우는 `IntegrationTest`가 목표이다. 그리고 기존 하나의 `CI/CD` 워크플로우에서 `CI`와 `CD`를 분리했다. `CI` 작업에서 테스트 코드 커버리지를 확인하기 위함이다.
[Java] Java를 복습해보자
·
Language/Java
Java의 컴파일 과정자바 프로그래머가 `.java`의 확장자를 갖는 소스 파일을 생성한 뒤 `javac` 컴파일러를 이용해 `.class`의 확장자를 갖는 바이트 코드를 만들어내는 것을 컴파일 과정이라고 한다. Java 프로그램은 바로 실행이 가능할까?Java 프로그램은 완전한 기계어가 아닌 중간 단계의 바이트 코드를 사용한다.그렇기에 이것을 해석하고 실행할 수 있는 가상의 운영체제가 필요하다.해당 가상 운영체제는 JVM으로, JVM 덕분에 우리는 다른 운영체제에서도 JVM만 설치되어있으면,동일한 결과를 내는 Java 프로그램을 수행할 수 있게 된다.즉, 운영체제마다 Java 프로그램을 개발하는 것보다 운영체제와 자바 프로그램을 중계하는 JVM을 두어,어떤 운영체제에서도 동일한 실행 결과가 나오도록 설..
2024-01-03 학습일기
·
개발 기록
요즘 `CS` 공부와 `Java`를 직접 필기로 정리하고 있다.학부 때 학습하면서 어렴풋이 이해하고 넘어갔던 것들이 아 이런 `CS` 파트가 실제 Application에서 이렇게 적용되었구나, 이렇게 사용되었구나를 많이 느끼는 것 같다. 바로바로 연관이 되는 것들이 생각이 나니까 CS 공부 복습이 나름 재밌다. 틈틈이 프로젝트 개발도 하고 있긴한데 이런저런 일정 때문에 CS를 좀 더 하고 있는 실정이다. 테스트 코드스터디 룸 공간 신청 내역 환경예약 내역 환경마이페이지등현재 개발해야하는 목록? 일 것 같다! 그리고 빨리 포스팅해야 하는 목록도 있다.StudyWithMe에서의 CompletableFuture의 사용 및 개념`INDEX` 설정 시 범했던 실수와 `EXPLAIN`으로 항상 테스팅하라!    (..
2024-12-30 개발일기
·
개발 기록
`StudyWithMe` 프로젝트의 유저 인증/인가 환경을 구성하였다. `OAuth2`를 사용하다보니 그냥 따로 `UsernamePasswordAuthenticationFilter`를 구성하지는 않고,그냥 `AuthController`를 구성하여 로그인/로그아웃/리이슈를 처리했다.
2024-12-29 개발일기
·
개발 기록
이력서와 포트폴리오를 살짝 손본 뒤 오늘도 하루종일 개발을 했다.  Commit 거리가 한창 남아있다..