1. HTML (Hyper Text Markup Language)
웹 페이지를 만드는데 사용되는 언어로써, 저희가 보는 모든 웹 페이지는 모두 HTML로 작성되어 있습니다.
문서의 구조를 담당합니다.
2. CSS (Cascading Style Sheet)
콘텐츠와 레이아웃, 글꼴 및 시각적 요소들을 표시되는 방법을 지정합니다. 시각적으로 꾸며주는 역할입니다.
CSS의 명세는 World Wide Web 에서 관리하며, 3개의 주 레벨이 정의되어 있으며, 현재 CSS3까지 정의되어 있습니다.
CSS3이후 지속적으로 개발은 되고 있지만 아직까지 CSS4 레벨은 없습니다.
3. Backend
서버 구성, 성능 최적화, 데이터 베이스 설계 , 데이터를 어떻게 저장하고, 관리할 것이고, 데이터 처리 시간은 어떻게 줄일 것인지, 사용자 풀이 늘어났을 때에는 어떻게 대처해야할 것인지 또한 지속적으로 서버를 개발하고 ,관리하는 기술을 담당합니다. 자바, 파이썬 , 자바스크립트(프론트, 백 둘 다 가능) 등이 있습니다.
4. Frontend
웹 페이지의 레이아웃 , 메뉴, 디자인, 요소, 버튼, 이미지 및 그래프와 같이 사용자가 직접 상호작용하는 쪽을 말합니다. 즉 프론트엔드는 사용자가 1차적으로 웹 페이지를 열자마자 보는 인터페이스 이기 때문에 보기 편해야하고, 직관적이어야합니다. 사용자 경험을 핵심 가치로 삼아 직관적이고, 사용하기 쉬운 UI를 구축해야합니다.
프론트엔드 개발에서 주로 사용하는 Framework들은 Angular ,react ,vue.js , Next.js등이 있습니다.
5. DataBase
데이터의 저장소
DBMS - 데이터베이스를 운영하고 관리하는 SoftWare ex) MySql, Oracle, PostgreSQL, MariaDB 등이 있습니다.
6. SQL
Structure Query Language(구조적 쿼리 언어)로써 RDB(관계형 데이터베이스)에 정보를 처리하기 위한 용도로 사용되는 언어입니다.
7.Bug
소프트웨어 작동에서 발생하는 오류의 표현이며, 프로그래머에 의한 오류입니다.
NULL Pointer를 호출하거나 , Array배열에서 overflow발생하거나, 할당된 메모리를 지우지 않은 경우(메모리 누출) 등
8. Error
버그와 달리 , Application 클라이언트 사용자에 의해 발생합니다. 예를 들어 웹 페이지에서 숫자만 입력해야하는 칸에, 이상한 문자열을 입력한다던가하는 경우가 있을 수 있겠죠.. 프로그래머는 이러한 경우를 대비해서 적절한 예비처리를 해야합니다.
9. Client & Server
Client 클라이언트 - 서버에서 받은 서비스를 사용하는 사용자 - 크게 장치 또는 프로그램이 될 수 있습니다.
장치라 함은 최종 사용자가 웹에 접속하기 위해 이용하는 물리적인 시스템이 되는 것으로 스마트폰, pc, 노트북, 태블릿이 됩니다.
프로그램이라 함은 사용자가 웹을 통해 필요한 서비스를 요청할 수 있도록 해주는 프로그램으로써 웹 브라우저가 있다.
Server 서버 - 일반적으로 클라이언트에게 요청에 대해 응답해주는 시스템
우리가 웹 브라우저에 www.naver.com 이라는 url을 입력하고 엔터를 치면, 그 url에 해당하는 웹 서버로 요청이 가게 되고,
요청을 받은 웹 서버가 해당 요청을 확인한 후에 데이터베이스에서 www.naver.com 이라는 도메인을 가진 웹 사이트를 찾아 클라이언트에게 제공하여 웹 브라우저에 클라이언트가 요청한 페이지가 보여지게 됩니다.
10. API(Application Programming interface)
워낙 정의에 따라서 설명이 복잡해질 수도 , 간단해질 수도 있습니다만 클라이언트와 서버 사이에서 데이터 전송 통신을 위한 규칙이나 ,룰, 방법이라고 생각하시면 될 듯 합니다.
웹 API - 일반적으로 HTTP프로토콜을 사용하여 데이터를 전송합니다.
웹 API는 Restful api , soap api등 다양한 형태가 있으며, 이러한 api를 사용하여 데이터를 Select, update, insert 할 수 있습니다.
11. Exception
Exception(예외)란 프로그램 실행 중 발생하는 이벤트로 프로그램의 정상적인 흐름을 방해하는 것입니다.
예외는 객체이기 때문에 , 오류가 발생하는 당시의 프로그램 상태와 오류정보를 포함하고 있습니다.
예외 처리는 매우 중요합니다. 예외가 발생했다고 해서, Application이 종료가 되면 안될 경우 종료되지 않도록, 정상실행 상태로 유지시켜야할 것이고, 또는 바로 종료시키도록 처리할 수도 있습니다.
자바에서 예외가 발생되는 순서
컴파일
→ 실행
→ 실행중 예외 발생
→ VM이 발생한 예외의 종류 및 내용을 파악한 뒤 예외 객체 생성
→ 발생된 코드 밖으로 예외 던지기(throw)
→ 예외의 콜 스택에 전이
→ main메소드 밖까지 던지게 되면 프로그램 비정상 종료
12. Library
Library - for 특정 작업(Specific Tasks), 특정 기능(Specific Function)를 위한 Pre-Written Code Collection
미리 지식/ 기능을 모아둔 집합소(도서관)에서 필요할 때마다 작성된 코드를 빼와서, 재사용할 수 있도록 하는 Class, Function
13. Framework
프로그램의 기본 구조입니다.
프레임워크는 개발자가 원하는 기능 구현에만 집중하면 빠른 속도, 편의성에 치중하여 개발을 할 수 있도록
기본적으로 이미 필요한 기능을 갖추고 있는 구조를 말합니다.
많은 분들이 프레임워크와 라이브러리를 헷갈리시는 분들이 꽤 있는데 둘은 명확히 다릅니다.
Framework - 소프트웨어 개발을 위해 미리 작성되어진 코드의 집합 세트 (Pre-Written Code Set)
Library - for 특정 작업(Specific Tasks), 특정 기능(Specific Function)를 위한 Pre-Written Code Collection
14. Compile
인간이 이해할 수 있는 언어로 작성의 소스코드를 CPU가 이해할 수 있는 언어(저수준 언어 : 기계어)로 번역하는 작업.
15. Interpreter
코드 전체를 읽어서 , 기계어로 번역하는 컴파일러와는 대조적으로 코드 한줄 한줄 읽어 내려가며 실행하는 방식입니다.
따라서 실행 속도는 컴파일러보다 느립니다.
대표적인 예시로는 파이썬,자바스크립트가 있습니다.
인터프리터 언어의 특징 3가지
1. 줄 단위로 변역과 실행을 하기에 실행 속도가 느립니다.
2. 디버깅이 쉽습니다.(오류를 발견하면, 해당 코드 밑으로는 번역 및 실행이 불가능하기 때문이죠)
3. 운영체제 이식성이 좋습니다. (OS마다 호환되는 인터프리터만 있다면 바로 실행이 가능합니다.)
16. JSON
JavaScript Object Notation
일반적으로 서버에서 클라이언트로 데이터를 보낼 때 사용하는 양식으로써 한국에서는 '제이슨'으로 읽습니다.
웹 초창기 부터 사용된 xml이 헤더와 태그 등의 여러 요소로 가독성이 떨어지고, 쓸데없이 용량을 많이 잡아먹는 단점이 있어서, 이에 대응해 간결하고 통일된 양식으로 현재 많이 쓰이고 있는 데이터 양식입니다.
기본적으로 아래와 같은 구조를 가지고 있습니다.
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
17. JavaScript
매우 범용적인 프로그래밍 언어로써 스크립트 언에 해당합니다. 오늘날 html & css와 더불어 함께 웹을 구성하는 요소 중 하나입니다.
html - 웹 페이지의 기본 구조
css - 디자인
javaScript - 클라이언트 단의 웹 페이지가 동작하는 부분 담당
'Programming Knowledge > WEB Knowledge' 카테고리의 다른 글
2024 프론트엔드 커리어 전문성 트랙 - 웹 특화, 제품 특화 , 운영 특화 (0) | 2024.11.25 |
---|---|
CORS(Cross Origin Resource Sharing) (0) | 2024.11.04 |
[Web Knowloege] Local Storage와 Sesstion Storage의 차이 (0) | 2024.09.17 |
[Dom과 Dom Tree] Dom, Dom Tree, Dom 접근 및 제어 (0) | 2024.07.31 |
웹 개발자가 신경써야할 SEO(Search engine optimization) (0) | 2024.07.13 |