Flask

Chapter 1-1 프로그래밍이란?

Chansman 2025. 4. 17. 10:22

📌 개념 정리 ────────────────────────

 

1️⃣ 프로그래밍(Programming)

  • 컴퓨터에게 명령을 내려 원하는 결과를 얻기 위해 논리적으로 명령어를 배열하는 모든 활동.
  • 궁극적으로는 문제 해결을 자동화‧최적화하는 과정.

2️⃣ 기계어 (Machine Language) 🖥️

  • 0과 1로만 구성된, CPU가 직접 이해하는 언어.
  • 사람에게 난해하지만 하드웨어 친화적. [이미지 참고: 기계어 이진 코드]

3️⃣ 고급 언어 (High‑Level Language) 💬

  • 사람이 읽기 쉬운 형식(영어 기반 키워드)으로 작성.
  • C, Python, JavaScript… 등. [이미지 참고: 다양한 고급 언어 로고]

4️⃣ 프로그램 실행 과정 🔄

  • 작성(에디터) → 번역(컴파일/인터프리트) → 실행(메모리 적재) → 결과 출력. [이미지 참고: 실행 플로차트]

👉 번역 방식 비교 (표)

구분컴파일러 🛠️인터프리터 ⚡

번역 시점 실행 전 전체 소스코드 실행 중 한 줄씩 번역
생성물 기계어 실행 파일(예: .exe) 별도 파일 없이 즉시 실행
실행 속도 빠름 (하드웨어 최적화) 상대적으로 느림 (런타임 해석)
대표 언어 C, C++, Rust Python, JavaScript, PHP

 

✅ 체크리스트 – 실행까지 흐름 [ ] 소스코드(.py, .c 등) 작성 [ ] 번역 도구(컴파일러/인터프리터) 호출 [ ] 메모리에 로드 & CPU 실행 [ ] 출력 검증/디버깅

 

💻 코드 예시 및 흐름 분석 ────────────────────────

● 예시 언어: Python (인터프리터 방식)

코드

# 합계 계산 프로그램
numbers = [1, 2, 3]
result = sum(numbers)
print(f"합계: {result}")

단계별 흐름 🪄

  1. 입력: 고급 언어 소스코드.
  2. 파싱: Python 인터프리터가 토큰 단위로 구문 분석.
  3. 바이트코드 변환: .py → Python 바이트코드(.pyc)로 변환.
  4. 가상머신 실행: CPython VM이 바이트코드를 한 줄씩 실행.
  5. 연산: sum() 내장 함수가 반복문으로 리스트 요소를 누적.
  6. 출력: 표준 출력 스트림에 "합계: 6" 표시.

(컴파일 언어 C라면 👉 소스 → 객체파일(.o) → 링커 → 실행파일 → OS 로딩 → CPU 실행)

🧪 실전 사례 ────────────────────────

🔹 소프트뱅크 비전펀드

  • 투자 심사 단계에서 Python 기반 데이터 파이프라인으로 시장 지표 자동 수집 → 분석 리포트 4시간 단축.

🔹 국민은행 vs 카카오뱅크

  • 전통 금융권이 가장 두려워하는 경쟁자는 DT(Digital Transformation) 지수가 높은 핀테크 기업.
  • 인력 중 프로그래밍 역량 ☑️ 높은 조직이 출시 주기·사용자 경험 모두 우수.

🧠 고급 팁 or 자주 하는 실수 ────────────────────────

⚠️ 실수 TOP3

  1. 번역 단계(컴파일/인터프리트) 무시 ➜ 의존 라이브러리 경로 오류.
  2. 자료형 변환 간과 ➜ 런타임 TypeError.
  3. 디버깅 없이 기능 추가 ➜ 버그 누적.

💡 고급 팁

  • 단순한 반복 업무는 먼저 스크립트 자동화로 치환.
  • Large Language Model(GPT) 활용 시, "통역가"로 쓰기보다는 핵심 로직은 직접 코드 작성 → 성능·투명성 확보.
  • Prompt Engineering = 자연어 설계 기술 ➜ 코딩 지식과 결합 시 시너지 ↑.

✅ 마무리 요약 및 복습 포인트 ────────────────────────

☑️ 프로그래밍 = 컴퓨터 문제 해결 언어. ☑️ 기계어 ↔ 고급 언어 간 번역이 필수. ☑️ 컴파일러 vs 인터프리터 흐름 정확히 이해. ☑️ LLM 시대에도 코드 이해력은 생산성·자신감 차이를 만든다. ☑️ DT 비율이 높은 조직이 경쟁 우위를 점함.

"오늘 한 줄의 코드가 내일 회사의 경쟁력을 바꾼다." – 배운 내용을 바로 작은 자동화 스크립트로 실천해 보세요!