http://www.kocw.net/home/cview.do?cid=6166c077e545b736 컴퓨터네트워크 인터넷을 동작시키는 컴퓨터네트워크 프로토폴을 학습한다. www.kocw.net 복습 지금까지 배운 내용을 간단하게 복습한다. persistent http 위와 같은 상황을 가정하고 pipelining 방식을 사용하지 않는다고 해보자. 3way handshake : (k/R+d)*3 (마지막은 http request) http response : (L/R+d) N개의 reference object가 있고, pipelining을 사용하지 않기 때문에 N번의 http response, requeset 필요 : {(k/R+d) +(L/R+d)}*N 위 시간들을 모두 더한 것이다. udp udp는 4개..
전체 글
^_^http://www.kocw.net/home/cview.do?cid=6166c077e545b736 컴퓨터네트워크 인터넷을 동작시키는 컴퓨터네트워크 프로토폴을 학습한다. www.kocw.net rdt3.0 이용률 Reliable한 Data transfer를 하기 위해서 unreliable한 underline link에서 발생하는 문제점인 packet error, packet loss를 해결해야 한다. 해결하기 위한 rdt에 관해 알아보았다. rdt를 실제로 사용할 수 있을까? rdt를 사용할 수는 있지만 utilization(이용률)이 안좋다. sender는 transmission time (패킷의 모든 비트가 link에 올라타는데 걸리는 시간)동안 일을 하고 패킷이 receiver에게 도착해서 응답이 오..
https://80000coding.oopy.io/21cb57a3-681b-404d-a4ac-8ab0e7289bc0 [JAVA] Sort 사용 (Arrays, Collections) Java’s Sort 80000coding.oopy.io Arrays.sort int[] arr = new int[] {1,5,3,2,4}; Arrays.sort(arr); Integer[] arr2 = new Integer[] {3,4,6,1}; Arrays.sort(arr2); Arrays.sort로 배열을 정렬할 수 있다. 오름차순으로 정렬한다. Integer[] arr2 = new Integer[] {3,4,6,1}; Arrays.sort(arr2,Collections.reverseOrder()); 내림차순으로 정렬하..
http://www.kocw.net/home/cview.do?cid=6166c077e545b736 컴퓨터네트워크 인터넷을 동작시키는 컴퓨터네트워크 프로토폴을 학습한다. www.kocw.net Socket Programming 소켓은 클라이언트 프로세스와 서버 프로세스의 통신을 위한 API다. (OS에서 제공) OS에는 애플리케이션레이어말고도 하위 레이어들이 구현되어있다. 애플리케이션레이어에서는 트랜스포트레이어의 기능을 가져다 사용하고, 따라서 TCP 소켓, UDP 소켓 두 종류 중 하나를 사용하게 된다. 사용하고 싶은 프로토콜에 알맞은 소켓을 사용하면 된다. TCP소켓이 socket_stream, UDP 소켓이 socket_dgram(datagram)이다. 서버 socket : 생성 bind : 소켓을 ..
http://www.kocw.net/home/cview.do?cid=6166c077e545b736 컴퓨터네트워크 인터넷을 동작시키는 컴퓨터네트워크 프로토폴을 학습한다. www.kocw.net 인터넷은 매우 크다. 우리는 그 가장자리 network edge에 있다. 웹 서버 또한 가장자리에 위치한다. 인터넷의 가운데 부분 network core에 위치하는 건 라우터다. 라우터는 메세지를 전달받아서 목적지로 전송하는 일을 한다. 인터넷은 어떤 요소들로 구성되어 있을까? Network Structure network edge 애플리케이션, host network core routers network of networks access networks, physical media communication link..
서론 프로젝트를 진행하며 예외처리에 관해 가은님과 의견차이가 있었다. public enum ErrorCode { INVALID_REQUEST_BODY, SOLUTION_NOT_FOUND, PROBLEM_NOT_FOUND, PROBLEM_LINK_NOT_FOUND, COMMENT_NOT_FOUND, ... 이하생략 } 현재 우리가 사용하는 ErrorCode는 위와 같다. public class SolutionNotFoundException extends NotFoundException { public SolutionNotFoundException() { super(SOLUTION_NOT_FOUND, "풀이를 찾을 수 없습니다."); } } 커스텀한 예외 클래스에서 예외코드를 사용할 때는 위와 같이 예외메세..
https://hongjw1938.tistory.com/47 알고리즘 - Dynamic Programming(동적 계획법) 1. 개요 DP, 즉 다이나믹 프로그래밍(또는 동적 계획법)은 기본적인 아이디어로 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용하는 것으로 hongjw1938.tistory.com DP란? DP는 하나의 큰 문제를 여러 개의 작은 문제로 나눠서 결과를 저장하여 큰 문제를 해결할 때 사용하는 문제해결 패러다임이다. 쉽게 표현하면 큰 문제를 작은 문제로 쪼개서 답을 저장해두고 재활용하는 것이다. 장점 DP는 재귀와 유사하다. 재귀의 단점은 동일한 작은 문제들이 여러 번 반복되어 비효율적인 계산을 할 수 있다는 것이다. DP는 재귀의..
예외 클래스 Java에서 예외는 class로 선언된다. Exception 클래스나 Exception의 서브클래스를 상속받아서 선언한다. 클래스이므로 생성자, 멤버변수, 함수 등을 가질 수 있다. 예외 클래스들은 일반 객체처럼 사용할 수 있다. 일반 객체와 다른 점은 예외 클래스는 throw 할 수 있다는 것이다. Java의 예외 구조는 위와 같다. 실행시간에 발생하는 예외들은 RuntimeException을 상속하며, Runtime예외는 컴파일러에 의해 미리 검사할 수 없다. 예외 처리 throw문을 통해 예외를 던진다. 예외가 발생했는데 handle하지 않으면 예외메세지가 표시된다. 예외메세지는 call stack trace를 포함한다. (main method부터 시작한 호출 과정) try-catch-..