의식적인 연습으로 TDD, 리팩토링 연습하기 세미나 정리 및 후기

TDD, 리팩토링

이 글은 우아한 테크 세미나, OKKYCON에서 강연을 하신 박재성님의 의식적인 연습으로 TDD, 리팩토링 연습하기에 대한 정리 및 후기입니다. 참고 링크: 우아한 테크 세미나 -youtube.com/watch?v=bIeqAlmNRrA, OKKYCON - https://www.youtube.com/watch?v=cVxqrGHxutU

왜 JPA를 사용할까?

Why use JPA(Java Persistence API)?

왜 JPA를 사용하게 됐을까?

객체를 영구 보관하는 다양한 저장소에는 RDB, NoSQL, File, OODBn 등이 있지만 현실적인 대안은 관계형 데이터베이스(RDB)이다.

경쟁 상태(Race Condition)

What is Race Condition?

경쟁 상태(Race Condition)이란?

공유 자원에 대해 여러 쓰레드가 프로세스가 동시에 접근할 때, 데이터의 불일치를 일으킬 수 있다. 예를들어 원래 User1와 User2의 목적은 계좌에 있던 30만원을 각각 5만원, 4만원을 넣어 39만원을 만들려는 목적인데 동시에 접근해 사용하게 되면 아래처럼 불일치가 일어나는 걸 볼 수 있다.

JWT를 선택한 이유(+Redis)

Why did I choose jwt?

HTTP의 Stateless한 특징 때문에 인증을 관리하기 위한 방안(Session, JWT)이 필요하다. Session과 JWT를 간단히 알아보고 프로젝트에 왜 JWT를 적용하게 되었는지 알아보자.

서블릿(Servlet)

What is Servlet?

옛날에 처음 해당 내용을 공부했을 때는 내용 자체가 어렵고 상세한 이해를 하지 않은 상태에서도 개발하는데 큰 문제가 없어서 신경을 못 썻던 기억이 있다. 하지만 프로젝트를 진행할 때 Controller나 interceptor 같은 곳에서 자주 HttpServletRequest나 HttpServletReponse를 사용하게 되었는데 해당 기술에 대해 매우 궁금해졌고 다시 공부하고 싶어졌다. 어떤 기술인지 한번 알아보자

Pagination