|
프롤로그
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 인공지능 |