티스토리 뷰
part1. 컴퓨터와 인터넷 이야기
네트워크 패킷 교환 방식 => 인터넷 사용
- 작은 크기의 패킷으로 데이터를 전송하는 동안에만 네트워크 자원을 사용한다.
- 메시지를 일정한 크기의 패킷으로 분해해서 전송하면, 수신자 측에서 원래 메시지로 다시 조립하기 때문에 회선 이용률이 높고 장애에 강하다.
인터넷 = 모든 컴퓨터를 하나로 연결한 거대한 컴퓨터 통신망이다. ⊂ 웹
웹은 HTML이라는 기본 문서 형태의 문서를 주고 받기 위해서 만들어졌다.
브라우저를 통해 접속하는 모든 사이트는 바로 HTTP 프로토콜로 연결된다.
WWW = world wide web
웹은 수많은 웹사이트가 있고, 웹사이트는 웹페이지로 이루어졌다.
네트워크(통신망) = 하드웨어끼리 마치 그물망처럼 연결되어 데이터를 주고 받는 집단이다.
인풋랙 = 입력 지연 현상
HTTPS = 하이퍼 텍스트 전송 프로토콜 보안을 사용하는 HTTP 프로토콜의 보안버전.
- 데이터를 주고받는 과정에 보안 요소를 추가한 것.
- 서버와 클라이언트 사이의 모든 통신 내용이 암호화된다.
크롤링 = 데이터를 수집하고 분류하는 것을 의미한다. 데이터가 어디에 저장되어 있는지 위치에 대한 분류작업이 주요 목적이다.
스크레이핑 = 인터넷에 존재하는 데이터를 컴퓨터 프로그램을 통하여 자동화된 방법으로 웹에서 데이터를 수집하는 모든 작업
파싱 = 일정한 패턴으로 정보를 추출해 무언가를 만들어내는 것. 데이터를 원하는 형태로 가공하는 작업이 주요 목적이다.
크롤링이란, HTML로 연결되어 웹페이지 안에 있는 데이터를 추출해서 가공하는 역할을 한다.
SEO(Search Engine Optimazation, 검색엔진 최적화) 구글에 자신의 웹페이지를 링크한 정보를 제공하는 것.
part2. 프런트엔드와 백엔드 이야기
HTML 태그 - HTML을 기술하기 위하여 사용하는 명령어의 집합. 마크업 언어. 컴파일할 필요가 없고 사람이 읽을 수 있는 코드로 작성
UX = 사용자의 경험 : 어떤 서비스를 직, 간접적으로 이용하면서 느끼게 되는 총체적 경험(고속도로)
UI = 서비스에 직접적으로 접하는 부분. 사용자가 상호작용하는 매개체. 예) 글꼴, 색, 레이아웃. 사용자가 직접 마주하게 될 시각적인 요소(해안도로)
인라인 스타일(태그안에) / 내부스타일(HTML안에 CSS사용, 문서하나로 스타일 시트까지 관리 가능) / 외부스타일(CSS 파일 따로 분리)
부트스트랩(bootstrap) = 2011년 깃허브에 오픈소스로 공개된 HTML, CSS, JS 프레임워크. 웹페이지를 쉽게 만들 수 있도록 도와주는 도구
JS특징
1. 상속과 클래스 개념이 없는 객체 기반의 언어이다.
2. 인터프리터 언어로 브라우저에 의해 해석 가능하다.
3. HTML문서 안에 기술 가능하고 함께 수행한다.
4. 클라이언트 자원을 활용할 수 있도록 한다.
Node.js
-> 크롬의 자바스크립트 엔진인 V8을 이용해 한계를 뛰어넘음. 크롬에서 벗어나서 자바와 같은 서버 언어처럼 나의 데스크톱 터미널에서 사용할 수 있게 된 것.
* 장점
1. Single Thread의 non-blocking I/O 이벤트 기반 비동기 방식으로 작동한다.
2. 자바스크립트로 서버/ 클라이언트 모두 개발이 가능하다.
3. 크롬의 자바스크립트 엔진인 V8 Engine을 인터프리터로 사용한다. 따라서 빠른 실행이 가능하다.
4. NPM이라는 설치관리자를 통해 쉽게 모듈을 설치하고 관리할 수 있다.
스크립트 언어 = 소스코드를 컴파일하지 않고도 실행할 수 있는 프로그래밍 언어
- 번역기에 의해 즉시 번역되어 바로 실행할 수 있다.
- 소스 코드를 실행하기 위해 웹서버를 거치는 방식을 서버 사이드 스크립트(대표적인 언어 : ASP, PHP, JSP, PYTHON, PERL, RUBY)
- 내장된 번역기에 의해 서버를 거치지 않고 사용자 쪽에서 처리되는 스크립트를 클라이언트 사이드 스크립트(대표적인 언어 : JavaScript, VBScript, JScript)
데이터베이스 종류
1. 관계형 데이터베이스 = 열과 행이 있는 테이블 집합으로 구성. 정형 데이터에 액세스하는 가장 효율적이고 유연한 방법을 제공한다. 데이터베이스에 삽입되는 모든 데이터의 구성 방식을 정의해야 한다.
2. 객체 지향 데이터베이스 = 객체로 표현
3. 분산 데이터베이스 = 서로 다른 사이트에 위치한 둘 이상의 파일로 구성된다. 데이터베이스는 물리적으로 동일한 위치에 있는 여러 컴퓨터에 저장되거나 다른 네트워크에 분산될 수 있다.
4. 데이터 웨어 하우스 = 데이터 중앙 저장소의 역할, 빠른 쿼리 및 분석을 위해 특별히 설계된 DB유형
5. NoSQL 데이터베이스(비관계형 데이터베이스) = 비정형 및 반정형 데이터를 저장하고 조작할 수 있다.
6. 그래프 데이터베이스 = 엔티티와 엔티티 간의 관계 측면에서 데이터를 저장한다.
서버 종류
1. 애플리케이션 서버 = 사용자가 원격으로 액세스할 수 있는 애플리케이션을 호스팅하거나 배포하는 서버. 애플리케이션 서버에 웹 페이지를 배치할 수 있다.
2. 웹 서버 = 웹 페이지만 배포할 수 있고 애플리케이션을 배포하거나 호스팅할 수 없다. Apache는 웹 서버이며, Apache Tomcat은 애플리케이션 서버이다.
3. 프록시 서버 = 클라이언트와 서버의 중간에 위치하는 서버. 클라이언트의 요청에 따라 각 서버에 맞게 라우팅을 해주거나, 정보 등을 추가해서 서버 혹은 클라이언트에 데이터를 추가, 삭제하면 전달해주는 서버.
4. 메일 서버 = 전자메일을 수락하고 원하는 수신자에게 전자메일을 발송해주는 서버.
5. 데이터베이스 서버 = 사용자 정보에 대한 정보를 담고 있는 서버. 사용자가 데이터베이스에 연결할 수 있도록 해준다. 대표적으로 MySQL, MongoDB, Oracle이 있다.
JSON = 키와 값이 쌍으로 이루어진 방식으로 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷. 경량화된 데이터 교환 방식. 단지 데이터를 표현하는 포맷이며, 통신방법X, 프로그래밍 문법X. 정보를 전달하는 방법이다.
- XML보다 JSON을 읽는 것이 트래픽이나 성능 면에서 훨씬 더 좋은 선택이다.
JSON | XML | |
공통점 | - 데이터를 저장하고 전달하기 위해 고안되었다. - 기계뿐만 아니라 사람도 쉽게 읽을 수 있다. - 계층적인 데이터 구조를 가진다. - 다양한 프로그래밍 언어에서 읽을 수 있다. |
|
차이점 | - JSON은 종료 태그를 사용하지 않는다. - JSON의 구문이 XML의 구문보다 간결하고 짧다. - JSON이 XML보다 더 빨리 읽고 쓸 수 있다. - JSON은 XML과 달리 배열을 사용할 수 있다. |
출처) 고코더. (2022). 오늘부터 IT를 시작합니다. 한빛미디어
'Reading' 카테고리의 다른 글
오늘부터 IT를 시작합니다 3 (0) | 2023.03.08 |
---|---|
오늘부터 IT를 시작합니다 2 (0) | 2023.03.01 |