profile
React를 통해 서비스 완성도를 추구하는 FrontEnd Engineer
태그 목록
전체보기 (414)JavaScript(88)DaeguFE(48)Python_BE(38)Java(28)리팩토링(24)비전공자의 CSS준비(22)js(22)UNIX_BE(18)wanted(18)DaeguAI(15)Newbie_Dict(14)React(12)비전공자의 HTML준비(10)python(9)CSS(8)기술면접(7)비전공자의 TS준비(7)알고리즘(6)FE_Study(6)비전공자의 Sass준비(5)Other_FE(5)typescript(5)번역(4)MDN(4)백준(3)aws(3)Week2-2(3)면접(3)SQLD(2)Week3-1(2)비전공자의 Solidity 준비(2)react-query(2)Week3-2(2)비전공자의 React 준비(2)비전공자의 Redux 준비(2)Week4-2(2)E-commerce PJT(2)배포(2)Week4-1(2)비전공자의 BootStrap준비(2)Week2-1(2)비전공자의 React준비(2)관심사의 분리(1)반성문(1)17609(1)검색 히스토리(1)DFS와 BFS(1)물통(1)오디오(1)옥상 정원 꾸미기(1)2212(1)트리(1)팰린드롬??(1)1038(1)Recoil(1)git hook(1)6603(1)비전공자의 IT준비(1)서버(1)useEffect(1)2668(1)센서(1)2583(1)7562(1)컨베이어 벨트 위의 로봇(1)검색(1)이진 검색 트리(1)graphql(1)ESLint(1)Prettier(1)단지번호붙이기(1)15486(1)프로젝트 생성(1)CI/CD(1)ec2(1)Public class fields(1)20055(1)redux-toolkit(1)필터링(1)퇴사2(1)1068(1)2251(1)18405(1)클로저(1)2606(1)바이러스(1)CS(1)github action(1)readme(1)Husky(1)이모티콘(1)github actions(1)Private class features(1)BFS(1)A-B(1)cd(1)14719(1)vite(1)소프트웨어 테스트(1)preonboarding(1)redux-middleware(1)강의실 배정(1)소수(1)MSW(1)Context API(1)(1)렌더링(1)비전공자의 JavaScript준비(1)구현테스트(1)6198(1)정렬(1)custom hook(1)감소하는 수(1)직무면접(1)면접스피치(1)14226(1)실행 컨텍스트(1)2467(1)Vercel(1)github(1)lazy(1)5639(1)next.js(1)4주차 과제 피드백(1)의존성(1)2178(1)contructor(1)6593(1)BootStrap_FE(1)DFS(1)미로 탐색(1)2589(1)횡단 관심사(1)SSAFY(1)비전공자의 TypeScript준비(1)프리온보딩(1)1260(1)16953(1)redux(1)Suspense(1)소인수분해(1)git(1)ci(1)11000(1)검색 하이라이팅(1)숫자고르기(1)비전공자의 recoil 준비(1)2667(1)Week2(1)scss(1)1092(1)용액(1)보물섬(1)비전공자의 Python준비(1)과제 피드백(1)비전공자의 Redux-saga준비(1)sql(1)3주차 과제 피드(1)SRP(1)자료구조(1)빗물(1)커리어코칭(1)원티드(1)redux saga(1)인성면접(1)S3(1)경쟁적 전염(1)상범빌딩(1)react router dom(1)클라우드 컴퓨팅(1)classes(1)
post-thumbnail

[E-commerce PJT]_MSW 및 GraphQL 적용하기 - 2

쇼핑몰의 어느 정도 틀을 마련하고... 이제 어떻게 API를 백엔드로부터 받아올지에 대한 고민이 생겼다. 사실상 백엔드를 구현해본적이 없기 때문에 클라이언트 측에서는 어떻게 코드를 미리 작성할지 감이 안오는 것이다. 그렇다고 WEB-API를 그대로 들고 오기에는 프로젝

2023년 8월 28일
·
0개의 댓글
·
post-thumbnail

[Vercel + EC2] 배포하기까지 험난한 여정...

처음에는 socket.io를 구현해서 React로 채팅할 수 있는 화면을 간단히 구현해보려고 했다.그러다보니... 소켓 통신 자체를 로컬끼리해서 의미가 있나 싶었다. 그래서 배포를 해보려고 시작하는데...서버 코드랑 클라이언트 코드는 생략하겠습니다!https:

2023년 8월 25일
·
0개의 댓글
·
post-thumbnail

[E-commerce PJT]_기본 세팅 및 스켈레톤 페이지 생성하기 - 1

