TIME_WAIT 이 필요한 이유 TIME_WAIT이 필요한 이유에 대해서 좋은 글을 발견했다. link 이번 포스트에서는 TIME_WAIT 상태가 왜 필요하고, 왜 그렇게 길게 설정되어 있는지 이유를 살펴보자. 만일 TIME_WAIT이 짧다면 아래와 같은 두 가지 문제가 발생한다. 첫 번째는 지연 패킷이 발생할 경우다. 이미 다른 연결로 진행...
4-way handshake는 왜 4단계를 거쳐야하는가?
다음은 stackoverflow에 올라온 질문에대한 번역글입니다. connection이 setup 되는 과정은 다음과 같다. (3-way-handshake) Client ——SYN—–> Server Client <—ACK/SYN—- Server —-① Client ——ACK—–> Server connection이 termin...
4-way-handshake에서 마지막 ack가 필요한 이유
이글은 stack exchange에 올라온 Why is the last ACK needed in TCP four way termination 질문에 대한 번역입니다. A —–FIN—–> B FIN_WAIT_1 CLOSE_WAIT A <—-ACK—— B FIN_WAIT_2 (B can send more data her...
소프트웨어 개발분야정하기
게임개발,ios앱개발,백엔드개발,웹프론트엔드 개발을 한번씩 맛보면서, 결국은 백엔드 개발로 진로를 정했다. 다른 개발분야에 대한 경험은 개발분야를 정하는데 있어서 모두 가치있는 경험들이었다. 나는 개인적으로 UI의 로직처리를 내 업으로 하고싶지않았고, UI쪽 프로그래밍은 요구사항에 따라 빈번히 바뀌는 부분이라는 점도 나와는 별로 맞지 않았다. 백...
Spring JPA 기본키 매핑하는 법
오늘은 Spring JPA에서 기본키를 자동으로 생성하는 방법에 대해서 학습하였다. 먼저 다음 내용은 내가 작성한것이 아님을 밝힌다. 출처 IDENTITY 기본 키 생성을 데이터베이스에 위임하는 방법 (데이터베이스에 의존적) 주로 MySQL, PostgresSQL, SQL Server, DB2에서 사용합니다. SEQUENCE 데...
Spring MVC 동작원리
Spring 동작원리에 대해서 설명한 좋은 글을 발견했다. 이 글을 읽고 내 나름대로 요약해보았다. 출처 link 사용자가 서버로 request Dispatcher-servlet은 Handler-Mapping에 request를 보내 해당하는 요청의 URL과 일치한 컨트롤러 정보를 요청, Handler-Mappi...
Session VS JWT(Json Web Token)
오늘은 서버와 클라이언트의 인증을 구현하는데 있어서, session과 JWT의 동작방식과 차이점에 대하여 공부해보았다. Session 기반 인증 클라이언트에서 서버로 username, password를 보낸다. 서버는 유저의 로그인정보가 일치하면, session id를 생성하여 메모리에 저장한다. ...
Test Strategy
Unit Test 프로그램의 기본단위인 모듈(코드) 수준에서 시작한다. Integration Test 단위 검사 후 모듈을 결합하여 전체 시스템에 대해 검사한다. Stub 주요 제어 모듈이 정상적으로 검사될 수 있도록, 일시적으로 필요한 조건만을 가지고 임시로 제공되는 가짜 모듈
객체지향 기법의 기본 원칙
캡슐화(Encapsulation) 데이터와 데이터를 처리하는 함수를 하나로 묶는 것 정보은닉(Information Hiding) 다른 객체에게 자신의 정보를 숨기고 자신의 연산만을 통하여 접근 추상화(Abstraction) 객체의 속성 중 가장 중요한 것에만 중점을 두어 모델화 하는것 상속성(Inheritence) 이미 정의된 상위클래스의 모든 속...
소프트웨어 생명 주기모형
폭포수 모형 소프트웨어 개발을 각 단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인 과정을 거친 후에 다음 단계를 진행하며 이전 단계로 넘어갈 수 없는 방식이다. 장점 단계별 정의가 분명하고, 전체 공조의 이해가 용이하다. 단점 단계별로 오류 없이 다음 단계로 진행해야 하는데 현실적으로 오류 ...