타입스크립트 - 함수

함수는 애플리케이션의 코드를 구성하는 기본 요소입니다. 타입스크립트에서 함수는 클래스나 네이스페이스 내에 선언할 수 있고 때론 모듈로서 사용됩니
다. 자바스크립트에서 함수를 선언했던 것과 동일한 방식으로 선언해 사용자가 원하는 단위 기능을 수행 할 수 있습니다. 다른 점이 있다면 함수의 매개변수나 반환값에 타입을 지정해 타입 안전성을 강화할 수 있습니다.

자바스크립트 함수

기명 함수와 익명 함수의 선언

함수의 이름을 명시해 선언하는 기명 함수(named function)와 함수의 이름을 명시하지 않고 사용하는 익명 함수(anonymous function)로 나뉩니다.

webstorm 과 jira 연동해서 사용하기

webstorm을 사용하고 업무를 진행할 때 jira를 사용하다보니 jira를 별도의 창으로 띄워놓고 이슈를 생성하고, webstorm에서 작업하다가 커밋하면서
jira 티켓번호 생성하고 푸시한 다음에 티켓을 이동시켜주고 하는 반복작업이 많아졌습니다. 어떻게 보면 별거아닌 작업일 수 있지만 까먹게 되는 일이
많고 바쁠때는 모아서 하기도 하다보니 이슈 트레킹 하는데 문제가 있어보여 찾아보다가 연동하는 방법을 찾아 정리해 보았습니다.

단축키는 Mac OS를 기준으로 정리하였습니다.

webstorm에서 gitflow 사용하기

vscode 에서 webstorm으로 갈아타면서 플러그인으로 사용하던 몇가지 기능들을 webstorm 에서도 사용해 보고 싶었습니다.
그중에 git 을 사용하다 보면 대부분의 경우 git-flow 를 따라서 작업을 진행하게 됩니다. 물론 cli 를 이용해서
정책만을 따라 가며 작업할 수 있지만 번거로운 작업들도 있고 급할때는 까먹기도 하기 때문에 편하게 사용하는 방법을 찾아보았습니다.
IntelliJ Git Flow Integration를 이용한 방법입니다.

gitflow 란? git-flow 를 사용한 브랜치 전략

GitFlow?

깃플로우(git-flow) 전략은 소프트웨어의 소스코드를 관리하고 출시하기 위한 ‘브랜치 관리 전략(branch management strategy)’중 하나이다.
git-flow 전략외에도 github flowgitlab flow 전략등도 있다. 각자에게 맞는 전략을 선택해서 사용하는게 가장 중요하다.
git-flow 는 Vicent Driessen 이 제안한 git 의 workflow 디자인에 기반한 브랜칭 모델입니다. git-flow 에서 사용하는 브랜치의 종류는 5가지이며,
크게 항상 유지되는 메인브렌치(master, develop)와 일정 기간 유지되는 보조 브랜치(feature, realease, hotfix)로 나뉩니다.

타입스크립트 - 제어문 과 연산자

조건문

타입스크립트는 자바스크립트에서 사용했던 조건문을 사용할 수 있습니다. 대표적으로 if 문과 switch 문이 있습니다.
if 문은 조건의 참과 거짓에 따라 분기를 수행하는 조건문, switch 문은 입력값에 따라 분기를 결정하는 조건문입니다.

if 문

if 문은 조건이 참인지 거짓인지 판단하고 분기를 수행합니다.

if 문 형식
1
2
3
if (조건) {
명령문;
}

이때 if 문에 지정하는 조건은 참과 거짓을 판단할 수 있는 불리언(boolean) 타입이어야 합니다. 이때 if 문에 사용할 변수도 다음과 같이 명시적으로 불리언 타입으로 선언해야 합니다.

1
var idEnable: boolean = true;

타입스크립트 - 변수 선언과 기본 타입

var 의 특징

  • 호이스팅
  • 함수 레벨 스코프(블록 레벨 스코프 지원 되지 않음)

var의 첫 번째 특징은 호이스팅 입니다. 호이스팅은 선언한 변수가 스코프의 최상위로 끌어올림 되는 현상입니다.
두 번째 특징은 함수 레벨 스코프(function level scope)를 지원하므로 함수 내에서 선언한 변수는 함수 내에서만 유효하고 함수 외부에서는 참조할 수 없다는 것이다. var 는 블록 레벨 스코프(block level scope)를 지원하지 않는다. 블록 레벨 스코프란 블록{} 내에서만 유효하고 블록 외부에서는 참조 할 수 없는 것을 말한다.

