프로젝트 작업 중.....!
·
Programming/Typescript
최근의 글을 안올렸던 이유는 일단 휴가를 다녀왔고.. 강좌가 70%에 도달했을 무렵 프로젝트가 주어졌기 때문! 그래서 Motion 이라는 웹 페이지를 잠깐 만들고 있고 이 사이트는 강좌에서 배운 TS를 이용해 만드려고함. 하지만 오랫동안 토이 프로젝트를 하지 않았고 이론만 공부한 나는 JS도 까먹고 CSS도 까먹은 상태라 예전에 비해서 코딩하는데 이것도 찾아봐야 하고 저것도 찾아보면서 해야하기에 시간이 오래 걸리는 중! 물론 강좌에 만드는 영상이 올라와 있지만.. 저걸 보고하면 의미가 없기 때문에 오래 걸리더라도 천천히 해볼 예정.. 노트북을 주말밖에 사용하지 못해서 시간을 엄청 걸리겠지만.. 최대한 빨리 해보자! (디자인이 개구리 이지만.. 일단 이번에는 코드를 다루는 것에 집중하도록 하자!) + 더이..
[TS] 타입스크립트로 구현해 본 정렬 알고리즘 #2 (병합 정렬, 퀵 정렬)
·
Programming/Typescript
병합 정렬(Merge Sort) [의미] 전체 원소를 하나의 단위로 분할한 후 분할한 원소들을 다시 병합하는 정렬 [특징] 분할 단계와 병합 단계로 나뉘어져 있으며, 분할 단계는 시간복잡도에 포함하지 않음. Stable한 정렬 (중복된 데이터의 순서가 바뀌지 않는 정렬) [Big O] Best - O(nlog₂n) Worst - O(nlog₂n) [장점] 데이터의 분포에 영향을 적게 받음. 크기가 큰 레코드를 정렬할 경우 연결 리스트(Linked List)를 사용한다면, 링크 인덱스만 변경됨으로 데이터의 이동이 엄청나게 적어지고 In-Place정렬로 구현할 수도 있다. [단점] 레코드를 배열(Array)로 구현하면 Not-In-Place 정렬이 되며 추가적인 별도의 메모리를 필요로 하게 된다. [구현] ..
[TS] 타입스크립트로 구현해 본 정렬 알고리즘 #1 (버블 정렬, 선택 정렬, 삽입 정렬)
·
Programming/Typescript
정렬 알고리즘 [의미] 무작위로 섞여있는 데이터를 어떠한 기준에 맞추어 정리하는 알고리즘. [사용하는 경우] 각종 데이터의 목록을 정리하고 싶을 때 분포도의 중위값을 알아내고 싶을 때 데이터에서 중복 값을 파악하고 싶을 때 이진 탐색을 하려고 할 때 [공부하는 이유] 기본적으로 제공되는 시스템 정렬(sort 매서드)이 항상 좋은 퍼포먼스를 보장하지는 않음. 환경과 상황에 걸 맞는 정렬을 사용하는 것이 중요하기 때문. 버블 정렬(Bubble Sort) [의미] 인접한 두 개의 데이터에 크기를 비교한 후 대소관계에 따라 두 값의 교환여부를 판단하는 알고리즘. [특징] N번째 정렬 회차가 끝나면, 뒤에서 n번째 자리의 데이터가 확정됨. Stable한 정렬 (중복된 데이터의 순서가 바뀌지 않는 정렬) [Big ..
[Typescript] 단일 연결 리스트 Stack 구조 만들기
·
Programming/Typescript
[ String 타입만 받는 Stack ] interface Stack { readonly size: number; push(value: string): void; pop(): string; } type StackNode = { readonly value: string; readonly next?: StackNode; } class Stack_Impl implements Stack { private _size: number = 0; private head?: StackNode; constructor(private capacity: number) {} get size() { return this._size; } push(value: string) { if (this.capacity === this.size..
[Dream Coding TS + OOP] 계획 및 목표
·
Programming/Typescript
목표 TS의 대한 전반적인 개념과 올바른 사용방법 익히기 TS를 이용해 OOP에 대한 개념 정리하기 TS를 이용한 여러 프로젝트들을 만들어 보기 추가 공부 bigInt에 대해서. Tuple의 좋은 사용의 예 타입 설정의 범위? 타입을 정해야 하는 것과 그러지 않아도 되는 것 관심 토픽 리소스 / 사이트 타입스크립트 공식사이트 수강일지 [3/21] 소개(6/6), 타입스크립트란? (9/9) 수강 완료 / TS를 왜 사용하는지 알게됨, TS의 개발환경을 세팅함. [3/28] 기본 타입 마스터 하기 (8/16) 수강 , 6~8 정리 못함 / 타입스크립트의 기본 타입들과 좋은 사용의 예를 알게됨. [4/3 - 4/4] 기본 타입 마스터 하기 (16/16) 수강 완료 / 타입스크립트의 기본 타입들을 이해함. 슬슬..
Typescript 알아보기
·
Programming/Typescript
Typescript 알아보기 Anders Hejlsberg가 개발을 주도한 Typescript는 Javascript의 대체 언어의 하나로써, Javascript(ES5)의 Superset(상위확장, 초집합) 이다. Javascript는 인터프리터 기반의 언어로써 실행과 동시에 렌더링 되는데, Typescript는 인터프리터 방식이 아닌 컴파일 후에 실행되는 컴파일 언어이다. (전통적인 컴파일 언어와는 차이가 있어 Transpile 이라는 용어를 사용하기도 한다.) Typescript는 정적 타이핑을 지원하며, ES6(ECMAScript 2015)의 Class, Module 등과 ES7의 Decorator 등을 지원한다. (Typescript는 정적 타입의 언어이기 때문에 디버깅 하기 쉽다는 장점이 있다...