Biginteger
BigInteger 코테 문제를 풀다가 여기에서 a와 b가 long으로도 변환이 안되는 큰 수로 인해 계산을 어떻게 해야할지 몰랐다. a : “18446744073709551615”, b : “287346502836570928366”, result : “305793246910280479981” a와 b를 long으로 변환을 시키면 NumberFo...
BigInteger 코테 문제를 풀다가 여기에서 a와 b가 long으로도 변환이 안되는 큰 수로 인해 계산을 어떻게 해야할지 몰랐다. a : “18446744073709551615”, b : “287346502836570928366”, result : “305793246910280479981” a와 b를 long으로 변환을 시키면 NumberFo...
H2 실행 H2 사이트에 들어가서 All Platforms를 눌러 압축을 풀어준다. h2 폴더를 프로젝트로 옮겨준다. cd h2 cd bin window는 ./h2.bat을 실행 mac은 ./h2.sh를 실행하면 자동으로 h2 콘솔 페이지가 뜬다. http://127.0.0.1:8082/ 주소로 들어가도 된다. 위 ...
Spring의 내장 브로커에서 Redis 브로커로 마이그레이션 1. 확장성 및 메시지 처리량 향상 Redis는 메모리 기반 데이터베이스로, 데이터를 빠르게 읽고 쓸 수 있는 특징을 가지고 있다. 낮은 지연 시간을 제공하며, 높은 메시지 처리량을 가능하게 해 더 많은 사용자나 요청을 처리할 수 있다. 2. 간단한 설정과 운영 Redis는 간단...
Paging 기존 페이징을 작성할 때는 게시글 페이지만 적용했기 때문에 바로 Service 코드에 작성했다. 이후에는 Video, MyPage에도 페이징이 필요해서 이를 Dto에서 추상화 시켜 적용했다. 기존 코드 DTO @Builder @Getter @AllArgsConstructor @NoArgsConstructor public class...
로그인 문제 해결하기 문제 기존에 사용하고 있던 폼 로그인에 내가 작성한 oauth2를 적용하게 되면서 로그인이 제대로 이루어지지 않는 상황이 생겼다. 코드 Security http.authorizeRequests() .antMatchers("/css/**", "/oauth2/**", "/user/**", "/taste/**", "/j...
실습용으로 연습용 project를 하나 만들다가 build 과정에서 오류가 떴다. Spring Boot 3.0부터는 Java 17 이상만 지원하는데 11로 사용하려고 해서 오류가 뜬 것이었다. 여기서는 java 17로 적용하는 과정을 작성했다. Java version 변경하기 Download 여기에서 java 17을 다운받는다. Sett...
랜덤 채팅 문제 해결 문제 랜덤 채팅을 시도를 하는 과정에서 접속자 수가 1명인 상태에서 20초가 초과되면 자동으로 접속이 끊겼다. 그런데 랜덤 채팅을 test 하던 과정에서 20초 시간이 지나기 전 강제 종료 후 다시 랜덤 채팅을 시도할 경우 기존 통신 시도와 새로 시작하는 것이 섞여서 띄워지게 되었다. 그래서 client에서는 기존에 통...
WebSocket + STOMP + 보안 강화하기 채팅과 같이 지속적인 연결을 유지하는 구조에서 한 번의 인증 실수가 전체 세션 보안에 영향을 줄 수 있다. 이 글에서는 WebSocket 환경에서 JWT를 활용하여 인증을 강화하는 방법을 정리했다. JWT(Json Web Token)란 JWT는 웹에서 사용자 인증 정보를 안전하게 전달하기 위...
NGINX로 Front 배포하기 EC2 인스턴스 설정 요약 이전에 EC2 인스턴스를 생성하고 Docker를 설치하는 과정을 진행했으므로 여기에선 약 정리 정도로만 작성했다. sudo ssh -i {keypair}.pem ubuntu@{ec2 ipv4 주소} sudo apt-get update sudo apt-get install docker.i...
배포 자동화 안쓰는 이미지를 지우는 명령어 sudo docker image prune -a 확인창 띄우지 않게 하기 sudo docker image prune -af script 파일 만들기 touch deploy.sh touch : 파일을 생성하는 명령어 script 작성 @RequiredArgsConstructor @RestC...