구글 코랩: 구글이 무료로 제공하는 파이썬 개발 환경구글 코랩에서 프로그램을 노트북(.ipynb)라는 파일에 작성 및 관리하며, 노트북은 구글 드라이브에 저장작성한 노트북을 열면 구글 코랩의 인스턴스 실행( 인스턴스: 클라우드상의 가상 서버)노트북에서 파이썬 스크립트를
stateful session: 사용자 상태를 전부 서버에서 관리하고 특정 세션 쿠키를 사용해서 이 세션을 해당 클라이언트와 연결→ 초기 구현 단계에서는 사용하기 쉽지만 규모가 커지면 복잡도 증가예를 들어, 로그인 성공 시 웰컴 페이지를 렌더링해야 한다고 가정할 때사용
기능 분할 설계(Feature-Sliced Design, FSD)레이어, 슬라이스, 세그먼트의 세 가지 개념으로 구분레이어레이어는 최상위 디렉토리이자 애플리케이션 분해의 첫 번째 단계각 레이어에는 고유한 책임 영역이 존재app - 프로바이더, 라우터, 전역 스타일, 전
사용하지 않는 프로퍼티를 바꿔도 리렌더링이 일어나지 않는 방법많은 컴포넌트들이 불필요하게 리렌더링됨에 따라 앱이 버벅거리며 느려지는 현상 발생→ useMemo, useCallback, React.memo를 써서 최적화할 수 있지만, 근본적인 해결책은 아님(이러한 방법들
불변성을 유지하면서 가변처럼 상태를 바꿀 수 있게 해주는 도구draft는 프록시 객체원본은 변하지 않고새로운 불변 객체를 생성
상태를 새로 고침하거나 앱을 닫았다가 다시 열어도 상태를 유지할 수 있게 해주는 기능persist 미들웨어 옵션으로 partialize 속성을 전달예) context 내부에 위치 정보 이외에도 유저 정보나 설정 값 등이 들어가 있을 수 있는데, 이때 position만
① 스토어 내부에 비동기 함수 정의 상태 관련 로직이 한 곳에 집중 상태 변경 흐름이 캡슐화 컴포넌트가 심플② 비동기 로직을 외부에서 호출, 내부에서 상태만 관리 상태 업데이트와 API 호출 분리 복잡한 로직도 관리 용이 API 함수 재
큰 파일을 여러 개의 조각으로 잘게 쪼개어 연속적으로 전송하는 기술먼저 도착하는 컴포넌트만 화면에 렌더링하고, 아직 도착하지 않은 컴포넌트는 스켈레톤 UI나 로딩 UI 등을 활용해서사용자에게 아직 로딩이 완료되지 않았다는 점을 명시적으로 보여줌스트리밍은 Dynamic
검색어에 해당하는 도서 아이템의 정보를 가져오는 코드를 작성하는 도중, 빌드시 타입 오류로 인해 다음과 같은 에러가 발생했다.참고로 useSearchParams는 현재 URL의 query string을 읽을 수 있게 해주는 Client Component 훅이다.awai
React에서 렌더링되는 과정과 Next에서 렌더링되는 과정을 살펴보면 다음과 같은 차이가 있다.HTML과 JS파일을 한꺼번에 보내고, 클라이언트에서 JS코드를 통해 웹 화면을 렌더링한다.Pre-rendering된 HTML을 클라이언트에 전송그 이후에 번들링된 Reac
디바운싱은 프로그래밍에서 많이 사용되는 개념으로, 주로 이벤트가 너무 빈번하게 발생하는 것을 최소화하기 위해 사용한다.자주 일어나는 이벤트를 감당하지 않고 일정 시간동안 이벤트가 일어나지 않으면 마지막 이벤트만 처리하는 방식이다.예를 들어, 사용자가 입력창에 글자를 입
React Query React Query는 서버에서 가져온 데이터를 웹 브라우저 앱에서 사용하기 쉽게 도와주는 기술로 데이터 가져오기, 캐싱, 동기화, 서버 쪽 데이터 업데이트 등을 쉽게 만들어 주는 상태 관리 라이브러리이다. DB에서 가져온 데이터를 클라이언트에
1) 컴포넌트 기반 아키텍처 컴포넌트 기반 아키텍처는 웹 애플리케이션의 복잡한 UI를 재사용 가능한 단위로 분할하는 방식을 말한다. 컴포넌트는 자체적으로 상태와 속성을 가지고 있으며, 독립적으로 작동한다. 각 컴포넌트는 특정 기능이나 UI의 한 부분을 책임진다.컴포넌
fatal: Need to specify how to reconcile divergent branches.git pull을 하려고 하니 fatal: Need to specify how to reconcile divergent branches. 오류가 발생했다.직역하자면
Git Stash는 새로운 브랜치에서 저장하기 전에 다른 브랜치로 이동할 때 사용한다.즉, 공식적으로 커밋하고 싶지는 않은데 다른 브랜치로 이동해야 할 때 사용한다.수정한 것을 커밋하지 않은 채로 다른 브랜치로 이동하려고 하면아래와 같은 에러 메시지가 발생하고, 다른
antialiasing 적용 전검은색 배경에서 흰색 텍스트를 사용하면 텍스트가 실제 보이는 것보다 더 두꺼워 보인다.브라우저에서 사용되는 antialiasing으로 인해 텍스트가 굵게 표시되는데,이는 일반적으로 텍스트가 검은색 바탕에 흰색일 수록 반전되어 더 두꺼워 보
git stash: 하던 작업을 임시로 저장해두고 싶을 때 사용하는 명령어어떤 작업을 하던 중에 다른 요청이 들어와 하던 작업을 멈추고 잠시 브랜치를 변경해야 할 때, 아직 완료하지 않은 일을 commit하는 것은 껄끄럽기 때문에 git stash라는 명령어를 사용한다
main branch 내려받기 보통 main branch에는 기본적인 환경세팅을 마친 작업 파일이 담겨져 있다. main branch 파일을 내려받아 각자 맡은 영역을 자신만의 branch를 만들어 작업을 수행하게 된다. [repo_url] repository 주소
React-Native에서 스토리지를 다루기 위해 사용하는 두 가지 라이브러리에 대해서 정리해보려고 한다. 바로 Async-storage와 Encrypted-storage이다. 스토리지(Storage)를 왜 써야 하는지, 또 어떤 데이터를 넣어야 하며, redux와는
앱을 다시 실행할 때, 토큰이 있으면 자동 로그인이 되도록 코드를 구현하는 과정에서 useEffect 내에서는 async/await 구문을 사용하지 못 한다는 것을 알게 되었다. 따라서 아래와 같은 코드는 사용할 수 없다. useEffect 내에서 async/a