wanna be dev 🧑‍💻

Cool 하고 Sick한 개발자가 되고 싶은 uzun입니다

A.K.A. Kick-snare, hyjhyj0901, h_uz99 solvedac-logo

전체 글 146

2022 스마일게이트 윈터 데브 캠프 최종합격 후기 (자기소개서/포트폴리오/AI면접)

0. 알아보기 오랜만에 리뷰를 쓴다. 3학년 2학기를 다니면서 다 채워가는 학점으로 인해 교내 공부보다 겨울방학과 4학년을 어떻게 알차게 보낼까에 대한 고민을 정말 많이 한 것 같다. 당장 벌려놓은 건 많고 바쁘면서도 방향성에 대한 확신이 없어 항상 불안에 쫒겼던 것 같다. 타인과 비교하지 않고 과거의 자신보다 나아가면 된다는 걸 알지만 불안한 마음의 예비 취준생은 걱정이 한가득이다. 그래서 그런지 비교적 이른(?) 시점부터 취업 관련 정보를 많이 찾아보기 시작했다. 다방면으로 근미래를 설계해보았는데 그 중 하나가 스마일게이트 윈터 코딩 캠프이다. 여러가지로 매력적인 조건들을 가진 활동이라고 생각한다. 1. 장소에 제약받지 않는 거점별 온라인 부트캠프이다. 연고지가 서울과 먼 부산에 있기 때문에 수도권에..

Review 2022.11.17

📡 [Network] TCP 혼잡 제어 알아보기 [2] (ECN 명시적 혼잡 알림 Explicit Congestion Notification, 지연 기반 혼잡 제어 Delay-based Congestion Control)

본 포스팅은 을 참고하여 작성되었습니다. TCP congestion control 혼잡제어 명시적 혼잡 알림 Explicit Congestion Notification (ECN) 명시적 혼잡 알림 ECN은 인터넷 내에서 수행되는 네트워크 지원 혼잡 제어의 한 형태이다. TCP와 IP 모두 관여하는데 네트워크 계층에서 IP 데이터그램의 헤더 중 TOS(Type-of-service) 서비스 유형 필드에 있는 2개 비트의 공간이 ECN에 사용된다. ECN 비트의 한 비트는 라우터가 정체를 겪고 있음을 나타내기 위해 사용되게 된다. 손실이 발생하기 전에 혼잡 시작을 송신자에게 알리는 비..

📡 [Network] TCP 혼잡 제어 알아보기 [1] (Slow start 느린 출발, Congestion Avoidance 혼잡회피, Fast Recovery 빠른 회복, Reno, Tahoe, CUBIC)

본 포스팅은 을 참고하여 작성되었습니다. TCP congestion control 혼잡제어 TCP 혼잡 제어에 대한 3가지 질문 혼잡제어에 대한 세가지 의문점이 있다. 이에 대한 답을 알아보자. 1. TCP sender는 어떻게 트래픽 전송률을 제한하는가? congestion window (cwnd) 를 가진다. (rwnd와 유사) LastByteSent - LastByteAcked ≤ min(cwnd,rwnd) 2. TCP sender는 자신과 receiver 사이 경로의 혼잡을 어떻게 감지하는가? 정상적인 상태가 아니라면 timeout 또는 3dupack (3연중복ACK)가 ..

[BOJ][Gold IV] 뱀 - 3190번 (C++)

[Gold IV] 뱀 - 3190 문제 링크 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 분류 자료 구조(data_structures), 덱(deque), 구현(implementation), 큐(queue), 시뮬레이션(simulation) 문제 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임은 NxN 정사각 보드위에서 진행되고, 몇몇 칸에는 사과가 놓여져 있다. 보드..

Problem Solving/BOJ 2022.10.25

📡 [Network] 전송층의 프로토콜 TCP 자세하게 알아보기 (세그먼트 헤더 구조, 순서 번호 Seq와 확인 응답 ACK, Retransmisson, Flow control, 3-way handshake 등)

본 포스팅은 을 참고하여 작성되었습니다. 5. Connection-oriented transport: TCP 이제까지 신뢰적인 데이터의 전송 원칙을 다루었다면 TCP에 대해 알아본다. TCP에서 신뢰적인 데이터의 전송을 위해 오류 검출, 재전송, 확인응답, 타이머, 순서 번호와 확인응답 번호를 위한 헤더필드 등등을 살펴보도록 하자. TCP 둘러보기 : 개요 TCP의 여러 특징을 간략하게 정리해보자. TCP는… 1. point-to-point 점대점 프로토콜이다. 하나의 전송자와 하나의 수신자 소켓 대 소켓의 통신 멀티 캐스팅을 지원하지 않는다 2. 순서를 보장하는 byte str..

