2021-06-24 TIL

김병호·2021년 6월 24일
post-thumbnail

fact

  • 리팩터링 8장 읽기
  • 인수테스트 작성 연습하기

feeling

  • 최근 시간낭비가 심하다고 생각해서 뽀모도로 타이머를 사용했다. 집중력이 떨어지고 시간 관리가 필요한 시기라고 생각해서 다시 적극적으로 사용할 생각이다.
  • 서버 모니터링 관련해서 인프라를 공부했는데, 아직도 모르는게 많다. 인프라 영역도 많이 알아둬야겠다.

Findings

  • Spring HttpRequest - MultiValueMap
    : MAP과 유사한데, 하나의 키에 여러 값을 받을 수 있다.
    HTTP header, HTTP 쿼리 파라미터와 같이 하나 키에 여러값을 받을 때 사용.
	MultiValueMap<String, String> map =new LinkedMultiValueMap();
  • JS로 조건 체크를 하면서 합 구하는 기능이 필요했는데
    자바 Predicate를 응용해서 계산하는 것을 만들어봤다.
const numbers = [1,2,3,4,5,6,7,8,9,10];

function sumNumbers() {
    return calculate(predicate, reducer, 0, numbers);
}

function calculate(predicate, reducer, initValue, coll) {
    return coll.reduce(function(sum, num) {
        if (!predicate(sum, num)) return sum;
        return reducer(sum, num);
    }, initValue)
};

function predicate(sum, num) {
    return num >= 5;
}

function reducer(sum, num) {
    return sum += num;
}

console.log("sum : " + sumNumbers())
  • TIME_WAIT : TCP에서 TIME_WAIT은 연결을 해제하면서 ACK패킷이 유실 되었을때, TIME_WAIT 상태를 두고 FIN 패킷 요청하게된다. TIME_WAIT 소켓이 많다면 로컬의 포트 고갈에 따른 애플리케이션 타임아웃이 발생할 수 있다.

  • CLOSE_WAIT: TCP 통신중 병목, 서버 멈춤으로 인해 정상적으로 close하지 못하면 CLOSE_WAIT 상태로 대기. CLOSE_WAIT은 프로세스 종료, 네트워크 재시작으로만 제거가능.

Affirmation

  • 스케쥴대로 실행하기
profile
노력하는 개발자입니다!

0개의 댓글