로그인 요청이 왔을 때, 백엔드에서의 흐름을 설명해주세요

MBTI와 잘 맞는 사람들은 어떻게 추천이 되는 건가요~?

http와 https의 차이점은 무엇인가요?
HTTP = Hyper Text Transfer Protocol 서버/클라이언트 모델을 따라 데이터를 주고받기 위한 프로토콜(규약)
HTTPS = Hyper Text Transfer Protocol Secure HTTP에 “데이터 암호화”가 추가된 프로토콜
HTTP는 암호화가 추가되지 않아 보안에 취약 반면, HTTPS는 HTTP보다는 안전하게 데이터 주고받기 가능
HTTPS를 이용하면 암호화/복호화 과정이 추가적으로 필요하기에 HTTP보다 속도는 느림
HTTPS는 인증서를 발급하고 유지하기 위한 추가적 비용이 발생
참고한 사이트 주소
로드 밸런싱은 무엇인가요?
swap 메모리는 무엇인가요?
사용자가 많고 트래픽이 커질 경우와 Blue-Green 배포는 무슨 관계가 있나요?
한 port에서만 실행파일을 돌릴 때
2개 이상의 port에서 실행파일을 돌릴 때(Blue-Green 배포 적용)
상세 과정 설명
NGINX를 이용하여 Blue/Green 무중단배포를 실행할 땐 굳이 두 개의 “infra”까지 필요하지는 않음. 서로 다른 port 2개에서 실행파일(.jar)을 실행하는 것으로 충
참고한 사이트 주소
Redis 활용
“특정 명령어”를 사용해서 메모리 부족을 알아냈다고 하셨는데, 어떤 명령어인가요?
기본 어노테이션
@Builder 객체 생성 시 인자가 많을 경우 쉽고 안전하게, 순서와 상관없이 객체를 생성 가능 안전한 객체 생성 패턴을 위해 Assert를 이용하여 적절한 예외처리를 해야한다. Assert.hasText(bankName, "bankName must not be empty"); this.bankName = bankName;
@Getter @Setter 데이터를 보호하기 위해 사용(클래스 생성시) 인스턴스 변수를 반환하고(getter), 대입하거나 수정(setter) @Setter 사용 시 값을 바꿀 수 있으니 주의(entity에는 사용 x)
@AllArgsConstructor -> @RequiredArgsConstructor 클래스가 존재하는 모든 필드에 대한 생성자를 자동으로 생성한다.
@NoArgsConstructor 파라미터가 없는 기본 생성자를 생성 -> 초기화 시 이용
@AllArgsConstructor 모든 필드 값을 파라미터로 받는 생성자를 만듦
@RequiredArgsConstructor final이나 @NonNull인 필드 값만 파라미터로 받는 생성자 만듦
@Autowired vs @RequiredArgsConstructor 의존성 주입 x 생성자 주입 o
private final을 이용하여 단일 생성자인 경우 의존성 주입 가능
순환참조 방지하기 위해 생성자 주입 권장
프론트에서 인가코드 요청 시에
왜 MySQL을 사용하였는지?
Redis 사용 이유?
매칭 기능 조건을 어떻게 설정하였는지? 이유는?
websocket 사용 이유?
Http 프로토콜은 기본적으로 Client의 요청이 있을 때만 서버가 응답하는 단방향 통신이므로 채팅과 같은 실시간 서비스를 요구하는 작업에는 적합하지 않습니다. 그에 반해 socket 통신은 server와 client가 지속적으로 연결을 유지하고, 양방향으로 통신을 하여 사용자가 새로고침과 같은 요청을 하지 않아도 최신 데이터가 적용된 웹을 볼 수 있게 해줍니다.