목록전체 글 (86)
undefined
작동원리 HTML이 파싱 중에 script 태그를 만나면 파싱을 일시적으로 멈추고 script를 로드한다. script의 위치 및 설정에 따라 파싱진행 과정이 달라지게 된다. *파싱 : 브라우저가 코드를 이해하고 사용할 수 있도록 DOM tree구조로 변환시키는 것 [위치에 따른 분류] 설정이 없는 상태를 전제한다. 맨위 자바스크립트의 패치와 실행이 된 후 html 파싱이 진행되기 때문에 비교적 느리다. 맨아래 HTML 파싱이 완료된 이후에 자바스크립의 패칭과 실행이 된다. 다만 HTML이 로드 되었지만 자바스크립트가 아직 로드가 되지 않은 경우 브라우저의 화면구현은 완료되었지만 JavaScript기능은 작동하지 않는다. [설정에 따른 분류] script 태그의 속성에 추가하여 사용 위치에 상관없다. a..
소프트웨어의 재사용성과 호환성 그리고 유지보수성을 위함 원칙 객체지향적으로 설계되어야함 객체지향적이란? 하나의 클래스는 하나의 역할을 수행한다. 상속에는 열려있으나 수정에는 닫혀있다. 자식은 부모를 대체할 수 있어야 한다. 인터페이스가 분리되어 클래스는 최소한의 구현만 해야한다. 상위 모듈은 하위모듈에 의존적이면 안된다. 종류 생성 패턴 - 객체의 생성 방식을 결정한다 구조 패턴 - 객체간의 관계를 조직한다. 행위 패턴 - 객체의 행위를 조직, 관리한다. 어댑터 패턴 현재 진행중인 클라이언트에서 사용하지 못하는 클래스를 사용하기 위해 어댑터 패턴을 거치면서 변환시킨다. 방식 : 상속 특징 : 기존의 클라이언트는 바뀔 필요가 없다. 싱글톤 패턴 클래스가 하나의 메모리를 할당하고 그 메모리에 인스턴스를 생성..
Server side session (서버 사이드 세션) 서버쪽에 유저의 고유 ID를 저장한다. 프론트와 그 ID를 통해 통신함 서버 - 클라이언트는 연결된 상태로 존재해야함 백 - 프론트는 서로 긴밀히 연결되어 있어야함 구글 맵스 API의 경우에는 적합하지 않음 서버는 유동적이면 안되고 무상태를 유지해야함 고유 ID는 서버와 클라이언트가 알기 때문에 보안에 취약 Auth Token (인증 토큰) 유효성이 검증되면 서버측에서 데이터가 문자열로 인코딩 된 토큰을 발행 토큰은 서버측에서 변형해서 보내기 때문에 고유 ID는 서버만 안다 클라이언트는 요청과 함께 토큰을 보내야함 JSON형식의 웹 토큰 형식으로 생성 참고 : JWT에 관한 내용 https://fcscode.tistory.com/89?categor..
브라우저 동작 방법 사용자가 선택한 자원을 서버에 요청 ⇒ 브라우저에 표시 자원의 주소는 URI에 의해 결정됨 브라우저는 웹표준기구인 w3c에서 정한 명세에 따라 자원을 해석한다. 사용자가 서버에 요청함 해당 페이지의 자원이 보내짐 렌더링 엔진을 통해 HTML과 CSS를 명세에 따라 해석 HTML의 파싱을 통해 DOM Tree 구축 CSS의 파싱을 통해 스타일구조체 생성 렌더트리 구축 렌더트리 배치 UI 백엔드의 그리기 시작 렌더링 HTML 파싱 → 콘텐츠 트리 내부에서 태그를 DOM Node로 변환 → CSS와 함께 스타일 파싱 → 렌더링 트리 구축 → 렌더링 트리 배치 (정확한 위치에 표시) → 백엔드 UI가 그리기 시작 모든 렌더링이 끝날 때 까지 대기하는 것이 아니라 실시간으로 받은 내용을 화면에..
문제 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 문제 풀이 키포인트 1. 시간제한을 해결하기 위한 큐 구현 2. 익은 토마토의 전염은 동시에 진행되어야 한다. 3. 전부 익지 못하는 경우를 어떻게 체크할 것인가? // 큐 구현 class Node { constructor(val) { this.val = val; this.next = null; } } class Queue { constructor() { this.first ..
1. 변수란 무엇인가 변수는 값을 저장하기 위한 메모리 공간 또는 그 공간을 식별하기 위한 이름을 말한다. 선언에 의해서 변수는 정의된다. 2. 변수의 선언이란 변수의 선언이란 변수를 생성하는 것을 뜻하며 변수를 생성하는 것은 변수를 위한 메모리 공간의 확보 & 메모리 공간의 주소연결을 위한 준비작업을 뜻한다. *자바 스크립트에서의 대표적인 변수는 선언 키워드는 var const let 이 존재한다. ES5 var = 함수 레벨 스코프 ES6 const , let = 블록 레벨 스코프 ES6란 ES5의 기능의 호환성을 유지하면서 새로운 기능을 추가한 것이므로 var는 현재에도 작동한다. 3. 변수 선언 이후에 대하여 변수가 선언이 되면 변수를 위한 메모리 공간이 확보되고 정해진 변수명으로 메모리 주소가 ..