
개인 프로젝트를 통해서 나의 개인 서비스를 출시하고자 하는 것이 아니라, 우선 졸업하기 전에 꼭 경험하고 나가야 할 기술들을 공부하고 실습하기 위한 이유로 시작한다. 서버 구축 : Spring,Fast-API인증 인가 : Spring Security,JWT,Oauth2
로그인 회원 가입 Front.code index.html main.css
우선 Swagger는 API 문서를 자동으로 생성해주는 도구로, 개발 중 REST API를 시각화하고 테스트할 때 유용합니다. 을 추가해준다.

출처: https://thenicesj.tistory.com/884에러메시지다음과 같은 에러 메시지가 나왔다.나의 MemberMapper.java는 고작 다음과 같았다.그런데 여기서 문제가 생긴 것은 코드의 문제가 아닌, 설정의 문제라고 생각하고 검색을 해봤는
출처 : https://velog.io/@lunatic1702/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-%EC%8B%9C%EC%9E%91-%ED%9B%84-%EB%B0%94%EB%A1%9C-%EC%A2%85%EB%A3%

에러발생 위에 에러 부분을 보면 다음과 같은 에러 메시지가 있다말인 즉슨, 이메일이 중복되어 회원가입이 진행 된것이다. 이번에는 다른 이메일로 회원가입을 진행해보자.성공이다.문제는 MemberMapper.xml에 있었다.다음과 같이 role에는 기본적으로 'USER'값

BCryptPasswordEncoder는 Spring Security에서 제공하는 클래스입니다. 이를 사용하려면 Spring Security 의존성을 추가해야 하며, 또한 @Bean으로 BCryptPasswordEncoder를 등록해줘야 자동 주입이 가능합니다의존성 추

웹 서비스와 사용자의 요구에 따라 로그인 방식은 달라져야한다. 그로 여러가지의 로그인 방식을 구현해보면 좋을 것 같다는 생각이 들어, 여러가지의 로그인 방식으로 구현해 보았다. 어떠한 방식의 로그인들이 있는지 찾아보니, 우선 내가 여기에서 구현할 것들을 다음 2가지

권한 설정위 코드에서 RoleHierarchyImpl는 Spring Security에서 제공하는 클래스이며, 권한 계층을 설정할 때 사용된다.보다싶이 Impl이 붙어있기 때문에, 어떠한 인터페이스의 구현체일 것이다.fromHierarchy는 RoleHierarchyIm

물론 나의 현재 로그인 방식에 의하면, 아이디는 필요가 없다.하지만, 나중에 나의 서비스를 이메일이 아니라 {아이디, 비밀번호}로 로그인 할 수도 있기 때문에 , 일단 개발해 놓도록 하자.아이디 찾기 API는 {이메일과 비밀번호를 통해 찾는다}
1.로그인,로그아웃 서비스2.AI 챗봇 서비스3.캐시 등등에 사용할 레디스를 미리 설정한다.위와 같이 사용할 redisTemplete를 미리 빈으로 등록해 놓는다.추후 커스터마이징 또한 가능하다. redistemplete는 레디스와 상호작용할 수 있는 다양한 메서드를

JWT와 레디스를 이용한 로그인/로그아웃 로직을 구현하였다.로그인 시 {사용자 닉네임 , jwt 엑세스 토큰}를 한 쌍으로 redis에 등록하고, 로그아웃 시 해당 jwt를 블랙리스트에 {사용자 닉네임, jwt 엑세스 토큰}을 올리는 식이다.그리고 이후 사용자의 API

diary emotion weather의 약자로 dew라고 이름을 지어봤다.일기를 작성하면, AI가 감정을 분석하고 분석된 감정을 날씨로 치환해주는 서비스를 제작하여 사용자에게 보여주는 서비스이기 때문이다.일기본문과 일기 제목을 넘겨주고, AI가 분석하여 힐링 메시지와

