전체 글 (201) 썸네일형 리스트형 [주특기 프로젝트] 3일차 미니 프로젝트 진행 Swagger 검증 적용 문제점 : 리프래쉬 토큰을 사용해서 검증 토큰을 스웨거에서 2개를 사용해야되는데 적용이 안됨. 해결 : SwaggerConfig에 어노테이션 추가를 해서 Authorize에 토큰을 추가 해주고 OpenAPI에 security를 추가해 메소드 전역에 적용을 시켜줄 수 있다. @SecurityScheme( type = SecuritySchemeType.APIKEY, in = SecuritySchemeIn.HEADER, name = "Authorization", description = "Auth Token" ) @SecurityScheme( type = SecuritySchemeType.APIKEY, in = SecuritySchemeIn.HEADER, name .. [Weekly I Learned]9월 3주차 CORS (Cross-Origin Resource Sharing) 교차 출처 리소스 공유로, 보안상의 이유로 서로 다른 출처간의 리소스 공유요청을 제한하는 정책 CSRF와 XSS등의 방법을 막기 위해서 접근을 차단한다. 프론트엔드서버와 백엔드서버가 서로 출처가 다르기 때문에 CORS 설정을 통해서 백엔드서버가 프론트엔드서버에 대해서 허용을 해줘야 CORS오류를 방지할 수 있다. 출처(Origin)란 ? URL에서 Protocol, Host, Port 까지 합친 부분 Https://(Protocol) + www.naver.com(Host) + :3000(Port) [주특기 프로젝트] 2일차 미니 프로젝트 진행 Swagger 적용 build.gradle (spring.boot version 3.1.3) 의존성 추가 implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0' 스프링 3.1.3와 openapi 2.2.0 버전에서는 Controller와 Config를 추가하지 않아도 자동적으로 API명세서를 문서화시켜 준다. (자동완성으로는 2.1.0 버전이 끝이지만 2.2.0 버전으로 빌드하면 적용이 된다.) SwaggerConfig 추가설정 @Configuration public class SwaggerConfig { @Bean public GroupedOpenApi publicApi() { return GroupedOpe.. [주특기 프로젝트] 1일차 미니 프로젝트 계획 프로젝트 주제 낚시를 하는 장소, 어종등을 낚시꾼들 간에 공유 낚시꾼들 간의 소통 구현 예정 기능 와이어프레임 ERD 처음 해보는 프론트분들과의 협업 프로젝트이지만 다들 좋게 컨셉을 빨리 나오게 되어서 생각보다 순조롭게 하고 싶은 기능들이 나와 API명세서와 ERD 계획을 작성할 수 있었다. 그리고 처음 사용해 보는 figma로 와이어프레임을 작성했는데 신기했다. 같이 작업을 할 수 있는 포토샵? 일러스트레이터? 느낌인데 생각보다 가볍기도 해서 지금 프로젝트뿐만 아니라 다양하게 사용해 볼 수 있는 것 같다. 기능 구현은 기본적으로 해본 내용들로 구성을 하고 추가적으로 지도 API를 사용해 보고 기본 내용들을 빨리 끝내고 추후에 날씨 API, 소셜 로그인 API 등을 추가해서 구현해 보.. [주특기 3주차] Spring 6일차 주특기 3주차 시험 게시글 작성, 전체조회, 개별조회, 수정, 삭제 API를 구현하고 배포하는 테스트를 하였다. API를 구현하는 것은 쉽게 끝났는데, 배포를 한 번도 해본 적이 없어서 인터넷에서 찾아보면서 한다고 꾀나 고생을 했다. 처음에 클라우드 DB를 선택하는데 클라우드 DB는 써본게 몽고 DB 밖에 없어서 이걸 DB구성을 몽고로 해야 되는가 싶어서 찾아보다가 JPA를 사용하는데 MySql 클라우드 DB를 써야 되지 않을까 싶어서 찾아보다가 Planet Scale, freedb tech 등 발견했는데 무료 DB라고는 하지만 사용하는 자료들이 없어 역시 대중적으로 사용하는 AWS에도 RDB가 있어서 여기에서 하기로 결정하고 클라우드 DB를 만들었다. 나머지는 다 패스 하고 만들었다. 현재는 프리 티어.. [주특기 3주차] Spring 5일차 Spring 과제 Level 5 신규 서비스 요구사항 게시글 좋아요 API 사용자는 선택한 게시글에 ‘좋아요’를 할 수 있습니다. 사용자가 이미 ‘좋아요’한 게시글에 다시 ‘좋아요’ 요청을 하면 ‘좋아요’를 했던 기록이 취소됩니다. 요청이 성공하면 Client 로 성공했다는 메시지, 상태코드 반환하기 댓글 좋아요 API 사용자는 선택한 댓글에 ‘좋아요’를 할 수 있습니다. 사용자가 이미 ‘좋아요’한 댓글에 다시 ‘좋아요’ 요청을 하면 ‘좋아요’를 했던 기록이 취소됩니다. 요청이 성공하면 Client 로 성공했다는 메시지, 상태코드 반환하기 예외처리 아래 예외처리를 AOP 를 활용하여 구현하기 더나가가기 서비스 요구사항 수정 회원탈퇴(기능추가), 게시글 삭제, 댓글 삭제 시 연관된 데이터 모두 삭제될 수 .. [주특기 3주차] Spring 4일차 Spring 과제 Level 5 레벨 5 과제를 진행하는데 이미 시큐리티 검증과 예외처리 부분은 앞선 과제들에서 이미 같이 구현을 했어서 기본적으로 주어진 부분은 게시글과 댓글의 좋아요를 구현하는 부분이라 빨리 끝내고 추가적으로 더 나아가기로 회원탈퇴, 대댓글, 페이징, 정렬, 게시글 카테고리, RefreshToken을 구현하는 부분이 있어 추가로 진행하였다. 회원탈퇴의 경우에는 처음에 cascade를 이용해서 영속성 전이를 이용해서 데이터를 삭제처리를 했는데, 여러개의 아이디에서 게시글과 댓글을 섞어서 사용한 뒤 삭제를 하니 오류가 나서 직접 repository들을 이용해서 순차적으로 삭제를 하는 것으로 수정을 하려고 했는데, 코치님에게 데이터처리 관련으로 물어보니 DB에서 직접 삭제처리 하는 부분은 .. [JAVA][Level2]PROGRAMMERS JadenCase 문자열 만들기 JadenCase 문자열 만들기 문제 설명 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한사항 s는 길이 1 이상 200 이하인 문자열입니다. s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다. 숫자는 단어의 첫 문자로만 나옵니다. 숫자로만 이루어진 단어는 없습니다. 공백문자가 연속해서 나올 수 있습니다. 입출력 예 s return "3people unFollowed me" "3people Unfollowed Me" "for.. 이전 1 ··· 11 12 13 14 15 16 17 ··· 26 다음