본문 바로가기

분류 전체보기

(717)
[AWS] EKS 세팅 방법 오늘은 AWS의 k8s 서비스인 EKS를 로컬에 세팅하는 방법에 대해서 알아볼 것이다. 일단 나의 환경은 윈도우 + WSL + AWS이다. 물론, 인스턴스와 EKS세팅은 별도 포스팅에서 다루고 오늘은 회사에 입사해서 EKS를 쓰고있는데, 내 로컬에서 쓸 수 있도록 하는 것이다. 기존에는 AWS에 직접 접속을 해서 커맨드를 날렸지만 EKS는 로컬에서 kubectl을 해도, 해당 aws의 k8s가 응답을 준다. 이게 어떻게 가능할지는 아래 방법을 따라해보자 총 3가지가 필요하다 aws cli aws confiure kubectl 설치 1. aws cli 설치 aws는 실시간으로 변경되기 때문에 우선 아래 공식문서를 확인한다. https://docs.aws.amazon.com/ko_kr/cli/v1/userg..
AutoCommit? 테스트 컨테이너와 Spock를 이용해서 테스트 환경을 구축하다가 DB autocommit을 끄는것에 대해서 공부를 해보려고했다. (팀에 고수분이 의견을 주셨다) 1.Autocommit은 무엇일까? 하나의 트랜잭션은 commit이나 rollback을 만나면 종료된다. 트랜잭션의 성질은 ACID를 따르는데 (이건 모르면 직접 찾아보시길) 1,2,3작업이 있다고 가정 한 트랜잭션에 있다면? 1번 작업 후 2번 작업중 이슈가 생기면? 1번 작업은 commit이 될까? 같은 트랜잭션 이라면 2번이 롤백되면서 1번도 롤백된다. 다만 오토 커밋이라고하면 commit을 따로 날려주지않아도 자동으로 커밋되는것이다. 즉 하나의 트랜잭션 내에 여러가지의 쿼리가 있다고 하더라도, 무용지물로 그냥 다 반영 되는것이다. 쉽게 얘..
[JPA] QueryDsl 사용하기 사용을 위한 기본구성 1. JpaFactory package com.practice.demo.config; import com.querydsl.jpa.impl.JPAQueryFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.persistence.EntityManager; @Configuration public class JpaFactory { @Autowired EntityManager em; @Bean ..
[Git] rebase에 대해서 Rebase를 해보자 master, develop 브랜치 두개로, develop에 작업이 추가되었다고 가정해보자 master 에서 개발중인 사람은 이런 상황이다. 이제 master 기준에서 rebase를 해보자 master에서 메소드를 하나 더 추가했고, rebase를 하면 머지와 동일하게 사용할 수 있다. 그럼 머지랑 무슨 차이일까? 사실 예시가 잘못되었는데 만약에 master의 량이 상당해졌고, develop에서 작업하다가 머지하면 문제가 생길것같다. 그럴경우 develop 개발자가 리베이스를 하고, master작업분을 받아 작업을 한뒤 푸쉬하면 된다. 즉 머지가 내 껄 다른 브랜치에 붓는다고 한다면 재배치는, 다른걸 자기껄로 가져와서 미리 붓는다고 이해하면된다.
[QueryDSL] QueryDSL 세팅 1. Build.gradle에 추가 // QueryDSL로 주석 처리한 부분만 신경쓰면된다. // QueryDSL buildscript { ext { queryDslVersion = "5.0.0" } } plugins { id 'java' id 'org.springframework.boot' version '2.7.12-SNAPSHOT' id 'io.spring.dependency-management' version '1.0.15.RELEASE' // QueryDSL id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" } group = 'com.study' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' co..
[Open Search] Alerting 관련 구현 최근에 사용했던 곳에서 OpenSearch 관련 Alerting 구현을 했다. Open dash는 별도로, 들어가서 세팅을 하고자할수도 있지만, 모니터링 관련 내용을 Rest api로 콜하고, 이를 생성 및 확인 수정 하는 내용을 구현하였다. 진행하면서 삽질도 많이하고, 공식문서에는 내용이 잘 없어서 도움이 되고자. 정리했다. 우선 개발한 구조는 아래와 같다. 포탈 서버에서 알림관련 내용을 저장하면, 이를 가지고 Open search 에 저장하고 이를 내용으로 Opensearch Quartz에서 알림이 나가는 구조이다. Quartz는 Opensearch에서 알아서 처리 되도록 되어있어서, 신경 쓰지 않아도 된다. 필요했던 기능은 아래와 같다. - 알림 항목 지정 - 알림 임계치 지정 - 알림 수신자 지정..
[Test Code] Spock Framework + TestContainers 우선 프로젝트에서는 간단하게 JPA로 insert, delete,select하는 게 있다고 가정하자. 구조만 보이면, 어느정도 동작에 대해서는 알것이라고 기억이 날 것이라고 생각이 된다. 이제 테스트 코드를 작성해보자 우선 Spock를 위해서는 2가지 gradle상 추가를 해야한다. 1) 의존성 추가 + 플러그인 추가 2) 기본 Spock 사용 총 6단계로 나뉜다. 각 feature 메소드라고 부른다. setup,when,then,expect,cleanup,where 1) given,when,then 3가지 기본 사용법 2) Spring Boot Test 2-1) 컨텍스트에 빈 존재유무 테스트 뭔가 구리고 더럽다, 간단하게 바꾸자 2-2) 해당 서비스의 값이 올바른지 확인 사실 2-1을 했으면 거저 먹기..
[Docker] Docker 의 기초와 Swarm에 대해서 도커는 우선 뭐 잘 알다 싶이 컨테이너 기술이다. Docker 에 대한 기본적인 장점과 구조를 알고싶다면 아래글을 먼저 보고오는 것을 추천한다. https://devboi.tistory.com/472 [Docker] Docker Study 기본 Docker 개념 Docker 는 개발자와 시스템 관리자가 컨테이너 기술을 사용하여 어플리케이션을 개발, 배포 및 실행하기 위한 플랫폼이다. 일반적으로 리눅스에서 사용되는 컨테이너 기술을 사용하여 devboi.tistory.com 우선 다음으로는 Docker의 기본적인 명령어와 Swarm과 관련된 공부를 해보자 1. Docker 기본 명령어 및 기본 지식 docker images : 도커이미지 목록 보기 docker search [이미지 이름] : 도커이미지 검색..