본문 바로가기

Laboratory3

[React] PureComponent PureComponent 의 렌더링 실험이다. 해당 레퍼런스에서 shouldComponentUpdate와 PureComponent를 이용해서 최적화를 할 수 있다. SCU는 shouldComponentUpdate가 반환한 것을 나타내며, vDOMEq는 React 엘리먼트가 동일한지 여부를 표시한다. shouldComponentUpdate는 C2에 뿌리를 둔 하위트리에서 false를 반환했기 때문에 React는 C2를 렌더링하려고 시도하지 않는다. C4와 C5 또한, C2가 렌더링하지 않기때문에 렌더링 하지 않는다. PureComponent를 사용하면 shouldComponentUpdate과 동일한 효과를 낼 수 있다. https://ko.reactjs.org/docs/optimizing-performan.. 2021. 7. 20.
new Date()는 메모리 해제를 하지않아도 괜찮을까? 아래와 같은 비교 함수를 작성하면서 의문을 갖게 되었다. compareTimeLapseToString(alarmTime, new Date()) 저렇게 new Date를 하면 메모리 누수가 발생할까? 우선 아무런 동작을 하지않고 해당 페이지에서 메모리를 체크한다. 오.. 메모리 누수가 하나도 없다. 그런다음 아래와 같이 new Date()를 계속 발생하게 하면서 메모리를 체크해보자. 메모리 누수가 발생했다. 이번엔 변수에 선언을 한뒤 null로 해제를 해주자. 음.. 그래도 누수가 발생한다. 5분동안 반복해보았다. 결론 GC는 사용하지 않는 객체들에 대해서 즉각적으로 메모리를 해제하지않는다. GC가 알아서 해제 해줄것이다. GC를 믿자. https://stackoverflow.com/questions/18.. 2021. 7. 8.
ORM에서 type이 바뀌면 DB에서 Data가 유지될까? 실험 환경 DB: postgreSQL ORM: typeorm (GraphQL) 코드 타입 변경전 import { ObjectType, Field } from '@nestjs/graphql'; import { Entity, PrimaryGeneratedColumn, Column, BaseEntity } from 'typeorm'; @ObjectType() @Entity('user') export class User extends BaseEntity { @PrimaryGeneratedColumn() id: number; @Column({ length: 32 }) @Field() username: string; @Column({ unique: true }) @Field() email: string; @Colu.. 2021. 7. 1.