⭐ 사이드 프로젝트 시작 말은 E-commerce PJT 라고 거창하지만, 그냥 쇼핑몰 웹사이트를 만들어 보는 것이다. 다만 최대한 백엔드와 프론트엔드 모두를 구현해보려고 한다. 이번에 현대오토에버 이커머스에 지원하면서, 이커머스에 지원했지만... 해당 도메인과 관련된

2023년 8월 23일
·
2개의 댓글
·
post-thumbnail

[리팩토링]_React에서 커뮤니티 페이지 구현: 검색, 정렬, 무한스크롤의 효율적인 조화

기존의 커뮤니티 페이지 로직은 사용자의 요구 사항을 충족시키기에는 다소 제한적이었습니다. 새로운 코드는 React Hook과 상태 관리를 활용하여 유동적인 정렬, 검색 및 페이지네이션 기능을 제공합니다. 이로써 사용자 경험이 향상되며, 코드의 유지보수와 확장성 또한 증

2023년 8월 10일
·
0개의 댓글
·
post-thumbnail

[리팩토링]_MSW를 활용한 게시물 검색과 정렬: 프론트엔드 개발의 효율적인 테스트 전략

개발 중인 프론트엔드에서 서버와의 통신을 테스트하려면, 실제 백엔드 서버가 필요하다. MSW(Mock Service Worker)를 사용하면, 서버 없이 클라이언트 측에서 API 응답을 모방할 수 있다. 이 코드는 게시물 검색, 정렬, 필터링 기능을 테스트하기 위해 M

2023년 8월 10일
·
0개의 댓글
·
post-thumbnail

[리팩토링]_날짜 및 시간 계산의 간결화: calculateTime 함수 리팩토링

이 코드는 특정 시간 문자열을 분석하고 현재 시간과의 차이를 사람이 읽을 수 있는 형식으로 반환하는 역할을 합니다. 원본 코드의 문제점과 개선의 필요성을 설명해봅시다:코드 복잡성: 중첩 조건문이 많아 코드의 복잡성이 높아질 수 있음.가독성: 여러 단계의 문자열 분할과

2023년 8월 10일
·
0개의 댓글
·

[리팩토링]_React에서 사용 약관 불러오기: useTermsContent Hook 리팩토링

재사용 가능한 로직: useTermsContent라는 커스텀 Hook을 만들어서 다양한 컴포넌트에서 사용 약관을 불러올 수 있도록 함.효율적인 데이터 처리: 사용 약관을 문자열 배열로 변환하여 컴포넌트에서 쉽게 사용할 수 있도록 함.보안: 인증 토큰을 헤더에 포함시켜

2023년 8월 10일
·
0개의 댓글
·
post-thumbnail

[리팩토링]_React에서의 인증 가드: RouterGuard 컴포넌트 리팩토링

효율적인 토큰 관리: 토큰을 처리하는 방식을 클래스로 구조화하여 효율적인 토큰 관리를 가능하게 합니다.재사용성: RouterGuard 컴포넌트를 도입하여 다양한 경로에서 재사용 가능한 인증 로직을 구현합니다.사용자 경험 향상: 인증 실패 시 사용자에게 적절한 경고 메시

2023년 8월 10일
·
0개의 댓글
·
post-thumbnail

[리팩토링]_리액트 컴포넌트의 세련된 리팩토링: Dialog와 SpeedDial 컴포넌트

