가장 마지막 commit 수정 커밋 메세지에 오타를 입력했거나 issue 번호를 잘 못 입력해서 수정할 때 사용하면 된다. $ git commit --amend -m "[ commit 명 ]" 이미 push 된 경우 commit msg 수정 후 아래와 같이 입력한다. $ git push -f [브랜치 명]
Biginteger
BigInteger 코테 문제를 풀다가 여기에서 a와 b가 long으로도 변환이 안되는 큰 수로 인해 계산을 어떻게 해야할지 몰랐다. a : “18446744073709551615”, b : “287346502836570928366”, result : “305793246910280479981” a와 b를 long으로 변환을 시키면 NumberFo...
H2 설치 및 실행
H2 실행 H2 사이트에 들어가서 All Platforms를 눌러 압축을 풀어준다. h2 폴더를 프로젝트로 옮겨준다. cd h2 cd bin window는 ./h2.bat을 실행 mac은 ./h2.sh를 실행하면 자동으로 h2 콘솔 페이지가 뜬다. http://127.0.0.1:8082/ 주소로 들어가도 된다. 위 ...
Redis pub&sub
Spring의 내장 브로커에서 Redis 브로커로 마이그레이션 1. 확장성 및 메시지 처리량 향상 Redis는 메모리 기반 데이터베이스로, 데이터를 빠르게 읽고 쓸 수 있는 특징을 가지고 있다. 낮은 지연 시간을 제공하며, 높은 메시지 처리량을 가능하게 해 더 많은 사용자나 요청을 처리할 수 있다. 2. 간단한 설정과 운영 Redis는 간단...
Paging
Paging 기존 페이징을 작성할 때는 게시글 페이지만 적용했기 때문에 바로 Service 코드에 작성했다. 이후에는 Video, MyPage에도 페이징이 필요해서 이를 Dto에서 추상화 시켜 적용했다. 기존 코드 DTO @Builder @Getter @AllArgsConstructor @NoArgsConstructor public class...
로그인 문제 해결하기
로그인 문제 해결하기 문제 기존에 사용하고 있던 폼 로그인에 내가 작성한 oauth2를 적용하게 되면서 로그인이 제대로 이루어지지 않는 상황이 생겼다. 코드 Security http.authorizeRequests() .antMatchers("/css/**", "/oauth2/**", "/user/**", "/taste/**", "/j...
Java version 변경하기
실습용으로 연습용 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 + Stomp + 보안 강화하기 WebSocket과 STOMP를 사용하여 실시간 통신을 구현하는 경우, 사용자 인증을 강화하여 보안성을 높이는 것이 중요하다. 이를 위해 JWT(Json Web Token) 토큰을 사용하여 사용자 인증을 처리하는 방법을 작성했다. JWT(Json Web Token) 토큰 JWT(Json Web...
Nginx
NGINX로 Front 배포하기 EC2 인스턴스 이 전에 언급했던 내용이므로 요약 sudo ssh -i {keypair}.pem ubuntu@{ec2 ipv4 주소} docker 설치 sudo docker login -u {github username} ghcr.io sudo docker pull ghcr.io/haedal/cicd:latest ...