본문 바로가기

내일배움캠프28

내일 배움 캠프 최종 프로젝트 - CI/CD 설계 전 서버 구축(GCP Computing engine) 현재 단계에서는 프론트 설계 및 개발 작업이 들어가지 않고 프로젝트의 백엔드 기본 crud 및 기능 추가만 된 상태로 api 들의 성능을 체크를 로컬환경에서만 아닌 실제 서비스들어갈때 클라우드 환경에서 테스트 하기위해 그리고 CI/CD 환경을 구축하기 위해서 서버 구축의 필요성이 생겨 서버를 구축하고자 한다. 클라우드서비스를 이용하기위해 서비스중인 회사들을 살펴보면 대표적인 서비스 회사 amazon의 aws google의 GCP microsoft의 azure 등이 있다. 나는 여기서 google의 GCP를 선택을 하였다. GCP를 선택한 이유는 aws와 GCP를 개별로 경험해본 기억 그리고 프로젝트를 하면서 서버비 지원등을 고려 해보았을 때 aws는 대중적으로 사용하는 서비스고 구글링 기준으로 사용하는 .. 2024. 4. 9.
내일배움캠프 최종프로젝트 - 캐싱 적용-1 최종프로젝트 주제로 e커머스를 설계를 하게 되면서 조회 api 사용시 응답속도 개선 및 변경될 일이 없거나 변경 기회가 적은 데이터에 대한 서버와 DB 와의 트래픽 의 비용감소 및 최적화 목적으로 캐싱을 적용을 하려고 한다. 기본적으로 캐싱 전략에 대해 알아야한다. 캐싱 전략 웹 서비스 환경에서 시스템 성능 향상을 기대할 수 있는 중요한 기술로 일반적으로 캐시는 메모리(RAM)을 사용하기 때문에 기존 데이터 베이스보다 훨씬 빠르게 데이터를 응답 할 수 있어 이용자에게 빠르게 서비스를 제공할 수 있다. 하지만 기본적으로 RAM은 용량이 커봐야 16~32G 정도로 데이터를 모든 캐시에 저장해버리면 용량 부족현상이 일어나 시스템이 다운될 경우가 있다. 따라서 어느 종류에 대한 데이터를 캐시에 저장할지, 얼마만.. 2024. 4. 4.
내일배움캠프TIL-Docker를 활용해 MySQL을 컨테이너로 띄워 사용하자 프로젝트 과제를 하면서 개발환경에서 MySQL을 쓰게 되고 컴퓨터를 시작하면서 계속해서 MySQL서버가 필요하지 않을때도 프로세스가 점유되는 것이 불편하여 이번에는 Docker라는 것을 이용해서 원하는 때에만 MySQL을 사용할 수 있게 만들도록 만들려고 한다. 기본적으로 Docker를 사용하여 컨테이너를 띄워 사용하기위해 기본적인 지식이 필요로한다. Docker란 무엇인가? Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼입니다. Docker는 소프트웨어를 컨테이너 라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있습니다. Docker를 사용하면 환경에 구애받지 않.. 2024. 3. 13.
내일 배움 캠프 TIL -QueryDSL을 사용해서 수정일 순으로 정렬해서 가져오자 개인과제로 만들었었던 프로젝트로 기본적인 스프링 부트 crud 구현에서 조회 부분에 querydsl을 적용해보려고 한다. QueryDsL 이란 정적 타입을 이용하여, SQL과 같은 쿼리를 코드형태로 생성할 수 있도록 해주는 오픈소스 빌더 API이다. JPQL처럼 query문을 문자열로 작성하는 하드 코딩이 아닌 코드형태로 작성을하여 컴파일 시간에 에러가 식별되어 리스크를 줄일 수가 있다. JPQL을 사용한 quey문 public interface PersonRepository extends JpaRepository{ /*변수 바인딩 시, ?시퀀스 사용하는 경우 */ @Query("select p from Person p where p.firstName = ?1 and p.lastName = ?2") Pe.. 2024. 3. 11.