전체 글

전체 글

    [유닉스 시스템 프로그래밍] Ch11. 소켓 프로그래밍 기초

    [유닉스 시스템 프로그래밍] Ch11. 소켓 프로그래밍 기초

    [유닉스 시스템 프로그래밍] Ch10. 시스템V의 프로세스간 통신 학습목표 - TCP/IP 프로토콜의 기본 개념을 이해한다. - IP 주소와 포트번호의 개념을 이해한다. - 소켓 관련 구조체와 함수를 이해한다. - 소켓을 이용한 통신 프로그램을 작성할 수 있다. 목차 1. TCP/IP 개요 2. IP 주소와 호스트명 3. 포트번호 4. 소켓 프로그래밍 기초 5. 소켓 인터페이스 함수 1. TCP/IP 개요 TCP/IP 란? - 인터넷의 표준 프로토콜 - 5계층(4계층)으로 구성 TCP와 UDP의 차이 *참고 2. IP 주소와 호스트명 IP주소와 호스트명 IP 주소 : 인터넷을 이용할 때 사용하는 주소로 점(.)으로 구분된 32비트 숫자 호스트 명 : . 시스템에 부여된 이름 호스트명(도메인 명)과 IP주..

    [Programming Language Pragmatics] 06 Control Flow(3)

    [Programming Language Pragmatics] 06 Control Flow(3)

    [06 Control Flow(3)] 6.5~6.7 Table of Contents 6.5. Iteration - 6.5.1 Enumeration-Controlled Loops - 6.5.2 Combination Loops - 6.5.3 Iterators - 6.5.4 Generators in Icon(패스) - 6.5.5 Logically Controlled Loops 6.6 Recursion - 6.6.1 Iteration and Recursion - 6.6.2 Applicative- and Normal-Order Evaluation 6.7 Nondeterminancy 6.5. Iteration Iteration과 recursion 두 메카니즘은 비슷한 연산을 반복적으로 컴퓨터에게 수행시키는 것 절차..

    Pthread 개념

    Pthread 개념

    목표 - Thread를 이해한다 - Pthread를 이용하여 기본적인 thread programming을 할 수 있다. 목차 1. Thread 2. Pthread 3. Pthread create / exit 4. Pthread join / detach 5. Thread에서의 변수 공유 6. 상호 배제 1. Thread Thread란? 경량 프로세스(ligthweight process: LWP) - 일반 프로세스는 생성 시 자신만의 메모리 영역을 할당 받는다 : PCB, code, static, heap, stack 등 - Thread : PCB와 스택만 별도로 할당 받고 나머지는 부모 프로세스와 공유 - 생성과 전환(context switch)시 프로세스보다 오버헤드가 적다 대부분 운영체제가 여러 쓰레드..

    04 Matrix Decompositions

    04 Matrix Decompositions

    (해당 강의노트는 Marc Peter Deisenroth, A. Aldo Faisal and Cheng Soon Ong, 『Mathematics for Machine Learning』을 기반으로 작성하였습니다) 목차 0. Introduction 1. Determinant & trace 2. Cholesky decomposition 3. Eigendecomposition: Eigenvalues & eigenvectors 4. Singular value decomposition (SVD) 0. Introduction 0.1 Matrix decomposition 선형대수학에서 두 방정식( A는 covariance matrix: 공분산 행렬로, 데이터를 표현) 1. linear equations, Chapter..

    [Programming Language Pragmatics] 06 Control Flow(2)

    [Programming Language Pragmatics] 06 Control Flow(2)

    [06 Control Flow(2)] 6.1.3~6.3 Table of Contents 6.1. Expression Evaluation - 6.1.3 Initialization - 6.1.4 Ordering within Expressions - 6.1.5 Short-Circuit Evaluation 6.2 Structured and Unstructured Flow - 6.2.1 Structured Alternatives to goto - 6.2.2 Continuations(수업에서 다루지 않음) 6.3 Sequencing 6.4 Selection - 6.4.1 Short-Circuited Conditions - 6.4.2 Case/Switch Statements 6.1.3 Initialization - ..

    [Python] 보석쇼핑

    https://programmers.co.kr/learn/courses/30/lessons/67258?language=python3 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 투 포인터 알고리즘을 사용! 1. 먼저 배열 인덱스를 저장하는 start 변수와 end 변수를 선언 2. 배열의 start 와 end 구간이 “모든 종류의 보석을 포함하는 구간”이 될 때 까지 end 인덱스를 증가 진열대 번호 : 1 2 3 4 5 6 7 8인덱스 번호 : 0 1 2 3 4 5 6 7보석의 종류 : D R R D D E S D start = 0 end = 0 구간안..

    [유닉스 시스템 프로그래밍] Ch10. 시스템V의 프로세스간 통신

    [유닉스 시스템 프로그래밍] Ch10. 시스템V의 프로세스간 통신

    (본 강의 노트는 한빛 아카데미의 책을 기반으로 하고 있습니다) 학습목표 - 유닉스 시스템V에서 제공하는 IPC기법을 이해한다. - 메시지 큐를 이용해 통신 프로그램을 작성할 수 있다. - 공유 메모리를 이용해 통신 프로그램을 작성할 수 있다. - 세마포어를 이용한 IPC기법을 배운다. 목차 1. 시스템 V IPC 기초 2. 시스템 V IPC 관련 명령 3. 메시지 큐 4. 공유 메모리 5. 세마포어 1. 시스템 V IPC 기초 시스템 V IPC - 시스템 V 계열 유닉스에서 개발해 제공하는 프로세스 간 통신방법 - 메시지 큐, 공유 메모리, 세마포어 공통 요소 - 시스템 V IPC를 사용하기 위해서는 IPC 객체를 생성해야 함. - IPC 객체를 생성하기 위해 공통적으로 사용하는 기본 요소는 키와 식별..

    [유닉스 시스템 프로그래밍] Ch09. 파이프

    [유닉스 시스템 프로그래밍] Ch09. 파이프

    (본 강의 노트는 한빛 아카데미의 책을 기반으로 하고 있습니다) 학습목표 - 파이프를 이용한 IPC 기법을 이해한다 - 이름 없는 파이프를 이용해 통신 프로그램을 작성할 수 있다 - 이름 있는 파이프를 이용해 통신 프로그램을 작성할 수 있다 목차 1. 파이프의 개념 2. 이름없는 파이프 만들기 3. 복잡한 파이프 생성 4. 양방향 파이프 활용 5. 이름있는 파이프 만들기 1. 파이프의 개념 파이프 - 두 프로세스 간에 통신할 수 있도록 해주는 특수 파일 - 그냥 파이프라고 하면 일반적으로 이름없는 파이프를 의미 - 이름없는 파이프는 부모-자식 프로세스 간에 통신할 수 있도록 해줌 - 파이프는 기본적으로 단방향 2. 이름없는(간단한) 파이프 생성 파이프 생성 : popen() #include FILE *p..