전체 글
-
CDN이란?카테고리 없음 2024. 5. 9. 09:53
CDN이란CDN이란 (Content Delivery Network)약자로 콘텐츠배포네트워크라고도 불린다.CDN은 지리적, 물리적 거리의 제약이 없이 전 세계 사용자에세 빠른속도와 안전하게 콘텐츠를 제공할 수 있는배포 기술을 말한다. 클라이언트가 웹페이지나 이미지, 동영상 등이 컨텐츠를 서버에게 요청하면 사용자에게 전송을 해주는데 이때지리적, 물리적으로 사용자와 서버의 거리가 멀다면 빠르게 전송하지 못한다. 예를들어 한국에 있는 사이트를 외국사람들이 접속한다고 가정하자.한국에 있는 사이트를 한국 사용자가 접속하면 속도가 빠르겠지만 외국에서 접속한 사람들은 지리적으로한국과 멀기 때문에 그만큼 느린속도를 느끼게 된다. 사용자 입장에서는 느린속도를 느끼고 세계각지에서 접속하면 서버가 과부하 될수도 있다.그걸 해..
-
[JS] 패키지 매니저란?카테고리 없음 2024. 5. 2. 11:24
패키지 매니저란?자바스크립트 패키지 매니저는 자바스크립트 프로젝으에서 사용되는 의존성관리 도구이다.프로젝트에 필요한 외부 라이브러리, 모듈등을 손쉽게 설치하고 관리하는 역할을 한다. 자바스크립트 패키지 매니저의 주요기능은 아래와 같다.패키지 설치패키지 매니저를 사용하여 프로젝트에 필요한 패키지를 설치할 수 있다.의존성 관리패키지 매니저는 프로젝트의 의존성을 관리한다. 패키지는 다른 패키지에 의존할 수 있으며, 패키지 매니저는 이러한 의존성을 자동으로 해결하여 필요한 패키지들을 설치한다.버전 관리패키지 매니저는 패키지의 다양한 버전을 관리한다. 이를 통해 특정 버전의 패키지를 설치하거나 업데이트 또는 정확한 버전의 패키지를 사용하도록 보장할 수 있다.스크립트 실행패키지 매니저는 프로젝트에 미리 정의된 스크..
-
GraphQL 이란 ?카테고리 없음 2024. 4. 23. 11:03
GraphQL Graph 은 API를 위한 쿼리 언어이며 타입 시스템을 사용하여 쿼리를 실행하는 서버사이드 런타임이다. 쿼리 언어(Query Language) 쿼리 언어는 정보를 얻기 위해 보내는 질의문을 만들기 위해 사용되는 컴퓨터 언어이다. 가장 잘 알려져 있는 예시로는 데이터베이스 시스템에 저장된 데이터를 가져오기 위해 사용하는 SQL이 있다. GraphQL(Graph Query Language) SQL이 데이터베이스 시스템으로부터 데이터를 가져오는 목적을 가진다면, GraphQL은 클라이언트가 데이터를 서버로부터 가져오는 것을 목적으로 한다. GraphQL vs REST 그럼 구지 REST를 써서 서버에서 데이터를 가져오면 되는데 왜 GrapQL이라는 것이 생겼을까? GraphQl과 REST의 차..
-
[JS] 콜 스택과 메모리 힙카테고리 없음 2024. 4. 15. 11:30
우리가 평소에 자바스크립트에서 선언하는 변수, 상수, 배열, 객체들은 어디에 저장될까? 콜 스택, 메모리 힙이란? 자바스크립트 엔진은 Memory Heap과 Call Stack으로 구성되어 있다. 자바 스크립트는 단일 스레드 언어로 Call Stack도 하나이다. 즉 하나씩 콜스택이 처리한다는 의미이다. 콜 스택(Call Stack)이란 원시 타입(숫자, 문자열 등) 데이터가 저장된다. 실행 콘텍스트를 통해 1) 변수 이름 저장, 2) 스코프 체인 및 this 관리, 3) 코드 실행 순서 관리 등을 수행, 원시타입 콜스택 메모리에는 단순 변수와 같은 원시 타입 데이터가 저장되는데, 자바스크립트에서 원시타입이란 string, number, boolean, null, undefined을 말한다. const..
-
[CS] - 프로세스와 스레드 개념정리카테고리 없음 2024. 4. 4. 09:10
프로세스란 자체 메모리 공간이 있는 독립 엔티티로, 애플리케이션에 대한 격리 및 보안을 제공한다. 즉, 프로그램의 실행중인 인스턴스이다. 스레드란 스레드란 프로세스 내의 더 가벼운 공유 메모리 단위로 작업의 효율적인 병렬 병렬 실행을 가능하게 한다. 프로세스의 하위 집합이며 경량 프로세스라고도 한다. 프로세스의 2개 이상의 스레드가 존재할 경우 스케줄러의 의해 독립적으로 관리된다. Multi Thread(멀티 스레드)와 Multi Process(멀티프로세스)란? Multi Threading과 Multi Processing은 효율성과 성능을 높이기 위해 컴퓨팅 작업을 병렬화하는 두 가지 접근 방식이다. Multi Thread란 단일 프로세스에 여러 스레드가 포함될 수 있다. 프로세스 내의 스레드들은 모두 ..
-
제어 컴포넌트와 비제어 컴포넌트카테고리 없음 2024. 4. 3. 16:52
개요 React Hook Form을 공부하던 중 비제어 컴포넌트로 동작한다는 것을 보고 비제어 컴포넌트가 무엇인지 궁금해서 이블로그를 적어본다. 제어 컴포넌트 제어 컴포넌트란 React에 의해서 값이 제어되는 컴포넌트를 말한다. 우리가 흔히 리액트로 input의 value를 state로 관리한다. import React, { useState } from 'react'; function MyInput() { const [inputValue, setInputValue] = useState(null); const handleChange = (e) => { console.log(e.target.value); }; return handleChange(e)} value={inputValue} />; } 위코드는 i..
-
함수형 프로그래밍이란카테고리 없음 2024. 3. 26. 16:16
프로그래밍 패러다임 프로그래밍 패러다임은 프로그래머에게 관점을 갖게 하고 어떻게 코드를 작성할 것인가를 결정한다. 한마디로 프로그래밍스타일이다. 종류 프로그래밍 패러다임중 대표적인 것들은"함수형, 객체지향, 절차형"이다. 패러다임은 "명령형 프로그래밍(HOW)"와 "선언형 프로그래밍(WHAT)"의 두 가지 큰 범주로 나뉜다. 명령형 프로그래밍(HOW) : 알고리즘을 명시하고 목표를 명시하지 않는다. 프로그램의 상태와 상태를 변경하는 "구문"의 관점에서 연산을 설명하는 방식이다. 구문이랑 프로그래밍 언어에서 특정 작업을 수행하는 명령어이다. 절차형 프로그래밍 : 수행되어야 할 연속적인 계산 과정을 포함하는 방식이다. 객체지향 프로그래밍 : 객체들의 집합으로 프로그램의 상호작용을 표현한다. 선언형 프로그래밍..
-
양방향통신에대해 알아보자카테고리 없음 2024. 1. 25. 17:32
개요 양방향통신을 구현해 보고자 구글링을 하던 중 공부하게 된 개념들을 정리해 보았다. HTTP로는 양방향 통신을 구현할 수 없는 걸까? 결론부터 말하자면 http는 절대 절대 절대 양방향이 되지 않는다. 그 이유를 알아보자. http는 클라이언트에서 req를 보내면 서버에서 res를 보내는 단방향만 가능하다. 이건 불변의 진리이다. 애당초 http는 서버에서 클라이언트로 req를 보내는 것조차 불가능하다는 것이다. 무조건 클라이언트에서만 서버로 req를 보낼 수 있고 서버는 클라이언트의 요청을 응답하는 것만 가능하다. 하지만 http로 마치 통신하는 것처럼 느끼게 만드는 방법을 고안해 냈다. polling - 서버에 주기적으로 요청을 보내는 방법이다. 일정 시간 간격으로 계속 계속 물어보는 방법이다. ..