환경 및 초기 셋팅Kotlin/Spring 환경이며, CORS 정책은 WebMvcConfigurer의 메서드를 오버라이드해서 설정하였다.모든 출처에 대해서 접근을 허용하였다. 운영할 때는 당연히 이처럼 설정하지는 않고, 초기 개발환경에서만 열어둔다.@Configurationclass WebConfig : WebMvcConfigurer { override fun addCorsMappings(registry: CorsRegistry) { registry.addMapping("/**") .allowedOriginPatterns("*") .allowedHeaders("*") .allowedMethods("GET", "POST", "PA..
개요최근 앱 서비스 프로젝트만 하다가, 다시 웹 서비스 프로젝트를 하며 CORS 설정 덕분에 애를 좀 먹었다. CORS 개념을 간단히 정리하고 설정 관련 이슈들을 공유하려고 한다. CORS란?Cross-Origin Resource Sharing의 약자로 동일하지 않은 출처(Cross Origin)의 요청을 허용하는 정책이다.즉 리소스를 요청한 곳의 출처가 서버와 다르더라도 제한적으로 허용하도록 하는 것이다. 출처란?URI의 구성요소 중 Protocol, Host, Port의 조합을 의미한다. https://example.com:8080서버에서 허용한 출처가 다음과 같다고 하자. 아래와 같을 경우 동일하지 않은 출처가 된다.Protocol이 다른 경우 -> http://example.com:8080Ho..
개요객체지향, OOP자바 입문부터 지금까지 정말 많이 들은 키워드들이지만 크게 와닿지는 않았다.하지만 최근에 클린 코드와 클린 아키텍처에 대해서 조금씩 관심을 가지면서 깨달은 것은, 객체지향이 가장 베이스가 된다는 것이였다.관련해서 검색하고 여러 강의들을 보며 공부한 것들을 정리해보려 한다. 왜 객체지향?세상의 모든 소프트웨어가 한 두달 쓰다가 버릴 프로젝트이면 OOP란 개념은 안나왔을지도 모를 것 같다. 하지만 대부분의 서비스들은 기능이 추가되고 유지보수 되며, 리팩토링이 일어난다. 그리고 서비스가 커질수록 조직의 규모도 커지며, 기능을 추가하는 개발자보다 유지보수하는 개발자가 더 많아질 것이다. 이러한 조직에서 가장 중요한 것은 빨리 돌아가는 코드가 아닌, 잘 읽히는 코드이다. 사람의 마인드 구조..