나를 괴롭히는 Spring CORS 해결하기(apache, nginx)

분명히 개발서버에서는 아무 문제 없던 CORS 문제가 등장했다.서버에 Origin 설정을 안한 것 아니냐 라고 말한다면… 당연히 했다!안했으면 개발서버에서 정상적으로 작동 되었을 리가 없다!CURL로 CORS 확인도 해봤다! 통과 된다! 근데 웹에서는 안된다!정말 너무 많이! 여러...
나를 괴롭히는 Spring CORS 해결하기(apache, nginx) 자세히 보기

Spring POI, AbstractView를 활용한 Excel Download 구현 - 암호화

엑셀파일을 다운로드 하는데 가끔 암호화를 요구 하기도 한다. 처음에는 어떻게 만들어야 하는지 몰랐는데 의외로 간단하게 엑셀파일 생성 부분만 수정하면 된다.이전에 컨트롤러 등은 구현한 적이 있으므로 이전 포스팅을 참고 하고 암호화 부분만 살펴 보려고 한다.1. 암호화 구현의외로 암호...
Spring POI, AbstractView를 활용한 Excel Download 구현 - 암호화 자세히 보기

맥북 M1에서 mariaDB 완전 삭제 하기

m1 칩이 나오고 심지어 m2 칩이 나온 상태인데 아직도 DB들은 apple silicon 에서 네이티브로 동작되지 않거나 동작이 되더라도 이상한 버그들이 있다.내가 설정을 잘못하는 것도 있겠지만 일단 만들고 가지고 놀면서 짜증이 난다. 이번에 mariaDB에서 m1을 완전 지원 ...
맥북 M1에서 mariaDB 완전 삭제 하기 자세히 보기

Spring 설정을 활용하여 sameSite 옵션 추가하기

크롬이 업데이트 되면서 쿠키 공유 옵션을 엄격하게 결정해주고 있다. 사실 이 내용은 21년 부터 고지되고 시행되었지만기존에 운영하던 사이트는 백엔드와 프론트엔드가 통합되어 같은 도메인으로 사용하고 있었기 때문에 문제가 없었다.이번에 신규 시스템을 구현하면서 프론트와 백엔드를 분리하...
Spring 설정을 활용하여 sameSite 옵션 추가하기 자세히 보기

Spring 다른 서버 API 호출 하여 사용하기 (RestTemplate)

참고 사이트신규 시스템의 API를 만들면서 기존 시스템의 DB에 접근해야 되는 일이 생겼다.이러면서 동시에 고민이 생겼는데 신규 시스템은 개인정보 관리용 시스템이라 DB를 별도로 분리해서 별도망으로 관리하여야 한다.기존 시스템의 DB와 연결하는 것은 보안정책상 까다로운 결재를...
Spring 다른 서버 API 호출 하여 사용하기 (RestTemplate) 자세히 보기

맥북 루트 폴더 경로에 접근 할수 있도록 심볼릭 링크를 추가하기(big sur 이상)

맥북 루트 경로에 폴더 추가로컬에서 리눅스 서버와 비슷한 경로 세팅을 위하여 맥북 루트 경로에 폴더를 생성해 보았다.Read only 라는 경고가 출력되고 폴더가 생성되지 않는다. 빅서 이후부터는편법으로 사용하던 설정이 불가능하고 보안상 루트경로에 폴더 생성을 할수 없다.맥북 심볼...
맥북 루트 폴더 경로에 접근 할수 있도록 심볼릭 링크를 추가하기(big sur 이상) 자세히 보기

Spring REST API 예외처리 - Http code를 변경하여 반환(ResponseEntity)

신규 시스템의 API를 만들면서 오류 처리와 반환값 구성을 고민하게 됐다. 어떻게 전달하는 게 가장 깔끔한지 정리해 봤다.이전 프로젝트에서는 AOP를 이용하여 컨트롤러에서 특정값을 반환하면 해당 값에 따라 메세지를 던지는 방식으로 반환값을 일관되게 처리하였다.이렇게 반환값을 지정하...
Spring REST API 예외처리 - Http code를 변경하여 반환(ResponseEntity) 자세히 보기

Spring Swagger를 세팅하여 API 를 전달하기

