책소개
어렵고 딱딱하게 느껴지는 IT에도 이야기가 필요하다!
IT 지식이 필수인 시대, 알아두면 쓸모 있는 친절한 IT 이야기
이 책은 비전공자도 기죽지 않고 당당하게 IT를 안다고 말할 수 있도록 IT 지식을 친숙한 비유와 이야기로 풀어낸다. 컴퓨터와 인터넷, 프런트엔드와 백엔드, 서버, 데이터베이스, 코딩으로 나눠서 IT 전반을 다루며 IT 기술 개념과 배경지식을 익힌다. 비전공자나 일반인도 쉽게 이해할 수 있고, 어려운 내용을 최대한 배제하여 IT에 관심이 있다면 중, 고등학생도 어렵지 않게 읽을 수 있다. 아메리카노 한 잔과 함께 에세이처럼 읽다 보면 어느새 IT에 눈뜬 자신을 발견하게 될 것이다.
저자소개
코딩보다 글 쓰는 걸 좋아하는 프로그래머. 한진정보통신에서 개발자로 재직 중이다. 오프라인에서 강의와 세미나를 진행하고, 온라인에서는 코딩 강의와 글쓰기 활동을 하고 있다. 모든 사람이 IT를 더 쉽고 재미있게 즐겼으면 하는 바람에서 글을 쓰고 이야기를 나눈다. 『오늘도, 우리는 코딩을 합니다』, 『이야기로 다가가는 HTML』을 집필했다.
홈페이지 http://gocoder.net
블로그 https://gocoder.tistory.com
브런치 https://brunch.co.kr/@gocoder
웹 툴 http://publicproject.gocoder.net/
셔터스톡 https://www.shutterstock.com/ko/g/GoCoder
유튜브 http://gocoder.net/youtube
이메일 gocoder@kakao.com
인스타그램 @gocoder.sns
목차
프롤로그
Part 1 컴퓨터와 인터넷 이야기
0과 1 그리고 왼쪽 눈꺼풀: 친절한 대필가 이진법
__ 0과 1, 컴퓨터의 언어
__ 컴퓨터의 이상한 언어, 기계어
__한쪽 눈으로 대화하는 컴퓨터
지금 막 내 트위터 계정을 설정했다: 최초의 컴퓨터 파일
__ 최초의 파일은 ‘종이’였다?
__ 정보를 담는 논리적 단위, 파일
__ 역할을 구분하는 확장자
__ 디지털 사회의 구성원, 파일
불에 타지 않는 종이?: 디지털 저장 혁명
__ 대형 서점을 손바닥 위에
__암기는 외주로 맡겨 버리자
__코끼리는 절대 잊지 않는다, 온라인 노트의 대표 주자 ‘에버노트와 노션’
웹, 인터넷, 네트워크? 같은 거 아닌가요?: 웹, 인터넷, 네트워크
__인터넷으로 가면 되지
__ 그래서 인터넷이 뭐야?
__ 인터넷 연결은 해저에 깔린 선 덕분일까?
__ 웹이 뭐야?
__ 네트워크가 뭐야?
__ 이젠 빛의 속도도 부족해
인터넷은 어떻게 탄생한 거지?: 인터넷의 탄생
__ 인터넷의 시초
__ 인터넷은 대화?
__ 좋은 대화가 뭘까?
생각과 문서를 인터넷으로 연결하다: 하이퍼텍스트
__ 마우스의 탄생
__ 연결의 연결
검색으로 사용되는 전기의 양: 환경과 인터넷
__ 인터넷이 사용하는 전기량은 2%
__ IT와 환경보호
__ 인터넷 사용량과 비례하는 환경 보호 실천
지렁이 키우기 게임: 크롤링
__ 지렁이 키우기 게임
__ 웹 크롤러, 스크래핑, 파싱
__ 스파이더 프로그램
__ 1분 동안 생성되는 ‘정보’라는 먹잇감
__ 이 순간에도 구글의 지렁이 키우기 게임은 계속된다
정보 맛집을 찾는 방법: 페이지랭크
__ 정보 맛집, 페이지 랭크
__ 맛집 조작단
__ 구글에게 맛집 홍보하기, SEO
__ 진정한 정보 맛집을 위한 노력
Part 2 프런트엔드와 백엔드 이야기
무대 ‘위’를 꾸미는 그들: 프런트엔드
__ 프런트엔드란?
__ 화려한 온라인 무대
무대를 공사하다: HTML
__ 안녕! 마크업 언어
__ 20개 태그로 시작된 HTML
__ 이젠 HTML5
‘스타일시트’라는 예술의 탄생: CSS
__ 정보에서 디자인으로
__ 웹의 아름다움을 탐하다
__ CSS라는 옷을 입는 방법
무대를 위한 기술: 자바스크립트
__ 자바스크립트의 탄생
__ 자바스크립트 혁명
__ 브라우저를 벗어난 자바스크립트, Node.js
__ 더욱 확장하는 자바스크립트
무대 ‘뒤’를 꾸미는 그들: 백엔드
__ 백엔드란?
__ 시나리오 작가, 데이터베이스
__ 촬영 감독, 서버
프런트엔드와 백엔드를 이어주는: JSON
__ 가장 많이 사용되는 프로그래밍 언어는?
__ 프로그래밍 언어들의 공용어, JSON
__ XML vs JSON
__ 프런트엔드와 백엔드 개발자를 연결하다
Part 3 서버 이야기
육지가 된 서버: 데이터센터
__ IDC? DC 코믹스?
__ 한국 최초의 서버는 나무?
__ IDC가 필요한 이유
__ IDC라는 호텔
__ 장애가 발생해도 시스템을 이어가는 다중화
__ ‘서버’라는 숲속
하늘로 간 서버: 클라우드
__구름처럼 지구를 연결하는 시스템
__ 클라우드는 왜 하필 구름일까?
__ 하늘로 올라간 구름, 클라우드 서버
__ 클라우드 서비스 방식
서버를 지켜내기 위한 이야기: 서버 관리
__ 서버와 바다
__ 오염된 바다
__ 디도스 공격
__ 서버의 온도
__ 바다로 돌아간 서버 이야기
그냥 재미로 만든 그것: 리눅스
__외할아버지의 유산, 코딩
__ 재미로 만든 1만 행짜리 소스 코드, ‘리눅스’의 탄생
__ 배부른 펭귄
__ 일반인이 리눅스를 사용할 일이 있을까?
__ 리눅스를 사용하는 이유
__ 인류 역사상 최대의 공조 프로젝트
Part 4 데이터베이스 이야기
디지털 쓰레기를 정리하면 OO 된다?: 데이터베이스
__ 재활용 센터
__데이터베이스 정리, 정돈
__ 데이터베이스의 수납
__ 정리, 정돈의 힘
데이터들의 일촌: 관계형 데이터베이스
__ 관계형 데이터베이스
__ 테이블, 키, 값
__ 고유 값
__ 데이터의 관계
__ 공존
쿼리로 만드는 데이터 요리 방법: SQL
__ 데이터베이스를 요리하는 SQL
__ 맛있는 요리를 만드는 쿼리
__ 쿼리로 만드는 데이터 요리 방법
책을 한번에 찾는 방법: 인덱스
__ 목차와 인덱스
__ 인덱스를 사용하지 않으면
__ 인덱스가 필요하지 않을 때
__인덱스가 필요 없던 시절
데이터로 예언이 가능할까?: 오라클 데이터베이스
__오라클 데이터베이스
__ 오라클 데이터베이스의 역사
__ 정말 데이터로 미래를 예측할 수 있는 시대가 올까?
돌고래 vs 물개, 무료 데이터베이스의 전쟁: MySQL vs MariaDB
__ 돌고래 vs 물개, 승자는?
__ 무료 데이터베이스의 대표 주자
__ 세상에서 가장 많이 사용하는 DBMS, MySQL
__ 돌고래에서 물개로, MariaDB
__ 치열한 전쟁에서 선택은 개발자의 몫
데이터베이스계의 악동: NoSQL
__ 관계형 데이터베이스의 한계
__ No! SQL
__ 그렇다면 NoSQL은 무엇인가?
__ NoSQL 대체 뭐가 좋은데?
__ 틀을 벗어난 혁신
Part 5 코딩 이야기
Do It Yourself: 프레임워크
__ 가죽 지갑 만들기
__ 집 수리에서 시작, DIY
__작은 집을 만들 수 있는 프레임워크
__개발자와 프레임워크
__집을 짓는 프레임워크
코드를 빌리다: 라이브러리
__ 뉴욕 라이브러리에서
__라이브러리
__ 라이브러리를 사용하는 이유
__라이브러리의 종류
__ 코딩을 빌리다
약속에 늦은 친구를 기다릴까? 먼저 갈까? : 동기화 vs 비동기화
__ 지각대장 존
__ 동기화와 비동기화
__ 푸드코트는 비동기화 방식
__ 개발자의 선택
__ 지각한 데이터 기다릴까? 먼저 갈까?
코딩으로 붕어빵을 만드는 방법: 객체 지향 프로그래밍
__프로그래밍의 패러다임
__ 붕어빵을 만드는 방법
__붕어빵과 틀, 객체
__ 비법이 담긴 밀가루 반죽과 팥앙금, 캡슐화
__ 잉어빵의 탄생, 상속
__ 추상화
단 한 사람을 위해 움직인다: API
__ API는 한 사람을 위해
__ API와 라이브러리의 차이
__ 세 가지 API 정책
__ 당신을 위해 움직이는 API
컴퓨터에게 보내는 편지: 코딩
__ 컴퓨터에게 보내는 편지
__ 언어의 선택
__ 개발자가 쓰는 편지
코딩을 세이브하다: 깃
__쉬운 게임을 위한 버전 관리
__혼자 하는 숙제, 중앙 집중 버전 관리 방식
__ 함께 하는 숙제, 분산 버전 관리 방식
__ 깃은 꼭 필요할까?