본문 바로가기

전체 글35

<코드카타> 하샤드의 수 하샤드 수(harshad number)주어진 진법에서 그 수의 각 자릿수 숫자의 합으로 나누어떨어지는 자연수    예를 들어 12는 각 자릿수 숫자의 합이 1+2=3이고, 12가 3으로 나누어떨어지므로 12는 10진법에서 하샤드 수다.그러나 16은 1+6=7이고, 16이 7로 나누어떨어지지 않으므로 16은 10진법에서 하샤드 수가 아니다. class Solution { public boolean solution(int x) { int sum = 0; int num = x; while(num > 0){ sum += num % 10; num /= 10; } if(x % sum == 0).. 2024. 8. 9.
Spring Boot Redis Cache 사용 개인프로젝트 과제를 하다가 필수기능에 캐시활용하기가 있었다.강의를 듣다보니 Redis를 이용하였다.왜 이 둘을 활용할까 ? 궁금증이 들었고, 그에 대한 내용을 포스팅 할 것 이다. 캐시(Cache)란?데이터를 미리 복사해 놓은 임시 저장소를 의미한다.( = 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소)저장공간 계층 구조에서 확인 할 수 있듯이, 캐시는 저장 공간이 작고 비용이 비싼 대신 빠른 성능을 제공한다. 이러한 캐시는 성능향상에 큰 이점이 있는데 바로 DB접근을 줄일 수 있는것이다.ex) 반복적으로 동일한 결과를 돌려주는 경우 (이미지나 썸네일)즉, Cache란 반복적으로 데이터를 불러오는 경우에 DBMS혹은 서버에 요청을 반복적으로 하는것이 아니라, Memory에 데이터를 저장하였다가.. 2024. 8. 8.
Querydsl이란 무엇일까 ? (Gradle 설정 및 사용법) Querydsl이란 정적 타입을 이용해서 SQL등의 쿼리를 생성해주는 오픈소스 프레임워크입니다.(하이버네이트 쿼리 언어의 쿼리를 타입에 안전하게 생성 및 관리해주는 프레임워크)문자가 아닌 코드로 쿼리를 작성함으로써, 컴파일 시점에 문법 오류를 쉽게 확인할 수 있습니다.동적쿼리 작성이 편리하다는 장점이 있습니다. JPA로는 복잡한 쿼리, 동적 쿼리를 구현하는 데 있어 한계가 있기때문에 Querydsl을 사용합니다.따라서, 복잡한 동적 쿼리를 사용해야 할 때 QueryDSL을 사용하며, 단순할 경우에는 Spring Data JPA를 활용합니다.  Querydsl을 사용하기 위해서는, Gradle 설정 및 사용법 등을 익혀야합니다.스트링부트 2.X와 3.0부터는 설정법이 다르니 꼭 확인해주세요!저는 3버전 입.. 2024. 8. 7.
<코드카타> 문자열을 정수로 바꾸기 - 여러가지 형변환 메서드 class Solution { public int solution(String s){ int answer = 0; answer = Integer.parseInt(s); return answer; } } String -> int형으로 형변환Integer.parseInt()  Object -> String형으로 변환 String.valueOf() String.valueOf() vs .toString()의 차이점 toString() : Null PointerException 발생 String.valueOf() : null일때에도 null을 문자열로 취급하여 예외를 발생시키지 않는다.어떠한 값을 넣어도 모두 String 문자열로 변환가능 String -> Cha.. 2024. 8. 7.