목록분류 전체보기 (175)
가자미의 개발이야기
#문제 : N개의 숫자로 이루어진 숫자열이 주어지면 해당 숫자열중에서 s번째부터 e번째 까지의 수를 오름 차순 정렬했을 때 k번째로 나타나는 숫자를 출력하는 프로그램을 작성하세요. ▣ 입력설명 첫 번째 줄에 테스트 케이스 T(1
#문제 : 두 개의 자연수 N과 K가 주어졌을 때, N의 약수들 중 K번째로 작은 수를 출력하는 프로그램을 작성하시오. ▣ 입력설명 첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다. ▣ 출력설명 첫째 줄에 N의 약수들 중 K번째로 작은 수를 출력한다. 만일 N의 약수의 개수가 K개보다 적어서 K번째 약수가 존재하지 않을 경우에는 -1을 출력하시오. import sys sys.stdin=open("input.txt", "rt") i=1 count=0 number, inputCount = map(int, input().split( )) while True: if number%i==0: count+=1 if count==inputCount: ..
a. IPv4 데이터그램 헤더 버전 번호 : 4비트. 데이터그램의 ip 프로토콜 버전 명시. 헤더 길이 : ip 데이터그램에서 실제 페이로드가 시작되는 곳을 결정.(데체로 헤더는 20바이트) 서비스 타입 : IPv4의 서비스 타입을 구별(실시간 데이터그램인가 아닌가 등) 데이터그램 길이 : 헤더를 포함한 전체 데이터그램 길이 식별자 , 플래그, 단편화 오프셋 : 단편화에 사용됨. TTL : 라우터가 데이터그램을 처리할 때마다 감소. TTL 필드 값이 0이 되면 라우터가 데이터그램을 폐기 프로토콜 : 데이터 부분이 전달될 목적지의 전송 계층의 특정 프로토콜을 명시 헤더 체크섬 : 비트 오류를 탐지. 출발지와 목적지 IP 주소 옵션 데이터(페이로드) b. IPv4 데이터그램 단편화 MTU : 링크 계층 프레..
a. 라우터 라우터를 간단하게 도식화한 그림이다. 녹색, 청색, 적색 네모가 묶인 것을 네트워크 인터페이스라고 부른다. 들어오는 통로를 input ports, 나가는 통로를 output ports라고 부른다. 라우팅 프로세서에 의해 스위칭패브릭이 아웃풋 포트를 지정해 보낸다.(포워딩) b. input port fucntions line termination : 라우터의 물리 계층. 전자기 신호를 비트로 바꿔주는 역할 data link layer : 데이터들을 모아 한 프레임으로 만듬(프레이밍), 그 외에도 많은 역할.(이더넷도 여기에 포함) ip (빨간색 박스) : lookup, (포워딩 테이블을 보고 포워딩 해야할 곳을 찾는 행위), forwarding, queueing(보낼 정보들을 저장.) *이때 ..
error: failed to push some refs to.... 이런식으로 에러가 뜬다... 이럴땐 git push origin main -f로 햇더니 해결됐다. -f는 강제로 실행하라는 의미이다.
버전관리를 사진찍기로 비유할때 git init = 사진사 고용 git add = 사진에 찍힐 사람들 모으기 (git add . = 모든 사람들 모으기) git commit = 사진 찍기 (git commit -m "부연 설명" = 어떤 사진인지 설명하면서 찍기) git log = 사진 보기 git status = 현재 사진찍으러 모인 사람들 파악 git reset --hard 커밋코드 = 해당 사진 상황으로 이동 init은 어떤 폴더를 버전관리를 하고 싶을 때 최초 1회 하면 된다. git init을 cmd에서 하면 .git이라는 폴더가 숨겨진 상태로 생긴다.
a. 네트워크 계층의 목적. 세그먼트를 받아서 데이터그램으로 만들고, 각 라우터들이 헤더필드를 검사하여 알맞은 곳으로 데이터를 전달. forwarding : 라우터의 입력부터 출력까지 필요한 기능들 routing: 소스로부터 목적지까지의 경로를 결정(routing algorithms) b. Data Plane과 control plane data plane : 라우터가 자신이 가진 정보(routing table, forwarding table)를 활용해 경로 결정하는 기능(routing, forwarding) control plane : 소스-목적지에서 어떤 라우터를 만나게 할 것인가를 결정.(traditional routing algorithms과 software defined networking(sdn..
a. 혼잡 혼잡의 원인 : 라우터에 들어오는 양이 처리량보다 더 커서. 딜레이가 길어지고, 패켓을 잃을 수 있음. 라우터의 버퍼가 무제한이라고 가정하면. 데이터 전송이 계속 커질 수록, 데이터 전송 능력(throughput)능력은 같이 오르다가 한계 이후는 정체된다. 하지만 현실엔 다름(라우터 버퍼가 유한함) 실제로 유효하게 받은 데이터 처리량을 goodput이라고 한다. 혼잡이 발생하면 라우터에서 로스가 발생-수신자가 재전송-이럴 경우 재전송 데이터는 goodput에는 포함되지 않음. 즉 혼잡이 발생하면 goodput과 throughput이 차이가 나게 된다! 여러 센더가 라우터들을 공유하면서 정보를 전송할 때 g호스트 D가 B를 향해 데이터를 주고, A가 C를 향해 데이터를 전송한다고 가정. 이때 R..
a. TCP의 rdt(신뢰성 있는 데이터 전송) TCP는 ip의 위에서 rdt 서비스를 제공한다.(ip는 신뢰성 없음) -pipelined 방식 사용(gbn selective 선택 사용) -cumulative ack(누적 ack 방식 사용) -보냈는데 ack를 받지 못한 패캣에 해당하는 타이머 하나를 운용 b. TCP sender 초기에 NextSeqNum과 SendBase를 초기화. 상위 계층이 데이터 전송을 요구할 때, nextseqnum에 해당 되는 데이터를 세그먼트 생성하고, nextseqnum을 생성된 데이터 만큼 뒤로 보내고 타이머 실행. 타이머가 다 되면, 보냈는데 ack를 못받은 데이터 중 시퀀스 넘버가 가장 작은 놈을 다시 보내고 타이머 재시작. ack를 받으면 sendbase를 ack까..
a. TCP의 특징 간단요약 point to point : 한 리시버와 한 센더가 참여. 신뢰성(rdt지원), in order 지원 pipelined 형식(버전에 따라 gbn, selective 형식 지원) 센드 버퍼와 리시브 버퍼 존재 한 연결에서 양방향 데이터 흐름 connection oriented(handshaking) 센더와 리시버의 상태정보를 기억. flow controlled 처리 속도보다 전송 속도가 빠를 경우 속도를 조절. b. TCH 헤더 sequence number, ack => rdt에 사용되는 기능 시퀀스 번호와 ack는 바이트 단위당 1씩 늘어간다. head len(head length) : 디폴트 헤드 20바이트 + option의 길이를 확인. option의 존재 유무 파악 U..