모던 JavaScript 튜토리얼을 따라가면서 정리합니다. 4.4. 메서드와 this 객체는 사용자, 주문 등 실제 존재하는 개체(entity)를 표현하고자 할 때 생성된다. 사용자는 현실에서 장바구니에서 물건 선택하기, 로그인하기 등 행동을 한다. 마찬가지로 사용자를 나타내는 객체 user도 특정한 행동을 할 수 있다. 자바스크립트에...
모던 자바스크립트 #4.3. 가비지 컬렉션
모던 JavaScript 튜토리얼을 따라가면서 정리합니다. 4.3. 가비지 컬렉션 가비지 컬렉션 기준 도달 가능한(reachable) 값은 메모리에서 삭제되지 않는다. 도달 가능한(reachable) 값은 어떻게든 접근하거나 사용할 수 있는 값을 의미한다. 루트(root): 태생부터 도달 가능하기 때문에 명백한 이유 없이 삭제되지 않...
모던 자바스크립트 #4.2. 참조에 의한 객체 복사
모던 JavaScript 튜토리얼을 따라가면서 정리합니다. 4.2. 참조에 의한 객체 복사 객체는 참조에 의해(by reference) 저장되고 복사된다. 원시값은 값 그대로 저장, 할당되고 복사된다. 변수에는 객체가 그대로 저장되는 것이 아니라, ** 객체가 저장되어 있는 **메모리 주소인 객체에 대한 참조 값이 저장된다. 따라서...
모던 자바스크립트 #4.1. 객체
모던 JavaScript 튜토리얼을 따라가면서 정리합니다. 4.1. 객체 여덟 개의 자료형 중 일곱 개는 오직 하나의 데이터만 담을 수 있어 원시형(primitive type)이라 부른다. 반면 객체형은 키로 구분된 데이터 집합이나 복잡한 개체(entity)와 같이 다양한 데이터를 저장할 수 있다. ...
스프링 입문 #7 AOP(Aspect Oriented Programming)
Section 7. AOP 1강. AOP가 필요한 상황 모든 메서드의 호출 시간을 측정하고 싶다면? 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? 위와 같이 시간 측정 로직을 각 메서드에 포함시켜서 작성할 수밖에 없다....
모던 자바스크립트 #3.6. 폴리필
모던 JavaScript 튜토리얼을 따라가면서 정리합니다. 3.6. 폴리필 자바스크립트는 끊임없이 진화하는 언어이다. 새로운 제안이 정기적으로 등록, 분석되고 가치가 있다고 판단되는 제안은 https://tc39.github.io/ecma262/에 추가된다. 그리고 궁극적으로 명세서(specification)에 등록된다. 자바스크립트 엔진...
모던 자바스크립트 #3.5. 테스트 자동화와 Mocha
모던 JavaScript 튜토리얼을 따라가면서 정리합니다. 3.5. 테스트 자동화와 Mocha 테스트를 하는 이유 코드를 수동으로 재실행하면서 테스트를 하면 무언가를 놓치기 쉽다. 테스팅 자동화는 테스트 코드가 실제 동작에 관여하는 코드와 별개로 작성되었을 때 가능하다. 테스트 코드를 이용하면 함수를 다양한 조건에서 실행해볼 수 있는데,...
스프링 입문 #6 스프링 DB 접근 기술
Section 6. 스프링 DB 접근 기술 실무에서는 MySql이나 Oracle DB가 많이 쓰이는데, 특히 MySql 계열 DB를 많이 사용된다. 1강. H2 데이터베이스 설치 개발이나 테스트 용도(교육용)로 가볍고 편리한 DB, 웹 화면 제공 H2 공식 사이트에서 다운로드 및 설치 h2 데이터베이스 버전은 스...
모던 자바스크립트 #3.4. 닌자 코드
모던 JavaScript 튜토리얼을 따라가면서 정리합니다. 3.4. 닌자 코드 다음과 같은 코드를 작성하는 것은 지양하자. 유지보수가 어렵기 때문이다. 코드 가능한 짧게 쓰기 글자 하나만 사용하기 그 글자가 무엇을 의미하는 지 해석하기 어렵다. 약어 사용하기 포괄적인 명...
모던 자바스크립트 #3.3. 주석
모던 JavaScript 튜토리얼을 따라가면서 정리합니다. 3.3. 주석 좋은 코드엔 설명이 담긴(explanatory) 주석이 많아선 안 된다. 주석 없이 코드 자체만으로 코드가 무슨 일을 하는지 쉽게 이해할 수 있어야 한다. 함수 내 코드 일부를 새로운 함수로 옮기고 적절한 이름을 붙이면 함수 이름 자체가 주석 역할을 하므로 코드를 쉽게 이해...