‘페스타고’ 서비스에서는 사용자가 ‘티켓 제시’ 버튼 클릭시, 30초간 유효한 QR코드 창이 활성화된다. 그리고, 우리 팀은 QR코드의 데이터로 JWT을 고려하고 있다. JWT에 대한 설명은 아래 포스팅을 참고하자. JWT란? '페스타고' 프로젝트를 진행하며 JWT를 활용할 일이 생겼다. JWT의 구성요소에 대해 알아보자. JWT 구성요소 JWT의 구성요소 3가지는 .으로 구분된다. Header Payload Signature 각 구성요소별 특징을 알아 xxeol.tistory.com 🌧️ UUID를 사용했을 때의 문제점 JWT 이전에는 QR코드 식별자로 JWT대신 UUID를 고려했다. UUID는 랜덤하게 생성된 코드로, 그 자체로 데이터를 담지 못한다. 즉, 해당 코드가 어떤 티켓의 코드인지 정보와 코..
체스 미션에서 전략패턴을 도입하면서 다음과 같은 클래스 상속 구조를 갖추게되었다. https://xxeol.tistory.com/22 [체스 미션] 상속 대신 전략패턴 도입하기 나는 체스 미션의 설계를 아주 많이 갈아엎었다.. 대공사가 정말 많았다. 한 4-5번 정도? (이 과정은 다른 포스팅에서 기록해두려고 한다.) 오늘은 상속으로 이루어져있던 코드를 전략패턴을 도입 xxeol.tistory.com 여기서 한 가지 문제점이 있다. public class Piece { protected final Color color; protected final PieceType type; public Piece(Color color, PieceType type) { validateColor(color); this.c..
나는 체스 미션의 설계를 아주 많이 갈아엎었다.. 대공사가 정말 많았다. 한 4-5번 정도? (이 과정은 다른 포스팅에서 기록해두려고 한다.) 오늘은 상속으로 이루어져있던 코드를 전략패턴을 도입해 조합으로 바꾼 대공사에 대해 설명하고자 한다. 기존의 코드(step1)에서, 나는 Piece라는 추상 클래스를 상속하는 방법으로 각 기물들을 구현했다. Piece라는 추상클래스가 있고, 기물별로 구현체가 존재했다. 하지만 해당 코드에서 한가지 찜찜한 점이 있었다. public class Bishop extends Piece { /***/ @Override public PieceType getType() { return PieceType.BISHOP; } } 그것은 바로 위와 같이 getType 함수를 통해 해당..