반응형
문제링크 🚩 https://school.programmers.co.kr/learn/courses/30/lessons/59044 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📕 문제 접근 📕 LEFT JOIN, RIGHT JOIN 조인 사용 후 NULL 값만을 가져오고 3개만 출력한다. LEFT JOIN 왼쪽(기준) 테이블의 모든 레코드를 포함하면서 오른쪽 테이블과 일치하는 레코드를 가져옵니다. 오른쪽 테이블에 일치하는 레코드가 없는 경우에도 왼쪽 테이블의 레코드는 결과에 포함됩니다. 이는 오른쪽 테이블의 데이터가 부족한 경우에도 왼쪽 테이블의 정보를..
문제링크 🚩 https://school.programmers.co.kr/learn/courses/30/lessons/42628?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📕 문제 접근 📕 문제에서 최대값과 최소값을 뽑는 문제라면 우선순위 큐를 사용하고 Deque를 사용하면 되지 않을까??? 자바의 Deque는 우선순위를 직접 지원하지 않는다. 우선순위 큐를 2개를 작성하여 해결하자 오름차순 큐와 내림차순 큐를 2개 만들고 각 값을 넣어야할 때 두가지 큐에 전부 push를 해준다. 만약 최대값을 뽑아야한다면 최대 큐에서 po..
RestTemplate HTTP 통신을 간편하게 처리할 수 있는 클래스 RESTful 웹 서비스와 통신하기 위해 사용되며, 간단한 API 호출부터 복잡한 요청과 응답까지 처리할 수 있음 RestTemplate의 기능 HTTP 요청 보내기 : RestTemplate을 사용하여 GET, POST, PUT, DELETE 등의 다양한 HTTP 메서드를 사용하여 서버에 요청을 보낼 수 있다. HTTP 응답 받기 : RestTemplate을 사용하여 서버로부터 받은 HTTP 응답을 처리할 수 있습니다. JSON, XML 등의 응답 데이터를 Java 객체로 변환하는 기능을 제공 HTTP 요청 파라미터와 헤더 설정: RestTemplate을 사용하여 요청에 필요한 파라미터와 헤더를 설정할 수 있다. 에러 핸들링: Re..
Spring Template란 Spring Framework에서 제공하는 여러가지 기능을 담은 추상호된 클래스들을 의미 주로 개발자들이 특정 기술이나 프로토콜을 쉽게 다룰 수 있도록 도와주는 클래스이며 다양한 용도에 맞게 설계되어있음 Spring Freamework의 기능과 서드파티 라이브러리들을 더 쉽게 사용할 수 있도록 추상화된 인터페이스나 클래스로 제공 Spring Template을 사용하면 개발자들은 해당 기술이나 프로토콜의 세부 사항을 다룰 필요 없이 간단한 메서드 호출로 원하는 기능을 수행 할 수 있음 대표적인 Spring Template RestTemplate : RESTful 웹 서비스와 통신하기 위한 클래스, HTTP를 기반으로 서버와 데이터를 주고 받음 JdbcTempalte : Jav..
JWT(Json Web Token) 웹 기반 환경에서 정보를 안전하게 전송하기 위해 설계된 토큰 기반 인증 방식 클라이언트와 서버 간에 JSON 객체로 정보를 안전하게 전달 할 수 있도록 고완된 토큰이다 토큰 자체에 필요한 정보(토큰 만료시간, 유저 정보 등)를 모두 가지고 있어 별도의 데이터 베이스나 세션 상태를 유지할 필요가 없다(State less의 특징을 살릴 수 있다) JWT Token의 구조 Header : 토큰의 타입과 서명 알고리즘의 정보를 가지고 있음 { "alg": "HS256", "typ": "JWT" } Payload : 토큰에 담을 Claim들이 포함될 부분 Claim : 토큰에 담길 정보를 의미함, 사용자에 대한 정보, 권한, 토큰 유효 시간 등 { "sub": "user123"..
빌더 패턴 객체의 생성을 가독성 있게 만들고, 여러 개의 매개변수를 갖는 생성자를 피하며, 선택적인 매개변수를 다루기 위해 사용되는 디자인 패턴 사용하는 이유 일반적으로 매개변수를 가진 생성자를 이용하기 위해서 매개변수의 순서를 기억하고 전달해야하는 불편함이 존재했음, 일부 매개변수가 선택적이여서 오버로드된 생성자를 많이 사용해야하는 문제가 있었음 매개변수 순서 기억할 필요없음, 선택적인 필드들을 다루기 쉬움, 가독성과 유지보수성 향상, 불변성 유지 가능 단점? 빌더 클래스를 따로 작성해야한다는 단점이 존재함 빌더 패턴 사용법 빌더 클래스 정의 생성하고자 하는 객체의 필드들을 멤버 변수로 가지는 빌더 클래스를 정의 빌더 메서드 정의 빌더 클래스는 필드들을 설정하는 메서들들을 구현 메서드들은 빌더 객체 자..