object
-
[JS] Map이 Object보다 빠른가? 그 이유는 무엇인가?카테고리 없음 2024. 11. 20. 20:38
[JS] Map이 Object보다 빠른가? 그 이유는 무엇인가? 우리 서비스에 문제가 하나 생겼다.실시간 인터렉션에 의하여 데이터들이 화면과 db에서 제거되어야 하는 것이다. 단순이 이런 상황이라면 문제 될 것이 없지만, 다뤄야 할 데이터가 적어도 10만 개 단위란 것이다. 코드가 동작하는 흐름은 대충 이러했다. 제거할 데이터들의 id를 찾는다.id들을 특정 변수에 몽땅 넣고, UI상에서 즉시 제거한다.특정 변수를 delete할 데이터의 id 배열의 형태로 서버에 요청을 보낸다. `deleteIds: string[]`요청 성공 시에 client에 존재하는 상태를 deleteIds 변수와 비교하여 업데이트한다.-> refetch 하여 서버 데이터와 100% 동기화하기엔 데이터 개수가 너무 많다.요청 실패 ..
-
[TS] enum과 object의 차이가 무엇인가요? 꼭 enum을 사용하면 안되나요?카테고리 없음 2024. 3. 5. 17:09
[TS] enum과 object의 차이가 무엇인가요? 꼭 enum을 사용하면 안되나요? 아래 코드에 이런 코드리뷰가 달렸다. "support view 도 enum class로 관리할 수 있다면 더 좋을 것 같습니다." import styled from '@emotion/styled'; export const Controller = styled.button` border: none; z-index: 1; cursor: pointer; transition: background-color 0.3s ease-in-out; background-color: ${({ theme }) => theme.gray[0]}; `; export const PrevController = styled(Controller)` mar..
-
[자료구조] 해시 테이블은 무엇일까? 그리고 어떻게 동작할까?카테고리 없음 2024. 1. 12. 04:12
[자료구조] 해시 테이블은 무엇일까?? 해시 테이블은 자료구조의 종류 중 하나이다. 해시 테이블은 index와 value로 구성된다. 해시 테이블의 내부는 Array 구조로 구현되어 있다. 해시 함수는 데이터들을 특정 규칙에 의하여 해시 테이블에 삽입할 수 있도록 하는 함수이다. 즉, 임의의 데이터를 array에 접근 가능한 정수(index)로 변환하는 것이다. 데이터들이 해시 함수에 의해 해시 테이블에 삽입되는 과정을 해싱이라고 한다. 해시 함수에 key를 넣어 도출된 index에만 접근하면 해당하는 value를 빠르게 확인 가능하다. 하지만 해시 테이블도 단점이 있다. 만약 해시 함수에 의해 도출된 key가 중복된다면 충돌이 일어나게 된다. 예를 들어 해시 함수가 데이터의 길이를 가공하여 index를..