[독서] 비전공자를 위한 이해할 수 있는 IT 지식(5장~끝)
*인상깊었던 부분이나 책을 읽으면서 들었던 제 생각, 혹은 기억하고 싶었던 부분에 대해 적습니다. 독후감이나 책의 평가가 아닙니다.
🌼 읽은 부분: 5장~끝
6장 웹(Web)
최초에 웹은 HTML 문서를 통해 정보를 전달 받았다. 그리고 디자인을 입힐 수 있는 코드인 CSS가 추가되었다. 점차 동적인 기능을 사용하기 위해 프로그래밍 언어인 JavaScript를 사용하기 시작했다. HTML이 틀이라면, CSS 꾸며주는 것, 페이지를 이동하고 열리게 하는 동적인 기능들은 자바스크립트가 담당한다.
개발자 도구를 열어 HTML을 수정하면 화면은 바뀌지만 새로고침하면 다시 돌아오는 이유? 파일의 완성본은 서버에 있고, 우리는 서버로부터 복사본을 받아온 것이다. 새로고침하면 원본을 다시 다운로드한다. 이것이 웹과 애플리케이션의 차이이다.
애플리케이션은 업데이트 결과를 유저가 다운로드 해야하지만, 웹은 서버의 원본을 바꾸면 된다. 웹의 장점은 수정이 용이하다. 애플리케이션은 오래걸린다. but 네트워크가 느린 환경에서 웹은 계속 서버로부터 파일을 다운로드 받아야 하기 때문에 느릴 수 있다.
브라우저가 파편화 되어있기 때문에, 즉 각각의 다른 애플리케이션이기 때문에 브라우저에 따라, 혹은 같은 브라우저의 버전에 따라 특정 기능이 작동할수도 작동하지 않을 수 있다. 모든 브라우저를 맞추긴 현실적으로 어렵다. 점유율이 높은 브라우저에서 작동하게 만드는 것도 방법이다.
7장 데이터베이스와 이미지 처리
데이터의 "무결성" - 데이터는 단 1%의 결점도 없어야 한다.
데이터를 관리하는 주요 방법론인 "관계형 데이터베이스"는 테이블(table)로 이루어져 있으며, 이 테이블은 키(key)와 값(value)의 관계를 나타낸다. 데이터의 종속성을 관계(relationship)로 표현하는 것이다. 고유 번호를 통해 데이터의 탐색과 수정이 용이하다.
8장 프레임워크와 라이브러리
AppKit은 맥 OS에 올라가는 애플리케이션을 개발하기 위한 프레임워크. 애플에서는 기기별로 다른 프레임워크들을 통칭해서 코코아 프레임워크라고 부른다. 프레임워크를 사용하면 애플리케이션을 쉽고, 빠르게 만들 수 있다.
웹프론트엔드 프레임워크/라이브러리 삼대장: 리액트, 뷰, 앵귤러
리액트는 페이스북, 앵귤러는 구글, 뷰는 중국사람인 Evan You가 만들었다. 자바는 스프링, 파이썬은 장고, 루비는 레일스라는 프레임워크들이 있다.
라이브러리? 다른 사람이 만든 코드를 이용하는 것이지만 프레임워크보다는 작은 단위. 라이브러리와 코드가 모여 하나의 프레임워크가 된다. 한 프로젝트에서는 하나의 프레임워크만 쓸 수 있지만, 라이브러리는 여러개 사용 가능하다.
9장 협업, 소스관리, 디자인
Git: 리눅스 토발즈가 개발한 프로그램
깃을 통해 개발자들은 개발 단계마다 커밋을 남길 수 있다. 변화를 추적할 수 있고, 단계마다를 옮겨 다닐 수 있다. 소스코드의 버전관리가 가능하다.
branch(브랜치): 가지, 분기라는 뜻으로 새로운 방향의 개발을 추가할 때, 새롭게 브랜치를 만들어 작업하여 기존 브랜치에 영향을 주지 않는 것.
브랜치를 만드는 이유는 각자가 동시에 진행되어야 하는 코드들의 충돌을 막고 작업할 수 있게 하기 위함이다. 각자의 작업을 합치는 것을 merge(병합)라고 한다.
겹치는 부분을 알려주는 것은 Conflict(충돌) 이라고 한다.
원격저장소는 깃허브, 비트버킷 등으로 자신의 컴퓨터(로컬)에서 작업한 것을 보관할 수 있는 곳이다.