사용자가 작성한 일기를 삭제하는 기능이다.사용자의 고유번호와 일기 작성 날짜를 확인하여, DB에서 삭제하는 로직을 설계했다.나는 항상 컨트롤러에는 별거를 안 넣으려고 한다.내게 컨트롤러는 그저 시작점이자 가장 간단한 로직만 존재하는 곳으로 인식되기 때문이다.중요한 수학
1.일기 썸네일 리스트 반환 기능 사용자가 마이 페이지에서 본인이 지금까지 작성한 일기를 레포트 형식으로 리스트를 볼 수 있다. 2. 구현 3. Trouble Slove API 호출 시 로그 출력 없이 403문제 컨트롤러는 다음과 같다. 처음 부분에 보면 로그

"마이페이지 > 일기 리스트 조회"에서 특정 일기 썸네일을 누르면, 해당 일기를 조회 할 수 있다.일기의 내용은,작성된 날짜, 일기 제목, 일기 본문, 분석된 사용자의 감정, 힐링 메시지, 힐링 뮤직이다.클라이언트 측에는 일기장 디자인으로 표현될 예정이다.이제 슬슬 M
1. CORS란? 2. 내 프로젝트 적용

위 피그마 디자인은 내가 초안으로 그린 디자인 화면이다. 위 화면에서 가장 위의 카드 내부에 1\. 프로필 사진 2\. 사용자 ID 3\. 인트로 (짧은 자기 소개) 이렇게 3개가 들어갈 정보를 DTO에 포함하여 반환한다.간단한 프로세스이기에 아무런 오류없이 바로 성

위 디자인 pigma를 통한 화면 설계서이다.제목,프로필 사진,ID,작성 날짜,좋아요 기능,사진(생략 가능),힐링 메시지(텍스트),댓글등의 기능이 있다.힐링 메시지의 텍스트에는 "마크다운 문법"을 지원할 계획이다.여기서 외래키 제약 조건에 사용되는 옵션으로, 참조된

위 화면 설계서 이미지와 같이,웹 사이트 회원들끼리 "Healing Message"게시글을 주고받는 도메인이다. 우리가 흔히 아는 인스타그램과 비슷한 서비스 구조이다. 해당 도메인을 구현하기 위해서 3개의 데이터 테이블을 설계하였다.healing_message 테이블
1. 힐링 메시지 삭제 기존에 본인이 작성했던 힐링 메시지를 삭제하는 API이다. 삭제할때는 삭제할 힐링메시지의 고유 번호를 전달하여 삭제한다. 2. Trouble Solving 만났던 오류 참고한 사이트 URL https://velog.io/@ghwns9991/%

힐링 메시지 게시판에서 힐링 메시지 리스트를 썸네일 형식의 리스트로 반환하는 API이다.그 중 하나를 선택하면, 사용자는 해당 힐링 메시지 게시글을 상세보기 할 수 있다.여기서 반환하는 썸네일의 구성요소는제목작성자 닉네임작성 날짜이다.오류 메시지의 일부resultTyp

위 화면 설계 처럼 이미 DB에 있는 정보를 가져와서 페이지를 조회한다.아직 구현하지 못한 것이 있다.좋아요 기능댓글 불러오기 기능추후 구현하자여기에 추가적으로 추후 좋아요 기능과 댓글 기능 또한 추가하겠다.

마이페이지에서 내가 올린 힐링 메시지 리스트를 각각 썸네일 리스트로 반환하는 API이다.messageIdtitlenicknamecreatedDate이렇게 4개가 썸네일 형식으로 반환된다.X성공

위는 내가 figma로 디자인 한 화면 설계서의 일부이다.이전에 개발하였던, healingmessage 리스트 반환 API에서 하나의 힐링 메세지를 선택하면, 클라이언트 측에서 해당 메세지의 messageId를 통해 해당 힐링 메시지 게시글의 정보를 반환하는 API이다

게시글의 우측 상단의 좋아요 버튼을 누르는 보편적인 좋아요 기능이다. 프로세스의 논리 구조는 다음과 같다. 해당 게시글에서 이미 좋아요를 눌렀으면, 좋아요가 취소된다.(DB에서 삭제)해당 게시글에서는 좋아요가 처음이면 좋아요가 추가 된다.(DB에서 add)그리고 최종적

