목록전체 글 (101)
솔미는 성장중
시작자바스크립트에서 0.1 + 0.2를 해보면 0.3이 아닌 0.30000000000000004가 나오는 것을 볼 수 있습니다.왜 그런걸까요?결론부터 말하자면 자바스크립트는 64비트 부동소수점을 사용하기 때문입니다. 부동소수점이란?그럼 부동소수점이라는 건 뭘까요?쉽게 표현하면 모든 숫자를 1.xxxxxx 형식으로 나타낸다는 것입니다.자바나 파이썬의 Float 타입, 자바스크립트의 number타입이 해당됩니다. 자바스크립트는 숫자 타입을 나타날 때 IEEE 754의 부동소수점 표현 형식 중 배정밀도 64비트 부동소수점 형식을 따릅니다.- 처음 1 Bit : 부호 표시용 (양수 = 0, 음수 = 1)- 11 Bits : 지수 부분. (소수점이 몇 칸 움직일 지)- 52 Bits : 가수 부분 (소수점이 움직..
회원가입 플로우에서 이탈율을 줄여야한다는 미션이 들어왔다!물론 기획/디자인 적으로도 개선 가능하겠지만, 기술적으로 해결하는 방법에 대해 고민해보았다. 요구사항은 회원가입 플로우 관련이었지만, 앱 전반적으로 적용할 수 있도록 여러가지 방안을 생각하고 적용해보았다 :) 3가지 정도로 추려보았다.1. 키패드가 올라올 때 포커싱된 Input으로 화면을 스크롤 시켜 사용자의 피로를 줄인다.2. 페이지를 이동할 때 특정 페이지들에선 스크롤이 기억되도록 한다3. 페이지 이동 시에 데이터를 초기화시키는 것이 유저에게 노출되지 않도록 한다. (= 페이지 이동 후 데이터 초기화 = 페이지 깜빡임 줄이기) 1. 키패드가 올라올 때 포커싱된 input으로 화면 스크롤 시키는 로직 추가하기미리 알고 넘어가야 하는 내용windo..
타입스크립트를 쓰는 이유1. 타입 없이 개발할 시 런타임에서 에러가 나는게 많음.2. 개발 용이성 - 자동완성 ide가 타입스크립트를 돌려준다.vscode 내 서버가 리소스를 쓴다.제대로 타입을 짰는데 에러가 난다. -> restart TS server를 하면 해결된다.타입 추론할 것이 많으면 에디터 내에서 시간이 느려질 수 있다. 그러면 타입추론을 줄이고 타입을 선언해주면 된다. 타입스크립트는 구조적 서브 타이핑이다.interface Cat { name: string; age: number;}interface Cat { name: string; age: number;}let a:Dog;let b:Dat;a=b // 구조를 비교하기에 동일하다고 볼 수 있음 명목적 타이핑, 구조적 타이핑, 구조적 ..
성능 측정 방법lighthouse , speedtestcf) 모바일로 돌리면 lighthouse 내부 성능이 안좋다. -> 모바일 80점 === 데스크탑 100점 Core web vitals면접 질문 대비하자! (fcp, Icp, tti, cls, (inp))측정항목들을 통칭하는 말 1. FCP (First Contentful Paint)웹페이지에서 가장 먼저 보이는 페인트가 몇 초 걸리는지. 2. LCP (Largest Contentful Paint)웹페이지에서 가장 큰 리소스가 불러와지는 시간거의 이미지 최적화와 유사함.(ex. 동영상, 이미지..) 3. TBT (Total Blocking Time)= TTI(time to interaction) - FCP(first contentful paint)=..
이제는 사용하지 않는 or 잘 사용을 많이 안하는 안티패턴 1. 헝가리안 표기법- 접두어(prefix) 사용 Xex) IComponentProps 2. useMemo, useCallback X- 19버전을 사용하면 사용할 필요없다. (최적화 용도로)- 리액트 컴파일러가 최적화를 해준다.- 메모리 주소값으로 비교하는게 리소스가 많이 들어서 최적화는 비용이 많이 든다. (최적화 용도)- 배열, 숫자, 문자 렌더링될때마다 메모리 값이 동일 / 함수같은 경우는 값이 달라질 수 있음. 가변적인 객체 값을 고정시켜줄 때 사용. useEffect에서 아예 안넣은 거 = useMemo의 빈배열. 바뀌는 값을 묶어놓기 위해서 사용하는건 사용할 수 밖에없음. 함수는 호출되면 메모리 주소가 바뀜. - useCallback..