네트워크 스터디 마지막 과제 (후기) 올해 1-2월 목표 중 하나로 네트워크 공부를 세웠다. 올해는 cs 지식을 튼튼히 해보려는 계획을 세웠는데 그 계획 중 첫 목표인 것이다! 그러던 중 우연히 네트워크 면접 스터디를 알게 되어 참여하였다. 나는 회사 지원을 많이 한 편이 아니라 제대로 된 기술 면접 경험이 딱 두번 있다. 그중 한 번도 기술면접 뿐만 아니라 수학문제, 라이브 코딩 이 나와서 기술 면접이라고 보기 애매한 것 같고.. (제대로 죽쑤고 왔던 기억이 있다... ) 생판 모르는 사람들과 면접 스터디를 하는 건 굉장히 어색하고도 새로운 경험이었다. 신기한 건 면접관으로도 참여해보고 처음 보는 사람과도 15분 넘게 인터뷰를 보고 나니, 대충 나에게도 인터뷰이가 어떤 성향인지 대강의 분위기가 그려졌다. 내가 그려졌다는 건 분명 실제 면접..
네트워크 5주차 스터디 IP주소에 대해서 설명해주세요. Internet Protocol 에서 Host에 대한 식별자 IPV4와 IPV6는 어떤 차이점이 있을까요? 가장 큰 차이점은 주소의 길이이다. IPV4는 32bit로 약 43억개의 호스트를 가질 수 있고 IPV6는 128 bit이다. 서브넷과 서브넷 마스크에 대해 설명해주세요. 서브넷 마스크는 ip주소의 네트워크 id를 표기한다. ip주소와 서브넷 마스크를 &연산의 결과가 네트워크 아이디이다. Public IP와 Private IP 차이는 뭘까요? public ip (global ip): 인터넷에서 유일한 주소로 ipv4 기준 43억개로 제한적인 개수를 가진다. 라우터가 라우팅을 할 때 ip패킷 목적지 주소가 global ip일 때만 라우팅한다. private ip : i..
네트워크 4주차 스터디 TCP에 대해 설명해주세요. 신뢰성 있는 통신을 가능하게 해주는 트랜스포트 레이어 프로토콜 pdu : 세그먼트 그외) tcp header 포트를 기준으로 통신하기 때문에 source port, dest port가 있음 Sequence number : 바이트 스트림 번호 (세그먼트 데이터의 첫바이트) tcp는 데이터를 바이트들로 쪼개게 되는 게 이게 세그먼트이고 각 세그먼트마다 seq#이 붙는다. 나중에 수신 측에 데이터 재조립할 때 사용함. Acknowledgement number 안전한 데이터 전달을 위해, 데이터를 잘 받았을 때 seq에 +1을 해준 번호. flags syc, ack, fin 등이 있음 window size 수신측의 윈도우 사이즈. 흐름 제어에 사용된다. Flow control(흐름 ..
네트워크 스터디 3주차 쿠키와 세션에 대해서 설명해주세요. 쿠키 : 세션 아이디를 전송하는 데에 사용되는 매체. 브라우저는 요청시 마다 쿠키를 http 헤더에 넣어서 전송할 수 있다. 단 클라이언트 단에서 조작하기 때문네신뢰할 수 없는 데이터이다 세션 : 서버 내에 남어있는 연결 정보. 사용자와 서버 사이의 연결을 확인하기 위한 정보이다. 세션마다 클라리언트를 구별하기 위해 세션 아이디(랜덤생성) 생성 후 클라이언트에 넣어주게 된다 예를 들어 세션 로그인 방식을 채택하게 된다면 사용자가 아이디와 비밀번호를 입력 시 유효한 세션 아이디를 쿠키에 실어주고 로그아웃 시에는 쿠키에 세션 아이디를 삭제한다. 세션에 유효기간에 지나도 더이상 해당 세션을 사용할 수 없게 된다. 궁금해서 네이버 로그인 할 때 api 쿠키 찾아봄 jwt to..
네트워크 스터디 2주차 HTTP 프로토콜이란? 트랜스포트 계층(ex, tcp 혹은 udp) 위에서 동작하는 어플리케이션 계층 프로토콜 중에 하나입니다. 브라우저 같은 어플리케이션에서 html 문서와 같은 리소스를 교환할 수 있게 하는 통신규약을 말합니다. 또한 클라인트-서버 아키텍처를 가지고 있어서 통신을 위해서 request 메세지를 요청하고자 하는 서버에 요청을 해야하고 해당 응답으로 response 메세지를 받게 되어있습니다 HTTP의 요청/응답 모델이란? 어플리케이션 계층은 요청/응답 모델을 가질 수도 있고 피어투피어 모델을 가질 수도 있다. http는 요청/응답 모델을 가진 것이며 개별적인 요청 메세지에 대한 응답 메세지를 주고 받는 모델이다. 요청 메세지는 메서드, URI, 프로토콜 버전, 헤더, 바디를 응답은 프로..
네트워크 스터디 1주차 급해서 별표만 공부하는 벼락치기 공부 start..흩어져있던 내 지식 모아모아 프로토콜이란?컴퓨터 간에 데이터 통신을 위한 규약. 이러한 프로토콜의 집합을 네트워크 아키텍처(프로토콜 스택, 프로토콜 스위트)라고 부른다. 언어처럼 컴퓨터 간의 통신에서 같은 "네트워크 아키텍처"를 사용하는 것이 중요하다고 한다. - ex) TCP/IP ) (tcp/ip는 개념이 다른데 항상 붙어 있어서 맨날 헷갈렸는데 "tcp/ip"는 묶어서 고유명사처럼 컴퓨터 간 통신에 사용하는 언어의 종류라고 생각하니 이해하기 쉬워졌다.) osi 7 layer?프로토콜 집합은 그냥 아무렇게나 있지 않다. 통신을 위해 해야하는 일을 나누고 "계층"을 가지고 "캡슐화", "추상화" 되어있다. 각 계층은 하는 일이 내부적으로는 아주 복잡하지..
[오픈소스 컨트리뷰션 아카데미] Git 활용 및 DevOps / MLOps 광화문 마이크로소프트에서 첫 오프라인 모임을 가졌다. 사실 DevOps에 대해서 하나도 모르고 있었는데 회사에서 차세대 때문에 이것저것 도입하면서 배포 방식이 바뀌는 걸 지켜보며 알아둬야겠다는 생각이 들었다. DevOps는 Development + Operation를 합친 말이지만 그보단 더 큰 의미를 가지고 있다. 일단 일차적으로 개발팀과 운영자의 커뮤니케이션 격차를 해소한다. 지금 회사는 개발팀과 운영팀이 나누어져있다. 운영팀에서도 개발을 안하지는 않지만, 개발팀은 운영에 전혀 개입하지 않는다. 개발팀에서 짧게는 한달 길게는 두세달에 가까운 시간 동안 개발한 내용을 운영팀에서는 파악할 시간이 부족하고 커뮤니케이션의 오류가 많이 생겨버린다. 그래서 더 리스키하기 때문에 운영팀은 항상 날카롭고, 방어적인..
서버와 클라이언트가 커넥션을 오랫동안 유지하는 방법