dev💻 13

[VsCode] 원격으로 페어 프로그래밍을 해보자 (Live share)

재택 중에 동료와 페어 프로그래밍을 해보기로 했습니다.동료분께서 진행 중인 웹 프로젝트에 참여하게 되어 간단한 버그 수정과 기능 추가를 하기로 했고 태스크 볼륨은 크지 않았지만 일단 제가 전체적인 코드를 잘 모르기 때문에 그때그때 옆에서 물어보면서 빠르게 적응할 수 있었습니다. 프로젝트 구조를 설명하자 다음과 같습니다. Project(root)⌞ server⌞ client 최상위 폴더 밑에 서버(Node)와 클라이언트(React)가 있었고 각각을 로컬에서 실행하여, 페어 프로그래밍으로 수정한 코드의 실행 화면을 서로의 컴퓨터에서 볼 수 있게 하고 싶었습니다.VsCode의 Live Share라는 익스텐션을 사용했고 여러 가지 세팅 과정에서 시행착오가 있었기에 팁을 작성해 봅니다. 제 생각엔 메인으로 진행하..

[React] 스크롤 높이에 반응하는 이벤트 붙이기

홈페이지 우측 하단에 고정되어 따라다니는 플로팅 버튼을 만들었습니다. 그런데 이 플로팅 버튼으로인해 홈페이지 최하단 푸터의 일부 정보가 보이지 않는 현상이 있었습니다. 이를 방지하고자 스크롤을 일정 이상 내렸을 경우 플로팅 버튼이 사라지는 효과를 넣었습니다. 부드럽게 보이기 위해 페이드인, 페이드아웃 애니메이션도 추가해주었습니다. body의 전체 스크롤 높이를 이용하여 EventListener를 붙이는 간단한 방법입니다. export const FloatingButton = () => { const [isVisible, setVisible] = useState(true); useEffect(() => { const handleScroll = (e: Event) => { if (window.scrollY ..

[Vite+Typescript+Eslint] 절대경로 설정

vite에서 절대경로를 설정해 주기 위해서는 vite.config.ts와 tsconfig.json에 alias를 설정해줘야 합니다. 이것이 귀찮다면 vite-tsconfig-paths 플러그인을 사용합니다. (관련 링크) 이번 글에서는 플러그인을 사용하지 않고 manual 하게 설정해 보겠습니다. 자주 사용하는 src, atoms, hooks, components, pages, types 폴더에 대해서 설정해 보겠습니다. vite.config.ts import path from 'path'; import { defineConfig } from 'vite'; import eslint from 'vite-plugin-eslint'; import react from '@vitejs/plugin-react-sw..