신규 시스템을 만들면서 프론트엔드 파트와 협업을 하게 되었다. 이제는 드디어 백엔드 작업만 수행하면 되는데협업을 빠르게 수행하기 위하여 API 전달을 문서가 아니라 Swagger를 통하여 전달하기로 하였다.생각보다 간단해서 다른 프로젝트에도 적용하면 좋을것 같다.1. 의존성 주입&...
Spring Swagger를 세팅하여 API 를 전달하기 자세히 보기

Spring POI, AbstractView를 활용한 Excel Download 구현 - 헤더 생성

이전에 엑셀파일을 다운로드 할 때는 별도의 템플릿 파일을 이용하여 엑셀파일을 생성하였다.이렇게 설정하면 이미 서식이 있기 때문에 예쁜 틀이 나오지만 파일 경로 문제나 동시에 파일을 조작하면 에러가 발생하기도 한다.이번에는 별도의 파일없이 엑셀파일 다운로드 기능을 구현해 보았다.1....
Spring POI, AbstractView를 활용한 Excel Download 구현 - 헤더 생성 자세히 보기

Spring POI, AbstractView를 활용한 Excel Download 구현 - 템플릿 파일 사용

통계 프로그램을 만들면 결과를 엑셀로 다운로드 하는 기능이 거의 필수로 들어오는 것 같다.파일을 업로드하는 것은 구현해 본적이 있지만 다운로드 하는 것은 구현해 본적이 없어서 정리하려고 한다.1. apache poi http://poi.apache.org/download.html...
Spring POI, AbstractView를 활용한 Excel Download 구현 - 템플릿 파일 사용 자세히 보기

맥북에서 포트포워딩 설정하여 로컬에서 도메인으로 접속하기

로컬 URL도 포트없이 출력하는 방법내부 프로젝트가 여러 도메인의 서버가 동시에 돌아가며 작업되는 서버이다 보니 로컬 테스트 하기가 까다로웠다.가장 큰 이유는 도메인 호출시 뒤에 붙는 :8080 과 같은 포트번호를 부여하는 것 때문에 자바스크립트로 AJAX를 호출할 때 등로컬에서 ...
맥북에서 포트포워딩 설정하여 로컬에서 도메인으로 접속하기 자세히 보기

ContentType이 정상적으로 들어오지 않는 경우(FORM 전송)

시청자 참여 이벤트를 생성했는데 문제가 발생했다. 페이지에서 <form>태그의 데이터를 ajax로 전송하는데데이터는 컨트롤러에 정상적으로 들어왔는데 문제가 발생했다. 분명히 ajax로 데이터를 전송할 때 ContentType을 application/json으로 설정했...
ContentType이 정상적으로 들어오지 않는 경우(FORM 전송) 자세히 보기

맥북 m1에서 VUE 프로젝트 생성하기

코로나에 걸려서 일주일 넘게 고생했다. 감기라고 하던데 걸려보니 감기는 무슨…회사 업무까지 하라고 해서 매일 감기약을 한통씩 먹어가면서 겨우 사람 몰골을 유지했다.(그렇게 진행한 업무는 구글 정책 변경으로 리젝 당했다… )아직도 정상은 아니지만 그래도 공부하던 부분이 있으니 다시 ...
맥북 m1에서 VUE 프로젝트 생성하기 자세히 보기

다른 서버에 쿠키를 공유 하는 법/ 서브 도메인

“다른 서버에서도 최근 검색어를 공유하게 해주세요.”이번에 회사 업무에서 나왔던 요구사항인데 이걸 어떻게 만들어야 하나 고민하니 차장님이 힌트를 주셨다.“쿠키에 넣어서 써요” 처음 들었을때 생각은 “응? 서버가 다른데 그게 되나???” 당연히 된다.1. 쿠키 공유 조건사실 쿠키를 ...
다른 서버에 쿠키를 공유 하는 법/ 서브 도메인 자세히 보기

스프링 의존성 주입 알아보기

참고 블로그스프링의 특징 이라고 하면 제어 역전(IoC, 사용자가 아닌 스프링에서 코드를 호출), 의존성 주입(DI, 객체를 직접 생성하지 않고 주입받아 사용),관점지향 프로그래밍(AOP, 공통적으로 사용하는 기능을 분리) 이렇게 보통 3가지 정도를 말하는 것 같다. 이번 포스...
스프링 의존성 주입 알아보기 자세히 보기