본문 바로가기

Web

javascript - 실행컨텍스트와 Hoisting(호이스팅) 그리고 ScopeChaning(스코프 체이닝) 호이스팅과 실행컨텍스트 이번 포스팅은 Javascript의 Execution Context(실행컨텍스트)와 `Hoisting(호이스팅) 그리고 Scope Chaining(스코프체이닝)에 대해 알아보도록 하겠습니다. 실행 컨텍스를 이해해야지만, 이 포스팅에 담기는 내용들인 Scope Chaining과 hoisting에 대한 이해가 수월합니다. 이번 포스팅역시 코어자바스크립트라는 책을 기반으로 작성되었습니다. 1. 실행 컨텍스트(Execution Context)란?javascript의 Execution Context(이하 실행컨텍스트)는 code 실행시 필요한 정보들(필요한 환경들)을 모아놓은 객체 입니다. javascript는 코드를 실행하며, 필요한 환경정보들(ex. 변수, 함수 등..)들을 모아 이를 ..
작성일: 2019. 12. 1. 11:28
javascript - 불변객체와 복사(얕은복사와 깊은복사) 1. 불변객체 Javascript의 불변객체와 값 복사에 관하여 포스팅을 진행하겠습니다. 본 포스팅은 코어자바스크립트라는 책을 기반으로 작성되었습니다. 1. 불변객체1.1 불변객체란 https://galid1.tistory.com/622 우선 불변객체에 관해서 잘 모르시다면 위의 글을 먼저 읽어보시는 것을 추천드립니다. (JAVA로 작성되어 있지만, 참조형의 개념을 아신다면 크게 문제없이 읽을 수 있습니다.) 간단히 말씀드려 불변객체란 어떤 객체내부의 프로퍼티들을 변경할 수 없도록 되어있는 객체를 일컫습니다. 그렇다면 언제 이런 불변객체가 필요할까요? 1.2 불변객체의 필요성 (기본형데이터와 참조형데이터의 차이)문제상황xlet people1 = { name : "A", gender : "male", ag..
작성일: 2019. 11. 24. 19:41
javascript - javascript의 메모리와 데이터할당 (데이터 할당의 자유와 효율성) 1. 메모리와 데이터 javascrip의 메모리와 데이터 그리고 데이터할당에 대해서 알아보도록 하겠습니다. 본 포스팅은 코어자바스크립트라는 책을 기반으로 작성되었습니다. 1. 메모리와 데이터1.1 데이터 단위 존재의 이유컴퓨터는 0과 1로 모든 데이터를 표현합니다. 이렇게 0과 1만 표현할 수 있는 하나의 메모리 조각을 bit라고 표현합니다. 그런데 Byte와 같은 단위들은 왜 생겨났을까요?? 화폐간단합니다. 우리 일상생활에서도 찾아볼 수 있는데요 바로 화폐입니다. 10원짜리 동전으로도 100만원 1000만원을 표현할 수 있지만, 이는 매우 비효율적입니다. 예를들어 카드가 없던시절 매우 비싼 명품을 산다고 했을때, 이를 10원짜리 동전으로 계산하고 거스름돈을 받는다고 생각을 해보면, 시간이 매우 많이 소..
작성일: 2019. 11. 21. 23:37
React - LifeCycle 메소드 (성능개선, 업데이트 라이프 사이클 주의사항) 이번 포스팅에서는 React의 LifeCycle에 대해 알아보도록 하겠습니다 이번 포스팅에서는 React의 LifeCycle에 대해 알아보도록 하겠습니다. 본 포스팅은 리액트를 다루는 기술이라는 서적을 참고하여 작성되었습니다. 1. 라이프 사이클 메소드 종류라이프 사이클 메서드의 종류는 크게 3가지로 나뉩니다. 아래에서 조금더 자세히 보시죠. 1.1 마운트첫번째 종류는 마운트입니다. 우선, 마운트란 DOM이 생성되고 웹브라우저상에 나타나는 것을 의미합니다. 마운트시 호출되는 라이프사이클 메소드들마운트시 호출되는 라이프 사이클 메소드들은 시간순서대로 정렬하여, 아래와 같습니다.constructor : 컴포넌트 생성시 호출되는 클래스 생성자 메소드 getDerivedStateFromProps : props에..
작성일: 2019. 10. 30. 22:05
작성일: 2019. 9. 8. 15:35
Javascript - ES6 (` : 템플릿 리터럴) 문자열에 변수 포함시키기 1. 템플릿 리터럴이란 (`) 이번 포스팅에서는 ES6에서 추가된 템플릿 리터럴에 대해 알아보겠습니다. 1. 템플릿 리터럴이란? (`) 우선 템플릿 리터럴에 이용되는 특수문자는 ` 로써, 키보드 숫자 1 왼쪽에 있는 특수문자(~) 입니다. 주로 백틱(backtick)이라고 불릐웁니다. 이는 문자열에, 변수를 추가해 사용할 때 사용되며, 아주 편리한 기능입니다. 2. 템플릿 리터럴이 없었을 때xxxxxxxxxxlet a = 1;let b = 2;​console.log("a + b = " + (a+b));템플릿 리터럴이 없었던 때에, console에 변수를 이용해 무언가를 출력하는 경우, 위와 같이 사용을 했었습니다. 간단히 설명드리면, 문자열의 경우 ''(싱글쿼테이션) 또는 ""(더블쿼테이션)을 이용해 묶..
작성일: 2019. 9. 1. 11:31
Web - HTTP 커넥션 관리(성능 향상을 위한) TCP 성능에 대한 고려 HTTP 커넥션 관리 (성능 향상을 위한)TCP 성능에 대한 고려https://galid1.tistory.com/618HTTP 프로토콜의 경우 TCP프로토콜 상위에서 동작하기 때문에, TCP 성능에 영향을 받을 수 밖에 없습니다. 따라서 고성능의 HTTP 어플리케이션을 구축하고자 하는 분은 위의 링크로 이동하여 TCP 성능에 영향을 미치는 요소를 파악하시기 바랍니다. 1. HTTP 성능에 영향을 미치는 요인DNS 이름분석 시간클라이언트는 URI에서 웹서버의 IP 주소와 Port 번호를 알아내야 합니다. 최근에 방문한 적이 있어 DNS 캐시에 남아있지 않는 이상, DNS 서비스를 통해 Domain을 IP주소로 변환해야 합니다. 커넥션 연결 시간클라이언트와 서버간에 HTTP 프로토콜..
작성일: 2019. 8. 25. 20:08
작성일: 2019. 5. 14. 15:51