CS (3) 썸네일형 리스트형 공유기는 라우터인가? 스위치인가? 개요문득 네트워크 관련 개념들을 복기하다가 인터넷 공유기가 라우터인지 스위치인지에 대해 의문이 들었다그렇게 생각해보니 정확하게 네트워크 구성 요소들에 대해 정확하게 이해하고 있지 못했다는 생각이 들었고, 다시한번 정리하기 위해 글을 쓴다 네트워크 통신 계층IP 주소계층별 네트워크 장비 네트워크 통신 계층네트워크 통신은 개념적으로 OSI 7계층 모델을 통해 구조화되어 있지만, 실제로는 주로 이를 단순화한 TCP/IP 계층 모델을 사용한다 OSI 7 계층All People Seems To Need Data Protocol 7. 응용 계층 (Application Layer) - Data(=Message)사용자와 네트워크 간의 상호작용을 담당하는 계층. 애플리케이션이 직접 사용하는 데이터 전송의 인터페이스 제.. Observer Pattern 개요TodoMate라는 프로젝트를 진행하면서 다음과 같은 기존 상황에서 리팩토링을 진행하고 있었다 TodosInMonthView특정 유저(userId)의 이번달 [Todo]를 보여주는 뷰TodoListView특정 유저(userId)의 오늘날짜의 [Todo]를 보여주는 뷰TodoManager실시간 업데이트가 적용되는 [Todo]를 가지고 filter를 통해 각각의 userId에 알맞은 TodoListView에 전달 기존에는 그냥 간단하게 TodoManager의 todos에 filter를 적용하여 TodoListView에 [Todo]를 전달했다 TodoManager는 실시간 업데이트와 CRUD 작업을 수행하면서 상태를 가지는데, 다시보니 너무 많은 역할을 가지고 있다고 생각했고TodoListView도 tod.. 비동기 프로그래밍 개요이 글은 비동기 프로그래밍의 개념과 관련된 내용을 정리한다글은 다음과 같은 순서로 진행된다 동기와 비동기의 차이와 CPU작업과 I/O작업의 차이비동기 작업을 쉽게 수행할 수 있도록 도와주는 Future의 개념과 작동 방식비동기 I/O 작업과 Coroutine 동기와 비동기 비동기 방식은 호출한 작업이 완료되는 것을 기다리지 않고 바로 다음작업을 수행할 수 있다예를들어 메인스레드에서 작업을 호출할 때, 해당 작업이 메인스레드를 블락한다면 동기작업이고해당 작업이 메인스레드를 블락하지 않는다면 비동기 작업이다 메인스레드는 블락되지 않고 프로그램이 수행되면서, I/O 작업(네트워크 요청, 디스크 I/O 등)이나 CPU 작업(복잡한 계산)과 같이 시간이 오래 걸리는 작업을 처리할 때 유용하다 CPU작업과 .. 이전 1 다음