반응형

분류 전체보기 99

간단한 용어 정리

리팩토링이란?기존의 코드의 동작은 그대로 유지하면서, 코드의 구조를 개선하는 작업을 의미.즉, 프로그램의 기능이나 동작에는 변화가 없지만, 가독성, 유지보수성, 성능 등을 개선하기 위해 코드를 더 간결하고 명확하게 만드는 과정.일급객체란?프로그래밍 언어에서 다른 객체들과 동일하게 취급할 수 있는 객체를 의미.즉, 함수나 데이터 등을 일급 객체로 다룰 수 있다는 것은, 그들이 변수에 할당되거나, 함수의 인자로 전달되거나, 반환값으로 사용될 수 있다는 것을 의미.라우터란?웹 애플리케이션에서 클라이언트의 요청을 처리하는 데 사용되는 중요한 개념.라우터는 URL 경로에 따라 해당 요청을 적절한 처리기(핸들러)로 전달하는 역할.주로 서버와 클라이언트 간의 HTTP 요청을 처리하기 위해 사용되며, 애플리케이션이 어..

Network 2024.10.08

라우팅

라우팅웹 서버 URL 경로에 따라서 다른 응답을 처리해 주는 기능웹 서버 제공라우팅 : URL 요청을 함수와 매핑시키는 기능.정적 파일 서비스템플릿 엔진요청 데이터 처리(HTTP 요청 : GET, POST, PUT, DELETE)응답 데이터 처리파일 업로드쿠키 / 세션 지원리다이렉트에러 페이지미들 웨어(요청 또는 응답 사이에 공통된 기능을 추가하는 기능)API(Application Programming Interface)프로그램에서 다른 프로그램의 기능을 사용할 수 있게 해주는 규약REST API자원을 URL에 표현하고 자원을 가져오는 행위를 HTTP 메서드로 표현하는 규칙https://restfulapi.net/ 참고소스 코드const express = require("express");const ap..

Network 2024.10.08

간단 용어 정리

데이터베이스는 검색과 축적이 쉽도록 정리된 데이터의 모음입니다. 대부분의 서버 애플리케이션은 클라이언트에서 받은 데이터를 어딘가에 저장합니다. 그것이 메모리일 수도 있고, 텍스트 파일일 수도 있고, 엑셀일 수도 있고, 특정 프로토콜을 통해 생성한 바이너리 파일일 수도 있습니다. 검색을 지원하고, 입력한 데이터 수정 및 삭제도 가능해야 하며, 수많은 읽기와 수정 삭제 요청이 동시다발로 이루어지는 상황을 생각해봅시다. 단순한 텍스트 파일로 그 모든 요구사항을 충족시키기는 어려울 겁니다. 일반적으로 현업에서 “데이터베이스”라고 말하면 데이터베이스 소프트웨어를 의미합니다. 부르는 데이터베이스 역시 데이터베이스 소프트웨어를 의미합니다. 데이터베이스는 데이터 저장 시 수많은 문제가 생길 수 있는 상황에서도 데이터를..

Spring 2024.10.08

Node 특성

이벤트 기반이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식이벤트의 예 : 클릭, 네크워크 요청, 타이머 등이벤트 리스너 : 이벤트를 등록하는 함수콜백 함수 : 이벤트가 발생했을 때 실행될 함수논블로킹I/O논블로킹 : 오래 걸리는 함수를 백그라운드로 보내서 다음 코드가 먼저 실행되게 하고, 나중에 오래 걸리는 함수를 실행.논 블로킹 방식 하에서 일부 코드는 백그라운드에서 병렬로 실행됨.일부 코드 : I/O 작업(파일 시스템 접근, 네크워크 요청), 압축, 암호화 등나머지 코드는 블로킹 방식으로 실행됨.I/O 작업이 많을 때 노드 활용성이 극대화.프로세스 vs 스레드프로세스 : 운영체제에서 할당하는 작업의 단위, 프로세스 간 자원 공유X스레드 : 프로세스 내에서 실행되는 작업의 단위, 부모 프로세스 ..

Network 2024.10.07

REST API Node란

패키지 매니저용량문제, 패키지 내려받기 속도 문제, 보안 문제애플리케이션의 의존적인 패키지를 관리(설치, 삭제, 업데이트)하는 프로그램npm, yarn빌드 도구webpack : 다양한 모듈 시스템을 지원ESBuild, Vite개발 도구VSCode웹 프레임워크front : React, Vue.js, Sveliteback : Express, NetJS프로토콜 클라우드인터넷 기반으로 제공하는 컴퓨팅 환경Laas, Paas, Saas인프라하드웨어, 소프트웨어, 네크워크 등 어플리케이션 구축에 필요한 자원을 뜻한다.형상관리프로그램git 소스코드의 버전관리, 추적 및 관리, 공동 작업을 지원하는 시스템풀 리퀘스트(PR)코드의 공동 작업 시, 소스 코드의 수정사항을 공유하기 위한 요청Node.js란?크롬 V8 자바스..

Network 2024.10.07

웹 아키텍처 분석

