추상화

IT의 핵심 원리인 추상화에 대해서 알아봅니다.
추상화


이론의 필요성

응용프로그램을 위한 피라미드응용프로그램을 위한 피라미드

피라미드 전체를 볼 수는 있어야 하지만 꼭대기 층을 쌓아 올리기 위해서 아래 모든 층의 내부에 통달 할 필요는 없습니다.
소프트웨어 개발에 필요한 상상력의 기반이 될 수 있는 토대를 공부합니다.
이론이 없는 코딩은 사상누각에 불과합니다.

  • 컴퓨터의 구조
  • 파일
  • 실행 파일(프로그램)과 프로세스
  • 운영체제
  • 네트워크

추상화

안드로이드 운영체제의 구조안드로이드 운영체제의 구조

  • 아키텍쳐
    x86, x64, ARM, MIPS, PowerPC 등
  • 자료형
    정수, 부동/고정소수점, 문자열/Unicode/UTF-8, 구조체, 리스트, 포인터 등
  • 데이터 포맷
    바이너리, 텍스트, 이미지, 동영상, 파일; UNIX, EXT4, NTFS 파일 시스템 등
  • 프로토콜
    HTTP/HTTPS, FTP, SMTP, SSH, DNS, …, TCP, UDP, IP, …, ARP …, Ethernet, WiFi, Bluetooth 등
  • 운영체제
    Windows, Linux, OS X, iOS, Android, ChromeOS 등
  • 플랫폼 및 프로그래밍 언어
    Swift, C/C++, .NET (C#), JavaScript, Node.js, Java/Android, Swift, Objective C, PHP, Ruby, Python, Go, ML 등
  • 프레임워크
    Java Spring, Ruby on rails, PHP Laravel, NodeJs Express 등
  • 기업, 대학의 전문화된 분야
    인공지능, 데이터마이닝, AR/VR, 클라우드 컴퓨팅, 병렬처리, 그래픽스, 임베디드, 네트워크, 데이터베이스 등
목차
2. 프로그래밍 연습
저자

김동욱

개발 경력 약 10년, 전문 분야는 웹 및 각종 응용 소프트웨어 플랫폼입니다. Codeflow를 운영하고 있습니다.

2018년 04월 10일 업데이트

지원되지 않는 웹 브라우저거나 예기치 않은 오류가 발생했습니다.