[CS(Computer Science)]

    [컴퓨터네트워크] 서브넷 네트워킹 문제2

    문제 IP Address가 '192.168.23.132'이며, 서브넷 마스크(Subnet Mask)가 '255.255.255.192'인 경우 빈칸 ①~②에 들어갈 가장 적합한 값을 쓰시오. 네트워크 주소(Network ID) 192.168.32.(①) 네트워크 주소와 브로드캐스트 주소를 제외한 주소 개수 (②) 해설 서브넷 마스크가 '255.255.255.192'라 했으니 2진수로 표현하면 다음과 같습니다 11111111.11111111.11111111.11000000 그 이야기는 서브넷 마스크를 4개로 나눈 것과 같습니다. 11111111.11111111.11111111.00000000 -> 11111111.11111111.11111111.11000000 이진수가 2칸 0에서 1이 되었으니 (2^2 =..

    [컴퓨터네트워크] 서브넷 네트워킹 문제

    [컴퓨터네트워크] 서브넷 네트워킹 문제

    문제는 다음과 같습니다. 문제 192.168.1.0/24 네트워크를 FLSM 방식을 이용하여 3개의 Subnet으로 나누고 IP Subnet-zero를 적용했다. 이때 서브네팅 된 네트워크 중 2번째 네트워크의 Broadcast IP주소를 쓰시오. 해설 IPv4 주소를 CIDR 방식을 이용해서 네트워크를 나타냈는데 /24이니까, 네트워크 주소는 32개 중 24개를 사용합니다 # 192.168.1.0/24의 서브넷 마스크 11111111.11111111.11111111.00000000 할당할 수 있는 호스트 부분은 4번째 구간인 00000000입니다. 문제에서 3개의 Subnet으로 나누고 IP Subnet-zero를 적용하라 했으니 4번째 구간을 나누겠습니다. 구간 당 IP의 개수 3개의 서브넷으로 나누..

    [컴퓨터네트워크] HTTP 메서드, 세션과 쿠키

    [컴퓨터네트워크] HTTP 메서드, 세션과 쿠키

    HTTP 메서드 HTTP는 웹 브라우저와 웹 서버 간의 상호 작용을 지원하는 프로토콜 데이터를 요청하는 HTTP 요청과 응답하여 데이터를 보내는 HTTP 응답이라는 두 가지 상호 작용을 반복하여 웹 페이지를 표시합니다. 메서드에는 GET, POST가 있는데 각자 쓰임새가 다릅니다. 1. GET: 사용자가 서버에서 데이터를 요청할 때 url의 쿼리 문자열에 데이터를 첨부하여 서버에 전달 2. POST: 사용자가 서버에 데이터를 보낼 때 데이터를 요청 본문(request body)에 포함하여 전송 POST 방식은 서버 상태를 변경 가능하지만, GET 방식은 서버 상태를 변경시키지 않는다. *사용자가 로그인 양식을 서버에 제출할 때 POST *사용자가 웹 사이트를 방문할 때 GET *사용자가 검색 엔진에서 검..

    [컴퓨터네트워크] TCP의 3-way handshake

    [컴퓨터네트워크] TCP의 3-way handshake

    TCP/IP 4계층에서 애플리케이션 계층 다음에 있는 전송 계층에는 대표적으로 TCP와 UDP가 있습니다. TCP는 신뢰성이 있는 계층이라 하는데 TCP는 자신이 보낸 패킷을 상대방이 받았다는 의미의 응답패킷을 다시 받아야 통신이 정상적으로 되었다 판단합니다. 그래서 데이터 전송을 시작하기 전 3-way handshake 기법을 사용하여 신뢰성을 구축합니다. 3-way handshake는 아래와 같은 3단계로 구성됩니다. 1. 야 들려? 2. 응 들려! 너도 들려? 3. 응 들려! 야 들려?는 SYN에 해당하고 응 들려!는 ACK에 해당합니다. 질문과 응답에 해당하죠. SYN는 synchronization로 연결 요청 메세지를 의미하며, ACK는 acknowledgement로 응답 메세지를 의미합니다. ..

    [Algorithm] 누적 합(prefix sum) 알고리즘 by python

    누적 합(prefix sum) 알고리즘이 있습니다. 배열의 일부 구간에 대해 아주 빠른 속도로 구해줄 수 있는 알고리즘입니다. 일반적으로 배열에서 일부분의 값을 구하기 위해선 O(N)의 시간이 소요되지만, 누적 합 알고리즘을 사용하면 O(1)의 시간 복잡도를 기대해 볼 수 있습니다. 누적 합 알고리즘을 구하는 2가지 방법이 있습니다. 1. 1차원 배열일 때 주어진 배열 arr와 누적합을 구할 0 * (arr의 길이 + 1)로 초기화된 배열 sum_arr가 있어야 합니다. 그리고 주어진 배열을 순차적으로 탐색하면서 sum_arr 배열을 완성시키면 됩니다. 누적합 배열이기 때문에 sum_arr[i]에는 arr[0] + arr[1] + ... + arr[i-1]까지의 수의 합이 들어가 있다고 생각해야 합니다...

    [Algorithm] 가장 긴 증가하는 부분 수열(longest increasing subsequence)

    가장 긴 증가하는 부분 수열이라는 알고리즘이 있습니다. 어떠한 수열의 부분수열에서 증가하는 부분수열 중 가장 긴 부분수열을 의미합니다. 다이나믹 프로그래밍 문제를 해결할때 주로 사용됩니다. 특정 수열 A가 주어졌을때 가장 긴 증가하는 부분 수열의 길이를 찾는 문제가 있습니다. A = [ 10 20 10 30 20 50 ] 가장 긴 증가하는 부분 수열은 두가지 방법으로 해결할 수 있는데 하나는 시간복잡도 O(N2)로 해결하는 방법이고 다른 하나는 시간복잡도 O(NlogN)으로 해결하는 방법입니다. 1. 시간복잡도 O(N2) 가장 긴 증가하는 부분수열 문제에서 각 dp[i]값은 주어진 수열의 특정 값을 마지막 원소로 가지는 부분 수열의 최대 길이를 의미합니다. 여기서 특정값은 인덱스 i를 의미하고 A[i]의..