IT
-
(삽질 기록..) Could not write request: no suitable HttpMessageConverter found for request type , and content type [application/json;charset=UTF-8]IT 2022. 5. 14. 13:55
배치 어플리케이션 개발 중에 RestTemplate 을 사용해서 POST 방식으로 api 를 호출해서 데이터를 갖고 와야하는데, 배치를 실행하자마자 아래 에러가 발생했다. Header 값으로 MediaType 을 아래와 같이 셋팅해줬지만 계속 에러가 발생했다. 다른 블로그를 찾아봐도 Header 값을 새로 셋팅하라는 해결법 밖에 없었다... 블로그를 찾다가 지쳐갈때쯤, 객체가 제대로 나오는지 이제야 확인했다..😭 제대로 객체 데이터를 못갖고 오는 것 같아서 객체의 어노테이션을 확인해보니 @Data 어노테이션이 빠져있었다. (처음에 객체 어노테이션 확인을 제대로 확인을 안해서 삽질했다.) @Data 어노테이션 이후 객체도 잘 갖고오고 호출도 정상으로 됐다(해결!)
-
setcap/getcapIT 2022. 2. 4. 17:46
Linux 에서 TCP나 UDP 0~1023 이하의 (well known)포트를 서비스에 할당하기 위해서는 root 사용자 권한이 필요하다. 단순히 root 로 실행하는 것보다 setcap 을 이용하여 권한을 부여하는 것을 권장한다. (root 권한 사용시 보안이 취약할 수 있음) setcap 명령어 옵션 -e : effective 효력 부여 -p : Permitted 허용 -i : Inheritable 권한 상속 여부 권한 부여(setcap) setcap 'cap_net_bind_service=+ep' /usr/lib/nginx - 효력(effective) 부여와 허용(Permitted) 권한 확인 (getcap) getcap /usr/bin/nginx 권한 삭제(setcap) setcap -r /us..
-
빈 생명주기 콜백IT 2021. 4. 13. 12:19
스프링 빈의 이벤트 라이프 사이클 스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 -> 초기화 콜백 -> 소멸전 콜백 -> 스프링 종료 초기화 콜백에서 빈이 생성되고, 빈의 의존 관계 주입이 완료된 이후에 호출 소멸전 콜백은 빈이 소멸되기 직전에 호출된다. 스프링은 3가지 방법으로 빈 생명주기 콜백을 지원한다. 인터페이스(InitializingBean, DisposableBean) 초기화, 소멸 메서드 생성하여 설정 정보에 지정 @PostConstruct, @PreDestroy Annotation 지원 1. InitializingBean, DisposableBean 이전에 InitializingBean, DisposableBean를 사용하여 빈을 초기화 하거나 빈의 생명 주기가 끝나기 전에..
-
Nginx 443port 설정하기IT 2021. 4. 8. 17:59
Nginx SSL 설정하기 SSL이란? Secure Socket Layer이라는 약자로 보안 소켓 레이어로, 443포트를 사용하며, 모든 정보전송을 암호화프로토콜을 사용하여 안전하게 전송되도록 만든다. TCP/IP를 사용하는 통신에 적용됨 클라이언트 서버간의 통신 내용이 노출되거나 변경되는 것을 방지 클라이언트가 접속하여는 서버가 신뢰할 수 있는 서버인지 확인 가능 SSL에서는 암호화를 사용하는데, 암호/키를 통해 신뢰할 수 있는 서버인지 확인한다. 클라이언트 서버 접속 -> 서버는 클라이언트에게 인증서 정보 전달 -> 클라이언트는 인증서 정보가 신뢰할 수 있는 것인지 검증 -> 다음 절차 수행 SSL의 암호화 종류 암호화 : 암호를 만드는 행위 복호화 : 암호를 푸는 행위 키 : 암호화를 할때 사용하는..
-
NATIT 2021. 2. 17. 11:13
NAT NAT(Network Address Translation) 는 IP패킷의 TCP/UDP 포트 숫자와 소스, 목적지의 IP 주소를 재기록 하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술 패킷에 변화가 생기기 떄문에 IP나 TCP/UDP Checksum도 다시 계산되어 재기록 해야하기 때문에 네트워크 성능에 영향을 줌 checkSum : 송신된 자료의 무결성을 보호하는 방법 사용 이유 여러대의 Host가 하나의 Public IP를 사용하여 인터넷에 접속하기 위한 경우가 대부분 인터넷 회선 1개 - 공유기 - n개의 host들 접속 -> 인터넷 공유기에 NAT 기능이 탑재 장점 공인 IP 부족 문제 해결 가능 (공인 IP를 전체 사용자에게 할당하지 않아도 됨) 외부에서 내부 네트워크 정보를 알 ..
-
Facade Pattern(퍼사드 패턴)IT 2020. 12. 14. 15:00
이번에 들어가는 프로젝트의 구성이 퍼사드 패턴이라, 프로젝트의 구성을 익힐겸 블로그 글을 정리하게 됐다. 퍼사드 패턴이란? 디자인 패턴 중 하나로, 어떤 소프트웨어의 다른 커다란 부분에 대한 간략화된 인터페이스를 제공하는 객체이다. 네이버 지식 백과 퍼사드 패턴 : https://terms.naver.com/entry.nhn?docId=3532968&cid=58528&categoryId=58528 프로젝트 코드 분석을 하면서 퍼사드 패턴을 처음 알게 되었는데 왜 사용하는지에 대해 의문을 가졌었다. 프로젝트 구조에서 Facade란 관계있는 클래스들을 묶어 하나의 클래스 또는 인터페이스로 관리해서 전달하는 역할밖에 하지 않아서 특별한 역할이 없다고도 생각했었다. 하지만 이게 바로 퍼사드 패턴의 핵심이었다. ..