DTO와 DAO가 무엇인지 설명하세요.
·
면접 준비
DTO`DTO`는 계층간 데이터를 전달하기 위한 객체입니다.전달만을 목표로 하기 때문에 별도의 비즈니스 로직이 필요 없고, `getter`, `setter` 메소드만 포함합니다.특히 클라이언트와 서버 사이에서 요청이나 응답 데이터를 주고받을 때 주로 사용하는데, 그 이유는 `Entity`를 그대로 응답에 반환하면 데이터베이스 구조가 외부에 노출될 수 있고, 비밀번호나 권한 같은 민감한 정보가 노출 될 위험이 있기 때문입니다. DAO`DAO`는 데이터베이스에 접근하기 위해 사용하는 객체입니다.즉, 프로젝트의 비즈니스 로직에 해당하는 부분과 데이터베이스를 연결하는 역할을 합니다.주로 데이터의 `CRUD` 작업을 전담하는 객체를 말합니다.
세션방식과 토큰방식의 차이점을 설명하세요.
·
면접 준비
세션방식과 토큰방식의 가장 큰 차이점은 인증 상태를 어디에서 관리하느냐 입니다. 세션방식`세션방식`은 서버가 사용자의 로그인 정보를 관리하는 `stateful`방식입니다. 사용자가 로그인하면 서버는 세션 저장소에 사용자 정보를 저장하고, 클라이언트에게는 세션 ID를 전달합니다. 이후 클라이언트가 요청을 보낼 때, 세션 ID를 함께 보내면, 서버는 그 ID를 기준으로 사용자를 확인합니다.이 방식은 서버에서 상태를 관리하기 때문에 제어가 쉽지만, 서버가 여러대로 늘어나는 경우 세션 공유에 문제가 생길 수 있습니다.토큰방식`토큰방식`은 서버가 로그인 상태를 직접 저장하지 않는 `stateless`방식입니다. 사용자가 로그인하면 서버가 토큰을 발급하고, 클라이언트는 이후 요청마다 토큰을 함께 보냅니다. 서버는..
접근제한자 종류와 특징을 설명해주세요
·
면접 준비
Java의 접근 제어자는 클래스, 변수, 메서드에 대한 접근 범위를 설정하는 키워드입니다.`public`는 접근 제한이 없어 같은 프로젝트 내에서는 어디서든 사용이 가능합니다.`protect`는 상속받은 클래스 또는 같은 패키지 내에서만 접근이 가능합니다.`default`는 기본제한자로서 같은 패키지 내에서만 접근이 가능합니다.`private`은 같은 클래스에서만 접근이 가능합니다. 접근 범위가 넓은 순서를 확인해보면 `public > protected> default > private`순으로 정리할 수 있습니다.접근제한자같은 클래스같은 패키지상속받은 클래스(다른 패키지)그 외 외부 클래스publicOOOOprotectedOOOXdefaultOOXXprivateOXXX
WAS와 웹서버의 차이점에 대해 설명하세요.
·
면접 준비
`웹서버`는 이미지나 CSS와 같은 정적 컨텐츠를 그대로 전달하는 역할을 합니다.`WAS`는 로그인이나 예약처리 처럼 데이터베이스 조회나 다양한 비즈니스 로직을 수행해서 동적인 결과를 생성하는 역할을 합니다.일반적으로 웹서버가 앞단에서 요청을 받아 정적인 요청을 직접 처리하고, 동적인 요청은 WAS로 전달하는 구조로 구성합니다. 이렇게 구분하는 이유는 WAS의 부하를 줄이고 성능을 개선하기 위해서 입니다.
[백준 2193] 이친수
·
코딩테스트/백준
✴️ 문제https://www.acmicpc.net/problem/2193 💡접근법처음에는 `백트래킹 + 완전탐색`으로 접근했다. 하지만 역시나 시간초과 이슈로 `dp`로 방향을 틀었다.`dp[n+1][0]`은 n자리 수 중 일의 자리가 0인 수를 의미한다.같은 맥락으로 `dp[n+1][1]`은 n자리 수 중 일의 자리가 1인 수를 의미한다.즉, 우리가 구해야하는 n자리 이친수의 개수는 `dp[n+1][0] + dp[n+1][1]`이다.직접 가지치기를 하다보면 점화식은 손쉽게 구할 수 있다.`dp[i][0] = dp[i - 1][0] + dp[i - 1][1]``dp[i][1] = dp[i - 1][0]` ✴️ 코드 전체dp 이용 (정답코드)import java.util.Scanner;public cl..