본문 바로가기

공부/computer science13

[컴퓨터네트워크] 1. 인터넷이란? KOCW 이미정 교수님의 강의를 듣고 정리한 내용입니다. 중간 중간 나오는 생각한 질문 부분은 제가 뽑은 중요한 키워드라고 느낀 부분입니다! 1. What is internet? 인터넷의 구성 요소 인터넷을 하나의 덩어리로 생각해본다면, 가장자리에 사용자 컴퓨터와 서버가 있는 것을 확인할 수 있다. 이를 host 라고 부른다. - 네트워크 분야에서는 컴퓨터라고 부르지 않고, 호스트라고 부름 사용자 컴퓨터에서 application program을 실행하고 있기 때문에 호스트라고 부르는 것 사용자 어플리케이션을 호스팅하고 있다! ⇒ host - 또는 end system이라고 부름 네트워크 가장자리에 있다! ⇒ end system 네트워크 중앙에는 router 라고 불리는 특수한 컴퓨터들이 펼쳐져 있다. 사용.. 2022. 8. 6.
override할 때 super를 꼭 붙여줘야 할까? 지난 번에 loadView() 메서드를 처음 사용하며 습관처럼 super를 붙여주었다가 뷰가 불러와지지 않아 몇시간 정도 삽질을 했었다. (다음 포스팅 참고 → [iOS] loadView() 오류: Could not load NIB in bundle '~ (loaded)' with name '~ViewController') 내가 알기로 super의 문법적 의미는 이렇다. 부모 클래스의 내용을 불러옴 (= 부모 클래스를 사용하겠다는 의미) 메서드를 오버라이딩 시 부모 메서드의 작업을 실행할 지 말지를 선택하는 것 iOS App을 개발할 때에는 보통 이렇게 사용된다. override func viewDidLoad() { super.viewDidLoad() // Do any additional setup af.. 2022. 4. 3.
비동기 처리하는 이유 먼저 간단하게 예시를 들어 보겠다. 컴퓨터 → 버거킹 프로세스 → 통새우와퍼주니어 세트 (내가 좋아해서... ㅋㅋ) 스레드 → 세트를 구성하는 메뉴들 (햄버거, 감튀, 제로콜라) 궁금했던 것과 문제점: 비동기 처리의 효율성은 알고 있었지만 정확하게 필요한 이유를 제대로 설명할 수 없었다. 👀 해답 (비동기 처리를 하는 이유) → 프로세스들은 컴퓨터의 자원을 분할해서 사용하지만 스레드들은 프로세스마다 주어진 전체 자원을 함께 사용하기 때문. → 이렇게 되면 속도와 효율성은 높아지겠지만, 프로세스 안에서 공유되는 변수에 스레드 여럿이 동시에 접근한다면 시간 문제로 인한 Error가 발생하게 된다. → 해결: Closure, Lambda, Functional Programming 등 ⇒ 동시성 프로그래밍 2022. 3. 18.