혼자 해도 충분합니다! 1:1 과외하듯 배우는 IT 지식 입문서! 이 책은 독학으로 IT 지식을 배우는 입문자가 ‘꼭 필요한 내용을 제대로 학습’할 수 있도록 구성했다. 뭘 모르는지조차 모르는 입문자의 막연한 마음에 십분 공감하여 과외 선생님이 알려주듯 친절하게, 핵심 내용만 콕콕 집어 준다. 1장에서는 IT 업계 용어를 알아보며 개발과 개발자를 이해하고, 2장에서는 개발자가 실제로 사용하는 용어를 배우며 개발자와 소통할 수 있는 발판을 마련해준다. 마지막 3장에서는 여러 가지 개발 용어를 바탕으로 개발자의 길로 들어설 수 있도록 친절하게 알려 준다. '개발이 뭔지 궁금했지만', '개발자와 소통해야 하지만', '개발자가 되고 싶지만' 기존 IT 지식서에서는 시원하게 알 수 없었던 진짜 코딩 지식을 [혼공 얄코]에서 만나 보자!
Contents
Chapter 01 개발자 이해하기: 개발과 개발자 용어 알기
01-1 개발자는 대체 뭐하는 사람인가요?
__개발자는 누구인가요?: 개발자 vs 작가 easy
__웹사이트를 만드는 개발자: 웹 개발자 easy
__손 안의 앱을 만드는 개발자: 모바일 개발자 easy
__게임을 만드는 개발자: 게임 개발자 easy
__컴퓨터 프로그램을 만드는 개발자: 응용 소프트웨어 개발자 easy
__하드웨어를 제어하는 개발자: 임베디드 개발자 easy
__빈틈없는 정보 파수꾼: 정보 보안 전문가 easy
__기계를 가르치는 개발자: AI 개발자 easy
[7가지 키워드로 정리하는 핵심 포인트]
[확인 문제]
01-2 코딩과 프로그래밍, 앱과 프로그램
__프로그래밍 언어로 코드 작성하기: 코딩 easy
__컴퓨터가 할 일 설계하기: 프로그래밍 easy
__소프트웨어를 만들고 운영하는 과정: 개발 medium
__컴퓨터의 보이지 않는 요소: 소프트웨어 vs 프로그램 vs 애플리케이션 medium
[7가지 키워드로 정리하는 핵심 포인트]
[확인 문제]
01-3 프로그래밍 언어도 외국어인가요?
__컴퓨터에 명령을 내릴 때 사용하는 언어: 프로그래밍 언어 easy
__배우기 쉬운 언어는 없을까?: 프로그래밍 언어가 다양한 이유 easy
__프로그래밍 언어의 계층: 고수준 언어와 저수준 언어 medium
__개발자들의 워드 프로세서: IDE easy
[8가지 키워드로 정리하는 핵심 포인트]
[확인 문제]
01-4 디버깅 중인데, 빌드 해보고 이상 없으면 릴리스할게요
__프로그램의 간 보기: 디버깅 easy
__소스 코드를 프로그램으로 포장하기: 빌드 easy
__몇 번 테스트하고 몇 번 업그레이드했는지 확인하기: 빌드 번호와 버전 번호 medium
__프로그램을 사용자에게 서빙하기: 배포 easy
__출시했다고 끝이 아닙니다!: 유지 보수 easy
__맛은 같게, 레시피는 다르게: 리팩토링 easy
__함께 맛보고 피드백하기: 코드 리뷰 easy
__레시피 정리해 두기: 문서화 easy
[7가지 키워드로 정리하는 핵심 포인트]
[확인 문제]
Chapter 02 개발자와 소통하기: IT 업계 용어 알기
02-1 서버는 뭐고 AWS는 뭔가요?
__주는 컴퓨터와 받는 컴퓨터 : 서버와 클라이언트 easy
__서버들이 모여 있는 곳: 데이터 센터 easy
__AWS는 기존 호스팅과 어떻게 다를까: 클라우드 컴퓨팅 medium
__알아 두어야 할 클라우드 서비스 종류: 인프라 vs 플랫폼 vs 소프트웨어 hard
[6가지 키워드로 정리하는 핵심 포인트]
[표로 정리하는 핵심 포인트]
[확인 문제]
02-2 웹사이트는 어떻게 만들어지나요?
__웹사이트 열람에 사용되는 소프트웨어: 웹 브라우저 easy
__요소를 가져다 놓는 마크업 언어: HTML easy
__요소를 꾸미는 언어: CSS easy
__일을 시키는 프로그래밍 언어: 자바스크립트 easy
__브라우저 간 약속: 웹 표준 medium
__웹 페이지의 다양한 화면 크기L: 반응형 vs 적응형 hard
[6가지 키워드로 정리하는 핵심 포인트]
[확인 문제]
02-3 쿠키, 토큰, 캐시는 일상에서 쓰는 그 단어인가요?
__브라우저에 저장되는 정보: 쿠키 easy
__서버가 나를 알아보는 방법: 세션 easy
__세션과는 또 다른 로그인 유지 방식: 토큰 medium
__전송량은 줄이고 속도는 높이고: 캐시 easy
__서버 부담은 줄이고 사용자와는 가깝게: CDN hard
[5가지 키워드로 정리하는 핵심 포인트]
[표로 정리하는 핵심 포인트]
[확인 문제]
02-4 스마트폰 앱인데 웹사이트라고요?
__플랫폼별로 애플리케이션 맞춤 제작이 가능한: 네이티브 앱 easy
__안드로이드와 iOS, 두 마리 토끼 다 잡는: 크로스 플랫폼 easy
__모바일 앱의 모습을 한 웹사이트: 웹 앱 easy
__네이티브 앱과 웹 앱의 장점을 합친: 하이브리드 앱 medium
__모바일 브라우저의 발전: PWA easy
[5가지 키워드로 정리하는 핵심 포인트]
[확인 문제]
02-5 웹의 보이는 곳과 보이지 않는 곳
__사용자의 컴퓨터에서 동작하는 부분: 프론트엔드 easy
__서버에서 동작하는 부분: 백엔드 easy
__편리한 개발을 위한 프로그램 제작 키트: 프레임워크 medium
__소프트웨어끼리 소통하는 법: API medium
__컴퓨터에 정보를 전달하는 방법: XML, JSON, YAML, AJAX hard
__ [좀 더 알아보기] HTML이라는 설계도의 결과물, 돔
[7가지 키워드로 정리하는 핵심 포인트]
[확인 문제]
02-6 IP는 뭐고 HTTPS은 뭐죠?
__내 컴퓨터의 주소: IP 주소 easy
__IP 주소를 담은 전화번호부: 도메인과 DNS medium
__정보를 주고받기 위해 약속된 방식: WWW, HTTP medium
__HTTP를 보다 안전하게: HTTPS medium
__클라이언트와 서버의 소통 방법: 요청 메소드와 응답 코드 hard
__ [좀 더 알아보기] DNS에서 네이버 IP를 찾는 과정
[7가지 키워드로 정리하는 핵심 포인트]
[확인 문제]
02-7 디지털 시대, 데이터와 데이터베이스의 이해
__정보를 구성하는 자료: 데이터와 데이터베이스 easy
__데이터 창고를 관리하는 프로그램: DBMS easy
__데이터베이스계의 오랜 대세: 관계형 데이터베이스 medium
__관계형 데이터베이스의 언어: SQL medium
__관계형 데이터베이스를 제외한 DBMS: NoSQL medium
[7가지 키워드로 정리하는 핵심 포인트]
[확인 문제]
02-8 개발자들은 왜 리눅스를 그렇게 좋아하나요?
__컴퓨터를 사용할 수 있도록 해 주는 소프트웨어: 운영 체제 easy
__컴퓨터를 사용하는 두 가지 방식: GUI vs CLI easy
__개발자가 많이 사용하는 운영체제: 리눅스 easy
__운영 체제의 심장: 커널 medium
__누구나 참여할 수 있는 소프트웨어: 오픈 소스 medium
[5가지 키워드로 정리하는 핵심 포인트]
[확인 문제]
Chapter 03 개발자의 길로 들어서기: 프로그래밍 용어 알기
03-1 컴퓨터는 어떻게 일하나요?
__컴퓨터 시스템을 통제하는 핵심 장치: CPU easy
__CPU의 성능 지표: 코어, 스레드, 클럭 medium
__데이터를 저장하는 기억 장치: 메모리 easy
__CPU가 멀티태스킹을 하는 방법: 프로세스와 스레드 hard
[5가지 키워드로 정리하는 핵심 포인트]
[확인 문제]
03-2 바이트는 뭐고 자료형은 왜 쓰나요?
__컴퓨터의 데이터 단위: 비트와 바이트 easy
__컴퓨터가 데이터를 저장하는 방식: 자료형 hard
__비트로 문자를 나타내는 방법: 문자 인코딩, 유니코드 hard
[5가지 키워드로 정리하는 핵심 포인트]
[확인 문제]
03-3 프로그래밍 언어의 분류
__번역되는 언어와 통역되는 언어: 컴파일 언어, 인터프리터 언어 medium
__프로그래밍의 흐름 차이: 절차 지향, 객체 지향 프로그래밍 hard
__변수는 위험해!: 함수형 프로그래밍 hard
__메모리, 직접 관리하시게요?: 매니지드 언어, 언매니지드 언어 hard
__[좀 더 알아보기] 자바와 자바 가상 머신과의 관계
[7가지 키워드로 정리하는 핵심 포인트]
[확인 문제]
03-4 오류라는 위험에 대비하기
__집에서 새는 바가지와 밖에서 새는 바가지: 컴파일 오류, 런타임 오류 medium
__잘 된다고 안심은 금물!: 논리 오류 medium
__오류를 우아하게 받아내는 방법: 예외처리 hard
__다 썼으면 치워주세요: 메모리 누수, 가비지 컬렉션 hard
[6가지 키워드로 정리하는 핵심 포인트]
[표로 정리하는 핵심 포인트]
[확인 문제]
03-5 개발에 필요한 여러가지 도구
__개발자의 앱 마켓: 패키지 매니저 easy
__프로그램이 작동할 곳에 지정된 값: 환경 변수 medium
__프로그램 실행을 돕는: 런타임 환경 hard
__소프트웨어를 만드는 키트: SDK hard
__생산성 있는 개발을 돕는: 라이브러리, 프레임워크 hard
[5가지 키워드로 정리하는 핵심 포인트]
[확인 문제]
03-6 타임머신을 타고 평행우주를 누비는 개발자
__이제 압축 백업은 그만!: VCS medium
__가장 인기있는 VCS: 깃 medium
__깃 사용자의 클라우드: 깃 호스팅 서비스 medium
[3가지 키워드로 정리하는 핵심 포인트]
[확인 문제]
Author
고현민
그래픽 디자이너로 활동하다 프로그래밍에 흥미를 느껴 컴퓨터공학을 전공했다. 스타트업에서 개발 팀장을 역임하며 풀 스택 및 모바일 개발을 담당했다. 여러 서비스를 운영하며 쌓아 온 지식을 사람들에게 쉽게 알려주고 싶다는 일념으로 유튜브 채널 ‘얄팍한 코딩사전’을 만들었다. 지금은 프리랜서 개발자로 일하고 있으며, 비전공자도 쉽게 이해할 수 있는 각종 코딩 콘텐츠를 만드는 일에 몰두하고 있다.
그래픽 디자이너로 활동하다 프로그래밍에 흥미를 느껴 컴퓨터공학을 전공했다. 스타트업에서 개발 팀장을 역임하며 풀 스택 및 모바일 개발을 담당했다. 여러 서비스를 운영하며 쌓아 온 지식을 사람들에게 쉽게 알려주고 싶다는 일념으로 유튜브 채널 ‘얄팍한 코딩사전’을 만들었다. 지금은 프리랜서 개발자로 일하고 있으며, 비전공자도 쉽게 이해할 수 있는 각종 코딩 콘텐츠를 만드는 일에 몰두하고 있다.