반응형

전체 글 94

stateful과 stateless란? 해당 프로토콜은?

stateful과 stateless 이 두 용어는 시스템이 사용자의 정보나 상태를 얼마나 기억하는 지를 나타냅니다. stateless - 레스토랑에서 매번 주문할 때마다 메뉴를 다시 보고 주문하는 경우 stateful - 레스토랑의 단골 고객이 주문하는 경우. 평소 주문 내역을 알고 있는 서버가 '항상 먹던 것과 같이 할까요?'라고 물어보는 경우 stateless 시스템은 각각의 작업이 독립적이므로 빠르고 단순합니다. 반면, stateful시스템은 사용자의 상태나 이전 작업을 기억하기 때문에 더 복잡한 작업을 수행할 수 있습니다. Stateless(상태 없음) - HTTP프로토콜, UDP프로토콜 각 요청이나 작업이 독립적입니다. 이전의 요청이나 작업에 대한 정보를 유지하지 않습니다. 장점: 상태를 유지하..

네트워크 2023.09.13

github api 사용해보기, mjs 파일이란?

github api를 사용해서 제 계정과 관련된 정보를 불러오는 fetch함수를 구현해봤습니다.☺️☺️ import fetch from 'cross-fetch'; const MY_GITHUB_URL = 'https://api.github.com/users'; // 사용자 이름을 받는 비동기 함수 getUsers(name) const getUsers = async (name) => { await fetch(`${MY_GITHUB_URL}/${name}`) .then((response) => response.json()) .then((result) => { console.log(result); }); }; getUsers('syoungee'); getUserInfo.mjs 로 파일명을 지정해주고 node g..

JavaScript 2023.09.13

Directus API createItem, readItems 사용 중에 데이터 가져와지지 않은 경우, HTTP/HTTPS 설정 잘 보기, 두 프로토콜의 응답이 다른 이유?

HTTP와 HTTPS 프로토콜은 웹 통신에 사용되는데, 이 두 프로토콜 사이에는 몇 가지 중요한 차이점이 있습니다. 이 차이점들 때문에 API를 호출할 때 도메인은 같더라도 프로토콜이 다르면 응답의 유무나 특성이 달라질 수 있습니다. 보안 1. HTTPS는 암호화를 사용합니다.: HTTPS는 SSL/TLS 암호화를 사용하여 데이터를 암호화하므로, 중간자 공격(man-in-the-middle attack)이나 데이터 유출의 위험이 줄어듭니다. 2. HTTP는 암호화되지 않습니다.: HTTP 통신은 평문(plain text)으로 이루어지기 때문에, 누군가 네트워크를 모니터링하고 있다면 데이터를 쉽게 엿볼 수 있습니다. CORS (Cross-Origin Resource Sharing) 1. 프로토콜도 출처에 ..

카테고리 없음 2023.09.11

OSI Model

