전체 글 (430) 썸네일형 리스트형 [Kotlin] Kotlin의 등장 배경, Java와의 차이점, 장점과 단점 코틀린( Kotlin ) 등장 배경자바는 1990년대에 만들어진 성공적인 프로그래밍 언어입니다.하지만 시간이 지나면서 몇 가지의 한계가 드러나기 시작했습니다. 자바의 한계장황한 문법: 보일러플레이트 코드(중복되는 코드를 많이 작성하는 문제)가 많아, 간단한 작업도 길고 복잡한 코드로 작성해야 합니다.NullPointException: 자바에서 NPE 문제가 빈번하게 발생을 하며 개발자들이 흔히 겪는 문제입니다.현대적 기능 부족: 프로그래밍 언어에서 흔히 지원하는 람다 표현식, 함수형 프로그래밍, 확장 함수, 코루틴 같은 기능이 부족합니다.개발 속도 한계: 대규모 애플리케이션 개발 시 자바는 간결한 코드를 지원하지 않아 생산성에 제약이 있습니다. 제트브레인즈(JetBrains)의 역할코틀린은 제트브레인즈(.. [프로그래머스 (Kotlin)] 없는 숫자 더하기 코드 힌트1. 초기값 설정0부터 9까지의 모든 자연수의 합은 45입니다.문제에서 제공된 배열에 없는 숫자를 찾아야 하므로, 먼저 45로 초기화합니다.2. 배열 순회배열에 존재하는 숫자들을 하나씩 순회하면서 result에서 해당 숫자를 차감합니다.배열의 인덱스를 활용해 각 요소를 차례로 접근합니다.3. 최종 결과모든 배열 요소를 차감한 후 남은 값이 배열에 존재하지 않는 숫자들의 합이므로 이를 반환합니다. 여러가지 방법으로 풀기forEachmapfilterNotsum정답은 더보기 클릭더보기class Solution { fun solution(numbers: IntArray): Int { // 변수 result는 0부터 9까지의 숫자의 합인 45로 초기화 var.. [프로그래머스 (Kotlin)] 배열 원소의 길이 코드 힌트1. 배열 길이 저장주어진 배열의 각 문자열 길이를 새로운 IntArray에 저장합니다.문자열 배열에서 각 요소의 길이를 구한 후, 정수 배열로 변환합니다.2. IntArray 생성IntArray는 특정 크기만큼의 정수 배열을 생성합니다.배열 크기는 strlist의 크기와 동일하게 맞춥니다.3. 람다 표현식 활용람다식 내에서 it은 배열의 인덱스를 의미합니다.it을 사용하여 배열의 각 요소에 접근하고, 해당 문자열의 길이를 반환하는 방식입니다.4. 결과 반환IntArray를 통해 각 문자열의 길이를 담은 배열을 반환하여 최종 결과를 제공합니다. 여러가지 방법map()을 사용하여 각 요소별 길이를 구하고 .toIntArray() 로 변환mutableListOf를 사용하여 strlist 요소의 길.. [프로그래머스 (Oracle)] 서울에 위치한 식당 목록 출력하기 코드 힌트1. JOIN을 사용한 데이터 결합REST_INFO 테이블과 REST_REVIEW 테이블을 JOIN하여 연결된 데이터를 조회합니다.REST_ID를 기준으로 두 테이블을 결합하여 리뷰와 식당 정보를 함께 출력합니다.2. 주소 필터링WHERE 절에서 LIKE '서울%'을 사용하여 주소가 '서울'로 시작하는 식당만 필터링합니다.LIKE는 특정 패턴과 일치하는 값을 필터링할 때 사용됩니다.3. 평균 리뷰 점수 계산AVG 함수를 사용하여 각 식당의 평균 리뷰 점수를 계산합니다.ROUND(AVG(...), 2)로 평균을 소수점 둘째 자리까지 반올림하여 표시합니다.4. 그룹화된 데이터 정렬GROUP BY로 각 식당을 그룹화하여 해당 그룹의 평균 리뷰 점수를 구합니다.ORDER BY SCORE DESC, FA.. [Spring Boot] DTO 유효성 검사를 위한 커스텀 어노테이션 만들기 Spring에서 DTO 유효성 검사스프링에서는 DTO를 받을 때 기본적으로 제공하는 유효성 검사를 사용합니다. 그러나 기본 유효성 검사 외에 모든 유효성을 만족시키기에는 부족할 수 있습니다. 이를 해결하기 위해 필요에 따라 커스텀 어노테이션을 만들어 사용할 수 있습니다.커스텀 어노테이션의 필요성DTO 내에서의 유효성 검증: 기본적으로 제공되는 유효성 검사로는 충분하지 않을 수 있습니다. 예를 들어, 여러 필드를 동시에 검사해야 하는 경우 @AssertTrue와 같은 방법을 사용할 수 있지만, 이는 코드 가독성을 저하시킬 수 있습니다.추상화: 커스텀 어노테이션을 사용하면 유효성 검사 로직을 추상화하여 재사용성과 가독성을 높일 수 있습니다.커스텀 어노테이션을 만들기 전 알아야 할 어노테이션1. @Target.. [Spring Boot] Validation AssertTrue/False 사용법 @AssertTrue / @AssertFalse 어노테이션@AssertTrue와 @AssertFalse는 Spring의 유효성 검증에서 필드 간의 관계를 검사할 때 유용하게 사용되는 어노테이션입니다. 이 어노테이션은 주로 두 개 이상의 필드의 값을 비교하거나 특정 조건이 참(true) 또는 거짓(false)인지 검증할 때 사용됩니다.사용 목적다수의 필드 검증: 기본적인 유효성 검증 어노테이션(@NotNull, @Size 등)은 한 필드의 상태만 검사하지만, @AssertTrue와 @AssertFalse는 두 개 이상의 필드를 함께 검사할 수 있습니다.Spring 지원하지 않는 어노테이션 기능: 유효성 검사 로직을 DTO 내부에서 구현하여 가독성과 재사용성을 높일 수 있습니다.비밀번호 일치 확인 예제다음은.. [Spring Boot] "Validation(유효성)"검증 실패 처리: 클라이언트에게 적절한 오류 메시지 보내는 방법" 서버에서 유효성 검증을 사용해 클라이언트로부터 전달된 데이터가 요구 조건을 충족하는지 확인합니다. 만약 데이터가 조건에 맞지 않다면 서버는 MethodArgumentNotValidException을 발생시킵니다. 이러한 예외를 제대로 처리하지 않으면 클라이언트는 단순한 400 에러만 받을 수 있기 때문에, 상세한 오류 메시지를 클라이언트에게 전달하는 것이 중요합니다." 이번 글에서는 Validation을 사용하여 데이터 검증에 실패했을 때 클라이언트에게 상세한 오류 메시지를 전달하는 방법을 설명하겠습니다. Validation 실패 시 예외 처리의 필요성서버에서 유효성 검증을 통해 클라이언트가 보낸 데이터가 요구 조건을 충족하는지 확인합니다. 예를 들어, 회원가입 시 이름, 나이, 이메일 등의 입력.. [프로그래머스 (Oracle)] 5월 식품들의 총매출 조회하기 코드 힌트1. JOIN을 사용한 데이터 결합두 테이블을 JOIN하여 관련 데이터를 결합합니다.PRODUCT_ID를 기준으로 FOOD_PRODUCT 테이블과 FOOD_ORDER 테이블을 연결하여 필요한 정보를 가져옵니다.2. 날짜 형식 변환 및 필터링TO_CHAR를 사용하여 날짜 필드를 특정 형식으로 변환할 수 있습니다.PRODUCE_DATE를 'YYYY-MM' 형식으로 변환하여 2022년 5월에 해당하는 데이터를 필터링합니다.3. 판매 총액 계산SUM 함수로 각 제품의 총 판매 금액을 계산합니다.O.AMOUNT * P.PRICE를 사용하여 판매된 양과 가격을 곱하여 총 금액을 구하고 이를 합산합니다.4. 결과 정렬ORDER BY 절로 결과를 정렬합니다.TOTAL_SALES 기준으로 내림차순으로 정렬하며,.. 이전 1 ··· 11 12 13 14 15 16 17 ··· 54 다음