본문 바로가기

생각 글

26년 5월 7일 생각 글2

5월 7일 오후 수업 기록 — 프로세스, 파이프, 언어 계보까지

오전에 서버 구축 실습을 했고, 오후는 이론 중심이었다. 교과서 276쪽부터 370쪽까지 빠르게 훑으면서 개념을 잡는 시간이었다. 처음 듣는 용어들이 많았는데 오전 실습이랑 연결되는 부분이 생각보다 많았다.


🛠️ 개발 툴이란 무엇인가

교수님이 첫 마디로 던진 말이 인상적이었다. "윈도우 메모장도 개발 툴이다."

설명 특징
vi 리눅스 기본 텍스트 편집기 가볍고 어디서든 사용 가능
nano 초보자용 편집기 오전 실습에서 사용
메모장 윈도우 기본 편집기 얘도 엄연한 개발 툴
VSCode 현업에서 많이 쓰는 편집기 확장 기능 풍부
도구가 중요한 게 아니라 코드를 작성하고 분석하는 자세가 중요하다는 뜻으로 들렸다. 비싼 툴 없어도 메모장으로 시작할 수 있다는 것.

🖥️ 오전 수업 복기 — 서버 구축 해봤는가?

교수님이 물었다. "서버 구축을 해봤는가?" 오전에 LXD + Docker + Flask로 내부망 서버를 직접 구축했으니 대답은 YES였다.

📌 교수님 말씀
모르는 게 있으면 배워야 한다. 시켜서 하는 게 아니라 스스로 공부해서 알아내는 자세가 중요하다. IT는 해봤거나 안 해봤거나 분석해서 배워야 한다. 들었다고 끝이 아니라 설명할 수 있어야 진짜 아는 것이다.

⚙️ 프로세스란 무엇인가 (276쪽)
Program vs Process
Program = 디스크에 저장된 코드 파일 (실행 전)
    ↓ 실행하면
Process = 메모리에 올라가서 활성화된 상태 (실행 중)
    ↓
실행 단위 = 프로세스는 곧 실행 단위
📌 쉽게 말하면
악보 = Program (디스크에 저장된 것)
연주 중인 음악 = Process (메모리에서 실행 중인 것)
포그라운드 / 백그라운드 (278쪽)
구분 설명 비유
포그라운드 (fg) 터미널을 점유하며 실행 무대 위에서 공연 중
백그라운드 (bg) 뒤에서 조용히 실행 무대 뒤에서 준비 중
터미널
# 백그라운드 실행 (& 붙이면 됨)
python3 app.py &

# 작업 목록 확인
jobs

# 백그라운드 → 포그라운드 전환
fg

# 실행 중인 프로세스 확인
ps -ef | grep python
오전에 Docker 컨테이너를 -d 옵션으로 실행한 것이 바로 백그라운드 실행입니다. & 와 같은 개념입니다.

🔗 파이프 · 필터 · 리디렉션
파이프 |

두 개의 프로그램을 연결해주는 통로. 왼쪽 결과를 오른쪽으로 넘긴다.

ps -ef          |       grep python
전체 프로세스 출력python 관련만 필터링
터미널
# 실행 중인 python 프로세스 찾기
ps -ef | grep python

# 찾은 PID로 강제 종료
kill -9 [PID번호]
리디렉션 >

결과를 파일로 저장하는 대입 연산자.

터미널
# 프로세스 목록을 파일로 저장
ps -ef > 결과.txt

# 폴더 목록을 파일로 저장
ls > 목록.txt
파이프는 프로그램과 프로그램을 연결, 리디렉션은 결과를 파일로 저장합니다.

💾 하드디스크 관리와 마운트 (370쪽)

마운트란 하드디스크나 USB 같은 저장장치를 리눅스 폴더에 연결해서 사용 가능하게 만드는 것이다.

OS 저장장치 연결 방식
윈도우 USB 꽂으면 자동으로 D: E: 드라이브 생성
리눅스 mount 명령어로 직접 폴더에 연결해야 함
터미널
# USB를 폴더에 연결
mount /dev/sdb1 /mnt/usb

# 연결 해제
umount /mnt/usb

# 연결된 디스크 전체 현황
df -h

# 폴더별 용량 확인
du -h
오전에 만든 LXD/Docker 컨테이너도 내부적으로 파일시스템을 마운트해서 독립 환경을 만드는 구조입니다.

💻 개발 언어 계보와 취업 방향
언어 역사
Bell연구소 B언어
    ↓
C언어 (개발자 생산성 혁명)
    ↓
C++ (C + 객체지향)
    ↓
C# (MS가 Java 대안으로 개발)
주요 언어 포지션
언어 특징 주요 사용처
C 가장 기초, 하드웨어 근접 임베디드, 운영체제
C++ C + 객체지향 게임엔진, 시스템
Java 범용, Oracle 소유 기업 서버, 안드로이드
Objective-C 애플 전용 iOS 구버전
JavaScript 웹 전용 프론트엔드
C# MS 계열 표준 윈도우 앱, Unity 게임
MS vs Java 대안 관계
원본 MS 대안
Java C#
Oracle DB MS SQL Server
MySQL MS SQL Server / Azure DB
📌 Java가 밀리는 이유
Java는 Oracle 소유 → 기업들이 라이선스 비용 부담 → MS C#으로 넘어가는 기업 증가 → C# 수요 꾸준히 상승 중
취업 방향
지금: Python → C언어 전환 중
    ↓
다음: C++ 심화
    ↓
목표: C# + SQL → MS 계열 취업
    ↓
범위: 대전 → 전국
광주/대전은 취업 자리가 한정적. C++ 제대로 익히면 원하는 지역 선택 폭이 넓어진다고 했다.

📋 오늘 배운 명령어 정리
명령어 역할
ps -ef | grep [이름] 실행 중인 프로세스 찾기
kill -9 [PID] 프로세스 강제 종료
명령어 & 백그라운드 실행
jobs 백그라운드 작업 목록
fg 백그라운드 → 포그라운드 전환
df -h 디스크 전체 현황
du -h 폴더별 용량 확인
mount 저장장치 연결
umount 저장장치 연결 해제
명령어 > 파일 결과를 파일로 저장 (리디렉션)
📝 오늘 오후 한 줄 요약

프로세스는 실행 단위. 파이프는 프로그램 연결 통로. 마운트는 저장장치 연결.
C → C++ → C# 순서가 MS 계열 취업으로 가는 정석 루트다.
들었다고 끝이 아니라 설명할 수 있어야 진짜 아는 것이다.

'생각 글' 카테고리의 다른 글

26년 5월 14일 생각 글  (0) 2026.05.14
26년 5월 8일 생각 글  (0) 2026.05.08
26년 5월 7일 생각 글1  (0) 2026.05.07
26년 5월 6일 정리글  (0) 2026.05.06
26년 4월 29일 생각  (0) 2026.04.29