본문 바로가기

728x90

분류 전체보기

(405)
[Spring Boot] DAO, DTO, VO 차이 1. DAO (Data Access Object)역할: 데이터베이스와 직접 소통하여 데이터를 CRUD(생성, 읽기, 업데이트, 삭제) 작업을 수행하는 객체입니다.내용:DAO 패턴은 데이터 접근 로직을 캡슐화하여 코드의 재사용성과 유지보수성을 높입니다.DAO는 데이터베이스와의 의존성을 줄여 테스트가 용이하도록 하며, JDBC, JPA 등을 사용해 구현할 수 있습니다.2. DTO (Data Transfer Object)역할: 계층 간 데이터를 전달하는 객체로, 주로 Controller와 Service 간에서 사용됩니다. DTO는 데이터를 이동시키는 그릇 역할을 하며 로직을 포함하지 않습니다.내용:DTO는 계층 간에 필요한 정보만 포함하도록 설계하여 불필요한 데이터가 전송되지 않도록 최적화할 수 있습니다.Lo..
[프로그래머스] 스티커 모으기(2) 코드 힌트문제 분석:스티커들이 원형으로 연결되어 있어서, 첫 번째 스티커를 떼면 마지막 스티커는 뗄 수 없습니다. 반대로 첫 번째 스티커를 떼지 않으면 마지막 스티커까지 떼는 것이 가능합니다.따라서 첫 번째 스티커를 떼는 경우와 떼지 않는 경우로 나누어 동적 계획법(DP)을 사용해 최댓값을 구하는 문제입니다.두 가지 케이스로 나눔:첫 번째 스티커를 떼는 경우:첫 번째 스티커를 떼었으므로 마지막 스티커는 뗄 수 없습니다.즉, 마지막 전 스티커까지 고려하여 최댓값을 구합니다.첫 번째 스티커를 떼지 않는 경우:첫 번째 스티커를 떼지 않았으므로 마지막 스티커까지 포함하여 최댓값을 구할 수 있습니다.동적 계획법(DP) 기본 아이디어:DP 배열은 각 스티커를 선택할 때 얻을 수 있는 최댓값을 저장하는 배열입니다.D..
[Spring Boot] MySql 연결하기 보호되어 있는 글입니다.
[프로그래머스 (Kotlin)] 자연수 뒤집어 배열로 만들기 코드 힌트 (2가지 방법)자릿수 추출:주어진 숫자 n을 10으로 나눈 나머지를 이용하여 자릿수를 역순으로 추출합니다.각 자릿수를 리스트에 추가하고, 나눗셈으로 자릿수를 줄여나가며 모든 자릿수가 추출될 때까지 반복합니다.리스트와 배열 변환:자릿수를 저장한 mutableList는 동적으로 크기를 조정할 수 있기 때문에 적합합니다. 마지막으로 toIntArray()를 이용해 리스트를 배열로 변환합니다.  문자열 변환 후 처리:숫자 n을 먼저 문자열로 변환한 후, reversed()를 이용해 숫자의 자릿수를 뒤집습니다.각 문자(char)를 digitToInt()로 변환해 숫자 배열을 생성합니다.간결한 배열 생성:중간 리스트 없이 toIntArray()를 통해 직접 배열로 변환하여 코드가 더욱 간결해집니다. 정답..
[Spring Boot] Validation 설명 서버 개발 시 Validation의 중요성서버를 개발하다 보면 클라이언트로부터 다양한 요청을 받게 됩니다. 예를 들어, 회원가입 요청에서는 이름, 나이, 이메일, 전화번호 등의 데이터를 받습니다. 이때 클라이언트가 전송하는 데이터가 공백이거나, 형식이 맞지 않는 경우가 발생할 수 있습니다.  서비스 로직을 처리하기 전에 해당 데이터가 null인지, 올바른 형식인지 등 다양한 검증을 거쳐야만 안정적인 처리가 가능합니다. 만약 검증 과정에서 에러가 발생한다면, 예를 들어 "name이 비어 있습니다"와 같은 구체적인 오류 메시지를 클라이언트에게 제공해야 합니다.하지만 요청하는 데이터가 많아질수록, 이러한 검증 코드가 길어지고 복잡해집니다. 데이터를 하나씩 일일이 확인하는 과정은 매우 번거롭고 비효율적입니다.이..
[Spring Boot] Global Exception Handler 만들기 보호되어 있는 글입니다.
[Spring Boot] Request, Response Api 만들기 보호되어 있는 글입니다.
[프로그래머스 (Kotlin)] 특정 문자 제거하기 코드 힌트replace()를 사용한 방법:replace() 메서드를 사용하여 my_string에서 letter와 일치하는 모든 부분을 빈 문자열로 대체하는 방법입니다.이 방식은 간단하며, 문자열 내 모든 letter를 제거합니다.예시: my_string.replace(letter, "")filter()를 사용한 방법:filter() 메서드를 사용해 문자열의 각 문자를 검사하여, letter와 동일하지 않은 문자들만 남겨 새로운 문자열을 생성하는 방법입니다.이 방법은 각 문자를 개별적으로 처리할 수 있습니다.예시: my_string.filter { it != letter[0] }filterNot()를 사용한 방법:filterNot() 메서드는 filter()와 반대 동작을 수행하며, 조건에 맞는 문자를 제..

728x90