일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- LeetCode
- dp
- Level3
- Level1
- sql
- 백준
- 파이썬
- 고득점Kit
- 리액트
- VUE
- 리트코드
- 자바스크립트
- 동적계획법
- Doitvue.js입문
- Level2
- Medium
- OS
- 배열
- 웹프로그래밍
- CS
- python
- react
- 프로그래머스
- typescript
- javascript
- 카카오
- 코테연습
- web
- 프로그래밍
- C++
- Today
- Total
목록분류 전체보기 (364)
제네릭 내장 제네릭 & 제네릭이란? 제네릭 타입이란 타입스크립트에 내장된 타입이며 다른 타입과 연결된다. 제네릭 타입을 사용하면 보다 나은 타입 안정성을 확보할 수 있다. const names: Array = []; //string[] names[0].split(' '); const promise = new Promise((resolve, reject) => { setTimeout(() => { resolve(10); }, 2000); }); promise.then(data => { data.split(' '); // error : Property 'split' does not exist on type 'number'. }) Generic Functions 제네릭 함수를 직접 만들어보자. 두 개의 객체를..
고급 타입 intersection Types 두 가지 타입을 교차해서 사용할 때 사용한다. type Admin = { name: string; privileges: string[]; }; type Employee { name: string; startDate: Date; } type ElevatedEmployee = Admin & Employee; const e1: ElevatedEmployee = { name: 'Max', privileges: ['create-server'], startDate: new Date() } Type Guards 유니언 타입을 도와 특정 타입을 발라내는 역할을 한다. 유연성을 가지는 건 좋지만 런타임 시 정확히 어떤 타입을 얻게 될지 알아야하는 경우가 많기 때문이다. typ..
인터페이스 인터페이스 인터페이스는 객체의 구조를 정의할 수 있게 해준다. 따라서 해당 구조를 가져야하는 객체에 대한 타입을 확인하는 용으로 사용할 수 있다. interface Person { name: string; age: number; greet(pharse: string): void; } let user1: Person; user1 = { name: 'Max', age: 30, greet(pharse: string) { console.log(`${pharse} + ' ' + ${this.name}`); } }; user1.greet('Hi'); 왜 사용할까? 인터페이스와 사용자 정의 타입은 완전히 같지 않다. 인퍼테이스는 객체의 구조를 설명하기 위해서만 사용한다. 인터페이스를 자주 사용하는 이유는 ..
클래스 OOP? Work with (real-life) Entities in your code Class & Instnaces Objects : The things you work with in code (Instance of classes) Classes : blueprints for objects 객체를 정의 다수의 객체를 생성 Class 생성하기 class Department { //class field name:string; //생성자 함수 constructor(n: string) { this.name = n; } } const accounting = new Department('Accounting'); console.log(accounting); 자바스크립트로 컴파일하기 "use strict";..
TypeScript 컴파일러 wath 변경 사항이 잦을 때 watch 모드를 사용하면 변경사항이 생길 때마다 자동으로 컴파일 할 수 있다. tsc app.ts --w 전체 프로젝트 컴파일 / 다수의 파일 타입스크립트에게 프로젝트 단위로 컴파일해야한다고 알려줄 수 있다. 아래 커맨드를 통해 tsconfig 파일을 생성한다. tsc --init 한꺼번에 컴파일을 할 수 있다. tsc 특정 파일 제외시키기 tsconfig.ts 에서 exclude 설정을 통해 특정 파일을 컴파일 시 제외할 수 있다. "exclude": [ "analytics.ts", ] 아무 것도 설정하지 않으면 자동으로 node_modules이 제외된다. 패턴으로 제외시키기 "exclude": [ "*.dev.ts", //dev.ts가 포함..
v-model input의 값을 처리하기 위해서 v-bind + v-on한 버전 input의 type에 따라 value 값의 타입을 자동으로 변환해준다. v-model은 modifier도 제공한다. lazy 기본적으로 v-model은 각 입력 이벤트 후 입력과 데이터를 동기화하는데 lazy 옵션을 사용하면 change 이벤트 이후에 동기화할 수 있다. number value를 number로 변환해줌 (parseFloat()로 변환되지 않는 값일 경우 원래 값을 리턴해줌) trim 시작과 뒤의 공백을 제거해줌 Custom Form 만들기 v-model 은 v-bind와 v-on 의 숏컷이기 때문에 props와 emits를 이용하면 커스텀 폼에서도 v-model로 상태 값을 연결할 수 있다. RatingCo..
Literal Type 특정한 값을 변수의 타입으로 지정하는 것을 리터럴 타입이라고 한다. const foo:string; string , number 외에 특정한 값을 타입으로 지정할 수도 있으며 union 타입과도 같이 사용할 수 있다. resultConversion: 'as-number' | 'as-text' Type alias 사용하고자 하는 타입을 별칭으로 지정하여 재사용할 수 있다. type ConversionDescriptor = 'as-number' | 'as-text'; 타입 객체를 생성하는 것도 가능하다. type User = {name: string; age: number}; function greet(user:User) { console.log(`Hi I'm ${user.name}`..
칸반 에자일의 할 일 관리 기법 할 일 목록에서 새로운 할 일을 가져다가 한다. [Todo] => [Progress] => [Done] Task Task Task . . . . . . 각 task는 우선 순위로 정렬되어 있다. 반드시 진행 중인 할 일(Wip)의 갯수를 제한해두어야 한다. 각자 하고 있는 일의 상태를 쉽게 알 수 있어 프로젝트 관리가 편하다. 스크럼 스크럼은 팀이 중심이 되어 개발의 효율성을 높인다는 의미이다. 스크럼은 self-organizing, cross-functional해야한다. 데일리 스크럼 업무 진행 현황과 일일 계획 및 이슈를 매일 아침 15분이 넘지 않게 간단히 논의 업무 진행 변화 사항에 대해 칸반 보드 갱신 및 공유 이슈가 있을 경우, 다른 팀원들에게 도움 요청 칸반 ..