컴포넌트 분리: Dialog 컴포넌트와 SpeedDial 컴포넌트를 분리하여 각 컴포넌트의 책임을 명확하게 만듭니다.스타일 리팩토링: 인라인 스타일을 줄이고, 재사용 가능한 스타일을 적용함으로써 코드의 유지보수성을 향상시킵니다.훅 활용: 커스텀 훅 (useTermsCo

2023년 8월 10일
·
0개의 댓글
·
post-thumbnail

[리팩토링]_React에서 사용자 홈 화면 효율적으로 렌더링하기: Hooks, Intersection Observer 및 리팩토링된 좋아요 기능의 활용

성능 최적화: Intersection Observer를 사용하여 필요할 때만 데이터를 불러오고 렌더링하도록 최적화합니다.코드 재사용성 향상: Custom Hooks(useLikeMutation, useIntersectionObserver)를 사용하여 코드의 재사용성을

2023년 8월 10일
·
0개의 댓글
·
post-thumbnail

[리팩토링]_리액트에서 좋아요 기능 효율적으로 관리하기: React Query와 useMutation 활용

사용자 인터랙션에 따른 상태 관리는 복잡성이 빠르게 증가할 수 있는 영역입니다. 리팩토링의 주된 목적은 다음과 같습니다:코드 재사용성: 좋아요와 싫어요 기능을 효율적으로 재사용할 수 있는 Hook을 만들기 위함입니다.상태 관리의 단순화: React Query를 사용하면

2023년 8월 10일
·
0개의 댓글
·
post-thumbnail

[리팩토링]_무한 스크롤의 효율적 구현: Intersection Observer를 활용한 React Hook 리팩토링

무한 스크롤은 사용자 경험을 향상시키는 인기 있는 기능입니다. 기존 구현 방식에서는 성능과 관리가 복잡한 문제가 있을 수 있으며, 이를 해결하기 위해 Intersection Observer를 활용한 새로운 리팩토링을 진행하였습니다. 주요 변경 사항은 다음과 같습니다:성

2023년 8월 10일
·
0개의 댓글
·
post-thumbnail

[리팩토링]_User Home Fetcher의 리팩토링 이해와 구현

이 코드는 사용자의 현재 위치와 관련된 기능을 수행하며, 객체 목록을 무한 쿼리로 가져오는 로직을 구현하고 있습니다. 리팩토링의 주된 목적은 다음과 같습니다.코드 효율성 향상: 기존 코드에서 중복되는 로직을 제거하고, 가독성과 유지보수성을 높이기 위해 수정하였습니다.향

2023년 8월 10일
·
0개의 댓글
·
post-thumbnail

[리팩토링]_로그인 시스템 리팩토링: 효율성과 가독성을 위한 변화

기존 로그인 시스템의 코드는 작동은 했으나, 코드의 재사용성, 유지보수, 효율성 측면에서 더 개선될 수 있는 여지가 있었습니다. 리팩토링을 통해 다음과 같은 목표를 달성하려 했습니다:토큰 관리의 효율화: TokenStorage 클래스의 도입으로 토큰 관리가 일관되고 효

2023년 8월 10일
·
0개의 댓글
·
post-thumbnail

[리팩토링]_React 버튼 컴포넌트 리팩토링: 코드의 가독성과 확장성 강화

원래의 버튼 컴포넌트 코드는 특정한 목적에만 사용되었고, 다른 환경에서 재사용하기 어려운 구조로 되어 있었습니다. 또한, 이벤트 핸들러가 onClick으로 제한되어 있어, 다양한 상황에서의 처리가 불가능했습니다.onClick에서 onSubmit으로의 변화: 버튼의 역할

2023년 8월 10일
·
1개의 댓글
·
post-thumbnail

[리팩토링]_로컬 스토리지와 함께하는 토큰 보안: TokenStorage 클래스 분석

중앙화된 토큰 관리로그인 토큰을 한 곳에서 관리하면 다른 부분에서 토큰에 접근할 때 일관된 방식으로 처리할 수 있습니다. 이로 인해 코드의 중복성을 줄이고 유지 보수를 간편하게 할 수 있습니다.보안 강화비공개 클래스 속성 (편리한 인증 처리해당 클래스는 토큰의 저장,

2023년 8월 10일
·
0개의 댓글
·
post-thumbnail

[리팩토링]_MSW를 통해서 로그인 및 커뮤니티 데이터 가져오기

일단 무한스크롤을 msw로 구현할 수 있는지 궁금해서 시작했고, 결과적으로 성공했습니다.로그인의 경우는 해당 페이지가 기존에 라우팅 가드가 걸려있었기 때문에 로그인 기능을 급하게 구현하여 진행했습니다. 아 그리고 정렬 기능도 시도하여 성공하였습니다.이 파일은 React

2023년 8월 10일
·
0개의 댓글
·
post-thumbnail

[리팩토링]_localStorage 적용 Custom Class 만들기

그냥 직접 사용하면 되지, 굳이 커스텀 Custom Class를 만든 이유가 무엇인가? > 맞다. 하지만 렉시컬 스코프를 사용해서, 외부에서 accessToken을 직접 접근하지 못하게하기 위해서 만들었다. 작성 코드를 보면 각 클로저가 외부 변수를 참조하는데, 비공

2023년 8월 1일
·
0개의 댓글
·
post-thumbnail

[리팩토링]_성능 최적화

애초에 three.js가 반영된 프로젝트라서 렌더링 측면에서 문제가 좀 있었다. 로그인을 하고나면, 다른 라우터로 이동하기가 안되었다. 하지만, 로그인 성공 후, 해당 조건으로 홈화면에서 window.reload()를 통해서 해결했지만, 성능이 문제였다. 그래서 모든

2023년 7월 30일
·
0개의 댓글
·
post-thumbnail

[리팩토링]_useAPI 커스텀 훅

이전 프로젝트 때, 커스텀 훅을 본인이 담당해서 만든 적이 있었다. 하지만, 그 당시에 만들었던 커스텀 훅은 굉장히 부실해 보였고, 이를 보완하기 위해서 다시 만들었다. 테스트는 해봤고, 아주 잘된다. 그래서 문제 없이 사용 가능하다.이 코드는 커스텀 훅인 useAPI

2023년 7월 30일
·
1개의 댓글
·