Thumbnail
BEST
보안 · 네트워크 시스템

리눅스 IPC 프로그래밍 - 이론과 실습 대시보드

(4.8)
18개의 수강평 ∙  621명의 수강생
99,000원

월 19,800원

5개월 할부 시
지식공유자: ProgCoach4U
총 29개 수업 (11시간 27분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

중급자를 위해 준비한
[시스템, 백엔드] 강의입니다.

IPC 도구를 이용한 프로그래밍에서 더 나아가 "소프트웨어 요구사항에 맞는 IPC 도구를 적절히 선택해 설계/구현 할 수 있는 능력을 키우는 것"이 이 강좌의 최종 목표 입니다.

✍️
이런 걸
배워요!
Linux IPC 도구의 종류와 특징을 파악합니다.
IPC 도구를 이용해 프로그래밍 하는 방법을 배웁니다.
소프트웨어 요구사항에 맞는 IPC 도구를 선택해 설계/구현할 수 있는 능력을 키웁니다.

어느 정도 규모의 리눅스 시스템 개발에서 IPC(Inter-Process Communication)는 필수적으로 사용됩니다. 하나의 프로세스에 시스템에 필요한 모든 기능을 담을 수는 없기 때문입니다. 여러 프로세스가 각자의 역할을 수행하고, 또 유기적으로 동작해야 마치 하나의 소프트웨어가 동작하는 듯한 아름다운 모습을 그려낼 수 있습니다. 이 때 프로세스들의 유기적인 동작을 위해 필요한 것이 바로 IPC 입니다.



IPC 도구는 프로세스간 데이터를 주고 받을 수 있도록 하는 도구들을 말합니다. 리눅스는 여러 가지 IPC 도구를 제공합니다. 크게 데이터 교환과 동기화 도구로 나눌 수 있고, 데이터 교환은 데이터 전송 방식과 메모리 공유 방식으로 구분할 수 있습니다.



이 강좌에서는 IPC 도구 별 특징과 사용법을 알아봅니다. 또 비슷한 도구들은 비교/분석을 통해 좀 더 자세히 들여다 봅니다. 그리고 라이브 프로그래밍을 통해 실제로 어떻게 프로그래밍 할 수 있는지 배울 수 있도록 했습니다. 이로써 "리눅스 IPC 도구의 종류와 특징을 파악하고, 프로그래밍 할 수 있는 능력"을 키울 수 있도록 강의를 구성했습니다.

이 강좌의 최종 목표는 프로그래밍(구현)에 있지 않습니다. IPC 도구를 이용한 프로그래밍에서 더 나아가 "소프트웨어 요구사항에 맞는 IPC 도구를 적절히 선택해 설계/구현 할 수 있는 능력을 키우는 것"이 이 강좌의 최종 목표 입니다.

강의 실습 환경

  • 강의 실습은 Windows 10 호스트에 VirtualBox를 이용한 가상머신을 생성하고, 가상머신에 Ubuntu-18.04를 설치해 구성했습니다. (반드시 똑같은 구성일 필요는 없으며, 리눅스를 사용하실 수 있는 환경이면 실습 가능합니다)
  • 가상머신 설치 및 동작에 정확한 최소 사양을 말씀드리기는 어렵지만, 아래 사양이면 가상머신을 이용한 실습 환경 구성이 가능할 것 같습니다. - 2GHz/Dual core 이상의 CPU - 4GB 이상의 시스템 메모리 - 20GB 이상의 디스크 용량
  • VirtualBox 설치, 가상머신 생성, 가상머신에 Ubuntu-18.04 설치 등은 "실습 환경 구성(가상머신)" 동영상을 참고하시길 바랍니다.

연관된 강좌

리눅스 시스템 프로그래밍 - 이론과 실습
프로그래밍 실습을 통해 개념과 이론 뿐만 아니라
API 사용법과 동작 방식까지 습득하게 한다.

이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
설계/구현 잘하고 싶은 주니어 리눅스 개발자
본격적으로 리눅스 개발자의 길을 걷고 싶으신 분
📚
선수 지식,
필요할까요?
리눅스 시스템 프로그래밍에 대한 전반적인 이해
기본적인 리눅스 환경 개발 방법 및 C 언어 문법

안녕하세요
ProgCoach4U 입니다.
ProgCoach4U의 썸네일

리눅스 환경에서 15년 동안 개발자로 일했고, 지금도 개발자로 일하고 있습니다 :)

