개발/개념

    모든 브라우저는 gzip을 자동으로 해제할 수 있는가?

    (개인의 생각이 포함된 글입니다) 웹 기반의 서비스의 성능을 최적화 하는 방법에는 무엇이 있을까? 우선 본인이 시도했던 것은 다음과 같다.번들 크기 줄이기코드 스플리팅이미지 최적화(webp를 사용)기타그렇다면 위에서 했던 다양한 방법들의 궁극적인 목표는 무엇일까? 프로그램에 사용되지 않는 코드를 제외하고 각 페이지에서 필요한 코드만 가져올 수 있도록 lazy loading을 적용하거나 차세대 이미지 형식인 webp를 사용하여 이미지의 해상도를 유지하며 용량을 줄이는 방법 모두 전송되는 데이터의 크기를 감소시키는데 목표를 두고 있다. 최적화의 목표?앞서 최적화 중 일부는 더 작은 데이터 크기를 만드는 것을 목표로 하고 있는 것을 확인했다. 그렇다면 더 작은 데이터가 의미하는 것은 무엇일까? 더 작은 데이터..

    [Node.js] Node.js와 V8 (with. ECMAScript)

    Node.js 뿐만 아니라 자바스크립트에서 가장 중요한 개념 중 JS 엔진이 있다. JS 엔진 중 가장 유명하고 자주 사용되는 것이 V8 엔진이다. V8 엔진과 Node.js의 관계, 그리고 ECMAScript와 JavaScript의 관계가 어떻게 되는 것일까? ECMAScript vs JavaScript우리는 일반적으로 JavaScript를 사용해서 프로그래밍 한다고 표현한다. JavaScript를 다루다 보면 ES6, ES2024와 같은 것을 볼 수 있다. 대표적으로 ES6의 경우 일반적으로 JavaScript에서 많이 사용되는 const, let 등이 추가된 버전이다. 그렇다면 ECMAScript와 JavaScript의 관계는 어떻게 될까?ECMAScript의 경우 JavaScript의 표준이다. ..

    추상 구문 트리 (AST)란?

    [CS: 운영체제] 컴파일러 [CS: 운영체제] 컴파일러컴퓨터는 const a = 10;을 읽을 수 없다. 컴퓨터는 0과 1밖에 이해하지 못하기 때문이다. 나는 0과 1로만 작성된 코드를 읽을 수 없다. 나는 컴퓨터가 아니기 때문이다. 따라서, 둘을 연결하는 중간다29223.tistory.com컴파일러에 대한 내용을 읽다보면 구문분석(파서)의 결과의 예시로 AST라는 것이 있다. AST는 무엇일까? 추상 구문 트리위와 같은 트리의 형태를 추상 구문 트리라 부른다. (Abstract Syntax Tree) 각 언어로 프로그래밍 된 소스 코드는 추상적으로 바뀌게 되고 코드의 구조는 위와 같이 노드로 바뀌게 된다. 이러한 노드들이 모여 만들어진 자료구조가 AST다. const test = 'this is te..

    선언형 프로그래밍과 명령형 프로그래밍 (feat. React 18 Concurrent Mode)

    선언형React는 상호작용이 많은 UI를 만들 때 생기는 어려움을 줄여줍니다. 애플리케이션의 각 상태에 대한 간단한 뷰만 설계하세요. 그럼 React는 데이터가 변경됨에 따라 적절한 컴포넌트만 효율적으로 갱신하고 렌더링합니다.선언형 뷰는 코드를 예측 가능하고 디버그하기 쉽게 만들어 줍니다.React – 사용자 인터페이스를 만들기 위한 JavaScript 라이브러리 (reactjs.org) 리액트 공식 홈페이지에서 React는 선언형 라이브러리로 소개되었다. 프로그래밍에서 선언적이라는 것이 어떤 것을 의미할까? 프로그래밍 패러다임프로그래밍 패러다임은 프로그래머에게 프로그래밍의 관점을 갖게 해 주고, 결정하는 역할을 한다. 대표적인 프로그래밍 패러다임으로는 객체지향 프로그래밍, 함수형 프로그래밍 등이 있다...