HTML, CSS, JS, 웹, 네트워크 19

API

API는 Application Programming Interface로 프로그램(클라이언트)과 프로그램(서버 등)이 정해진 방법으로 데이터를 주고 받는 것이다. API는 주로 서버에서 받아오는 용도로 사용되지만, 컴퓨터 내부에서도 사용될 수 있다. (예 macOS의 metal API 등)이 부분을 실습하기 위해 data.go.kr에서 js로 api로 데이터를 가져와 보겠다. 우선 사용할 api와 개인 토큰을 발급받는다.그 다음 js로 다음과 같은 형태로 전송하면 된다.var serviceKey, returnType, numOfRows, pageNo, year, itemCode, url;serviceKey = '';returnType = 'json';numOfRows = '100';pageNo = '1';..

JSON, XML

JSON은 JavaScript Object Notation으로 자바스크립트에서 쉽게 데이터를 저장하고 전송하기 위한 형식이다. 반면에 XML은 eXtensible Markup Language로써 HTML(Hyper Text Markup Language)와 유사한 마크업 언어이다.두 가지 모두 데이터를 저장하는 용도로 주로 사용되지만, json과 xml은 사용되는 분야가 조금 다르다.json은 웹 앱에서 주로 사용되며, 굳이 자바스크립트가 아닌 다른 언어여도 쉽게 사용할 수 있을 정도로 유명하다.xml은 프로그램의 설정들을 저장하는 용도로 사용된다. (과거에는 xml이 웹 기본 포맷이였지만, json이 등장하고 한물 갔다...)json은 일반적으로 다음과 같은 형식을 가진다.{ "key" : [ ..

DNS

DNS(Domain Name System)은 도메인을 받으면 ip주소등으로 변환해주는 시스템이다. 일반적인 가정용 공유기에서는 ISP(Internet Service Provider : 통신3사)의 DNS을 사용하여 도메인에 접속하게 된다.도메인은 다음과 같은 구조로 되어 있다.루트 네임서버 : 모든 도메인 을 관리하는 서버이다.TLD(최상위 도메인) 서버 : 특정 TLD(예 : .com, .net등)을 관리하는 서버이다.도메인 서버 : 도메인(예 : google.com, naver.com등)을 관리하는 서버이다.DNS 레코드는 DNS서버가 어떤 동작을 해야하는지를 정하는 표이다.일반적으로 6가지의 레코드가 주로 사용되며, 각각의 레코드는 ip주소, 다른 도메인등을 가르킨다.레코드설명AIPv4주소를 가르킨..

라우팅

라우팅은 라우터가 데이터를 목적기까지 보내는 최적의 경로를 선택하는 과정이다. 라우팅은 라우팅 테이블로 관리되며, 라우팅은 크게 2가지로 나뉜다.정적 라우팅라우터 관리자가 직접 경로를 설정하는 방식이다. 이 방식은 동적 라우팅에 비해 다소 복잡하고, 설정하기 어렵다. 따라서 일부 기업용 네트워크를 제외한 곳에서는 동적 라우팅을 사용한다.동적 라우팅라우터가 자동으로 경로를 설정하는 방식이다. 이 방식은 정적 라우팅과 달리 설정할 필요가 없기 때문에 편리하다.참고) 기본 라우팅정적 라우팅 방법 중 하나로, 기본적으로 모든 패킷을 다른 라우터로 전송하는 방식이다.이 부분을 실습하기 위해 cisco의 packet tracer를 사용할 것이다. 라우터 2개와 PC 2를 꺼낸다.(모든 장비는 왼쪽 아래에 있고, 라..

JavaScript

자바스크립트는 웹에서 주로 사용되는 언어이며, HTML이나 Node.js등의 방법으로 사용되고 있는 언어이다. C와 매우 유사한 문법을 가지고 있지만, 파이썬처럼 수식을 처리하기에도 좋은 언어이다. 또한 매우 객체지향적인 언어이다. (이후 설명하는 자바스크립트는 HTML(브라우저 환경)에서 작동하는 문법이다)자바스크립트에서 텍스트를 콘솔로 출력할때 C의 printf나 Python의 print를 사용할 수 없다. (print는 페이지를 인쇄하는 명령이다)따라서 콘솔에 출력하기 위해 console.log를 사용해야 한다.console.log('hello world');console.log("hello world");console.log(`hello world`) //대부분의 경우 세미콜론(;)을 붙여야 하지..

DHCP

DHCP는 주로 사설 IP를 자동으로 할당해주는 역할을 하는 서버 역할을 한다.대부분의 공유기는 DHCP서버를 포함하고 있으며, 주로 할당하는 IP는 192.168.0.0대역이다.DHCP는 4단계로 구성되어 있다.1. 해당 네트워크의 DHCP서버에서 MAC주소를 보낸다.2. DHCP서버에서 서버의 MAC주소와 클라이언트(사용자) MAC주소, 그리고 사용가능한 IP주소를 보낸다.3. 클라이언트는 IP를 할당 받기 위해 서버의 MAC주소와 클라이언트의 MAC주소와 IP주소를 보낸다.4. 서버는 최종적으로 클라이언트의 MAC주소와 최종적으로 할당된 IP주소를 보낸다.나는 DHCP서버를 테스트 환경으로 구축하기 위해 Ubuntu 24.04.2 arm64이미지를 사용하고, VMware fusion을 사용해보겠다...

CSS

CSS는 HTML에서 디자인을 하기 위한 스타일 시트 언어이다. 주로 HTML내 style태그 내에서 사용되거나 link로 연결해서 사용한다.CSS에서는 속성을 적용시키는 3가지 방법이 있다.태그로 지정하는 방법Tag { key:value;}이후 다른 작업 없이 해당 태그에 이 속성이 붙게 된다.클래스를 사용하는 방법.Class { key:value;}이후 사용시 class속성으로 지정하여 불러올 수 있다. id 선택자와 달리 재사용이 가능하며, div태그와 주로 사용된다.ID를 사용하는 방법#Id { key:value;}이후 사용시 id속성이로 지정하여 불러올 수 있다. class 선택자와 달리 재사용이 불가능하며, id를 지정하는 대부분의 태그에서 사용된다.CSS에서는 특정 상태에 있는 ..

네트워크

네트워크는 여러 대의 컴퓨터가 서로 연결되어 정보를 주고 받는 시스템이다. 대표적인 네트워크로는 인터넷이 있다.네트워크에는 4가지 종류가 있다.PAN(Personal Area Network) : 개인 영역의 내트워크이다. 예) 블루투스나 와이파이로 자신의 기기 내에서 통신LAN(Local Area Network) : 근거리 네트워크이다. 예) 한 건물 내, 한 사무실 내에서 통신MAN(Metropolitan Area Network) : 도시권 네트워크이다. 예) 큰 규모의 도시 내, 대학 캠퍼스 내에서의 통신WAN(Wide Area Network) : 광역 네트워크이다. 예) 인터넷네트워크에서 서로 통신하기 위해서는 규칙이 있어야 하며, 이 규칙을 프로토콜이라고 한다.프로토콜에는 다양한 종류가 있지만, ..

HTML

HTML은 Hyper Text Markup Language로 웹에서 하이퍼텍스트를 보여주는 용도로 사용되는 파일이다. 주로 CSS와 JS(Javascript)를 같이 사용하며, 웹에 있는 모든 페이지는 이 파일을 사용해야 페이지 내용을 보여줄 수 있다.HTML은 다음과 같은 구조를 가진다. H1 !DOCTYPE은 이 파일이 html인 것을 나타낸다.안에 있는 것은 태그이며, 이 구조에서 쓰인 태그는 다음과 같다. html파일을 시작하는 기본 태그이다 H1 H2 H3 H4 H5 H6 ">H1H2H3H4H5H6이 html은 다음과 같은 코드로 이루어져 있다. H1 H..