본문 바로가기

분류 전체보기180

Client does not support authentication protocol requested by server 클라이언트가 서버에서 요청한 인증 프로토콜을 지원하지 않습니다 원래 MySQL의 default_authentication_plugin(기본 인증 플러그인)은 mysql_native_password이었다. 하지만, MySQL 8부터 보안이 강화된 caching_sha2_password로 변경되면서 문제가 생긴다. 이때, MySQL 클라이언트가 아직 caching_sha2_password 방식을 지원하지 못하는 경우 에러가 발생하게 된다. 기본 인증 플러그인이 변경되었다. 오류 해결! 2024. 3. 27.
[김영한의 JPA] 연관관계 매핑 연관관계 매핑 기초 엔티티들은 대부분 다른 엔티티와 연관관계가 있다. 객체는 참조(주소)를 사용해서 관계를 맺고, 테이블은 외래 키를 사용해서 관계를 맺는다. 핵심 키워드 방향 : [단방향, 양방향] 단방향 : 한쪽만 참조, 양방향 : 양쪽 모두 서로 참조 다중성 : [다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:M)] 연관관계의 주인 : 객체를 양방향 연관관계로 만들면 연관관계의 주인을 정해야 한다. 단방향 연관관계 다대일 단방향 연관관계 - 회원과 팀이 있다. - 회원은 하나의 팀에만 소속될 수 있다. - 회원과 팀은 다대일 관계다. 객체 연관관계 - 회원 객체는 Member.team 필드(멤벼변수)로 팀 객체와 연관관계를 맺는다. 테이블 연관관계 - 회원 테이블과 팀 테이블은 양.. 2024. 3. 27.
[김영한의 JPA 활용 강의 2편] 김영한님의 실전! 스프링 부트와 JPA활용 2를 3번째 수강하려고 한다!! 회원 등록 API V1 엔티티를 Request Body 직접 매핑 @PostMapping("/api/v1/members") public CreateMemberResponse saveMemberV1(@RequestBody @Valid Member member) { Long id = memberService.join(member); return new CreateMemberResponse(id); } 등록 V1 : 요청 값으로 Member 엔티티를 직접 받는다. 문제점 - 엔티티에 프레젠테이션 계층을 위한 로직이 추가된다. - 엔티티에 API 검증을 위한 로직이 들어간다. (@NotEmpty 등등) - 실무에서는 회원 엔티티를 위한 .. 2024. 3. 27.
2024/03/13(수) 나를 돌아보기 오늘은 기상을 좀 늦게했다. 아직 온전히 내 공부에 집중하기엔 방해되는 요소들이 너무 많다. 특히 휴대폰이 너무나 방해가 된다. 수시로 카톡과 인스타에 들락날락한다. 온전히 몰입해도 부족한 상황 가운데 몰입을 방해하는 요소들로 인해 몰입을 하지 못하는 것 같다. 이 몰입을 방해하는 요소들을 전부 내려놓기위해 오늘 아침에 인스타그램을 삭제했고, 카톡 또한 밥먹는 시간 외에는 보지 않으려고 한다. 오늘 아침에 신앙 서적에서 읽은 책의 내용이 너무 감명깊었다. 내용은 다음과 같다. 하나님은 우리와 친구가 되고 싶어하신다. 우리가 하는 모든일에 관심이 있으시고, 모든 일 가운데 생기는 고민과 걱정을 함께 나누길 원하신다. 언제 어디서 무엇을 하고 무엇을 먹는지 항상 궁금하시다고 한다. 이 부분을 .. 2024. 3. 14.
2024/03/12(화) 나를 돌아보기 아.. 글쓰면서 알고리즘 하고 있었는데 다 날라갔다.. 내가 공부한 내용을 거의 2시간 넘게 작성하고 있었는데.. 다시 해보자 상윤아 이또한 주님의 뜻이다..! 다시 차근차근 공부해보자 천천히 해보자.. 아 속상하다. 앞으로는 글 작성할때 임시저장을 무조건 해야겠다! 알고리즘 DP 백준 2240번(복습 완료) https://www.acmicpc.net/problem/2240 2240번: 자두나무 자두는 자두를 좋아한다. 그래서 집에 자두나무를 심어두고, 여기서 열리는 자두를 먹고는 한다. 하지만 자두는 키가 작아서 자두를 따먹지는 못하고, 자두가 떨어질 때까지 기다린 다음에 떨어 www.acmicpc.net 풀이 코드 import java.io.BufferedReader; import ja.. 2024. 3. 13.
2024/03/11(월) 나를 돌아보기 공부를 너무 안하는 모습이 보였다. 동기가 없는 걸까..? 왜 안하는 걸까..? 내가 게으른 건가? 그렇다 치곤 매일 운동하며 독서는 하고 있다. 아니 어쩌면 개발자라는 직업을 갖기 싫은 걸까? 아니면 빨리 취직하고 싶은 조급한 마음에 공부하는 것이 너무 많음을 알고 두려워하는 걸까? 나이때문에 내 자신은 안될거라고 생각하는 걸까? 도무지 모르겠다. 개발을 시작할때는 개발 하는 것이 너무 즐거웠는데, 지금은 즐겁기보단 버거운 것 같다. 투자하는 시간에 비해 목표만 너무 높게 잡은 걸까? 자존감이 바닥이다.. 공부를 잘못해오고 있는 걸까? 진짜 내가 한 선택의 순간순간들이 내 인생을 갉아먹은 걸까..? 지금 심정은 진~짜 아무것도 하고 싶지 않다. 이런 마음이 들땐, 하나님께 죄송하다. 뭔가.. 2024. 3. 12.
[Kotrip] Kakao 인증 구현하기 졸업작품 프로젝트 Kotrip의 로그인 방식을 Kakao 인증으로 구현을 하려고 한다. Spring Security는 사용하지 않고 Oauth 방식만 사용하려고 한다. Spring Security vs OAuth Spring Security - 스프링 기반 애플리케이션의 보안을 위한 표준 - 인증(Authentication)과 인가(Authorization) 기능을 가진 프레임 워크 인증이란? 어떤 개체(사용자 또는 장치)의 신원을 확인하는 과정 ex) 회원가입, 로그인 등 인가란? 어떤 개체가 어떤 리소스에 접근할 수 있는지 또는 어떤 동작을 수행할 수 있는지 검증하는 것, 접근 권한을 얻는 것 ex) 게시물 수정,작성,삭제 등 Spring에서 확장성을 고려하여 설계되었기 때문에 다양한 요구사항을 손쉽.. 2024. 3. 7.
[Chatty] Handshake Intercetpor 적용하기 문제점 채팅 메시지를 Stomp Handler를 사용해서 토큰 인증을 할 경우에, 토큰 인증이 실패되었을때, 에러메시지를 사용자에게 알려주려면 에러 메시지를 날려주는 채널을 따로 생성을해서 구독을 하는 방식으로 해야했다. 내가 생각한 해결 방법 사람이 많아지게되는 경우 각 채널마다 에러 메시지를 날려주는 채널을 추가적으로 만들어주게 되면 서버 자원 측면에서 비효율적이라고 생각했다. 그래서 이거에 대한 대안은 Stomp Handler에서 토큰 검증을 해주는 것이 아니라 http 통신을 할경우 3-way handshake를 하게 되는데, 이때 이 handshake를 가로채는 handshake Interceptor를 사용해서 토큰 검증을 해주도록 수정하려고 한다. StompHandler에서 토큰 검증을 해주는.. 2024. 3. 6.
2024/03/05(화) 가자! 네카라쿠배당토 좀 더 체계적으로 공부를 하려고한다. 매일 매일 기도하면서 하나님께 지혜를 달라고 구하고 있다. 어쩌면 지금 취업준비 시간이 하나님과 더욱 가까워지고, 더 하나님을 의지할 수 있는 귀한 시간이라고 생각한다. 공부하다 막막한 느낌이 든다면, 휴대폰을 꺼내는 것이 아니라 주저말고 기도를 하자 알고리즘 이름을 아는 기업에 가려면, 코딩 테스트가 필수다. 어떤 유형이 있는지 또 어떤 유형을 공부해야 하는지 조사를 했고, 이제 한 유형 한 유형 정복하려고 한다. 노션으로 표 유형을 만들었다. 문제를 푸는 것도 좋지만, 한 문제 한 문제 정확히 아는게 더 중요하다고 네이버 공채 코딩테스트 합격자가 말했다. 지금까지는 문제 양치기에 집중해서, 유형 변형이 조금만 되면 바로바로 틀렸다. 앞으로는 양치기가 아닌 한 문제.. 2024. 3. 5.