본문 바로가기

Computer Engineering16

github action matrix strategy 활용 상황 설명 1. 우리 프로젝트는 PR 올리면 자동으로 테스트를 실행시키기 위해(CI 빌더로써) github action 을 활용한다. 2. 네이버망에 있는 서버와 API 통신을 할 때 Proxy 서버를 거쳐서 가도록 수정이 필요하다(보안 요구사항). WebClient 는 아래 코드와 같이 isSecurityProxyEnabled 가 true 인 경우(Proxy 서버를 거쳐가야 하는 경우), proxy 메서드를 통해 Proxy 서버 주소와 포트를 알려준다. @Value("${security-proxy.enabled:false}") private boolean isSecurityProxyEnabled; // true 이면, proxy서버를 거쳐야 한다 HttpClient httpClient = HttpCli.. 2022. 11. 13.
주문서 테스트코드 작성 이슈정리 주문서 비지니스 로직은 복잡하다. 수많은 외부 API 결과들을 조합해서 만들어야 하기 때문이다. 이 글에선 주문서 테스트코드 작성 시 겪었던 이슈에 대해 정리했다. 주문은 범용적인 도메인이다. 내가 속한 팀의 특수한 부분만 빼고 재구성해서 설명했다. 1. 개발 진행 방식 주문등록을 하고 주문서 페이지가 보여지기까지 flow 를 하나의 테스트코드로 만들었다. 전체를 관통하는 작은 단위의 feature 와 테스트코드를 먼저 만들어, 테스트를 계속 통과시키면서 feature 들을 추가하는 Walking Skeleton 방식으로 개발을 진행했다. A Walking Skeleton is a tiny implementation of the system that performs a small end-to-end fu.. 2022. 5. 7.
nslookup 과 dig 명령어 결과 차이 서버에서 ybs.api.com 도메인으로 http api 를 보내다 connection timed out 에러가 발생했다. errorCode: connection timed out: ybs.api.com.ybs.svc.io.com/10.1.2.3:8080; nested exception is io.netty.channel.ConnectTimeoutException: connection timed out 그런데 에러로그에서 ybs.api.com.ybs.svc.io.com 도메인으로 출력됐고 이해가 안가서 확인해봤다. 먼저 nslookup 으로 ybs.api.com DNS 정보를 확인했는데, ybs.api.com.ybs.svc.io.com 도메인이 DNS CNAME 으로 등록되어 있었다. $ nslookup.. 2022. 1. 12.
자주 쓰는 쉘스크립트 모음 if문 if-then 가장 기본적인 if-else 구문의 형식은 다음과 같다. if command then commands fi if command; then commands fi bash 쉘은 if문 줄에 정의된 명령을 실행한다. 이 명령의 종료 상태가 0(명령이 성공적으로 완료됨)이라면 then 아래에 있는 명령이 실행된다. 명령의 종료 상태가 0이 아니라면 then 아래에 있는 명령은 실행되지 않고, bash 쉘은 스크립트의 다른 명령으로 넘어간다. if-then-else if command then commands else commands fi if문 줄의 명령이 0이 아닌 종료 상태 코드를 돌려주면 bash 쉘은 else 부분의 명령을 실행한다. 중첩된 if문 if command1 then co.. 2021. 1. 17.