마이페이지에서 사용자가 지금까지 좋아요를 누른 힐링 메시지를 리스트 형식으로 조회하는 API이다.게시글의 모든 내용을 보여주지 않고,리스트 형식의 반환이다 보니, 썸네일 형식의 리스트로 반환한다.XML에서 SQL 구현과정에서 조금 복잡했지만,한번에 성공했다.DB 구조는

마이페이지 > 내가 좋아요 누른 힐링 메시지 리스트 > (하나 선택)시 나오는 게시글의 모든 정보를 반환하는 API이다.지난번에 구현했던, 1\. 힐링 메시지 게시판에 있는 힐링 메시지 상세 보기2\. 내가 올린 힐링 메시지 상세 보기와 매우 유사한 구조인지라 해당 구

위 화면은 실제로 내가 구현하고 프론트엔드와 연결한 화면이다. 원리자체는 굉장히 간단해 보인다.댓글을 작성하면, 저장하고 조회 API를 자동으로 불러오면 되는 것 처럼 보이니...하지만 SQL 설계부터 살짝...?은 복잡했던 것 같다. Mapper XML 파일에서 3개

다음과 같이 댓글을 조회하는 API이다.불러오는 값은 다음 DTO리스트이다.받는 매개변수는 request와 messsageid밖에 없다.해당 게시글에 있는 모든 댓글들을 가져오므로,해당 게시글의 고유번호만 가져오면 충분하다.두개의 테이블을 userNumber로 조인한다

이번에는 서비스 뉴스 도메인에 속하는, Our News 게시판 페이지에 대한 API를 구현해 볼것이다. 서비스의 이벤트 및 신기능 Open시에 정보가 올라가는 게시판이다. 사진을 저장하는 것은 참 어렵다.경로 문제에 대한 고민도 해야 하며(로컬용,배포용, 윈도우 리눅스

원하는 게시물을 삭제하는 관리자권한의 API이다.간단한 api라서 구현하는것에 있어서 아무런 문제가 없었다.200ok + 게시물 삭제 성공 메시지DB에서 1번 메시지 삭제 성공

이전에 생성했던 게시글을 조회하는 간단한 API이다.다음 정보를 DTO로 담아서 클라이언트로 전송한다. 우선 api를 구현함에 있어서 어려움은 하나도 없었다.그러나 한가지 고민인 것은, 현재 나는 로컬로 구현중인데, 백엔드 서버에서 저장중인 사진을 클라이언트 측으로 어

게시판에서 리스트를 조회하는 api이다.다음 데이터를 DTO 리스트로 반환한다. 너무 쉬운 api여서 5분만에 개발완료 했다.너무 쉬워서 아무런 설명이 필요하지 않을 것 같다.이번 컨트롤러에서는 아무것도 받을 매개변수가 없었다.200ok와 함께 필요한 썸네일 데이터 리

서비스의 공지사항 및 이벤트가 올라오는 공지 게시판에 댓글을 다는 API이다.이전에 healing message 게시판에서 댓글 달기 API를 구현해봐서 어렵지는 않았다.다만 고민이 조금 있었다.너무 간단한 기능을 구현하는데, 코드 파일을 5개나 만들어서 너무 다단계로

Our News 게시글에 이미 작성된 댓글들을 리스트 형식으로 반환하는 API이다.반환 리스트 DTO은 다음과 같다. 이전에도 개발해봤던 API인지라 어려움은 없었고 한가지 실수라 하면,여기서 "ourNewsNumber"를 적지 않아서 잠시 500 에러가 뜬 것 밖에

게시글에 있는 댓글을 삭제하는 API이다.우선 HttpServletRequest에서 userNumber(사용자 고유번호)를 추출하고,삭제하고자 하는 댓글의 고유번호(commentId)를 사용해서,댓글을 작성한 사용자가 맞는지 확인하고,해당 댓글의 고유번호를 입력하면,
크롤링은 웹사이트의 데이터를 자동으로 수집하는 과정을 의미합니다. 주로 웹 페이지에서 HTML 데이터를 읽고 원하는 정보(텍스트, 이미지, 링크 등)를 추출하여 데이터로 활용합니다.예시로 뉴스 기사, 상품 정보, 게시글 내용을 자동으로 수집할 때 사용됩니다.Jsoup은