synun
개발시넌
synun
전체 방문자
오늘
어제
  • 분류 전체보기 (71)
    • javascript (5)
    • react (8)
    • web (1)
    • git (3)
    • aws (1)
    • project (0)
    • 개발일기 (36)
    • 항해99 (16)
    • 회고 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • json-server
  • howler.js
  • Algorithm
  • use-sound
  • React
  • Redux-toolkit
  • Howler
  • 합성컴포넌트
  • wil
  • Vite
  • fout
  • apt-fast
  • 인프랩
  • CI/CD
  • 항해99
  • 인프콘
  • password authentication was removed
  • 알고리즘풀이
  • react-query
  • SSE
  • Selenium
  • framer-motion
  • TIL
  • GIT
  • gh-pages
  • githubactions
  • life-cycle
  • javascript
  • sipe
  • github actions

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
synun

개발시넌

[TIL] 왜 이렇게 바쁜가요?😭
개발일기

[TIL] 왜 이렇게 바쁜가요?😭

2023. 1. 19. 23:49

지속적인 폰트 렌더링

styled-components의 Globalstyles.js에 폰트를 적용했던게 문제였다.

폰트 부분만 CSS파일로 빼고 index.js에 import시키면서 해결했다.

 

이런 현상을 FOUT(Font Of Unstyled Text)라고 한다. css가 적용되기 전에 텍스트가 보여지는 현상이다.

styled-components의 globalstyle에서 font-face를 적용하면 일어나는 문제라고한다.

 

 

[Fix] 폰트 깜빡임 · Issue #23 · Trys-Ketch/trys-ketch-client

요약 최초 렌더링 이후에 버튼 클릭 시 폰트 깜빡임 완료조건 최초 렌더링 이후에 추가적인 깜빡거림 없음

github.com

 

 

[React] 리액트 깜빡임 해결기(feat. 폰트)

일단 내가 처한 상황은, 페이지를 이동하거나 state 변경이 생길 때마다 화면이 번쩍하고 깜빡거린다는 거였다. 리렌덜이 문제인가 싶어 리액트 개발자 도구를 이용해 리렌더링 되는 컴포넌트에

velog.io

 

react + ec2 + github actions

프로젝트 배포를 s3에서 ec2로 변경하게 되면서 ec2 환경에서의 CI/CD는 어떻게 이루어지는지 찾기 위해서 레퍼런스를 찾았다.

 

 

Deploy React app to AWS EC2 using GitHub Actions - Lightrains

This article helps you understand how you can automatically deploy your reactjs application to AWS EC2 from GitHub

lightrains.com

 

합성 컴포넌트

 

쉽게 말하면, 컴포넌트의 요소들을 필요한 것만 추가해서 사용할 수 있도록하는 컴포넌트이다.

 

1. contextAPI로 관리하는 방법

	
const FlyOutContext = createContext();
 
function FlyOut(props) {
  const [open, toggle] = useState(false);
 
  const providerValue = { open, toggle };
 
  return (
    <FlyOutContext.Provider value={providerValue}>
      {props.children}
    </FlyOutContext.Provider>
  );
}

2. Object 형태로 export하면서 관리하는 방법

// export
export const Dialog = Object.assign(DialogMain, {
  Dimmed: DialogDimmed,
  Title: DialogTitle,
  Subtitle: DialogSubtitle,
  Description: DialogDescription,
  Comment: DialogComment,
  CheckButton: DialogCheckButton,
  CheckBox: DialogCheckBox,
  TextButton: DialogTextButton,
  Button: DialogButton,
  LabelButton: DialogLabelButton,
  Divider: DialogDivider,
});

// Usage
<Dialog>
    <Dialog.Title>제목</Dialog.Title>
</Dialog>

 

 

밑의 두 글은 강추한다.

 

합성 컴포넌트로 재사용성 극대화하기 | 카카오엔터테인먼트 FE 기술블로그

방경민(Kai) 사용자들에게 보이는 부분을 개발한다는 데서 프론트엔드 개발자의 매력을 듬뿍 느끼고 있습니다.

fe-developers.kakaoent.com

 

[리액트 디자인 패턴] Compound Component Pattern (합성 컴포넌트 패턴) 알아보기

이 글은 Compound Pattern과 관련된 글의 한글 번역입니다. 원문 링크: https://www.patterns.dev/posts/compound-pattern/ Compound Pattern Create multiple components that work together to perform a single task www.patterns.dev Compound Patter

im-developer.tistory.com

 

사운드 관리

사운드를 관리하기 위해서 howler.js를 제일 먼저 고려했다. 크로스 브라우징과 모든 코덱 지원 가능하며, 외부 종속성이나 플러그인도 없이 100% javascript api로 만들어져서 7kb로 굉장히 가볍다.

 

 

howler.js - JavaScript audio library for the modern web

howler.js makes working with audio in JavaScript easy and reliable across all platforms.

howlerjs.com

 

'개발일기' 카테고리의 다른 글

[TIL] 소셜 로그인 한페이지에서 함께 처리하기  (0) 2023.01.24
[TIL] SSE와 고군분투하기  (0) 2023.01.24
[TIL] 실전에서 배우기  (0) 2023.01.14
[TIL] 느려터진 apt를 구제해주세요  (0) 2023.01.13
[TIL] 더 열심히 하는 수 밖에  (1) 2023.01.04
    '개발일기' 카테고리의 다른 글
    • [TIL] 소셜 로그인 한페이지에서 함께 처리하기
    • [TIL] SSE와 고군분투하기
    • [TIL] 실전에서 배우기
    • [TIL] 느려터진 apt를 구제해주세요
    synun
    synun

    티스토리툴바