Semantic HTML 웹 표준에서는 HTML을 시멘틱(semantic)하게 작성하는 것의 중요성을 강조한다. 그렇다면 시멘틱 HTML이 어떤 의미일까? 시멘틱 HTML은 영단어인 semantic과 HTML의 합성어이고, 각 단어의 의미는 다음과 같다. semantic: 의미의, 의미가 있는 이라는 뜻의 영단어 HTML: 화면의 구조를 만드는 마크업 언어 시멘틱 HTML의 필요성 개발자 간 소통 검색 효율성 웹 접근성 자주 사용되는 시멘틱 요소의 종류 페이지나 요소의 최상단에 위치하는 머리말 역할의 요소 메뉴, 목차 등에 사용되는 요소 문서와 연관은 있지만, 직접적인 연관은 없는 내용을 담는 요소 이름 그대로 문서의 메인이 되는 주요 콘텐츠를 담는 요소 게시글, 뉴스 기사 등 독립적으로 구분해 재사용할..

OSI 7 계층은 국제표준화기구(ISO)에서 개발한 모델로서, 네트워크 프로토콜 디자인과 통신 과정을 7개의 계층으로 구분하여 만든 표준구격이다. 초창기의 네트워크는 각 컴퓨터마다 시스템이 달랐기 때문에 하드웨어와 소프트웨어의 논리적인 변경 없이 통신할 수 있는 표준 모델이 나타나게 되었다. 통신이 일어나는 과정을 7단계로 크게 구분하여 단계별로 파악이 가능 컴퓨팅 장치나 네트워킹 장치를 만들 때 이 모델을 참조해서 모든 통신 장치를 만듬 네트워크 구성 요소를 표준화함으로 서로 다른 통신 장치와의 상호 호환 가능 각 계층은 독립적인 모듈로 구성되어 있음 이상이 생기면 해당 단계만 고쳐서 해결 가능 각 계층은 상하 계급 구조를 가지고 있음 물리 계층: 하드웨어 / 데이터링크 계층: 하드웨어 + 소프트웨어 ..

트리의 개념 트리는 노드로 이루어진 자료 구조 트리는 하나의 루트 노드를 갖는다 루트 노드는 0개 이상의 자식 노드를 갖는다 그 자식 노드 또한 0개 이상의 자식 노드를 갖고, 이는 반복적으로 정의된다 노드들과 노드들을 연결하는 간선(edge)들로 구성되어있다 트리에는 사이클(cycle)이 존재할 수 없다 노드들은 특정 순서로 나열될 수도 있고 아닐수도 있다 각 노드는 부모 노드로의 연결이 있을 수도 있고 없을 수도 있다 각 노드는 어떤 자료형으로도 표현 가능하다 let Node = function (value) { this.value = value; this.children = []; }; 루트 노드(root node) 부모가 없는 노드, 트리는 하나의 루트 노드만을 가진다 단말 노드(leaf node..

OSI 7 계층을 설명해 주세요. OSI 7 계층은 통신이 일어나는 과정을 7단계로 정의한 국제 통신 표준 규약이다. 각 계층은 물리, 데이터 링크, 네트워크, 전송, 세션, 표현, 응용 계층으로 구성되어 있다. 물리 계층의 통신단위는 비트로, 0과 1로 구성된 데이터를 선으로 전달할 수 있도록 전기적인 신호로 변환시켜 주는 역할을 합니다. 대표적인 장치로 통신 케이블, 리피터, 허브 등이 있다. 데이터 링크 계층은 같은 LAN안의 연결된 컴퓨터들끼리 MAC (Media Access Control Address) 주소로 통신이 가능하게 해 줍니다. 데이터 전송은 Point-To-Point의 신뢰성을 보장하고, 전송되는 단위를 프레임이라 한다. 이더넷, 투 포인트 프로토콜, 근거리 네트워크 프로토콜 등이 ..

선택정렬 (Selection sort) 주어진 자료들 중에 현재 위치에 맞는 자료를 찾아 선택하여 위치를 교환하는 알고리즘. 한번 순회를 돌게 되면알고리즘 상 전체 자료 중 가장 작은 값의 자료가 0번째 인덱스에 위치하게 되므로, 그다음 순회부터는 1번 인덱스부터 순회를 돌며 반복하면 된다. 0번 인덱스 ~ n번 인덱스 중 가장 작은 값을 찾아 0번째 인덱스와 스왑 1번 인덱스 ~ n번 인덱스 중 가장 작은 값을 찾아 1번째 인덱스와 스왑 ... n-1번 인덱스 ~ n번 인덱스 중 가장 작은 값을 찾아 n번째 인덱스와 스왑 선택정렬은 현재 자료가 정렬이 되어있건 말건 무조건 전체 리스트를 순회, 검사하기 때문에 최선의 경우든 최악의 경우든 한결같이 O(n^2)의 시간복잡도를 가지고 있다. function..

시간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 수행 시간 분석 공간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 메모리 사용량 분석 시간 복잡도 시간 복잡도는 특정 알고리즘이 어떤 문제를 해결하는데 걸리는 시간을 의미한다. 작성 방법에 따라 걸리는 시간이 달라지며, 시간이 적게 걸리는 것이 좋은 소스이다. 시간 복잡도에는 빅-오 표기법이라는 개념이 나온다. 예를 들어, 동전을 던져 뒷면이 나올 확률을 얘기 할 때 운이 좋으면 1번에 뒷면이 나오지만 운이 안 좋다면 n번 만큼 동전을 던져야 하는 경우가 발생한다. 이 최악의 경우를 계산하는 방식을 빅-오(Big-O) 표기법이라 부른다. O(1) Constant Time (상수) 입력 데이터 크기에 상관없이 언제나 일정한 시간이 걸리는 알고리즘. ..