DB 공부를 하다 DB에 접근하는 방법 2가지를 알아보았습니다.정리를 하면 더 좋을것 같아서 블로그에 포스팅하기로 하였습니다.DriverManager, Connection Pool를 이용하여 DB의 Connction을 얻는 과정을 진행해 보겠습니다.우선 DriverMa
테스트 코드는 잘 작동이 되었는데 애플리케이션을 작동시키면 바로 종료가 되었습니다. 무엇을 잘못했는지 살펴보니... starter-web을 추가하지 않았습니다. 그래서 build.gradle에 starter-web을 추가하였습니다. Tomcat이 실행되는과정에서
Oauth 2.0의 매커니즘을 이해하려면 우선 용어부터 정리해야합니다.Client : 우리가 만든 서비스Resource Owner : Resourece Server의 주인Resource Server : 타 플랫폼클라이언트가 할 일은 크게 2가지가 있습니다.Resourc
팀 프로젝트에서 모임을 하고 리뷰를 남기는 기능을 구현해야 했습니다.이때 아래와 같은 에러가 발생했습니다.조회한 값이 unique하지 않아서 발생한 에러입니다.리뷰기능은 팀원이 맡은 로직이지만, Merge하는 과정에서 첫번째 참가자가 리뷰를 작성하면 두번째부터는 위와같
알림이 온다면 실시간으로 알림창이 나오게 하고 싶다는 생각이 들었습니다.기존에는 일반 alert창이기에 디자인면에서 좋지 않았습니다.기존 alert그래서 검색을 해본결과 Sweet alert를 통해서 커스텀이 가능하다고 하여 바로 적용을 해보았습니다.sweetalert
지금 진행하는 팀 프로젝트는 운동을 같이할 운동메이트를 동네에서 찾는게 핵심입니다.여기에 추가로 실시간 매칭기능을 넣으려고 하고 있습니다.원래는 운동 종목별로, 가까운 사람들 기준으로 등등 여러가지 사항을 고려해야하지만우선은 구현하기 쉽게 실시간 매칭기능을 누른다면1\
Dto에서 readOrNot을 추가해주었습니다.페이징을 처리하기위한 작업니다.첫페이지와 마지막페이지 그리고 정렬된 순서를 지정해주었습니다.알림이 생겼을때 해당 알림을 체크했다면 false로 만들어주는 함수 readAlarms를 작성하였습니다.알림을 체크하는 로직입니다.
앞서 실시간 알림기능을 SSE로 구현하기로 하였습니다.이번글에서는 실시간 알림 기능을 구현해 보겠습니다.서버단의 로직은 생각보다 복잡하여 Front먼저 살펴보겠습니다.클라이언트에서 서버로 연결이 필요합니다.이때 자바스크립트의 EventSource를 사용하여 연결하면 됩
팀프로젝트를 진행하면서 로그인, Oauth, 알림기능을 구현하였습니다.알림기능을 구현하다보니 순간 실시간 알림이 있으면 좋겠는데?라는 생각을 하였고 실시간 알림을 구현하기 위한 방법이 여러개 있다는 것을 알게되었습니다.여러개의 방법 중 저는 실시간 알림기능을 SSE를
구글 개발자 api 리다이렉션 URI 도움말위에 명시된 정보와 같이 리디렉션 URI는 IP주소를 사용 할 수 없습니다...하지만 저는 IP주소가 짧고 편해서 사용해왔는데, Oauth로그인시 도움말을 제대로 읽지 못하여 시간을 너무 많이 날려먹었습니다...앞으로 꼼꼼히
팀프로젝트를 진행하며 로그인기능을 Cookie에 jwt를 담아 구현했습니다.분명 localhost에서는 잘돌았는데 Ec2로 띄워 로그인을 해보니 Cookie값이 넘어오지 않았습니다.원인을 알 수 없어 바로 검색에 들어갔습니다.쿠키는 Http에서는 보낼 수 없다고 합니다
Redis로 Session을 공유하는 로직을 구현하고 실제 로그인 시 Redis 서버에 저장이 되나 확인을 하려고 하는데 Ec2가 내려가있었습니다...트래픽도 몰리지 않았고 CPU도 높아지지 않았지만 서버가 내려갔습니다..그원인을 정확히 찾지는 못했지만 구글링을하여 찾
앞서 Session의 단점과 단점을 보완할 수 있는 Redis서버에 대해 알아보았습니다.오늘은 Redis에 Session을 저장하여 서버가 다중화되어도 Session정보를 저장 할 수 있게 리펙토링할 것입니다.컨테이너 스케일 인, 아웃할때 세션을 공유하여 여러 컨테이너
앞서 Oauth 로그인을 했을때 Session에 jwt를 저장하여 로그인을 구현했습니다.이때, 아래와 같은 아쉬운 부분이 있었습니다.세션은 스케일 아웃시 공유되지 않는다.서버에 저장되어있는 in-Memory에 접근해야하기때문에 트래픽이 몰린다면 서버가 복구될 때까지 서
OAuth로그인을 적용을 하면서 구글, 페이스북, 네이버 순으로 연결을 하였습니다.분명 잘 사용하고 있었는데 안되었기때문에 분명 페이스북과 네이버를 설정할때 무언가 잘못설정했나 싶었습니다.그렇게 페이스북과 네이버 설정을 한참 살펴보다 전부 잘 설정되었다고 판단하여 해당
앞서 Oauth로그인 세팅을 해보았습니다.이제 PrincipalOauth2UserService의 loadUser를 작성해 보겠습니다.구글 로그인과, 페이스북 로그인을 해보면서다형성이 필요한 이유를 알아보겠습니다.우선 앞서 설명한 회원가입 시나리오처럼 전달받은 프로필 정
팀 프로젝트를 진행하다 인프라를 맞고있는 팀원분께서 AWS관련하 설정을 잘못하여 서버를 잠시 내려야한다고 하셨습니다그래서 일단 제가 컨테이너를 띄우려고하던 도중에 만난 에러를 기록하고자 합니다.첫번째는 yml파일이 잘못되어있었습니다.Jpa의 하이버네이트가 자동으로 테이
로그인, 로그아웃 기능을 구현하고 develop브랜치에 업로드 후 로직이 잘 동작하는것을 확인하고Main Branch로 push를 했습니다.이렇게 Cookie와 Jwt를 이용한 로그인이 끝난줄 알았지만, 팀원중 한분이 로그아웃을 하지 않았는데 Jwt가 만료되어 웹 브라
Security Filter의 로그아웃을 사용하여 로그아웃을 하여도 계속 로그인이 되어있는 상황이 발생하였습니다.왜 로그인이 안되지? 라는 생각과 동시에 여러 추측을 해보았지만 잘 모르겠어서 Security가 제공하는 logout에 대하여 구글검색을 해보았습니다.위 설
앞서 개인프로젝트에서 Session에 JWT를 담아 로그인을 진행했습니다.Jwt는 Session에 담을 수도있지만, Cookie에도 담을 수 있어 팀프로젝트에는 Cookie에 담아서 Jwt를 시큐리티 컨텍스트 홀더에 담고 싶었습니다.팀 회의를 통해 Session보다 C