4L : 좋았던 점(Liked), 배운 점(Learned), 부족했던 점(Lacked), 바라는 점(Longed for)을 돌아보는 회고 방식이 방식으로 지난 중급 프로젝트 '최애의 포토'에 대한 회고를 진행해보려고 한다.처음으로 BE에 집중해보겠다 다짐하고 들어갔던
이전 개발 내용과 이어집니다포토카드 거래 서비스에서 카드 구매 하나가 완료되려면 다음 작업이 모두 이루어져야 한다.이 구조에서 동시 요청이 들어올 경우 네 가지 문제가 발생할 수 있다.재고 초과 판매 -- 동시 구매 요청이 같은 재고를 중복 차감한다.보유량 초과 등록
데이터 정합성 이것을 키워드로 두고 개발을 하며 포인트를 활용한 거래 시스템에서 재고가 초과 판매 되거나, 포인트가 음수가 되거나, 중복 주문이 생기는 상황을 막기 위해 Prisma의 $transaction과 조건부 갱신(Optimistic Concurrency Con
포토카드 거래 플랫폼을 만들면서 동시 구매 문제를 해결한 방법을 공유합니다.마켓플레이스에 잔여 수량이 1장인 포토카드가 올라와 있다고 가정해보자.A와 B가 동시에 구매 요청을 보내면 어떻게 될까?이것이 Lost Update 문제다. 두 트랜잭션이 같은 데이터를 읽고,

이전 프로젝트에서는 팀원분이 공통 에러 처리를 너무 깔끔하게 정리해주셨어서 편하게 사용했는데, 새로 프로젝트에 들어가며 내가 담당하게 되어 이전 내용을 복습할 겸 내용을 정리해보고자 한다.이번에 시작하는 프로젝트에서는 API 요청 도구로 Axios를 사용하고, 서버 상

React를 공부하며 Next.js와 같은 여러 프레임워크를 접해보고 있다.그러며 Tailwind CSS도 접하게 되었는데, 여러 시니어분들도 추천을 하시고 실제 현업에서도 사용 비율이 점점 높아지고 있다는 이야기를 들으며 더 알아보고자 정리해보려고 한다.처음 Reac

데이터를 삭제하는 방법은 크게 두 가지다. Hard Delete는 DELETE 쿼리로 DB에서 행을 완전히 제거하는 방식이에요. 단순하고 DB를 깔끔하게 유지할 수 있지만, 한 번 지우면 복구가 어렵고 연관된 데이터까지 사라질 수 있어요. Soft Delete는 실제로

스터디 습관 관리 앱을 개발하는 프로젝트를 진행 중 모달 안에서 여러 습관 항목의 이름을 자유롭게 편집하고, "수정 완료" 버튼 하나로 한 번에 저장하는 기능을 구현해야 했다.항목을 클릭하면 인풋으로 전환되어 이름을 수정할 수 있고, "수정 완료"를 누르면 변경사항이

프로젝트에서 '오늘의 습관' 기능을 구현하며 가장 고민됐던 부분은 접근 제어 방식이었다.페이지의 흐름은 아래와 같다.생성된 스터디(studyId)에 대해 비밀번호를 입력하고 일치하면 '오늘의 습관'페이지로 이동할 수 있다.하지만 로그인 기능이 없는 상태였기에 다음과 같
Prisma에 대해 지난 포스팅에서 살펴보며 느낀 점은 DB 개념을 알아야 이것이 효과가 있다는 것이었다.그래서! 다시 정리해서 기록해두고자 한다.관계형 데이터베이스데이터를 테이블(표) 형태로 저장하는 구조like Excel테이블 -> 시트행(Row) -> 데이터 한

직접 DB를 다뤄야 하는 순간이 찾아왔고 그렇게 Prisma를 처음 접하게 되었다.처음부터 무엇인지에 대한 감은 전혀 잡히지 않았기에 이렇게 정리해보며 다시 공부해보고자 한다.Prisma는 ORM으로, 객체를 스키마(schema)로 정의한 다음 그 객체와 내가 선택한
데이터베이스를 설계하다 보면 '데이터베이스를 나누는 기준'에 대한 고민이 생긴다.이걸 정립해주는 개념이 정규화(Normalization)이다.정규화란 정규화를 하지 않았을 경우 발생하는 문제에 대해서 살펴보자.❌ 1. 중복 데이터 발생👉 학생 A가 여러 번 반복됨❌
React에서 배열을 랜더링할 때 key를 설정해야하는 이유 그리고 주의점에 대해서 알아보고자 한다. React에서 배열을 랜더링 하는 코드는 자주 사용된다. 예를 들어 간단한 리스트를 출력한다고 해보자.
프로젝트를 시작하면서 가장 먼저 고민했던 것 중 하나가 폴더 구조였다.Flutter로 프로젝트를 진행했던 것과는 여러 구조들이 다를 것이라고 생각해서 관련된 내용을 정리하고 시작하고자 한다.React에서 가장 기본적인 폴더 구조를 알아보자.재사용 가능한 UI 조각But

React 컴포넌트의 개념부터 함수형·클래스 컴포넌트의 차이까지, 구조와 흐름을 중심으로 핵심만 정리해보았다.
React에서 컴포넌트 분리 컴포넌트 분리, 이전에 Flutter에서 Widget을 따로 분리해서 사용했던 것처럼 쉬울 줄 알았다.
React를 처음 배우면서 가장 많이 사용하게 되는 것이 바로 state다.그런데 사용하다보니 한 가지 의문이 들었다.모든 값을 state로 관리해야 할까?처음에는 이렇게 생각했다.값이 있으면 일단 state로 만들자바뀔 가능성이 있으면 state그러다 보니, 그냥 다
React 과정에 들어가면서 todolist 만들기 실습이 있었다. lv.1 ~ lv.3까지 있었는데 우선 lv.1을 정리해보고자 한다. 핵심 개념 정리 🔹 useState React에서 데이터를 관리하기 위해 사용한다. title → input 값 저장 tod