본문 바로가기

전체 글112

immer에 대해 알려보자! https://immerjs.github.io/immer/ Introduction to Immer | ImmerImmer (German for: always) is a tiny package that allows you to work with immutable state in a more convenient way.immerjs.github.ioImmer란? 공식문서를 처음 읽어보면 "Immer는 불변 상태를 더 편리하게 다룰 수 있게 해주는 작은 패키지입니다." 라고 설명이 뜬다. 그럼 생각하게 된다 불변 상태가 뭘까? 이걸 알아야 우리느 Immer를 사용할 수 있다.  불변 상태란? 불변 상태란 한 번 생성된 데이터가 변경되지 않는 상태를 의미한다. 즉, 기존 객체나 배열을 직접 수정하는 것이 아니라.. 2025. 2. 9.
Semantic Versioning이란? Semantic Versioning이 생겨난 이유소프트웨어 개발에서는 새로운 기능을 추가하거나 버그를 수정할 때마다 버전이 변경된다. 하지만 버전 관리에 일관된 기준이 없다면, 사용자나 개발자는 버전 숫자만 보고 어떤 변화가 있었는지 알기 어렵다. 이 문제를 해결하기 위해 Tom Preston-Werner(엄청난 사람인듯 하다.) 라는 사람이 만들었다고 한다.  그렇다면 Semantic Versioning이 버전 관리의 문제를 어떻게 해결하는지 자세히 알아보자. Semantic Versioning(유의적 버전 관리, SemVer)이란? Semantic Versioning(줄여서 SemVer)이란 소프트웨어 버전 번호를 체계적으로 관리하는 방식이다. 유의적이다 라는 말이 생소할 수 있는데 쉽게 풀의해보자면.. 2025. 2. 2.
SSE(Server-Sent Events)와 소켓(WebSockets)의 차이 SSE (서버 전송 이벤트)란?작동 원리서버에서 클라이언트(주로 웹 브라우저)로 단방향으로 실시간 데이터를 전송하는 기술로, 클라이언트는 서버로부터 데이터를 수신만 하고, 서버는 클라이언트로 데이터를 보내기만 한다. 비유를 해보자면 클라이언트가 라디오(서버)를 켜서 방송을 듣는 것과 같다. 클라이언트는 듣고 있는 방송(서버의 응답)을 기반으로 최신 정보를 보여줄 수 있다. 사용 예시SSE는 서버에서 클라이언트로 지속적으로 데이터를 전달해야 하는 상황에 적합하다. 아래와 같은 상황에서 자주 사용된다고 한다. 실시간 뉴스 피드주식 시세 업데이트실시간 알림실시간 로그 모니터링장단점장점 : 구현이 간단하며 소켓에 비해 자원 소모가 적다. 소켓과 다르게 연결이 끊어질 경우 자동으로 재연결을 시도한다.단점 : 텍스.. 2025. 1. 30.
JS 모듈 : Default Export와 Named Export의 차이점 default export와 named export는 JavaScript 모듈 시스템에서 모듈을 내보내는 두 가지 방법으로,  그 동안 큰 문제를 겪진 않았지만 코드를 꼼꼼히 보는 습관을 가지려고 노력하는 과정에서 정리하게 되었다. Default Export'Default', 즉 기본값 이라는 뜻으로 주된 기능이나 객체를 대표값 으로 설정한다는 의미에서 붙여진 export 방식으로, 가장 흔히 사용되는 값(예: 주요 클래스나 함수)을 모듈의 기본값으로 설정할 때 적합하다.한 모듈당 하나의 default export만 허용되는 특징이 있다. 그렇기에 임의의 이름으로 모듈을 가져올 수 있다.// module.jsconst add = (a, b) => a + b;export default add;// main.. 2025. 1. 29.
HTTP의 구조와 Method HTTP (HyperText Transfer Protocol)란?Http란 웹에서 클라이언트와 서버 간의 데이터 전송을 위한 프로토콜, 즉 규약이다. http의 약자를 분석해보면 더 자세히 알 수 있는데, 해석해보자면 아래와 같다. HyperText : 단순한 텍스트를 넘어서 링크(참조)를 통해 다른 문서나 웹 페이지로 이동할 수 있는 동적인 텍스트를 의미한다.Transfer: 데이터를 전송한다는 의미로, HTTP는 클라이언트와 서버 간의 데이터 전송을 말한다.Protocol: 컴퓨터 간의 통신 규약을 말한다.HTTP의 구조그렇다면 http를 예시를 통해 어떤 구조를 가지고 있는지 자세히 알아보자.  Method: 클라이언트가 서버에 수행하고자 하는 작업의 종류를 말한다.Path : 요청 대상 리소스의.. 2024. 11. 9.