JWT란? JWT는 JSON Web Token의 약자로 JSON 기반의 토큰이다. 디지털 서명 기반의 데이터 무결성을 보장한다. 인증 정보가 토큰에 담겨 있으므로, Stateless 서버에 적합하다. HTTP Request Headers에 Authorization: Bearer ACCESS_TOKEN 형태로 포함시켜 사용한다. JWT의 PAYLOAD...
두 날짜 간의 차이를 구할 때는 datediff() 함수를 사용할 수 있다. 이 함수는 두 날짜 사이의 일 수 차이를 반환한다.interval은 MySQL에서 날짜와 시간 연산에 사용되는 키워드로 연, 월, 일을 모두 고려하여 정확하게 n년 이전의 날짜를 계산합니다.
Lv_4 문제 풀이 과정 Lv_4 단골 고객님 찾기 테이블 생성 문제 풀이 Lv_4-1. 고객별로 주문 건수와 총 주문 금액을 조회하는 쿼리 먼저 문제를 보면 고객별 -> 고객을 그룹핑 주문 건수 -> 고객별로 그룹핑된 상태에서 주문된 횟수만큼 더함 총 주문 금
Lv_5. 가장 많이 팔린 품목은? 테이블 생성 및 데이터 삽입 문제 풀이 lv5-1각 고객이 구매한 모든 제품의 총 금액을 계산하고, 고객 이름, 총 구매 금액, 주문 횟수를 출력
HAVING 절은 SQL에서 그룹화된 데이터에 대한 필터링을 수행하는 데 사용된다. 이는 집계 함수와 함께 동작하며, 개별 행을 필터링하는 WHERE 절과는 다르다. HAVING은 그룹화된 데이터에 조건을 적용할 때 유용하며, 주로 GROUP BY 절과 함께 사용된다.

JWT Header에는 토큰의 알고리즘과 타입이 들어간다.여기서 알아볼 것은 바로 알고리즘에 따른 암호화 방식의 차이이다.HMAC 방식은 MAC 기술의 일종으로 원본 메시지가 변하면 그 해시값도 변하는 해싱(Hashing)의 특징을 활용하여 메시지의 변조 여부를 확인하
싱글톤 패턴이란 특정 클래스에 객체 인스턴스가 하나만 만들어지도록 해 주는 패턴이다. 클래스 인스턴스를 하나만 만들고, 그 인스턴스로의 전역 접근을 제공한다. 싱글톤 패턴을 사용하면 전역 변수를 사용할 때와 마찬가지로 객체 인스턴스를 어디서든지 액세스 할 수 있게 만들

new 연산자를 사용하면 구상 클래스의 인스턴스가 만들어진다. 특정 구현을 바탕으로 코딩하면 나중에 코드를 수정해야 할 가능성이 커지고, 유연성이 떨어지게 된다.인터페이스 Duck을 써서 코드를 유연하게 만들려고 하지만 그럼에도 구상 클래스의 인스턴스를 만들어야 한다.
빌더 패턴이란? 빌더(Builder) 패턴은 어떤 인스턴스를 만들 때 그 인스턴스가 다양한 구성으로 만들어질 수가 있는데, 그 다양한 구성으로 만들어진 인스턴스를 동일한 프로세스를 통해서 만들 수 있게끔 해주는 패턴이다. 예시로 서브웨이를 들 수 있다. 서브웨이에서

들어가기 전에 만약 데이터베이스에서 어떤 데이터를 읽어와서 인스턴스를 생성해야 할 때 또는 네트워크를 거쳐서 HTTP 요청을 보내서 가져온 데이터를 기반으로 인스턴스를 만들어야 할 때, 매번 이런 방식으로 데이터베이스나 네트워크를 다녀오게 되면 해당 인스턴스를 만들 때
들어가기 전에 우리 주변에 있는 어댑터를 살펴보면 객체지향 어댑터(Adapter)가 무엇인지 쉽게 이해할 수 있다. 예시로 한국에서 사용하던 휴대폰 충전기를 미국에서도 사용하려면 플러그 모양과 전압을 바꿔주는 어댑터(변압기)가 필요할 것이다. 미국식 소켓은 국내용
In-memory Database인 Redis 알아보기 1편

예외 처리를 위해 try-catch를 사용했지만 nextInt() 입력 후 남은 개행 문자로 인해 catch 문을 지나 다시 while 문 안으로 들어오면서 choice 값에 개행 문자가 그대로 들어가 무한 반복되는 문제가 발생우선 개행 문자를 제거하기 위해서 각 ca
기존 숫자 2개와 연산 기호를 받는 계산기에서 수식을 받아서 연산 처리를 하는 방식으로 바꿔보려고 한다. Step 1. 중위 표기법을 후위 표기법으로 변경 1-1. 표기법을 바꾸는 이유 먼저 표기법을 바꿔야 하는 이유를 간단히 살펴보자. 중위 표기법이란 우리가 흔히
수식을 받을 땐 문자열이기 때문에 공백을 신경써야 한다. 공백을 처리할 때 문자열 시작과 끝에 있는 공백은 제거하고, 나머지 공백은 이후 변환할 때 한 자리 수 이상의 숫자도 처리할 수 있도록 split()을 이용해서 String\[]로 처리하기 위해 최소 1칸은 남겨
암 어 트러블메이커
신경쓸게 많다..
BindingResult 데이터 바인딩 및 검증 과정을 수행할 때 발생한 오류와 상태를 저장하는 역할을 하는 인터페이스이다.
Bean Validation은 특정한 구현체가 아니라 Bean Validation 2.0(JSR-380)이라는 기술 표준이다. 쉽게 말하면 검증 어노테이션과 여러 인터페이스의 모음이며 마치 JPA 기술 표준이고 그 구현체로 하이버네이트가 있는 것과 같다.Bean Val
사실 안 심화
플러스 주차 트러블 슈팅