강좌 외 문의사항은 progcoach4u@gmail.com으로 보내주세요 ;)

 

커리큘럼 총 29 개 ˙ 11시간 27분의 수업
이 강의는 영상, 수업 노트, 첨부 파일이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. Introduction
섹션 1. 데이터 전송
Pipe와 Named Pipe 미리보기 16:32 - Live Programming(pipe) 미리보기 11:27 - Live Programming(named pipe) 미리보기 18:02 Message Queue(SysV) 미리보기 37:01 - Live Programming(SysV Message Queue) 미리보기 36:47
Message Queue(POSIX) 25:40
- Live Programming(POSIX Message Queue) 32:13
Socket 36:24
- Live Programming(Stream Socket - Part 1) 28:33
- Live Programming(Stream Socket - Part 2) 16:21
- Live Programming(Datagram Socket) 15:33
섹션 2. 공유 메모리
Shared Memory(memory mapped) 30:13
- Live Programming(file mapping) 30:00
- Live Programming(anonymous mapping) 19:16
Shared Memory(SysV + POSIX) 25:34
- Live Programming(SysV Shared Memory) 26:30
- Live Programming(POSIX Shared Memory) 17:03
섹션 3. 동기화
Semaphore(SysV + POSIX) 39:13
- Live Programming(SysV Semaphore) 40:59
- Live Programming(POSIX Named Semaphore) 30:32
- Live Programming(POSIX Unnamed Semaphore) 24:42
File Locks 40:09
- Live Programming(flock) 18:39
- Live Programming(fcntl) 33:06
- Live Programming(lockf) 12:04
섹션 4. Wrap-up
IPC 선택 Guide 13:37
강의자료
소스코드
강의 게시일 : 2019년 04월 30일 (마지막 업데이트일 : 2019년 05월 02일)
수강평 총 18개
수강생분들이 직접 작성하신 수강평입니다.
4.8
18개의 수강평
5점
4점
3점
2점
1점
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
Roel thumbnail
5
제겐 정말 완벽한 리눅스 IPC 강의였습니다. 정말 감사합니다. 최고에요!!
2020-10-12
지식공유자 ProgCoach4U
최고의 찬사를 남겨주셨네요! 강의 준비할 때 정말 힘들었었는데요..그 노력에 대한 보상 같아요..ㅠ_ㅠ 정말 감사합니다!! :D
2020-10-12
염정원 thumbnail
5
ipc의 개념이 잡히는 훌륭한 강의였네요...
2020-03-25
지식공유자 ProgCoach4U
IPC의 개념을 잡으셨다니.. 정말 제가 바라던 바에요! 완강하시느라 고생 많으셨어요. 수고하셨습니다. 피드백 감사합니다~!! :D
2020-03-26
JJ thumbnail
4
초보 입장에서는 적절한 내용 수준과 호흡으로 진행되었기에 좋았습니다만, 몇 몇 예제는 이전의 '시스템 프로그래밍' 예제와 겹쳐서 두 강좌를 연이어 들은 저로서는 다소 아쉬움이 남습니다.
2020-03-04
지식공유자 ProgCoach4U
시스템 프로그래밍과 IPC 프로그래밍이 서로 뗄래야 뗄 수 없는 관계이기에 다소 겹치는 내용이 있었던 것 같습니다. 강의를 만들면서 빠지는 내용이 없도록 노력했는데, 그러면서 겹치는 내용이 더 생겼던 것 같습니다. 다음 강좌 준비할 때 참고하도록 하겠습니다. 차분하고 상세한 리뷰 감사합니다~ :D
2020-03-05
yami2254 thumbnail
5
좋은 강의였습니다.
2019-10-05
지식공유자 ProgCoach4U
많은 도움이 되셨기를 바래요~ 감사합니다!! :D
2019-10-05
MIKE.aeon thumbnail
5
많은 분량으로 공부하기 쉽지않은 부분을 잘 설명해 주셨습니다. 내용을 듣는다고 다 이해가 되진 않지만, 나중에 실무에서 사용할때 도움이 많이 될것 같습니다.
2020-02-02
지식공유자 ProgCoach4U
필요하실 때 다시 찾아보시면 좋을 것 같아요! 감사합니다~ :D
2020-02-10
연관 로드맵
이 강의가 포함된 잘 짜여진 로드맵을 따라 학습해 보세요!