
25%
57,750원
지식공유자: ProgCoach4U
총 50개 수업 (13시간 2분)
수강기한: 무제한
수료증: 발급
난이도: 
입문
초급
중급이상
지식공유자 답변이 제공되는 강의입니다
초급자를 위해 준비한
[백엔드, 시스템] 강의입니다.
[백엔드, 시스템] 강의입니다.
본 강좌는 주제별 이론과 프로그래밍 실습을 병행하여 학습 효과를 극대화할 수 있도록 했습니다.
리눅스 시스템 프로그래밍 - 이론과 실습
리눅스 시스템 프로그래밍(이하 LSP)은 리눅스가 제공하는 프로그래밍 인터페이스를 통해 리눅스 시스템을 제어/관리할 수 있는 어플리케이션을 작성하는 것을 말한다. LSP는 다른 개발 환경에 비해 low-level 인터페이스를 사용해야 하기 때문에 익숙하지 않은 사람에게는 불편하고, 무식하고, 불친절해 보일 수 있다. 그래서 어렵게 느껴질 수 있다.하지만, LSP 만큼 리눅스와 친한 개발자를 만드는 과정은 없다.
LSP는 가장 단순한 방법으로 리눅스 커널과 interaction 하기 때문에 리눅스와 컴퓨터 시스템의 동작 과정에 대한 이해를 도울 수 있다. 또한 리눅스 디바이스 드라이버, 커널 프로그래밍 등으로 영역을 넓히기 위해서는 반드시 LSP를 익혀야 한다. 본 강좌는 주제별 이론과 프로그래밍 실습을 병행하여 학습 효과를 극대화할 수 있도록 만들었다. 수많은 API를 나열하고 소개하는 것에 그치지 않는다.
15년의 개발 경험에 비춰봤을 때 반드시 알아야 하고, 자주 사용되며, 혼동될만한 것들을 중점적으로 다뤄 핵심적인 내용을 수강생들에게 효과적으로 전달할 수 있도록 했다. 특히 주제별 실습을 빈 파일에서부터 실습을 시작하여 구현, 테스트, 디버깅의 모든 과정을 그대로 보여주는 라이브 프로그래밍으로 준비하여, 이런 일련의 개발 과정을 초심자들이 보고 따라하며 배울 수 있다.

학습 목표
- 주제별 핵심 이론을 빠르게 습득하여 리눅스 프로그래밍 전반에 이해를 높인다.
- 프로그래밍 실습을 통해 개념과 이론 뿐만 아니라 API 사용법과 동작 방식까지 습득하게 한다.
도움이 되는 분들
- 리눅스 개발자가 되고 싶은 분들
- 빠르게 리눅스 개발에 적응하고 싶으신 분들
- 리눅스를 책으로만 배웠지 무엇을 어떻게 해야할 지 모르겠는 분들
강의 실습 환경
- 강의 실습은 Windows 10 호스트에 VirtualBox를 이용한 가상머신을 생성하고, 가상머신에 Ubuntu-18.04를 설치해 구성했습니다. (반드시 똑같은 구성일 필요는 없으며, 리눅스를 사용하실 수 있는 환경이면 실습 가능합니다)
- 가상머신 설치 및 동작에 정확한 최소 사양을 말씀드리기는 어렵지만, 아래 사양이면 가상머신을 이용한 실습 환경 구성이 가능할 것 같습니다. - 2GHz/Dual core 이상의 CPU - 4GB 이상의 시스템 메모리 - 20GB 이상의 디스크 용량
- VirtualBox 설치, 가상머신 생성, 가상머신에 Ubuntu-18.04 설치 등은 "실습 환경 구성(가상머신)" 동영상을 참고하시길 바랍니다.
참고 사항
- 기본적인 C 언어 문법에 대한 이해를 필요로 합니다.
연관된 강좌
안녕하세요
ProgCoach4U 입니다.
ProgCoach4U 입니다.