블록 레벨 스코프를 지원하는 하는 대표적인 선언은 다음과 같다.

  • let, const
  • 클래스, 인터페이스, 타입 에일리어스(type alias), enum 선언

TypeScript? 타입스크립트 소개 및 개발환경 구축

타입스크립트(TypeScript)

타입스크립트(TypeScript)는 오픈소스 프로그래밍 언어입니다. 마이크로소프트가 개발했고 유지 관리하고 있습니다.
독자적인 표준을 가지고 있지 않고 ECMA스크립트 표준을 따르기 때문에 자바스크립트의 특성을 침범하지 않고 최신 ECMA 표준을 지원합니다.
그래서 타입스크립트는 자바스크립트의 상위 집합(superset)언어라고 합니다.
타입스크립트가 ECMA 스크립트를 따르므로 자바스크립트 문법을 타입스크립트에서 이용 할수 있으며, 최신 ECMA 표준을 지원함으로써 하위 ECMA 표준에 대한 컴파일도 지원합니다.

Vue 에서 Axios를 사용하여 서버통신 해보기

Axios 란?

AxiosHTTP 클라이언트 라이브러리 중 하나이다.
비동기 방식으로 HTTP 데이터 요청을 실행하고 또한 IE8 이상을 포함한 모든 최신 브라우저를 지원한다.
AxiosPromise를 기반의 자바스크립트 비동기 처리 방식을 사용합니다.

Github 블로그에 Custom 도메인 연결하기

블로그를 운영하다보니 조금씩 욕심이 생기는것 같다 ㅎㅎ Hexo를 이용해 github 블로그를 만들고 SEO를 적용시켜보기도 하고 댓글 시스템도 연결하고 스타일도 조금씩 건들여보고 하다보니 결국에 나만의 도메인을 만들어서 연결해 보고 싶었다.

그래서 여러가지를 알아보다보니 Github 자체에서 Custom Domain을 간편하게 연결할수 있도록 해주고 있었다.
한편 살펴 볼까요? 기본적으로 Github를 통해서 정적페이지를 호스팅 하게되면 기본도메인이 주어집니다.

USERNAME.github.io
그래서 저는 mishka86.github.io 로 설정되었습니다.

클로저(closure)에 대하여

클로저의 의미

클로저(closure)라는 영어단어의 사전적 의미는 ‘닫혀있음’, ‘폐쇄성’, ‘완결성’ 정도의 의미를 가집니다.
그렇다면 자바스크립트에서의 클로저는 무슨 의미를 가지고 있을까요?

클로저(closure)는 여러 함수형 프로그래밍 언어에서 등장하는 보편적인 특징입니다.
자바스크립트에서만 사용하는 개념이 아니다 보니 ECMAScript 명세에서도 클로저의 정의를 다루지 않고 있다고 합니다.
다양한 서적에서 클로저를 정의하고 있는 문장들을 한번 살펴보겠습니다.

  • 자신을 내포하는 함수의 컨텍스트에 접근 할 수 있는 함수 - 더글라스 크록포드, ‘자바스크립트 핵심 가이드’(한빛 미디어)
  • 함수가 특정 스코프에 접근 할 수 있도록 의도적으로 그 스코프에서 정의 하는 것 - 에단 브라운, ‘러닝 자바스크립트’(한빛 미디어)
  • 함수를 선언할 때 만들어지는 유효범위가 사라진 후에도 호출 할 수 있는 함수 - 존 레식, ‘자바스크립트 닌자 비급’(인사이트)
  • 이미 생명 주기상 끝난 외부 함수의 변수를 참조하는 함수 - 송현주, 고현준, ‘인사이드 자바스크립트’(한빛 미디어)
  • 자유변수가 있는 함수와 자유변수를 알 수 있는 환경의 결합 - 에릭 프리먼, ‘Head First Javascript Programing’(한빛 미디어)
  • 로컬 변수를 참조하고 있는 함수 내의 함수 - 야마다 요시히로, ‘자바스크립트 마스터 북’(제이펍)
  • 자신이 생성될 때의 스코프에서 알 수 있었던 변수들 중 언젠가 자신이 실행될 때 사용할 변수들만을 기억하여 유지시키는 함수 - 유인동, ‘함수형 자바스크립트 프로그래밍’(인사이트)
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×