웹 아키텍처일반적인 웹 아키텍처는 클라이언트, 웹 서버, 데이터베이스의 형태로 되어 있다.영역 별로 프론트 엔드(Front-End)와 백 엔드(Back-End)로 나뉜다.그리고 오늘날의 웹 개발자들은 크게 프론트 엔드 개발자, 백 엔드 개발자, 이 둘을 전부하는 풀 스택 개발자로 나뉜다.웹 아키텍처 동작 원리 분석클라이언트 측에서 사용자가 웹 브라우저를 통해서 사이트 접속을 하게 된다.그러면 웹 브라우저에서는 가장 먼저 도메인에 따른 IP 변환 작업을 한다.이유는 데이터 전송을 위해서는 IP가 반드시 필요하기 때문이다.이후에 요청 메세지를 제작한다.HTTP 프로토콜은 TCP/IP 통신을 기반으로 하기 때문에 TCP 연결의 특징인 3-way hand shake 과정을 거친 후 HTTP 데이터를 전송하게 된..

Network 2024.09.08

쿠키와 세션

상태 유지 및 관리의 필요성최초의 웹은 단순히 문서를 전달 받고 정보를 공유하는 목적으로 사용되었으며, 이 경우에는 상태 유지 및 관리가 굳이 필요하지 않다.그러나 오늘날의 웹은 쇼핑몰에서 원하는 상품을 장바구니 혹은 카트에 담고 쇼핑이 완료되면 결제하고 결제가 완료되면 정상적으로 결제가 되었는지 확인을 하며, 예상 도착일을 본다.또한, 한번의 로그인을 통한 다른 페이지 접근 할 경우 나에 대한 상태 정보가 유지된다.이러한 상태 유지 및 관리와 사용자 인증 수단을 위해서라면 쿠키가 사용된다.(내가 만든 쿠키🍪~~ 너를 위해 구웠지!🍪)쿠키쿠키를 통해 사용자 식별 및 세션 유지를 통해 클라이언트와 서번 간의 상태 관리를 한다.웹의 중요한 기술 중의 하나로 현재 가장 많이 사용되고 있는 인증 방식이다.쿠..

Network 2024.09.08

HTTP GET / POST

HTTP(Hypertext Transfer Protocol)에서 GET과 POST는 웹 서버와 클라이언트 간에 데이터를 요청하거나 전송할 때 사용하는 가장 일반적인 두 가지 메서드다. 이 둘은 목적과 동작 방식에서 중요한 차이점이 있으며, 각각의 사용 사례에 따라 적절히 선택해야 한다. HTTP GETGET 메서드는 클라이언트가 서버로부터 데이터를 요청할 때 사용된다. 서버는 요청에 응답하여 요청된 데이터를 반환하며, GET 요청은 주로 읽기 작업을 수행하는 데 사용된다.특징데이터 전송 방식 : GET 요청에서는 요청 데이터를 URL의 쿼리 문자열에 포함하여 서버에 전송한다. 쿼리 문자열은 ? 뒤에 key-value 쌍으로 이루어지며, 여러 개의 매개변수를 &로 연결한다.EX) https://exampl..

Network 2024.09.08

웹의 핵심 기술 HTTP 프로토콜

개념팀 버너스 리 박사에 의해 개발된 HTTP(Hypertext Transfer Protocol)는 하이퍼텍스트 문서를 전송하기 위해 사용되는 프로토콜통신 규약으로 웹의 핵심 기술여기서 말하는 하이퍼 텍스트 문서는 HTML파일버전HTTP/0.9최초로 웹이 만들어 졌을 때 오직 HTML을 받아 오기 위해 만들어 졌다.그리하여 버전 번호도 없고 명세서도 없으며, 정식 사양이 아니었다.이후 HTTP/1.0부터 정식 사양으로 되면서 이전이란 의미로 HTTP/0.9라는 버전이 붙여졌다.HTTP/0.9은 GET 메서드만 지원하며, 특별한 기능은 없다.HTTP/0.9에서 HTTP/1.0로 빠르게 대체되었다.HTTP/1.0HTTP의 정식 사양으로 처음으로 널리 사용하기 시작한 버전으로 RFC1945가 발행되었다.HTT..

Network 2024.09.08

자원을 지정하는 URL

개념URL(Uniform Resource Locator)통합 자원 지시자로 인터넷의 리소를 가리키는 표준 명칭으로 서버의 자원을 요청할 때 사용된다.인터넷 상읠 모든 리소를 요청할 수 있으며, 우리가 흔히 알고 있는 HTTP 뿐만 아니라 FTP, SMTP 관련된 자원 요청도 가능하다.동작 원리먼저 이렇게 클라이언트 측에서 url 요청을 하게 된다.웹 서버 측에서는 파일 입출력을 통해 파일을 입력 받게 된다.파일 입력을 이용해서 실제 서버 내의 파일 시스템에 있는 웹 루트 하위의 자원을 불러낸다.불러낸 자원을 웹 서버의 응답 로직에 따라 처리한다.자원을 부른 다음에 실제 바디값 응답 메세지를 작성한 다음에 이 바디에 자원을 실어서 클라이언트 측으로 전송하게 된다.URL 구조 분석http://www.zoo..

Network 2024.09.07
반응형