리눅스 환경에서 15년 동안 개발자로 일했고, 지금도 개발자로 일하고 있습니다 :)
강좌 외 문의사항은 progcoach4u@gmail.com으로 보내주세요 ;)
커리큘럼
총 50 개
˙ 13시간 2분의 수업
이 강의는 영상, 수업 노트가 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. introduction
2 강
∙ 30분
섹션 1. 파일 다루기(basic)
7 강
∙ 1시간 11분
파일 열기/닫기
미리보기
10:00
파일 열기/닫기 - 라이브 프로그래밍
미리보기
13:00
파일 포지션
03:00
파일 포지션 - 라이브 프로그래밍
15:00
파일 읽고 쓰기
16:00
파일 읽고 쓰기 - 라이브 프로그래밍
14:00
파일 다루기(basic) : 강의자료
섹션 2. 파일 다루기(low-level)
9 강
∙ 1시간 51분
저수준 파일 열기/닫기, 스트림 포지션
18:00
저수준 파일 열기/닫기, 스트림 포지션 - 라이브 프로그래밍
18:00
저수준 파일 문자/문자열 읽고 쓰기
08:00
저수준 파일 문자/문자열 읽고 쓰기 - 라이브 프로그래밍
26:00
하드링크와 소프트링크
미리보기
08:00
하드링크와 소프트링크 - 라이브 프로그래밍
미리보기
16:00
파일 속성
07:00
파일 속성 - 라이브 프로그래밍
10:00
파일 다루기(low-level) : 강의자료
섹션 3. 파일 다루기(advanced)
15 강
∙ 4시간 30분
Directory 다루기
09:00
Directory 다루기 - 라이브 프로그래밍
13:00
Memory map
17:00
memory map - 라이브 프로그래밍
17:00
파일을 이용한 동기화
15:00
파일을 이용한 동기화 - 라이브 프로그래밍
26:00
파일 속성 제어
09:00
파일 속성 제어 - 라이브 프로그래밍
19:00
파일 이벤트
22:00
파일 이벤트 - 라이브 프로그래밍
24:00
I/O Multiplexing(select)
24:00
I/O Multiplexing(select) - 라이브 프로그래밍
25:00
I/O Multiplexing(epoll)
28:00
I/O Multiplexing(epoll) - 라이브 프로그래밍
22:00
파일 다루기(advanced) : 강의자료
섹션 4. 프로세스와 쓰레드
9 강
∙ 2시간 46분
프로세스 개념, 프로세스 생성
21:00
프로세스 개념, 프로세스 생성 - 라이브 프로그래밍
11:00
프로그램 실행과 종료처리
30:00
프로그램 실행과 종료처리 - 라이브 프로그래밍
18:00
프로세서 친화
21:00
프로세서 친화 - 라이브 프로그래밍
15:00
쓰레드 개념, 쓰레드 생성/종료/조인/동기화
23:00
쓰레드 개념, 쓰레드 생성/종료/조인/동기화 - 라이브 프로그래밍
27:00
프로세스와 쓰레드 : 강의자료
섹션 5. 시그널, 시간
7 강
∙ 2시간 14분
기본 시그널 처리
32:00
기본 시그널 처리 - 라이브 프로그래밍
16:00
고급 시그널 처리
18:00
고급 시그널 처리 - 라이브 프로그래밍
22:00
시간과 타이머
22:00
시간과 타이머 - 라이브 프로그래밍
24:00
시그널, 시간 : 강의자료
섹션 6. 실습에서 사용한 소스코드들
1 강
강의자료 - 소스코드
강의 게시일 : 2019년 02월 21일
(마지막 업데이트일 : 2019년 02월 21일)
수강평
총 61개
수강생분들이 직접 작성하신 수강평입니다.
4.8
61개의 수강평
5점
4점
3점
2점
1점
VIEW
추천 순
최신 순
높은 평점 순
낮은 평점 순
평점 순
높은 평점 순
낮은 평점 순