본문 바로가기
반응형

분류 전체보기120

Swagger에서 CORS에러 해결 발생 상황: 이전 포스팅에서 API 제공을 위한 Stage 서버 구축을 한 후 Front와 App팀에 Swagger를 통해 API를 문서화하여 제공하였다. Front에서 진행하면서 CORS 에러가 발생하기에 아직 Front에서 도메인을 구매하지 않았으므로 localhost:3000에 대하여 CORS를 허용해달라는 요청이 왔고 Spring Security에 cors속성을 추가하고, CORS Configure구성을 다음과 같이 하였다. // filter에도 http.cors() 추가 @Bean CorsConfigurationSource corsConfigurationSource() { CorsConfiguration configuration = new CorsConfiguration(); // TODO: f.. 2022. 11. 13.
1장 깨끗한 코드 책의 목표 코드에 대해 많은 사실을 학습 좋은 코드와 나쁜 코드를 구분하는 능력 좋은 코드를 작성하는 방법 나쁜 코드를 좋은 코드로 바꾸는 실력 코드가 존재하리라 코드는 요구사항을 상세히 표현하는 수단이다! 기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업, 바로 이것이 프로그래밍이다. 고도로 추상화된 언어나 특정 응용 분야 언어로 기술하는 명세 역시 코드이다. 추상화된 요구사항을 명확한 정형 구조로 뽑아내는 도구도 코드이다. 코드는 사라질 가망이 전혀 없다! 나쁜 코드 읽기 어려운 코드 이해해보면 정말 간단한 코드인데 이해하려면 수 차례 읽어봐야 한다. 수정하기 어려운 코드 코드를 고칠 때마다 엉뚱한 곳에서 문제가 생겨 매번 얽히고설킨 코드를 '해독'해야 한다. 나쁜 코드를 짜게 되는 이유? 일정.. 2022. 11. 8.
Item 1 생성자 대신 정적 팩터리 메서드를 고려하라 1. 클래스는 생성자와 별도로 정적 팩터리 메서드를 제공할 수 있다. @Data @RequireConstruction @AllConstruction public class DtoResponse{ private String name; private String email; ... public static DtoResponse fromEntity(Entity entity){ return new DtoResponse(entity.getName(), entity.getEmail(), ...); } } 스프링 부트 API를 개발하다 보면 테스트 코드에서나 결과를 반환할 때 dto로 변환을 한다. 이럴 때 일반 Dto 생성자를 사용하는 것보다 DtoResponse.fromEntity를 호출해서 반환하는 것이 더 의.. 2022. 11. 7.
jenkins & tomcat 빌드 & 배포 자동화 세팅 이전 포스팅: https://dpwns523.tistory.com/5 SpringBoot API 개발팀을 위한 aws 세팅 AWS에서 EC2를 생성해, 개발팀이 공동으로 작업할 수 있는 서버를 만드는 과정 SpringBoot, Nginx, Tomcat, Mysql AWS : EC2, Route53(Domain), Certificate Manager, SSL, ELB(ALB) EC2를 먼저 생성한다. AWS에.. dpwns523.tistory.com 이전 포스팅에서 개발용 stage 서버를 만들었고, .war를 빌드하여 tomcat에 올리는 것까지 확인을 했다. API 개발 협업을 진행하다보면 GitHub에 branch를 생성하고, 각자 로컬에서 개발을 진행하고, 테스트를 보고 pr을 보내 코드 리뷰 후 .. 2022. 8. 3.
반응형