전체 글 93

웹 최적화(Optimization)

Make it work, Make it right, Make it fast Kent Beck 웹 최적화는 중요하지만, 우선순위가 떨어집니다. 하지만 왜 중요할까요? 1. 사용자 경험이 좋아집니다. 2. 면접문제에서 많이 나옵니다. 성능 측정의 척도 1. 올바르게 동작하게 만든다 : 메모리, 네트워크 트래픽(벡엔드)과 같은 자원을 효과적으로 사용한다. 2. 빠르게 동작하게 만든다 : 시간과 긴밀한 관계가 있다. (빠르게 동작하는것처럼 보이는 것도 중요) 시간 초기 구동 시간: 초기에 애플리케이션이 로드 되는 시간 계산 시간: 동일한 계산을 얼마나 빠르게 수행하는가 반응 시간: 사용자의 행동에 얼마나 빠르게 반응하는가 초기 구동 시간 대기 시간을 40%줄였더니 트래픽과 가입 수가 15% 늘었다. 로드 시간을..

스코프&클래스(Class)

스코프란? 변수값의 생존범위 스코프 체인이란? var func1 = function () { // var a = 1; var b = 2; console.log(a + b); }; var a = 20; func1();​ 이때 a+b의 값은 22가 된다. func1 안에서 a의 값을 찾지 못하자 스코프를 더 넓혀서 바깥에 있는 a의 값을 적용하였다. 이러한 현상을 스코프체인이라고 한다.​ 스코프 체인: 안에 없으면 밖에 찾기, 상위 요소로 찾아 찾아 올라가기 전역스코프 어디서든 접근 가능. 협업 시 얽힐 수 있다는 단점. 함수스코프 함수 내부의 공간. function test() { val1 = "hello"; var val1 = "world"; } test(); console.log(val1); conso..

객체지향 프로그래밍

1. 객체지향 프로그래밍이란? 객체지향은 프로그래밍 방법론중에 하나로, 프로그램을 작성할 때 객체들을 만들어 서로 소통하도록하는 방법. (이와 다르게 순서대로 실행되는것을 절차지향 프로그래밍이라고 한다.) 객체란? 우리가 앞서서 배운 자바스크립트 객체는 데이터의 묶음 이라면 객체 지향의 객체는 우리가 표현하고자 하는 구체적인 사물을 추상적으로 표현한것이다. 즉 한 사람을 객체로 표현한다면 const me = { name : 'Jason', address : 'Seoul', phoneNum : '010-1234-1234', canWalk : function(){ console.log('Hi,Hello'); } } 이렇게 표현할 수 있다. 그리고 또한 객체는 행동과 상태를 가진다. 여기서 행동은 메소드, 상..

npm

npm의 개념 npm(node package manager)은 자바스크립트 패키지 매니저이다. Node.js에서 사용할 수 있는 모듈들을 패키지화하여 모아둔 저장소 역할과 패키지 설치 및 관리를 위한 CLI(Command line interface)를 제공한다. 자신이 작성한 패키지를 공개할 수도 있고 필요한 패키지를 검색하여 재사용할 수도 있다. 패키지 설치 Node.js에서 사용할 수 있는 모듈인 패키지를 설치할 때에는 npm install 명령어 뒤에 설치할 패키지 이름을 지정한다. $ npm install Node.js 환경에서 emoji를 지원하는 node-emoji를 설치해 보자. 먼저 적당한 위치에 프로젝트 디렉터리를 생성하고 프로젝트 디렉터리로 이동한다. $ mkdir emoji && cd..