모든 사람이 복잡한 애플리케이션을 개발하는 법을 배우는 것은 이치에 맞지 않고 현실성도 없다. 하지만 IT업계나 그 주변부에서 혹은 IT 기기를 활용해 일하는 사람이라면, 즉 현대사회를 사는 사람이라면 누구나 인터넷과 애플리케이션의 기본적인 원리 정도는 알아야 한다. 그래야 이전에는 생경하거나 혼란스럽게 느껴졌던 대화에 참여할 수 있다.
--- p.7
애플리케이션은 프로그래밍 언어로 작성된다. 이렇게 프로그래밍 언어로 기술한 문서를 소스코드(source code), 줄여서 코드라 부르고 코드를 작성하는 행위를 코딩(coding)이라고 한다. 코드에는 애플리케이션이 구동되고 반응하는 방식이 정의돼 있다. 다른 말로 하자면 애플리케이션을 실행했을 때 우리 눈에 보이는 영역과 보이지 않는 영역에서 처리되는 작업이 모두 코드 안에 정의돼 있다. 그래서 기술적으로 가장 먼저 정해야 할 사항은 사용할 프로그래밍 언어다.
--- p.34
프런트엔드를 디자인할 때는 사용자 인터페이스와 사용자 경험도 고려해야 한다. 사용자 인터페이스(UI, User Interface)는 애플리케이션의 모양새를 말한다. UI가 좋으면 애플리케이션의 사용법을 직관적으로 알 수 있지만, 그 반대라면 어수선하게 보이며 사용법이 쉽게 와닿지 않는다. 사용자 경험(UX, User eXperience)은 애플리케이션을 사용할 때 받는 느낌이다. 당신은 긍정적인 UX를 만들기 위해 항상 노력해야 한다.
--- p.49
데이터베이스 관리 시스템(DBMS, DataBase Management System)은 데이터베이스를 정의하고 다수의 사용자와 애플리케이션이 데이터를 저장·이용·공유할 수 있게 하는 시스템이다. DBMS는 ‘동시성’(요청이 동시다발적으로 발생), ‘중복성’(동일한 정보를 중복 저장), ‘보안’, ‘복구’(오작동에 대한 보호), ‘최적화’(요청을 제때 처리)와 관련된 관리 도구를 제공하므로 개발자에게 무척 유용하다.
--- p.66~67
2009년 토요타의 일부 차량에서 가속페달이 즉시 제자리로 복원되지 않는다는 의혹이 제기됐고, 급기야 토요타는 2010년 1월에 410만 대를 리콜했다. 제품의 결함, 즉 버그(bug) 때문에 발생한 문제였다. 이런 일은 제조업만 아니라 IT업계에서도 발생한다. 페이스북, 구글, 마이애폴리는 언제든 버그가 생길 수 있다. 책을 출간하기 전에 원고를 교정하는 것이 당연하듯 개발 과정에서는 오류를 없애는 디버깅(debugging)이 중요하다.
--- p.132
요즘은 개인정보 보호에 관심이 무척 높다. 그래서 2016년에 유럽연합 국가들을 대상으로 이전보다 더 포괄적이고 강력한 데이터 보호 규정을 적용하는 일반 데이터 보호규칙(GDPR, General Data Protection Regulation)이 제정됐다. 2018년 5월부터 시행된 GDPR에 따라 기업은 어떤 데이터를 수집하든 수집 목적, 보관 기간, 공유 계획 등을 사전에 고지할 의무가 생긴다. 기업은 사용자의 분명한 동의를 얻은 후에만 개인정보를 이용할 수 있고 사용자는 언제든 동의를 철회할 수 있다.
--- p.156
비밀번호를 안전하게 만들고 사용하려면 특수문자와 숫자를 포함해서 길게 만들며 똑같은 비밀번호를 재활용하지 말아야 한다. 이렇게 말하면 흘려듣는 사람이 많지만 절대로 가볍게 볼 문제가 아니다. 2016년에 버라이즌(Verizon)이 발행한 데이터 유출 보고서에 따르면 비밀번호를 허술하게 만들거나 도난당해서 데이터 유출 사고가 발생하는 비율이 전체 유출 사고 중6 3퍼센트나 된다.
--- p.185
AI 기술은 모두 문제(problem)를 해결하기 위해, 즉 입력과 출력이 명확히 정의된 작업을 수행하기 위해 만들어진다. 입력(input)은 AI에게 문제를 해결할 방법을 가르쳐주는 데이터이고 출력(output)은 그 해답이다. AI의 모델(model) 혹은 두뇌는 입력으로 출력을 만들어내는 수학 함수의 집합체다. 모델이 학습(learning)한다는 것은 주어진 데이터를 토대로 행동을 조정하고 개선한다는 뜻이다.
--- p.229
실감형 미디어는 뇌를 속여서 컴퓨터가 만든 디지털 세계를 실제 세계로 믿게 한다. 가상현실(VR, Virtual Reality)은 현실처럼 보이지만 전적으로 디지털인 세계를 만든다. VR과 밀접한 연관이 있는 증강현실(AR, Augmented Reality)은 현실의 일부처럼 느껴지는 디지털 사물을 만든다. VR과 AR은 실감형 미디어의 두 축이다.
--- p.277