📡 [Network] 전송층의 신뢰성있는 데이터의 전송 : 파이프라이닝 (GBN Go-back-N, SR Selective Repeat)

본 포스팅은 을 참고하여 작성되었습니다. 신뢰성있는 데이터의 전송 : 파이프라이닝 파이프라이닝 : GBN (Go-Back-N) 방법 송신자의 경우 초록 : 보내고 응답받음 노랑 : 보내고 응답받지못함 파랑 : 보낼 수 있지만 보내지 않음 하양 : 아직 위에서 데이터를 받아오지 못함 전송자는 window 라는 개념을 이용하여 N개 까지 패킷을 보낸다. (노랑 + 파랑) window 란 ACK를 받지 않았더라도 보낼 수 있는 최대 패킷 수이다. 앞 쪽 패킷이 ACK를 받으면 슬라이딩 된다. 이 window와 그 동작은 2개의 상태로 관리 할 수 있다. send_base : ACK 되..

📡 [Network] 전송층에서 신뢰성있는 데이터의 전송 (가상의 프로토콜 구축해보기)

본 포스팅은 을 참고하여 작성되었습니다. Ch03 Transport Layer 4. Principles of reliable data transfer : 신뢰성있는 데이터 전송 신뢰성 있는 데이터의 전송을 구현하는 문제는 전송층 뿐만 아니라 링크 계층에서도 발생할 수 있는 문제이다. 이는 네트워킹에서 매우 중요하다. 상위 계층 객체에게 데이터에게 제공되는 서비스의 추상화는 데이터가 전송될 수 있는 신뢰적인 채널의 서비스 추상화이다. 신뢰적인 채널에서는 데이터가 손상되거나 손실되지 않는다. 신뢰적인 데이터 전송 프로토콜은 이러한 서비스 추상화를 구현해야한다. 신뢰성 있는 데이터의 ..

📡 [Network] 전송층에서의 UDP 통신 (Connectionless transport)

본 포스팅은 을 참고하여 작성되었습니다. Ch03 Transport Layer 3. 연결없는 전송 UDP : Connectionless transport: UDP UDP : User Datagram Protocol UDP는 군더더기 없고 기본 핵심만 있는 프로토콜이다. 최선을 다하지만 데이터의 손상, 손실의 가능성 존재를 보장하지 않는다 비연결성 (connectionless) UDP 전송자, 수신자 끼리 핸드셰이킹이 없음 각 UDP 세그먼트는 각각 독립적으로 다뤄진다 왜 UDP인가? 연결을 맺지않음으로 RTT 지연이 존재하지 않는다 (빠르다) 전송자, 수신자 간의 연결 상태가 없..

📡 [Network] 전송층 - 다중화와 역다중화 (Multiplexing & Demultiplexing)

본 포스팅은 을 참고하여 작성되었습니다. Ch03 Transport Layer 2. 다중화와 역다중화 : Multiplexing & demultiplexing 서버가 클라이언트에 메세지를 보낼 때 transport, network 헤더를 추가하여 보낸다 그렇다면 여러 클라이언트가 서버에 데이터를 보내면 어떻게 구별할 수 있을까? ➡️ 전송층 헤더에 포함된 포트 번호로 구별! 다중화 & 역다중화 역다중화 (demultiplexing) 전송층 세그먼트의 데이터를 올바른 소켓으로 전달하는 작업 다중화 (multiplexing) 출발지 호스트에서 소켓으로부터 데이터를 모음 이에 대한 세..

📡 [Network] 전송층(Transport Layer)에 대해서 (개요)

본 포스팅은 을 참고하여 작성되었습니다. Ch03 Transport Layer 1. 전송층 서비스 : Transport-layer services 전송층 (transport layer)은 각기 다른 호스트에서 동작하는 어플리케이션 프로세스간의 논리적 통신을 제공한다. 논리적 통신은 어플리케이션의 관점에서 보면 프로세스들이 동작하는 호스트들이 직접 연결된 것처럼 보이게 된다. 실제로 호스트는 수많은 라우터와 링크를 통해 연결되어 지구상의 다른 지역에 있을 수 있다. 전송층 vs 네트워크층: 서비스와 프로토콜 네트워크층과 전송층을 비교해보자. 네트워크층 : 호스트 간의 논리적 소통 ..

728x90