하이퍼 텍스트 마크업 언어(Hyper Text Markup Langauge, HTML)
HTML은 웹페이지 표시를 위해 개발된 마크업 언어이다.
제목, 단락, 목록 등과 같은 본문을 위한 구조적 의미를 나타내며,
링크, 인용 등 구조적 문서를 만들 수 있는 방법을 제공한다.
HTML은 아래와 같이 "태그"로 되어있는 HTML 요소 형태로 작성한다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title></title> </head> <body> <p> Don't Forget me</p> <a href="https://www.naver.com/"> 네이버 바로가기 </a> </body> </html>
CSS(Cascading Style Sheets)
CSS는 HTML등의 마크업 언어로 작성된 문서가 실제로 웹사이트에 표현되는 방법을 정해주는 스타일 시트 언어이다.
즉, 웹페이지를 꾸미려고 작성하는 코드이다.
아래와 같이 HTML문서에 있는 요소들에 선택적으로 스타일을 적용할 수 있다.
p{ color: white; } a{ text-decoration: none; }
정의
Back-End는 클라이언트와 직접 대면하지 않고, Front-End 프로그램과 연동하여 기술적인 기능을 한다.
즉, UI없이 프로세스 형태로만 존재하며,
데이터 베이스의 설계와 비즈니스 로직의 구현을 한다.
역할
Back-End는 서버구성, 성능 최적화, 데이터 베이스 설계 등 다양한 기술을 수행한다.
데이터를 어떻게 저장하고 관리할 것인지, 데이터 처리 시간은 어떻게 줄일 것인지,
사용자의 수가 늘어났을 때에는 어떻게 대처해야할 것인지를 끊임 없이 고민하고
지속적으로 서버를 개발하고 관리하는 기술을 담당한다.
주요기술 & 도구
Java, Python, .Net 등
정의
Front-end는 사용자가 웹 페이지를 열었을 때 볼 수 있는 화면을 만드는 작업이다.
웹페이지의 레이아웃, 메뉴, 디자인 요소, 버튼, 이미지 및 그래프와 같이 사용자가 직접 상호작용할 수 있는 사용자 인터페이스이다.
역할
사용자가 1차적으로 보는 인터페이스이기 때문에
사용자의 경험을(UX)를 핵심 가치로 삼아 직관적이고 사용하기 쉬운 (UI)를 구축해야한다.
주요기술 & 도구
앵귤러(Angular), 리액트(React), 뷰(Vue.js) 등
정의
여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합이다.
자료항목의 중복을 없애고 자료를 구조화하여 저장함으로써 자료 검색과 갱신의 효율을 높인다.
장점
데이터 공유, 데이터 중복 최소화, 최신의 데이터 유지, 보안성, 무결성, 일관성 유지, 데이터의 논리적, 물리적 독립성, 데이터의 표준화 가능, 데이터 저장 공간 절약, 용이한 데이터 접근
단점
많은 비용 부담, 데이터베이스 전문가 필요, 복잡한 시스템, 백업 및 복구의 어려움, 대용량 디스크로 집중되면 과부하 발생 등
SQL (Structured Query Language)
구조화된 질의 언어이다.
프로그램 상의 결함에 의해 컴퓨터 오류나 오작동이 일어나는 현상을 버그라고 한다.
ex) 메모리 할당과 반환 또는 오버플로 등으로 인한, 구현상의 실수나 착각, 헛손질에 따른 오작동도 포함된다.
컴퓨터 프로그램의 실행 자체에 실패하는 오류와는 다른 개념이다.
즉 프로그래머에 의한 에러이다.
버그와 달리 일반적으로 사용자에 의해서 발생한다.
예를 들어 사용자가 주민번호를 입력하는 란에 이상한 문자열을 입력하는 경우,
프로그래머가 이러한 경우를 대비하여 적절한 예외 처리를 하지 않았다면 에러가 발생한다.
클라이언트는 사용자 자신을 지칭할 수도 있고, 사용자의 컴퓨터를 가리키기도 하며,
컴퓨터에서 동작하고 있는 프로그램이 될 수 있다.
Application Programming Interface(API) 응용 프로그래밍 인터페이스

예외 처리 또는 오류 처리는 실행 흐름상 오류가 발생했을 때 오류를 그대로 실행시키지 않고
오류에 대응하는 방법을 제시하는 개념이나 하드웨어 구조를 의미한다.
일반적으로 프로그램이 처리되는 동안 특정한 문제가 일어났을 때 처리를 중단하고 다른 처리를 하는 것을 예외처리라고 한다.
컴퓨터 프로그램에서 자주 사용되는 부분 프로그램들을 모아 놓은 것이다.
언제든지 자유롭게 이용할 수 있도록 구성되어 있다.
목적에 필요한 것을 고민할 필요 없이 이용할 수 있도록 "일괄로 가져다 쓰도록 만들어 놓은 구조화된 틀"이다.
사전적 정의
FRAME(틀, 규칙) + WORK(일, 소프트웨어의 목적)
어떠한 개발이나 소프트웨어든 일종의 규칙이 있고 그 규칙을 정하는 일
프레임워크의 종류
고급언어로 작성된 프로그램을 기계어(컴퓨터가 이해할 수 있는 언어)로 번역하는 것을 컴파일이라고 한다.
컴푸터의 언어 처리 프로그램에 있어서 그 언어로 쓰여진 프로그램을 각 문장마다 차례로 해석하고 실행하는 것
이런 종류의 언어를 인터프리터 또는 번역프로그램이라고 한다.
인터프리터 장점: 컴파일러 시간이 없기 때문에 프로그램의 디버그에 극히 유용하고 짧은 프로그램이라면 처리 속도도 충분하다.
인터프리터 단점: 각 문장마다 해석하고 실행도 하므로 처리 속도는 늦고 컴파일러를 행한 뒤에 실행하는것과 비교하면 수십 배의 처리 속도에 차이가 생긴다.
JavaScript Object Notation(JSON)
웹과 컴퓨터 프로그램에서 용량이 적은 데이터를 교환하기 위해 데이터 객체를 속성 - 값의 쌍 형태로 표현하는 형식(경량의 DATA 교환 형식)
ex)
{ "name": "paul", "age": 27, "address": { "Address": "11Ro Seoul Korea"}, "phone": [ { "type": "home", "number": "02-000-0000" }, { "type": "cellphone", "number": "010-0000-0000" }, ], "children": [], "spouse": null }