책소개
컴퓨터 시스템의 기초 개념부터 최신 클라우드 기술과 애플리케이션 개발까지 IT 기술 전반을 체계적으로 정리하고 전달하는 것을 목표로 한다. 특히 AI를 활용으로 하는 개발에서 꼭 알아야 하는 기술 지식 전달에 중점을 두고 있다.
대표 저서로는 「길벗 컴퓨터 구조 및 운영체제, 역서로는 「백엔드 개발 30일 완성」, 「더 쿠버네티스」 등이 있으며, 컴퓨터 과학 기초부터 클라우드 인프라와 백엔드 개발까지 폭넓은 내용을 다루고 있다.
또한 인프런에 ChatGPT 기반 앱 개발, 백엔드 개발 강의, AWS 클라우드 강의 등 교육 콘텐츠를 통해 개발 교육 진행하고 있다.
AI 서비스를 만드는 것에 필수 지식과 개발을 돕는 컨텐츠 등을 유튜브 채널 통해서 지식을 공유하고 있다.
목차
프롤로그
1장. 소프트웨어 개발
- 컴퓨터 전공자들은 어떤 것들을 배우나요?
- 소프트웨어를 개발한다는 것은 무엇입니까?
- 누구나 개발을 할 수 있나요?
- 누가 소프트웨어 개발을 잘 할 수 있을까요?
2장. 소프트웨어의 종류와 특징
- 소프트웨어의 종류
- 웹,웹앱, 네이티브 앱, 하이브리드 앱의 차이
- 프론트 엔드와 백엔드
- 웹 어플리케이션 개발
3장. 소프트웨어를 만드는 개발 언어 및 프레임워크
- 언제 어떤 언어를 선택하는 게 좋을까요?
- 전공자들이 배우는 C언어
- C언어와 C++의 차이는 무엇인가요?
- 자바(Java)는 어떤 언어인가요?
- 객체지향이란 무엇인가요?
- 프레임워크는 무엇이고, 어떤 프레임워크를 선택하는 게 좋을까요?
- 프론트엔드 개발 언어는 무엇인가요?
- 프론트엔드 개발에서 이벤트 처리가 무엇인가요?
- 리액트(React)는무엇이고, 왜 많이 사용되나요?
- 모바일 앱을 개발하는 언어 및 프레임워크는 무엇인가요?
- 서버 프로그램을 만드는 언어는 무엇인가요?
- 파이썬 나온지가 20년이나 되었는데, 많이 사용되는 이유는무엇인가요?
4장. 개발할 때 알아야 하는 필수 지식
- 자료 구조란 무엇인가요?
- 함수, 클래스, 객체와 인스턴스, 모듈과라이브러리, 컴포넌트, 프레임워크
- API vsOpenAPI
- REST API vs RESTful API
- 동기와 비동기라는 개념은 무엇이고, 차이는 무엇인가요?
- Ajax라는 것은 무엇인가요?
- XML, Json은 프로그램인가요? 어떻게 생긴건가요?
- 폴링과 이벤트 방식의 차이는 무엇인가요?
5장. 소프트웨어 공학
- 개발 방법론의 진화
- CBD 방법론은 무엇인가요?
- 애자일 방법론은 무엇인가요?
- DevOps도 개발 방법론인가요?
- CI/CD는 무슨 일을 하는 건가요?
- 소프트웨어 아키텍처라는 것은 무엇일까요?
6장. 컴퓨터 구조와 운영체제의 이해
- 컴퓨터 운영체제의 역사
- 컴퓨터는 어떤 구성 요소로 되어 있나요?
- 왜 모든 데이터를 메모리에 올리지 못하나요?
- 메모리는 왜 캐시 메모리, 메인 메모리, 가상 메모리 나뉘어 사용되나요?
- 여러 프로그램이 동시에 실행되는 원리는 무엇인가요?
- 운영체제는 무슨 일을 하나요?
- 멀티 스레드를 활용한 동시 수행
- 커널(Kernel)이란 무엇인가요?
- 프로그램, 프로세스, 프로세서의 차이가뭔가요?
- 프로세스와 쓰레드의 차이는 무엇인가요?
7장. 데이터베이스 기술
- 데이터베이스(DBMS)의 이해
- 왜 앱과 DB를 바로 연동하지 않나요?
- NoSQL은 SQL이 아닌가요?
8장. 네트워크 기술
- 클라이언트 서버통신은 어떻게 되나요?
- 웹 서버 접속 과정은 어떻게 되나요?
- 웹과 WAS의 역할은 어떻게 되나요?
- 웹 애플리케이션의 캐시
- 프로토콜이란 무엇인가요?
- TCP/IP vs HTTP
- HTTP는 무엇인가요?
- 웹 서버 접속 과정은 어떻게 되나요?
- 세션과 쿠키는 무엇인가요?
- JWT란 무엇인가요?
- 라우터, 스위치, 로드밸런서는 무엇인가요?
- 통신에서 동기와 비동기는 어떻게 다른가요?
9장. 아키텍처
- 시스템 아키텍쳐란 무엇인가요?
- 아키텍처를 잘 설계해야 하는 이유는 무엇인가요?
- 시스템 아키텍처 비유: 스타벅스 매장
- MSA(마이크로서비스 아키텍처)는 왜 인기가 있을까요?
10장. 클라우드, 빅데이터, 인공지능
- 클라우드 컴퓨팅이란 무엇인가요?
- 클라우드 컴퓨팅이 대세가 된 이유
- 클라우드 서비스의 종류: IaaS, PaaS, SaaS
- 하이브리드 클라우드와 멀티 클라우드는 무엇인가요?
- 서버리스 컴퓨팅은 무엇인가요?
- 도커, 컨테이너, 쿠버네티스란 무엇인가요?
- 빅데이터란 무엇인가요?
- 빅데이터 vs 머신러닝 vs 인공지능