post-thumbnail

Typescript Infer

Typescript의 Infer 키워드는 복잡한 타입에서 특정 부분을 추출하거나 추론할 때 사용하는 키워드이다.Infer 키워드는 조건부 타입 내에서만 사용할 수 있고 Typescript 컴파일러가 타입을 자동으로 추론하게 한다.먼저 조건부 타입에 대해 알아보고자 한다

2025년 6월 12일
·
0개의 댓글
·
post-thumbnail

Typescript Discriminated Union Type이란?

Discriminated Union 타입이란?

2025년 6월 4일
·
0개의 댓글
·
post-thumbnail

리액트의 Virtual DOM

자바스크립트로 웹 페이지의 요소를 조작할 땐 DOM API를 활용한다. 이를 통해 DOM을 조작해서 해당 요소의 내용이나 스타일을 변경하는 것이다.DOM을 조작하게 되면 브라우저는 다음과 같은 과정을 거친다.DOM트리 수정스타일 재계산레이아웃(reflow)페인트합성이러

2025년 5월 25일
·
0개의 댓글
·
post-thumbnail

서버 컴포넌트에서 데이터 패칭을 위한 AxiosInstance 설정하기

나는 CSRF 공격 방지를 위해 CSRF 토큰 기능을 구현했다. 내가 클라이언트 단에서 사용하는 CSRF 토큰 기능은 다음과 같다.Request의 쿠키에서 CSRF 토큰을 가져온다.=> Request의 헤더에서 x-csrf-token을 가져온다.=> 둘이 일치하지 않거

2025년 5월 14일
·
0개의 댓글
·
post-thumbnail

백엔드 리다이렉트 시 프론트엔드에서 토스트 표시하기 | 쿼리 파라미터

프론트엔드에서 알림을 표시하기 위해 위의 이미지처럼 토스트를 사용하고 있다.useToaster로 toast를 선언한 다음 toast(알림 종류,메시지)를 하면 토스트가 표시된다.그런데 한가지 문제가 생겼다. OAuth로 로그인할 때 문제가 생기면 로그인 페이지로 리다이

2025년 5월 12일
·
0개의 댓글
·
post-thumbnail

CSRF(Cross-Site Request Forgery)공격과 방어

OAuth를 구현하던 중 Callback API 엔드포인트의 쿼리에 state를 추가했는데 이게 CSRF 공격을 방어하기 위한 것임을 알게 됐다. CSRF에 대해 이해하게 된 과정과 이해한 내용을 정리해보려 한다. 이해하는 과정 먼저 내가 OAuth에서 CSRF 공격

2025년 5월 11일
·
0개의 댓글
·
post-thumbnail

OAuth API 구현하기

OAuth란 로그인/회원가입과 같은 권한 인증 작업을 구글,카카오,네이버 등과 같은 신뢰할 수 있는 대형 서비스가 대행해주는 시스템이다. 구글이나 네이버와 같이 OAuth 서비스에 로그인이 되어있는 상태라면 사용자가 직접 아이디,비밀번호 등을 입력하지 않고 로그인/회원

2025년 5월 8일
·
0개의 댓글
·
post-thumbnail

새롭게 알게 된 개념들(마이크로서비스 아키텍처,메시지 큐,쿠버네티스)

오늘은 개발 면접 관련 영상을 보다가 새롭게 알게 된 개념과 기술이 있어서 정리해보려 한다. 아키텍처 구조를 설명하는 부분에서 나온 내용이었는데 처음 이 구조를 봤을 때 admin 서버군과 worker서버군이라 설명하는데 왜 서버가 여러 개인지 궁금했다.이와 관련해서

2025년 5월 7일
·
0개의 댓글
·
post-thumbnail

Next.js 미들웨어로 권한 확인하기

Next.js 미들웨어는 특정 페이지로 이동하거나 API Route를 호출하는 것과 같이 클라이언트에서 next.js 서버로 요청할 때 중간에 실행되는 함수다.나는 특정 페이지에 접근할 때 로그인 여부를 체크할 때 미들웨어를 활용했다.먼저 회원 인증 시스템은 로그인 시

2025년 5월 6일
·
0개의 댓글
·
post-thumbnail

코드잇 스프린트 풀스택 3기 회고

24년 9월 5일부터 25년 4월 11일까지 진행한 스프린트 풀스택 과정이 드디어 끝이 났다. 그냥 막연히 생각해봐도 처음 시작했을 때와 비교했을 때 정말 많이 성장했다는 것을 느낀다. 더 구체적으로 어떤 부분이 성장했는지 회고해보는 시간을 가지려 한다. 계기 나는

2025년 4월 23일
·
0개의 댓글
·
post-thumbnail

