Skip to content

Latest commit

 

History

History
108 lines (72 loc) · 3.08 KB

040-2022-08-29.md

File metadata and controls

108 lines (72 loc) · 3.08 KB

40번째 만남

2022.08.29

WIL

  • 네이버 IE 내년 쯤 종료한다는 루머

  • 전세계 IE 점유율이 1퍼센트 밖에 안되네 ..

  • FIREFOX는 크로미움 기반 브라우저가 아닌 게 맞음

    • CYPRESS에서 크로미움 기반 브라우저만 지원하는게 아니라 정확히는 크로미움 기반 브라우저 및 파이어폭스, 일렉트론 등을 지원 (공식문서)
  • 종호 : 뭐하나 물어봅시다

    • 재사용성이 높은 컴포넌트 만들기

    • 추상적인 이벤트 핸들러도 지켜지지 않고 있다 (인규..)

    • ComponentPropsWithoutRef 타입 개꿀

    • ReactElement < ReactNode

      • children에 ReactNode 타입이라고 명시해주더라도 optional하게 작성해야함
    • 인규 : Layout 컴포넌트 쓰는거 개인적으로 별로인 듯한 기분..

      • 비슷하더라도 매번 가져와서 써야한다고 생각함

      • <Layout>
        	{children}
        </Layout>
        
        // 위 보다는
        
        <BackGround>
          <Header/>
          children
          <Footer />
        </BackGround>
      • 변경에 유연하기 때문에

    • 추상화..

      • 구체적인 것을 간단하게 하는 것 - 종호
      • 복잡한 것을 간단하게 하는 것 - 인규
      • 객체 지향 쪽으로 바라보면 구체가 맞지 않나.. 그냥 그게 그거 같다 - 강열
    • 일반화

    • Generalization, Specialization

  • Git 이진 탐색이 있다 ?

    • 무서워서 안써봄 ㅎ
  • useEffect로 삽질 했음..

  • 함수의 params혹은 return값을 object로 하는게 가독성이 좋은 것 같다 - 인규

    • 가끔은 array(tuple)이 더 좋다 - 강열

    • const Component = () => {
        const [text, setText] = useState('');
        const { state: text, setState: setText } = useState(''); // 이건 완전 극혐
      };
  • VisionMap type

    export type VisionMap<T> = T extends unknown
      ? {
          [k in keyof T]: T[k];
        }
      : never;
    
    export type VisionMapRecursive<T> = Equal<F, T> extends true
      ? T
      : T extends (...args: infer A) => infer R
      ? (...args: VisionMapRecursive<A>) => VisionMapRecursive<R>
      : T extends object
      ? T extends infer O
        ? {
            [K in keyof O]: VisionMapRecursive<O[K]>;
          }
        : never
      : T;
    • vision map 안에 넣으면 새로운 타입을 만들어주는데, 타입에 이름이 없기 때문에 내용물이 표시되는 것이다.
    • 자세한 타입은 오인규 님에게 요청하세요.

잡담

  • 16일에 인규 집들이 예정 ~~ (미금역)
  • 동기회?를 위한 파티룸을 잡자...
  • 잡담하다가 10시 넘어서 끝남 ;