목록개발이야기 (528)
준호씨의 블로그
오류를 디버깅을 하면서 kibana에 기록된 ingress로그에서 Http Status가 499로 찍혀 있는 것을 보게 되었습니다. 499가 무엇인가 찾아보니 표준 상태 값은 아니고 nginx에서 정의한 값입니다. 499 Client Closed Request — httpstatuses.com httpstatuses.com 페이지로 가면 설명이 있습니다. 클라이언트가 nginx에 무언가 요청을 했는데 nginx에서 요청을 처리하고 있는 도중에 클라이언트가 접속을 끊어 버리면 nginx는 499 상태 값으로 오류 로그를 남기는 것입니다. 결국 찾아낸 원인은 요청하는 곳에서 WebFlux의 WebClient를 이용해서 비동기로 요청을 날렸는데 결과를 받기 전에 접속을 끊어 버렸기 때문이었습니다. 대충 어떻게..
MySQL이 read only 모드 상태인지 확인하는 방법입니다. SELECT @@global.read_only; 만약 설정을 하고 싶다면 다음 명령어를 실행합니다. SET GLOBAL read_only=1; my.cnf 설정에 추가하면 재시작해도 설정이 유지됩니다. read_only read only모드는 보통 master/slave 모드 두 대로 구성하는 경우 slave모드 DB에서 데이터를 변경하는 것을 막기 위해 사용되곤 합니다.
일반적이지는 않지만 특정 테스트를 여러 번 돌리고 싶을 때가 있습니다. 보통 같은 테스트를 여러 번 수행해도 같은 결과가 나올 것이기 때문에 여러 번 돌릴 일은 잘 없습니다. 참고로 입력과 결과가 다른 테스트인 경우 테스트 케이스를 여러 개 만들거나 @ParameterizedTest를 사용하면 됩니다. 저는 최근 랜덤 값에 대한 테스트를 만들다가 @RepeatedTest를 사용해 보았습니다. 사실 랜덤 값에 대한 테스트는 웬만해서는 잘 만들지는 않습니다. 결괏값이 랜덤 하게 나올 수 있기 때문에 테스트의 성공 여부를 보장하지 못하기 때문입니다. 아무튼 기존에 만들었던 테스트와 동일하지는 않지만 대략적인 테스트 코드를 만들어 보면 다음과 같습니다. @DisplayName("random number test..
perl에서 array를 사용하는 방법은 다음과 같습니다. () 안에 값들을 넣어주면 됩니다. 출력 편의상 encode_json 함수를 사용했습니다. my @arr = ("hello", "world", "nice", "to", "meet", "you"); print encode_json(\@arr); # ["hello","world","nice","to","meet","you"] 만약 앞서 선언된 배열을 hash안에 넣고 싶다면 다음과 같이 할 수 있습니다. my @arr = ("hello", "world", "nice", "to", "meet", "you"); my %data = ( id => "myid", data => \@arr ); print encode_json(\%data); # {"id":"..
perl - HTTP::Tiny 로 http POST request 날리기. json 데이터 사용 perl - HTTP::Tiny 로 http GET request 날리기 GET 요청 날리기 GET 요청 날리기 - parameter 추가 GET 요청 날리기 - header 추가 POST 요청은 다음에... 참고 HTTP::Tiny http://search.cpan.org/~dagolden/HT.. junho85.pe.kr 지난 글에서는 HTTP::Tiny POST 요청에 json 바디를 넣어서 요청을 했었는데요. 이번에는 form형태의 데이터를 POST 요청을 날리는 방법을 알아보겠습니다. HTTP::Tiny에는 그냥 post요청 외에 post_form함수를 통해 form형태의 데이터를 쉽게 보낼 수 있..