Next.js 미들웨어에서 환경변수 사용하기

나는 액세스 토큰 존재 여부를 통해 권한을 체크하는 미들웨어를 구현하고 있다. 만약 액세스 토큰이 있는데 로그인/회원가입 페이지로 이동한다면 다른 페이지로 이동시키고 액세스 토큰이 없는 상태로 로그인이 필요한 페이지로 이동한다면 로그인/회원가입 페이지로 이동시키는 것이

2025년 4월 23일
·
0개의 댓글
·
post-thumbnail

AWS Route53을 통한 도메인 연결

Route53은 하나의 도메인으로 다양한 서비스를 통합 관리하고 연결하는 역할을 한다.나는 프론트엔드와 백엔드에 하나의 도메인을 연결하기 위해 사용하게 됐는데,프론트엔드는 Amplify에서 기본으로 제공되는 도메인을 사용했었고 백엔드에는 가비아에서 구매한 도메인을 연결

2025년 4월 22일
·
0개의 댓글
·
post-thumbnail

S3 credential object is not valid 오류 해결

팀프로젝트를 진행하면서 S3에서 파일 업로드를 위한 presigned URL을 발급하는 API를 추가했다. 이 API는 기존에 내 개인 프로젝트에서 사용했던 코드를 가져왔는데 동일한 코드인데도 개인 프로젝트에선 발생하지 않던 문제가 발생했다.S3 client를 생성할

2025년 3월 5일
·
0개의 댓글
·
post-thumbnail

dotenv-cli를 사용해 .env 파일을 선택해서 실행하자

dotenv-cli는 환경에 따라 환경변수 파일을 선택해서 명령어를 실행할 수 있도록 해주는 도구이다.나는 express로 개발한 서버에서 jest를 통해 DB의 CRUD 기능을 테스트하는 과정에서 사용하게 됐다.이때 실제 DB를 가지고 테스트할 경우 기존 사용자의 데

2025년 2월 16일
·
0개의 댓글
·
post-thumbnail

EC2,RDS 인스턴스 생성부터 초기 설정까지

EC2 인스턴스 생성 먼저 EC2인스턴스의 이름을 설정하고 운영 체제를 선택한다. 나는 Amazon Linux를 사용했다. 인스턴스 유형은 프리 티어로 사용할 수 있는 t2.micro로 설정하고 로그인에 사용할 키페어를 선택하거나 생성해야 한다. 이때 생성한 키페어

2025년 2월 7일
·
0개의 댓글
·

prisma 복합키를 사용한 delete

상품 좋아요를 저장하는 데이터베이스 모델이 있을 때, @@unique를 통해 userId와 productId 쌍이 중복되지 않도록 설정했다.@@unique를 설정하고 prisma generate를 할 경우 복합키가 함께 생성되는데 unique에 입력된 순서대로 \_를

2024년 12월 27일
·
0개의 댓글
·
post-thumbnail

Javascript var,let,const의 차이점

Javascript에는 변수를 선언하는 방법이 세가지가 있다. var와 let,const가 있는데 let,const는 ES6에 처음 나온 변수 선언 키워드로 기존의 var 키워드가 가지고 있는 몇가지 문제점들을 해결하기 위해 등장했다. 어떤 문제점과 차이가 있는지 알아

2024년 10월 6일
·
0개의 댓글
·
post-thumbnail

CSS nth-of-type 과 nth-child의 차이

nth-of-type과 nth-child 속성은 반복해서 사용된 동일한 태그에 대해서 몇번째 태그에 대해 스타일을 적용하고 싶을 때 사용한다. 이때 두가지 속성의 공통점은, 속성 앞에 오는 요소의 부모태그 내에서 속성에 해당되는 요소를 선택한다는 점이다. nth-of

2024년 10월 2일
·
0개의 댓글
·

브라우저 작동 원리

우리가 웹사이트를 방문할 때 사용하는 브라우저는 어떤 원리로 작동할까? 요청과 응답 우선 사용자가 브라우저의 주소창에 URL을 입력하면 DNS를 통해 IP주소로 변환하고 이 IP주소에 해당하는 서버에 요청을 전송한다. 이때 URL이 www.naver.com과 같이 스

2024년 9월 29일
·
0개의 댓글
·
post-thumbnail

Storybook Preview의 decorators로 Provider component 적용하기

Storybook을 작성하던 중 recoil,react-router-dom,tanstack-query와 같이 provider component로 감싸야하는 컴포넌트의 스토리를 작성하게 됐다. 처음엔 각 스토리의 decorators에서 필요한 프로바이더 컴포넌트로 St

2024년 9월 22일
·
1개의 댓글
·