728x90
반응형
source-code
- 싱글톤 패턴 단위 테스트를 작성하는 3가지 방법 Backgrounds싱글톤 패턴(Singleton Pattern)이란?싱글톤 패턴은 애플리케이션 내에서 특정 클래스의 인스턴스가 단 하나만 생성되도록 보장하는 디자인 패턴입니다. 데이터베이스 연결, 설정값 관리, 공통 서비스 제공 등 애플리케이션 전역에서 공유되어야 하는 리소스를 관리할 때 자주 사용됩니다.class Singleton { private static instance: Singleton | null = null; private constructor() {} static getInstance(): Singleton { if (!this.instance) { this.instance = new Singleton(); } return this.instance; }}.. 2024.11.19
- server action으로 cookie 설정 시, server component reload 버그 Backgrounds회원가입 후, 백엔드에서 반환한 access, refresh 토큰을 cookie에 저장해야 했습니다.// SignUpFormconst SignUpForm = () => { const handleSubmit = async () => { try { // 회원가입 성공 시 AT, RT 반환 const { accessToken, refreshToken } = await signUpApi(form); setAuthCookies(accessToken, refreshToken) router.replace("/") } catch (e) { setErrors(e); } }; return (...)} 위 코드에서처럼.. 2024.11.15
-
You Might Not Need a Dispatch
Type. BackgroundsFE 개발자 단톡방에 이런 질문이 올라왔습니다.결론부터 말하자면...You Might Not Need a Dispatch Type.해당 타입 사용을 선호하지 않는다기 보다, 사용할 필요가 없다 란 답이 가장 적절하다고 생각했습니다. 그 이유가 무엇일까요?언제 사용되는가?Dispatch은 React에서 useState 훅을 사용할 때 반환되는 상태 업데이트 함수의 타입입니다. 상태 값을 업데이트할 때 사용하는 setState 함수의 타입을 정의하며, React 상태 관리에서 매우 일반적으로 사용되죠. 그렇다면, 해당 타입 정의가 왜 필요할까요? 가장 대표적인 예시는 자식 컴포넌트에 Props로 전달할 때입니다. 부모 컴포넌트에서 useState로 상태를 관리한 뒤, 자식 컴포넌트에서 상.. 2024.10.29 - 지속 가능한 프론트엔드 단위 테스트 작성법 1. 프론트엔드는 테스트가 필요 없다?!프론트엔드 단위 테스트는 항상 논쟁의 중심에 있습니다. 프론트엔드 애플리케이션의 복잡성과 중요성이 증가하면서 단위 테스트의 필요성을 주장하는 목소리가 점점 늘어나고 있습니다. 하지만 자주 변경되는 UI와 그로 인해 쉽게 깨져버리는 테스트 코드들을 보며 프론트엔드에서의 단위 테스트가 불필요하고 비효율적이라는 비판도 여전히 거셉니다. 저는 여러 프론트엔드 프로젝트 경험을 바탕으로 단위 테스트는 반드시 필요하다는 결론에 도달했습니다. 단위 테스트는 코드를 안전하게 리팩토링하고, 코드 품질을 유지하며, 오류를 사전에 예방할 수 있는 중요한 수단입니다. 코드베이스가 커지고 협업 인원이 늘어날수록 단위 테스트를 통해 코드 수정 시 발생할 수 있는 문제를 사전에 방지해야만 하며.. 2024.10.09
lean
- 24.11.10~24.11.18 업무 공유타겟 요소 조회 알고리즘 개선현 서비스의 핵심 로직 중 하나인, 타겟 요소 조회 알고리즘을 개선했다. 타겟 요소 조회 알고리즘은 사용자가 선택한 요소를 가이드 실행 시 얼마나 정확하게 찾아가는지 를 의미하는데,서비스 극 초창기 때 작성한 로직을 지금까지 사용하고 있었다. 당시만 하더라도, 서비스의 정확한 컨셉이나 사용 기업이 확정되지 않은 상태로우연찮게 POC가 이뤄진 B사의 요구사항을 구현하는데 급급했다. Azure, GCP 등 외부 서비스에서 사용자가 선택한 요소를 식별해야 했기 때문에일반적인 식별자(대표적인 예시가 id)를 사용할 수 없었고이로 인해 최대한 많은 예외 케이스를 고려해야만 했다. 하지만 점차 POC 기업이 늘어나면서기존 알고리즘이 고려했던 예외 케이스로 인해, 오히려 조회 결..
- 24.10.27~24.11.10 업무 공유체크리스트 기능 프로덕션 업데이트약 1주일 만에 체크리스트 관리 기능 개발을 완료했고, QA 후 수정사항을 반영한 뒤 프로덕션 업데이트를 진행했다.미팅 이후 이탈했던 기업들에게 추가적으로 안내 + 신규 기업들에게도 함께 해당 기능을 안내하는 중! 가이드 문서 제작이전에는 서비스 사용 방법을 미팅 과정에서 안내하고, 관리자 페이지에 가이드 탭을 추가해 알려줬었다.하지만 기능들이 하나 둘 추가되면서, 단순한 페이지 하나에 모든 내용을 담기는 불가능해진 상황! gitbook을 활용해 공식적인 가이드 문서를 제공해야 했고,이 중 개발자 가이드 파트를 전담해 SDK 설치 및 함수 사용 방법과 예제를 담은 가이드 문서를 작성했다. 자체 회원가입 기능 개발무료 체험 기간이 종료되는 12월 전까지, 팀의 목표..
- 24.10.20~24.10.27 업무 공유체크리스트 관리 기능 개발여러 채널들로 유입된 기업과 미팅을 진행한 결과, 현재 제품이 제공하는 가치인 '온보딩'이 크게 두 가지로 나뉨을 확인할 수 있었다.→ 1) 고객이 가치를 느낄 수 있는 아하 모먼트까지 안내 2) 필수 세팅 과정 안내 및 지원 이 두 가지 케이스 중 1)에 해당하는 기업들은 활발하게 미팅이 이뤄지고, 실제 도입으로 이어졌다.하지만 2)의 니즈에 해당하는 기업은, 얼마 지나지 않아 이탈하는 경우가 많았다. (사실은 전부 이탈했다) 이를 해결하기 위해 사용자가 해야만 하는 일을 시각적으로 제시할 수 있는, 제크리스트를 구현하기로 결정! 실제 체크리스트를 고객사 화면에 띄울 SDK와, 체크리스트 내부 요소를 GUI로 편집할 수 있는 관리자 페이지 기능 개발이 필요했고,그중 관..
728x90
반응형