반응형

Network 19

네이버 클라우드 서비스

네이버 클라우드 플랫폼 소개네이버 서비스를 운영하면서 축적된 기술로 2012년 자체적으로 구축2017년 퍼블릭 클라우드 상품 출시, 매년 새로운 서비스 개발 및 업데이트현재 200여개가 넘는 다양한 서비스와 데이터 '각'이라는 자체 데이터 센터를 가지고 있음VPC(Virtual Private Cloud)논리적으로 격리된 네트워크를 제공하며, 다른 사용자의 네트워크와 간섭 없이 클라우드 상에서 안전하고 투명한 IT 인프라 환경을 구현할 수 있다.고객 계정마다 최대 3개를 생성할 수 있으며, 서브넷, IP 주소 범위, 네트워크 게이트웨이, 라우팅 테이블 등을 사용하여 완벽하게 제어할 수 있다.서브넷을 이용 네트워크의 용도별 세분화, 맞춤형 네트워크 환경을 구성Access Control Group(ACG)과 ..

Network 2024.10.21

Node.js의 아키텍처

Node.js의 아키텍처는 이벤트 기반, 논블로킹 I/O, 그리고 싱글 스레드를 사용하는 V8 JavaScript 엔진을 기반으로 설계되었습니다. 이를 통해 Node.js는 대규모 동시성을 효율적으로 처리할 수 있습니다. 이러한 아키텍처는 서버 측에서 고성능을 발휘하며 특히 많은 요청을 처리해야 하는 네트워크 애플리케이션에 적합합니다.Node.js 아키텍처의 주요 구성 요소싱글 스레드 이벤트 루프 (Single-threaded Event Loop)Node.js는 단일 스레드를 사용하여 모든 작업을 처리합니다. 하지만, 이 단일 스레드는 많은 요청을 논블로킹 방식으로 처리할 수 있도록 설계되어 효율성을 극대화합니다.Node.js에서 들어오는 요청들은 이벤트 큐에 쌓이고, 이벤트 루프가 이 큐를 순회하면서 ..

Network 2024.10.14

자바스크립트에서 비동기 처리

콜백(callback)요청이 끝난 후, 실행할 함수를 매개변수로 추가하는 방식프로미스(promise)promise 객체를 반환하는 방식(이행, 거절, 대기)이 코드는 미래의 어느 시점에 실행할 것이다라고 약속하는 객체.어싱크 어웨이트(async await)promise 객체를 더욱 간단하게 async await 구문으로 변경한 문법(가독성)동기(Synchronous)프로그래밍에서 먼저 시작된 하나의 작업이 끝날 때까지 다른 작업을 새로 시작하지 않고, 기다렸다가 기존의 작업이 다 끝나면 새로운 작업을 시작하는 방식.작업이 직렬로 배치되어 실행되며, 작업 실행의 순서가 확실히 정해져 있음.비동기(Asynchronous)먼저 시작되었던 작업의 완료 여부와는 상관없이 새로운 작업을 시작하는 방식.작업이 병렬로..

Network 2024.10.08

간단한 용어 정리

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

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
반응형