전체 글

이전 글에서 3-way handshaking 부분에 open()이라는것이 있다. 시스템콜이다. 이게 뭘까? https://koreatstm.tistory.com/90?category=1126817 TCP vs UDP 전송계층은 IP에 의해 전달되는 패킷의 오류를 검사하고 재전송 요구와 같은 제어를 담당하는 계층이다. TCP와 UDP는 TCP/IP의 전송계층에서 사용하는 프로토콜이다. TCP/IP 전송계층은 이전 글을 참 koreatstm.tistory.com 1. 시스템콜 System Call은 운영 체제의 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스이다. 사용자 프로그램이 작업이 필요할 때, 운영체제에게 명령의 대행을 요청하는 것이다. 2. 그럼 시스템콜..
1. TCP vs UDP 전송계층은 IP에 의해 전달되는 패킷의 오류를 검사하고 재전송 요구와 같은 제어를 담당하는 계층이다. TCP와 UDP는 TCP/IP의 전송계층에서 사용하는 프로토콜이다. TCP/IP 전송계층은 이전 글을 참고하자 https://koreatstm.tistory.com/89 OSI 7계층과 TCP/IP 4계층 모델 컴퓨터끼리 통신 할 때, 네트워크 통신을 한다. 이때 모든 컴퓨터는 OSI 7계층 또는 TCP/IP 4계층 모델에 맞게 동작한다. 네트워크 통신이 일어나는 과정 1 사파리를 열고 검색창에 www.google.com을 입 koreatstm.tistory.com 이제 TCP와 UDP의 차이를 알아보자. TCP는 Transmission Control Protocol, UDP는 ..
컴퓨터끼리 통신 할 때, 네트워크 통신을 한다. 이때 모든 컴퓨터는 OSI 7계층 또는 TCP/IP 4계층 모델에 맞게 동작한다. 1. 네트워크 통신이 일어나는 과정 1 사파리를 열고 검색창에 www.google.com을 입력한다 2 패킷이라는 포장지로 이를 감싼다 3 패킷을 네트워크에 흘려 보낸다 4 이 패킷을 네트워크에 있는 라우터가 읽어 구글 서버로 전달한다 5 구글 서버는 이 패킷을 풀어, 웹서버가 읽을 수 있는 형태로 변경하고 웹서버에 전달한다. 우리는 www.google.com이라는 URL만 입력했지만, 내부적으로 이런 방식을 통해 데이터를 전달한다. 어떻게? 2. 프로토콜 통신규약이다. 누가? 누구에게? 무엇을? 같은 정보를 보낼 것인데 아무렇게나 보내면 아무렇게나 받는다. 규칙이 필요한 것..
Fake Simple 컴퓨터 명령어 집합 - 이해를 위한 단순한 가정,예시이다. 명령어 형식 (가정) 16bits로 구성 연산부호가 4bits 혹은 16bits 1) 15번 bits가 0이면 12~15번 bit가 연산부호이고, 2) 15번 bits가 1이면 0~15번 bit가 연산부호이다. 명령어 LDA~CAL은 연산부호가 1~6인데 갑자기 HLT부터는 8000이 된다. 이유는 15번 비트에 있다. 앞에서 15번 비트가 0이면 12~15번 비트가 연산부호이고, 15번 비트가 1이면 0~15번 비트가 연산부호라고 하였다. 1(16)에서 1은 0001(2) 즉 15번 비트가 0이고, 8000(16)에서 8은 1000(2) 즉, 15번 비트가 1이다. 1(16) = 0000/0000/0000/0001(2) 8..
최상위 프로퍼티 클래스에 소속되지 않은 프로퍼티는 전역 변수/상수의 역할 public/internal/private 등의 가시성 지정이 가능 private val prefix = "Hello, " fun main() { val name = readLine() ?: return println("$prefix$name") } 늦은 초기화 생성자에서 초기화 되지는 않지만, 프로그램 흐름 상 실사용 시는 초기화 되는 것이 명백한 변수에는 lateinit이라는 예약어로 표기하여 null 값이 불가함을 표기할 수 있다. 실제 초기화가 안될 경우 UninitializedPropertyAccessException이 발생하므로 !!를 사용한 것과 비슷한 특성을 가진다. (가능하면 by lazy 사용을 권장) class ..
1. 명령어 집합 구조(ISA) 명령어 집합구조 = 컴퓨터구조 어떤 프로그램과 그 프로그램을 수행할 컴퓨터 하드웨어 사이의 인터페이스에 대한 정의 명령어는 컴퓨터 하드웨어에서 인식&실행되는 기계어 Machine Code, Assembly Code 명령어 집합 구조는 "특정 CPU를 위해 정의된 명령어들의 모음" S/W와 H/W사이에 ISA C프로그램의 변환과정 C program -> Asm program -> Object program ->Executable program text text binary binary ADT data value의 집합이 측정 Object를 가리키는 state가 된다. 2. 명령어 특성 명령어의 특성: 형태를 결정하는 요인 CPU는 주메모리에서 명령어를 받아와서 그 명령을 실..
컴퓨터의 성능 = 응답시간으로 정의한다. 그러나, 응답시간과 처리율은 상호연관관계임!! 응답시간이란? 하나의 프로그램을 처리하는데 소요되는 시간 입력이 주어지고 시스템이 반응하기까지 걸린 시간 정확히!!! 컴퓨터 성능 = CPU 실행시간 으로 정의 CPU실행시간: CPU가 하나의 프로그램을 수행하는데 순수하게 사용된 시간(입출력같은 다른 프로그램 실행 시간은 포함하지 않는다.) 컴퓨터의 성능이 좋다 = CPU 실행시간이 짧다 성능 =1 / CPU 실행 시간 두 컴퓨터 X, Y로 비교해보자 성능 비교 정량화 M2는 M1보다 성능이 n배 향상. M1이 기준이므로 분모! 암달의 법칙 1) 시스템의 일부분을 개선하는 경우, 전체 시스템에서 얻을 수 있는 최대 성능 향상을 구할 때 사용 2) 시스템 성능 향상의 ..
질문 객체와 구조체의 차이점은? 클래스는 상속지원&참조 형식, 구조체는 값 형식, 상속 및 메소드 지원 하지 않음. 함수가 자료구조 안으로 들어오면 어떤 장점이 생기는가? 왜 정보 은닉은 객체 기반에서만 가능한가? 밖에서 사용 할 수 없게 선언 var time:Double private Set 4클래스란? 변수와 메소드를 가지는 타입을 정의하는 단위 클래스 선언 class Person{ //프로퍼티 var firstName: String = "" var familyName: String = "" var age: Int = 0 //메소드 fun fullName() = "$firstName $familyName" fun showMe() { println("${fullName()}: $age") } } 객체의..
계란소년
EggBoy Coding