본문 바로가기

개발관련22

Docker 란 무엇일까 ? Docker란? 애플리케이션을 쉽게 만들고, 테스트하고, 배포 할수 있게 도와주는 소프트웨어 플랫폼 컨테이너 기술을 기반으로 한 일종의 가상화 플랫폼 주요특징컨테이너화 경량 이식성 (어디서든 동일하게 실행 개발자의 컴퓨터라던지 테스트 서버 운영서버 까지 동일하게 동작)확장성 Docker가 나오기전에는Spring app 안에 /product,  /order에 있다고 가정하 서버에 Spring app을 넣어서  도커전에는 서버 리눅스 안에 어플리케이션을 넣어서 사용자는 엔드포인트를 통해 접속하였다.자바버전, gradle을 리눅스에서 다 설치해서 맞춰주어야함 자바 버전이 다른 경우 굉장히 복잡하고, 버전을 함부로 바꾸기엔 위험부담이 매우크다.또한 시스템의 종속성이 생기기때문에, 매우 복잡하다. 도커가 생긴이후.. 2024. 8. 13.
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.
인메모리 데이터 베이스(1) 강의를 들으며 적은것을 올린다. redis는 대표적인 인메모리 데이터베이스, 점유율이 가장 높았었다.RAM은 휘발성을 가지고있다. 1. 세션 정보 저장 2. 장바구니 정보를 지속적으로 변경할수있음 3. 조회수 과정에서 많이 활용가능 즉, 상황에 따라 자주바뀌는 특징을 가지고 있다. NoSQL Database? 일반적인 관계형 데이터베이스는 SQL을 사용한다. Redis를 비롯한 NoSQL데이터베이스는 일반적으로 SQL을 사용하지 않는다. 스키마 라는것이 존재하지않는다. -> 테이블 사용 X SET GET 약간 자바의 메서드를 사용하는 느낌이 든다. NoSQL데이터베이스를 사용하는 이유 데이터의 크기가 커짐 비정형 데이터의 증가 관계형 데이터 베이스는 일관성을 높이고 확장성, 유연성이 떨어진다, NoSQL.. 2024. 8. 5.