OSI model은 개발자에게 매우매우 중요한 개념입니다. 네트워크에 표준이 있어야하는데 OSI model이 이 표준을 잡아줍니다. OSI model은 Open System Interconnections model의 약자입니다. 왜 우리는 커뮤니케이션 모델이 필요한걸까요? Agnostic applications(특정 기술, 플랫폼, 데이터베이스 등에 종속되지 않는 응용 프로그램을 의미합니다. 다양한 환경이나 시스템에서 운영될 수 있으며, 특정 하드웨어나 소프트웨어에 구애받지 않습니다. - 표준 모델이 없는 경우 응용 프로그램은 기본 네트워크 매체에 대한 지식이 있어야 합니다. - 와이파이 vs 이더넷 vs LTE vs 광케이블에서 작동하도록 앱의 다른 버전을 만들어야된다고 상상해보세요. 네트워크 장비 관..

네트워크 2023.09.06

Directus란? Headless CMS?

Directus는 "Headless CMS"(Headless Content Management System) 중 하나로, 개발자와 콘텐츠 제작자가 웹사이트, 앱, 또는 다른 플랫폼에서 콘텐츠를 관리하고 배포할 수 있도록 도와주는 소프트웨어입니다. "Headless"라는 표현은 Directus가 프론트엔드(즉, 사용자 인터페이스)를 갖고 있지 않는다는 것을 의미합니다. 이로 인해 개발자는 자유롭게 원하는 프론트엔드 프레임워크나 라이브러리를 선택하여 사용할 수 있습니다. 주요 기능 API 제공: Directus는 RESTful API와 GraphQL API를 제공하여, 개발자가 쉽게 다른 시스템과 연결할 수 있게 해줍니다. 다양한 데이터베이스 지원: MySQL, PostgreSQL 등 다양한 데이터베이스를 ..

웹 개발 2023.08.22

로드밸런서(Load Balancer)란?

로드 밸런서 로드 밸런서의 역할? 트래픽 분산: 로드 밸런서는 들어오는 네트워크 트래픽을 여러 대상 서버들 사이에 균형있게 분배합니다. 이를 통해 서버들의 부하를 고르게 분산시키고, 모든 서버의 성능을 최대한 활용할 수 있습니다. 부하 분석 및 성능 모니터링: 로드 밸런서는 각 서버의 상태와 성능을 지속적으로 모니터링하여 트래픽을 어떻게 분배해야 최적의 성능을 얻을 수 있는지 결정합니다. 이를 통해 가장 적절한 서버에 요청을 보내고 장애 서버를 우회하는 등 안정적인 서비스를 제공합니다. 고가용성과 장애 극복: 로드 밸런서를 통해 여러 대상 서버를 사용하면, 만약 하나의 서버에 장애가 발생하더라도 다른 정상적인 서버들이 트래픽을 처리할 수 있어 서비스의 중단을 최소화합니다. 이러한 기능으로 시스템의 가용성..

카테고리 없음 2023.07.26

NodeJS Latency(레이턴시) 해결 방법?

레이턴시(Latency)란? 레이턴시(Latency)란 시스템이나 네트워크에서 요청을 보내고 결과를 받는 데 걸리는 시간을 말합니다. 즉, 어떤 동작을 수행하기 위해 시작한 시점부터 해당 동작이 완료되어 결과를 얻을 때까지의 지연 시간을 의미합니다. 레이턴시는 일반적으로 시간의 차이로 표현되며, 초(ms), 밀리초(millisecond), 마이크로초(microsecond), 나노초(nanosecond) 등의 단위로 측정할 수 있습니다. 레이턴시는 컴퓨터 시스템의 성능과 반응성을 나타내는 중요한 지표 중 하나입니다. 레이턴시가 낮으면 요청에 대한 응답이 빠르고, 시스템이 빠른 속도로 동작하는 것으로 인식됩니다. 그러나 레이턴시가 높으면 응답이 느리고, 사용자들은 지연 현상을 더욱 강하게 느낄 수 있습니다...

카테고리 없음 2023.07.26

NodeJS Stream(스트림)이란?! 메모리 효율성과 비동기 이벤트 기반으로 동시성 활용

Node.js에서 스트림(Stream)은 데이터를 읽고 쓰는 데 사용되는 추상적인 인터페이스입니다. 스트림은 크기가 큰 데이터를 조각 내어 작은 조각으로 처리하므로, 메모리 효율성과 성능을 높여줍니다. 여기서는 스트림을 사용하여 파일을 읽고 쓰는 예제를 보여드리겠습니다. 스트림을 사용하여 파일 복사하기 예제: 아래의 예제에서는 fs 모듈을 사용하여 파일을 읽고 쓰는 스트림을 생성하고, 파일을 복사하는 기능을 구현합니다. const fs = require('fs'); // 읽을 파일과 쓸 파일의 경로 const sourceFilePath = 'source.txt'; const destinationFilePath = 'destination.txt'; // 읽기 스트림 생성 const readStream = ..

카테고리 없음 2023.07.25
반응형