본문 바로가기
728x90

WEB43

브라우저 렌더링 엔진 | V8, JavaScript 엔진 개요V8엔진 특징과 Javascript가 어떻게 해석되고 실행되는지 알면 JavaScript 엔진의 작동 방식을 더 깊이 이해하면 코드의 성능 특성을 추론하는 데 도움된다!V8 엔진이 무엇인지, 왜 그리고 어떻게 동작 하는지 알아보자. 렌더링 엔진이란?JavaScript 엔진을 내장한 브라우저의 표시 기능을 담당하는 모듈Blink, Gecko, WebKit렌더링 엔진은 자바스크립트뿐만 아니라 HTML과 CSS를 해석하고 화면 드로잉을 종합적으로 수행 Javascript 엔진이란?자바스크립트는 동적 타입의 인터프리터 언어이며 자바스크립트에서 실행되는 모든 것들은 엔진에 의해 처리된다.엔진은 주변 환경과 상호작용하면서 컴퓨터가 프로그램을 실행하는 데 필요한 machine code(바이트코드)를 변환/생성 역.. 2025. 4. 17.
Redirect URL 완전 정복: 쿼리 파라미터와 리다이렉트 흐름 설계 Redirect URL 소개Redirect (리다이렉트)란, 사용자가 처음 요청한 URL이 아닌, 다른 URL로 보내는 것을 뜻입니다. 예를 들어, 웹사이트 A의 주소로 접속한 사용자를 웹사이트 B로 이동시키는 것을 말합니다.Redirect URL은 요청 결과를 전달해주는 역할을 합니다. 사용자가 요청을 마친 후 돌아갈 수 있는 웹사이트 URL로, 요청 결과를 알려주고 그 결과를 바탕으로 최종 비즈니스를 진행하는 중요한 중간 역할을 합니다. 기본 Redirect URL 예시https://example.com/redirect?status=success&orderId=12345 OAuth 인증 시 Redirect URL 예시https://myapp.com/auth/callback?code=abc123&sta.. 2025. 4. 17.
JavaScript 모듈 시스템 | CJS, AMD, UMD, ESM 모듈화 방식CommonJS : exports 키워드로 모듈을 생성, require() 함수로 임포트하는 방식장점 : 모든 파일을 로컬에 저장하고 동기적으로 동작하여 전역변수와 지역변수를 분리할 수 있게 되었다.단점 : 필요한 모듈을 가져오는데 대기하게 됨.AMD(Asynchronous Module Definition): CommonJS를 비동기적으로 사용할 수있는 도구ESM : import, 와 export 로 임포트하는 방식(ES6가 도입 이후)장점 : 키워드 만으로 모듈화 가능단점 : 모듈별로 을 네트워크 통신을 통해 가져오면서 비용과 시간 소요  https://beomy.github.io/tech/javascript/cjs-amd-umd-esm/#%ED%8A%B9%EC%A7%95-%EB%B9%84%.. 2025. 2. 13.
CSS 확장 / Sass에만 존재하는 기능이 CSS에 통합 되다 ! 개요스타일 개발을 효율적으로 할 수 있게 지원해주는 기능이 많다는 것은 많은 사람들이 Sass를 사용하게 만들었습니다. 하지만 여전히 Sass를 설치하고 컴파일하는 과정이 존재한다는 것은 대체 가능한 도구를 찾게 되는 이유 중 하나입니다.  아직까지 Sass 고유 기능rem으로 변환하는 함수와 믹스인(Mixins)반복문  CSS 확장 기능1. 변수 지정CSS에서도 Sass와 유사한 방식으로 변수를 정의할 수 있습니다. 중요한 차이점은 Sass 변수는 전처리기 컨텍스트 내에서만 존재하지만, CSS 변수는 브라우저에서 사용될 수 있으며 자바스크립트를 통해 동적으로 덮어쓸 수도 있다는 점이 다르다.:root { --button-padding: 10px 20px; --button-bg-color: #007b.. 2025. 2. 12.
웹개발 아키텍처 스타일 | Model 1, Model 2 개요웹 개발에서 모델1(Model 1)과 모델2(Model 2)은 흔히 사용되는 아키텍처 스타일입니다. 두 모델은 웹 애플리케이션을 설계하는 방식에 큰 차이를 보이며, 각각의 장점과 단점이 존재합니다. 이 포스팅에서는 모델1과 모델2의 차이점, 특징, 그리고 어떤 상황에서 각각을 사용하는 것이 좋은지에 대해 알아보겠습니다. 모델1 (Model 1)모델1은 초기 웹 애플리케이션 개발에서 자주 사용되었던 아키텍처입니다. 주로 JSP와 서블릿을 사용하여 모든 처리를 하나의 페이지에서 처리하는 방식입니다.Model 1 특징단일 페이지 처리: 모델1에서는 모든 요청 처리와 응답을 하나의 JSP 페이지 또는 서블릿에서 처리합니다. 즉, 클라이언트의 요청이 들어오면 서블릿이 직접 비즈니스 로직을 처리하고 결과를 JS.. 2025. 2. 10.
웹 성능 분석 및 INP 최적화 | Lighthouse INP (Interaction to Next Paint, 페인트에 대한 상호작용)웹 성능 지표 중 하나로, 사용자가 웹페이지와 상호작용(클릭, 키보드 입력 등)한 후 브라우저가 그에 반응하여 콘텐츠를 화면에 렌더링하는 데 걸리는 시간을 측정합니다. DOM (Document Object Model, 문서 객체 모델)HTML 문서 구조를 반영해서 만든 객체입니다.DOM의 계층은 트리 자료 구조로 구축돼요. 트리 자료 구조는 하나의 최상위 노드(Node)에서 다른 자식 노드들이 뻗어나가는 구조를 가지고 있습니다.  DOM은 HTML로 구성된 웹 페이지와 스크립트 및 프로그래밍 언어를 연결시켜주는 역할을 해요.  DOM 생성되는 순서HTML 웹 페이지는 HTML 파서에 의해 DOM으로 변환됩니다.여기서 파서가 .. 2025. 2. 10.
JavaScript window 객체: 주요 속성, 메서드, 이벤트 알아보기 개요window 객체는 JavaScript에서 전역 객체(global object)로, 브라우저 환경에서 제공하는 다양한 기능과 속성을 제공합니다. 브라우저의 전체 창(window)에 대한 정보를 제공하며, 전역 범위에서 접근 가능합니다. Node.js에서는 window 객체 대신 global 객체를 사용합니다. window 객체는 웹 개발에서 핵심적인 역할을 하며, DOM, 브라우저 상태, 이벤트 관리 등 다양한 작업에 사용됩니다. 다만, 전역 네임스페이스를 오염시킬 수 있으므로 과도한 사용은 피하는 것이 좋습니다.    window 객체의 대표적인 속성1. document현재 로드된 HTML 문서를 나타내는 객체.DOM 트리 조작 및 HTML 요소 접근 가능.2. location현재 페이지의 URL .. 2024. 11. 22.
패키지 로드 방법 비교: NPM vs CDN의 차이점 개요프론트엔드 개발을 하다 보면 라이브러리를 추가하는 방법으로 NPM과 CDN을 자주 접하게 됩니다. 하지만 이 두 가지 방식은 각각의 장점과 단점이 있으며, 상황에 따라 적절한 방식을 선택하는 것이 중요합니다. 이번 글에서는 NPM과 CDN의 차이점을 정리하고, 언제 어떤 방법을 사용하는 것이 좋은지 알아보겠습니다. NPM (Node Package Manager)NPM은 JavaScript 패키지 매니저입니다. 주로 주로 Node.js 및 웹 개발에 사용됩니다.오픈소스 라이브러리를 관리하고 설치할 수 있게 해줍니다. npm 특징로컬 환경(개발 환경)에서 패키지를 설치하여 사용package.json을 통해 패키지 및 버전 관리 가능node_modules 폴더에 라이브러리를 저장하여 오프라인에서도 사용 가.. 2024. 11. 8.
인클루시브 디자인(inclusive design) | 웹 접근성 개요디지털 서비스가 일상 생활에 큰 영향을 미치는 오늘날, 누구나 쉽게 접근하고 이용할 수 있는 웹 환경을 제공하는 것은 필중요합니다.모든 사용자가 차별 없이 콘텐츠에 접근할 수 있도록 보장하는 것은 사회적으로도 중요하며 사용자 경험을 개선 및 넓은 사용자층을 확보하여 회사에도 영향을 줍니다.사용자 인터페이스 개선에 관련하여 웹 프론트엔드 개발자가 다양한 사용자의 요구를 반영 해야하는 이유와 방법 등을 알아보자 인클루시브 디자인 (Inclusive Design) 이란?다양한 사용자들이 제품이나 서비스를 이용할 수 있도록 설계하는 방법론포괄적인 디자인은 제품, 서비스 또는 환경이 가능한 한 많은 사람들, 특히 전통적으로 인터페이스를 사용하거나 환경을 탐색할 수 없도록 배제된 그룹이 사용할 수 있도록 디자인.. 2024. 9. 26.
728x90