리액트 훅(Hook)함수형 컴포넌트에서 상태 관리나 라이프사이클 기능 등을 사용할 수 있게 해주는 React의 기능함수형 컴포넌트: 그냥 JavaScript 함수. props를 받아서 JSX을 리턴.자주 쓰는 기본 훅useState: 상태 관리 할 수 있게 해줌useEffect: 컴포넌트가 렌더링될 때, 혹은 특정 값이 변경될 때 실행되는 코드 작성useRef: DOM을 직접 참조하거나, 렌더링과 상관없는 값을 저장할 때 사용useMemo, useCallback: 컴포넌트가 불필요하게 다시 계산되거나 함수를 새로 생성하지 않게 최적화할 때 사용useReducer를 사용해서 로직을 컴포넌트로부터 분리하는 건 요즘 많이 쓰는 패턴 중 하나리액트 훅은 이름 앞에 항상 use를 붙임StateuseState로 S..

이번에 준비중인 서비스에서는 서비스 이용 보상으로 스탬프를 준다. 그런데, 그 스탬프 획득 조건이 여러 가지이다. 연속 학습을 했을 때 주는 스탬프도 있고, 특정 날짜에 들어왔을 때 주는 스탬프도 있고. 스탬프 기능을 구현하면서 이걸 JPA로 구현할 때 어떻게 하면 좀 더 객체지향적으로 할 수 있을지 고민했다. 이런식으로 서비스 이용 보상이 주어지는 경우는 많으니까 다른 분들은 어떻게 하실지 모르겠지만, 나는 아래와 같이 했다. 우선 스탬프 획득 조건이 크게 세 종류라고 생각하고 진행했다.CountCondition: 어떤 행동을 일정 횟수하면 주어지는 조건TimeRangeCondition: 어떤 기간동안 어떤 행동을 하면 주어지는 조건DateRange: 어떤 날짜에 어떤 행동을 하면 주어지는 조건 획득 ..