[Javascript] ES5 (ECMAScript 5)

자바스크립트를 접했다면 흔히 ES5, ES6, ECMA 어쩌고…에 대해서 한번 쯤은 들어봤을 것이다. 이번 포스팅부터는 이것들에 대해서 정리를 하고자 한다. ECMAScript란 무엇인가? 자바스크립트는 1995년에 Brendan Eich라는 사람이 발명했다고 한다. 그리고 1997년에 ECMA 표준이 되었다고 한다. ECMAScript는 Ecma 인터내셔널의 ECMA-262 기술 규격에 정의된 표준화된 스크립트 프로그래밍 언어이다. 자바스크립트를 표준화하기 위해 만들어졌고 지금도 자바스크립트가 제일 잘 알려져 있지만, 액션스크립트, J스크립트 … 더 읽기

[Git] Gitflow로 branch를 관리하자!!

Git에 관련된 포스팅은 오랜만인 것 같다…개인적으로 Git의 여러 개념, 명령어 정도는 알고 있기 때문에 사용하는 데는 무리가 없었다.하지만 회사 또는 팀 프로젝트에서 협업하면서 git을 사용할 때, 무분별하게 생겨나는 branch들(이게 문제…) 그래서 branch를 효율적으로 관리하기 위한 규칙이나 정책들이 필요하다. 이에 대한 여러 방법 중 하나, 그것이 Gitflow!! 이것에 대해서 정리해보자. Gitflow 가 무엇인가? Vincent Driessen 이 제안한 git의 … 더 읽기

Spring Core (AOP)

Intro 이번 포스팅에서는 Spring Core 중 AOP에 대해서 정리할 것이다. 사실 이전 포스팅(Spring Core DI 부분)에서도 적었지만, Spring Core에는 DI와 AOP가 전부는 아니다. 다만, 스프링을 말했을 때 특징으로 가장 많이 언급하는 것이기 때문에 이것들에 대해서는 꼭 정리하려고 하는 것이다. AOP 횡단 관심사(Cross-Cutting Concern) 비즈니스 로직과는 다소 거리가 있으나 여러 모듈에 걸쳐 공통적이고 반복적으로 필요로 하는 … 더 읽기

Spring Core (DI)

Intro 이번 포스팅에서는 스프링 프로젝트의 중심, 스프링 프레임워크의 핵심인 스프링 코어(Spring Core)에 대해서 정리한다. 그 중에서 DI(Dependency Injection)에 대해서 정리할 것이고, 이후에 AOP(Aspect Oriented Programming), 데이터 바인딩, 형 변환, 프로퍼티 관리, 스프링 표현 언어(SpEL), 리소스 추상화, 메시지 관리 에 대해서 차차 정리할 예정이다. DI가 필요하게 된 배경 클래스 간의 결합도가 높다? public class UserServiceImpl implements UserService { private … 더 읽기

tsconfig.json에 대하여

지난 포스트에서도 언급했지만 tsconfig.json의 각 항목에 대해 정리해보려고 한다. boilerplate 정리하기에 앞서, 책에 나와있던 보일러플레이트로 사용하는 코드는 아래와 같다. ⚠️ 아래 코드는 node 환경 기준이다. 아래에 주석에도 있듯이, 웹 브라우저 환경에서는 module과 moduleResolution을 바꿔서 사용하자. { “compilerOptions”: { “target”: “es5”, “module”: “commonjs”, // 웹 브라우저 환경이라면 “amd” 사용 “moduleResolution”: “node”, // module이 amd라면 “classic” 사용 “baseUrl”: “.”, “paths”: … 더 읽기

React에 typescript 적용하기

이전 포스팅에서 Typescript 기반의 React 개발 환경 구성에 대해 포스팅을 하겠다고 해서, 이번 포스팅에서 다뤄보려고 한다. 프로젝트 생성 프로젝트 생성 $ mkdir react-ts 프로젝트 구조 . ├── .babelrc ├── .eslintrc ├── .gitignore ├── .prettierrc ├── README.md ├── index.html ├── package.json ├── src │ ├── components │ │ └── Header.tsx │ ├── index.css │ └── index.tsx … 더 읽기

TypeScript의 개념과 개발환경 설정

그동안 미루고 미뤄왔던 타입스크립트에 대해서 공부하고 사용을 해보려고 한다. 이번에는 타입스크립트가 무엇인지 그리고 개발환경은 어떻게 구성하는지에 대해 정리하려고 한다. (Do it, 타입스크립트 프로그래밍이라는 책을 참고) 타입스크립트란 무엇인가? 🍌 자바스크립트는 현재 세 가지 종류가 있다. 이 중 공부하고자 하는 TypeScript는 마이크로소프트가 개발하고 유지하고 있는 오픈소스 프로그래밍 언어로 2012년 말 처음 발표되었다. 앵귤러 버전 2에서 타입스크립트를 채택한 이후로 널리 … 더 읽기

RegExp(정규식)

RegExp(정규표현식)이란? RegExp 만드는 방법 1. ‘/’ 이용(정규식 리터럴을 사용하는 방법) var re = /ab+c/; 2. RegExp 생성자 이용 var re = new RegExp(‘ab+c’); 정규식 패턴 작성 정규식 패턴 작성하는 방법에는 두 가지가 있다고 한다. 그 중 하나는 단순한 패턴으로 작성하는 방법인데, 예를 들어서 ‘/abc/’라는 패턴은 단순히 abc가 들어가 있는 문자열을 찾는 것이다. 하지만, 우리가 RegExp를 사용하는 … 더 읽기

Hoisting(호이스팅) 이란?

Hoisting ES6 문법이 표준화가 되면서 크게 신경쓰지 않아도 되는 부분이 되었지만, JavaScript 라는 언어의 특성을 가장 잘 보여주는 특성 중 하나이기에 정리했습니다. 정의 hoist라는 단어의 사전적 정의는 끌어올리기 라는 뜻이다. 자바스크립트에서 끌어올려지는 것은 변수이다. varkeyword 로 선언된 모든 변수 선언은 호이스트된다. 호이스트란 변수의 정의가 그 범위에 따라 선언과 할당으로 분리되는 것을 의미한다. 즉, 변수가 함수 내에서 정의되었을 경우, … 더 읽기

Closure(클로저) 란?

들어가며 사실 전에 클로저에 대해 포스팅을 한 적이 있었다.(아주 예전에..🤔) 지금 와서 그 포스팅을 보는데 너무 부끄러웠다. 과연 클로저를 반의 반이라도 이해하고 쓴 것일까? 그래서 다시 정리한다. 클로저의 개념 우선 아래 코드를 보자. function outerFunc() { var x = 10; var innerFunc = function() { console.log(x); }; return innerFunc; } var inner = outerFunc(); inner(); … 더 읽기