일반적으로 falsy한 값의 체크는 다음과 같이 확인한다. function isFalsy(value) { return !value ? true : false; } console.log(isFalsy(undefined)); // true console.log(isFalsy(null)); // true console.log(isFalsy(0)); // true console.log(isFalsy('')); // true console.log(isFalsy([])); // false console.log(isFalsy({})); // false /* 요런 특징을 이용해서 if(value) 또는 if(!value)로 활용하곤 한다. */ 그러나 0과 빈 문자열은 검증하지 않고, 오로지 null 또는 undefi..
String.prototype.localeCompare()를 배열의 sort()와 함께 사용하여 다음과 같이 코드를 작성할 수 있다. String.prototype.localeCompare() - JavaScript | MDN The localeCompare() method returns a number indicating whether a reference string comes before, or after, or is the same as the given string in sort order. developer.mozilla.org const arr = [ { name: 'folder_1' }, { name: 'folder_2' }, { name: 'folder_3' }, { name: 'fold..
클래스를 const varName = class ClassName {} 형태로 작성할 수 있는 점을 다음과 같이 이용할 수 있다. 'use strict'; describe('my-tests', () => { it('playground', async () => { const arm = 'add one arm'; const leg = 'add two legs'; const head = 'add small head'; const body = 'add big body'; const robot = Robot.builder .setArm(arm) .setLeg(leg) .setHead(head) .setBody(body) .build(); expect(robot).toBeInstanceOf(Robot); expec..
리마인드용으로 작성함! PK 인덱스와 세컨더리 인덱스의 구조 B-Tree PK 인덱스와 세컨더리 인덱스 모두 루트 노드 > 브랜치 노드 > 리프 노드의 구조를 갖는 것은 동일하다. 또한, PK 인덱스와 세컨더리 인덱스 모두 루트 노드 또는 브랜치 노드는 자식 노드의 주소를 갖는다. 그러나 세컨더리 인덱스는 리프 노드에서 관리되는 인덱스의 값(value)이 프라이머리 키를 가리키는 반면, PK 인덱스에서는 리프 노드에 실제 레코드가 저장된다. 참고. InnoDB 에서의 데이터 파일 기본적으로 MySQL의 스토리지 엔진 중 InnoDB 에서는 PK 인덱스가 데이터 파일의 역할을 수행하며, PK 인덱스 자체가 데이터 파일이다. 이는 MyISAM 엔진에서는 데이터 파일에 실제 레코드가 저장되는 것과 대비된다.
Using where MySQL은 내부적으로 스토리지 엔진과 MySQL 엔진이라는 두 계층으로 나뉘며, 각각 다음과 같은 역할을 수행한다. 스토리지 엔진: 디스크나 메모리 상에 존재하는 레코드 중 필요한 것을 읽거나 저장한다. MySQL 엔진: 스토리지 엔진으로부터 전달 받은 레코드를 가공하거나 연산한다. 이 때, 실행 계획의 Extra 컬럼에 표시된 Using where는 MySQL 엔진 계층에서 별도의 필터링을 처리한 경우를 의미한다. Using index 커버링 인덱스라고도 하며, 실제 데이터 파일을 전혀 읽지 않고도 인덱스만 읽어들여 쿼리를 모두 처리할 수 있는 경우이다. 예를 들어, SELECT 절에서 선택하는 컬럼과 임의의 인덱스에 명시된 컬럼이 같은 경우 실제 데이터 레코드 파일을 읽는 대신..
TL;DR any: 대상에 대한 타입 검사를 포기한다. 즉, TS를 사용하는 이유를 무색하게 만드므로 사용을 지양하는 것이 바람직하다. unknown: 아직은 대상의 타입을 알 수 없으나, 반드시 명시적으로 형변환 또는 타입 가드를 적용하여 안전하게 사용해야 한다. 때문에 반드시 any 대신 unknown을 사용해야 한다! 타입 가드의 경우, 원시 타입이라면 typeof / 인스턴스라면 instanceof / 객체라면 in 연산자 등을 활용할 수 있다. 그 이외의 경우에 사용자 정의 타입 가드를 구현할 수 있다.
- Total
- Today
- Yesterday
- react
- jQuery
- pgloader
- Linux
- Java
- eureka
- Spring Cloud Config
- AWS
- Gradle
- postgresql
- spring boot
- IntelliJ
- etc
- kotlin
- dev
- Node.js
- Vault
- JEST
- javascript
- JPA
- Database
- shell
- terraform
- Git
- mysql
- Puppeteer
- Docker
- 코딩테스트
- AWS IoT
- hashicorp
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |