728x90 전체 글230 Spring Boot에서 Swagger를 통한 API 문서화 설정 가이드 시작하며API를 개발할 때, 문서화는 매우 중요한 작업 중 하나이다. 특히 여러 명의 개발자가 함께 작업하거나 외부 클라이언트가 API를 사용할 때, 명확하고 잘 정리된 API 문서는 필수이다. 이러한 API 문서를 자동으로 생성하고 관리하는 도구로 Swagger는 매우 유용하다. 이 글에서는 Spring Boot 애플리케이션에서 Swagger를 이용해 API 문서를 설정하고 JWT 인증을 추가하는 방법을 설명하겠다.1. Swagger 도입 이유Swagger를 도입하는 이유는 크게 세 가지입니다.1.1. 기존 API 문서화 방식의 문제점기존에 프로젝트를 진행할 때 POSTMAN이나 노션 등에 API 문서화를 진행했다.이렇게 하면 코드를 수정하면 그때그때 문서를 수정해야만 하는데 이 부분은 너무 번거로운면.. 2024. 9. 13. Aws SQS Spring으로 Listener Stop Start하기 이 글을 읽고 기본 SQS세팅은 하고 진행하시길 바랍니다.https://haward.tistory.com/246 sqs spring boot 사용법한국어로 된 블로그 중에 공식문서대로 설정한 사람이 거의 없는 것 같고 버전이 많이 달라져서 최신화된 글을 위해 작성합니다.이 글은 2024-8월에 동작이 확인된 글 입니다. SQS설정build.gradle//sqhaward.tistory.com 문제 상황프로젝트를 진행하는데 라이엇 API 갯수가 초과됐을 때 SQS에 있는 데이터를 처리하지 않고 잠시 이벤트를 끄는게 필요하다.따라서 SQS에 이벤트를 받는 이벤트 리스너를 종료하는 방법을 알아보자.[이전 코드]이전의 SqsListenerConfig 코드를 보면 @Configurationpublic class S.. 2024. 8. 13. sqs spring boot 사용법 한국어로 된 블로그 중에 공식문서대로 설정한 사람이 거의 없는 것 같고 버전이 많이 달라져서 최신화된 글을 위해 작성합니다.이 글은 2024-8월에 동작이 확인된 글 입니다. SQS설정build.gradle//sqsimplementation platform("io.awspring.cloud:spring-cloud-aws-dependencies:3.0.1")implementation 'io.awspring.cloud:spring-cloud-aws-starter-sqs:3.2.0-M1' application.ymlcloud: aws: region: static: ap-northeast-2 credentials: access-key: 엑세스 키 secret-key: 시크.. 2024. 8. 13. [문제해결] Spring webSocket Test 삽질 일기 (생성자 직렬화 문제) 이 글은 문제 해결을 위해 삽질을 적어놓은 글 입니다. 소켓 테스트를 짜는 분이 있다면 도움이 될 수도 있기 때문에 코드 위주로 첨부하도록 하겠습니다.어떤 문제인지만 궁금하다면 해결 방법에 가서 보시면 됩니다.문제 상황 및 세팅간단한 시그널링 테스트를 진행 하고 있었는데 어이없는 상황에 부딪혔다.코드를 보면 알겠지만, 웹소켓 통합 테스트를 위해서 다음과 같은 세팅을 해뒀다. 1. sender와 receiver를 분리해서 2개의 엔티티를 만들어준다.2. workspace를 만들어서 각 유저를 해당 워크스페이스에 가입을 먼저 하고 진행한다.거기까지가 이 부분이다.성공한 테스트 상황[세팅]@BeforeEachpublic void setup() { MockitoAnnotations.openMocks(th.. 2024. 8. 7. Spring Security 단위 테스트 스프링 시큐리티를 통해서 유저 인증을 하고 시큐리티 컨텍스트에서 로그인 된 유저의 정보를 받아와서 처리하는 로직이 많이 있었다.그동안은 직접 JWT를 넣어서 직접 테스트를 진행했었다.매번 @SpringBootTest를 사용해서 테스트를 하자고 하니 테스트 속도가 너무 오래걸렸다. 그래서 오늘은 Spring Security를 활용해서 단위 테스트를 하면서 알게 된 내용들에 대해 정리하고자 한다. Spring에서 단위 테스트를 할 때, 테스트 위에 붙혀줘야하는 어노테이션이 있다.배경 지식Junit 버전이 5 미만인 경우@RunWith(SpringRunner.class) 또는 @RunWith(MockitoJUnitRunner.class) 등을 사용해야 한다.Junit 버전이 5 이상인 경우@ExtendWith.. 2024. 8. 7. [문제 해결] github Action + AWS CodeDeploy 배포 환경변수 삽질일기. 요약시간이 급하신 분은 가장 아래로 내리셔서 문제 해결만 보시면 됩니다. 이 글은 저의 삽질일기를 적어뒀습니다.문제 상황어느날 갑자기 프론트 팀원에게 다음과 같은 연락이 왔다.그럴리가 없는데,, 간단한 Dto 변경을 진행하고 머지를 했었다. 그리고 그 변경사항이 스웨거에 제대로 반영된 걸 확인했기 때문에 이런 문제가 생길리가 없다고 생각했다.현재 내 개발환경은 aws에 개발 서버를 올려두고 개발을 진행하고 있다.CI/CD 설정을 github Action을 사용해서 설정해뒀고, AWS CodeDeploy를 사용해서 개발을 진행한다.main 브랜치에 push 되는 경우에 action이 감지해서 배포를 진행한다.CICD.yml 파일# 1 워크플로의 이름 지정name: CI and Deploy to Amazon.. 2024. 8. 7. Aws saa C03 후기 시험을 보게 된 계기1학기 종강하고 의미 있는 방학을 보내고 싶어서 4주정도 공부해서 aws-saa 자격증을 취득했다.그동안 프로젝트를 위해 aws를 사용할 때는 항상 블로그 글에 의존하면서 세팅했던 기억이 있다.각각 설정해준 것의 의미도 잘 모르고 사용하고 있어서 언젠가 한번 제대로 공부해야겠다고 생각하고 있었다.이전에 sqld를 공부할 때 데이터베이스와 SQL에 대한 이해가 늘어났듯 이번에도 같은 느낌으로 준비해봤다. 그리고 aws를 사용할줄 안다고 해서 그걸 객관적으로 증명하는 건 어렵다고 생각한다.그런 측면에서도 자격증이 있는게 더 취업에도 도움이 될 것 같다는 생각으로 준비하게 됐다.사실 무엇보다 자기 만족인 것 같다. 왜 saa인가?https://aws.amazon.com/ko/certific.. 2024. 8. 7. 블로그 비교 (Sub. 블로그 낭인의 블로그 정착기) 블로그. 요즘 개발자라고 하면 필수처럼 여겨지는 소양이다. 나는 여러 블로그 플랫폼을 옮겨가며, 블로그를 운영해 봤다.이번 블로그가 내겐 제대로 운영하는 4번째 블로그이다.그럼 내 블로그 역사를 먼저 이야기해 보겠다.처음으로 만든 블로그는 네이버이다. 코딩을 처음 시작하면서 공부하는 내용들을 저장하는 용도로 사용했다. 그때 나는 블로그를 학습 노트로 사용했다.개발자에게는 티스토리가 더 좋다고 해서 Tistory로 모든 개발 관련 글을 옮겨서 Tistory를 운영했고, Velog를 잠깐 쓰고, Medium으로 이동했다가 결국 Tistory로 다시 돌아왔다.. 그 과정에서 velog, github page, WordPress 등을 잠깐 사용해 봤지만 취향에 맞지 않아서 모두 정착에 실패했다.그동안 다양한 블.. 2024. 8. 7. 기술 블로그 작성법 (feat. 데보션 글또 세미나) 좋은 글이란 무엇일까? 어려운 질문이다. 200개가 넘는 글이 있는데도, 내 블로그는 남에게 보여주기에 부끄러웠고 좋은 글이란 무엇일지 왜 내 블로그는 이렇게 별로일까, 고민이 깊어지고 있었다.처음에 블로그를 시작한 건 오늘 내가 공부한 내용을 기록하자. 즉 일기장의 개념으로 시작됐다.그저 내가 공부하고 새롭게 알게 된 내용을 정리하며 글을 쓰는 것에 의미를 두고 글을 썼다. 하지만 점점 이런 글이 쌓이고 어느 순간 큰 의미가 없다고 느껴, 글을 쓰고 싶지 않아져 글쓰기를 점점 미루게 됐다.블로그에 꽤 많은 글이 쌓여있지만, 글의 깊이감과 퀄리티는 관리가 되고 있지 않았고, 내가 쓴 글이 다 쓸모가 없어 보였다.마침, SKT 데보션에서 실용주의 기술 블로그 글쓰기 주제로 세미나가 열렸다.강연 연사는 유.. 2024. 5. 20. 이전 1 2 3 4 5 ··· 26 다음 728x90