분류 전체보기
-
Spring Boot JPA Update 방법은 다양하다?개념 Self Study📝/Java 2023. 4. 27. 02:32
1.개요 Final Project를 진행하는 도중 C,U,D기능에서 U기능이 에러(NullPointExceptionError)가 발생하였다. 그 이유로는 게시물에 대해서 삽입해야하는 값들이 많은데 값 삽입 도중 원치 않는값들을 입력하지 않으면 자체적으로 null값으로 넘김에 따라서 에러가 발생하였다. 문제 풀이 서비스를 만들었는데 문제 풀이 특성상 객관식,주관식 구분하면 조건도 달라 에러(NullPointExceptionError)가 자주발생 하여 다른 방법의 Update JPA를 모색하였다. 2. Update 방법의 다양성 Builder를 통한 Update Builder패턴을 이용하여 build를 한 후 기존에 있던 엔티티를 조회한 후 조회한 Entity에 JPA의 save메서드를 이용하여 기존에 있던..
-
Argo CD 간단 요약카테고리 없음 2023. 3. 1. 22:08
개요 왜 ArgoCD를 사용하는지 알아보자 ArgoCD동작 원리에 대해서 파악하여 보자 Argo CD GitOps스타일의 배포를 지원하는 CD도구이다. Git 저장소의 내용과 쿠버네티스 클러스터를 동기화 해주는 역할을 하는 에이전트 이다. 쿠버네티스 클러스터 내부에서 Pod 형태로 배포가 된다.(ArgoCD의 단점) Argo CD의 장점 GitOps의 장점을 가져갈수 있다. 쿠버네티스로 관리하는 리소스를 git에 저장함으로써 코드로 관리할수 있다. IAC와 유사 *IAC:코드형 인프라는 인프라 관리를 데이터센터의 물리적 하드웨어에서 가상화, 컨테이너, 클라우드 컴퓨팅으로 전환할수 있도록 지원한다. *GitOps는 kubernetes Manifest파일을 Git에서 관리하고, 배포할때에도 Git에 저장된 ..
-
Jenkins카테고리 없음 2023. 2. 20. 22:02
개요 Jenkins 왜 사용하는지 알아보고, 사용 방법에 대해서 정리 배경 프로젝트를 진행하면 서비스를 배포하기까지 개발, 테스트, 빌드 등 많은 과정들이 필요하다. 이런 과정을 매번 수행하기에는 번거롭고 많은 투자가 필요하다. 이러한 반복적인 작업을 해결하기위해 만들어지기 위해 만들어진것이 CI/CD이다. 젠킨스란? 세계적으로 많은 개발자들이 사용중인 CI툴이다. 다수의 개발자들이 하나의 프로그램을 개발할 떄 공유 영역인 Git등의 저장소에 저장된 프로젝트를 버전 충돌을 방지하며 지속적 통합이 가능하도록 해준다. 왜 사용하는가? 젠킨스를 사용하면 개발자들은 코드를 저장소에 커밋할때마다 자동으로 빌드 및 테스트를 수행할수 있다. 개발자들은 더욱 빠르게 통합하고, 코드 변경사항에 대한 피드백을 더욱 빠르게..
-
클라우드 네이티브(Cloud Native)개념 Self Study📝/cloud 2023. 2. 20. 20:25
개요 클라우드 네이티브가 무엇인지에 대해서 알아보자 왜 기업에서 클라우드 네이티브에 집착을 하는가? 클라우드 네이이티브 애플리케이션이 무엇인가? 클라우드 네이티브 정의 -클라우드 컴퓨팅 환경에서 현대적 애플리케이션을 구축, 배포 및 관리할 때의 소프트웨어 접근 방식이다. -클라우드의 이점을 최대로 활용할수 있도록 애플리케이션 구축하고 실행 왜 사용하는가? 현대적인 회사는 고객의 요구를 충족하기 위해 신속하게 업데이트할 수 있는 확장성, 유연성 및 복원력이 뛰어난 애플리케이션을 구축하고자 한다. 최근 복잡한 애플리케이션 환경에서는 비즈니스 시스템을 보다 전략적이고 유연하게 운영해야한다.(작동 중지 시간이 없다.) 클라우드 네이티브 접근 방식의 장점 효율성 증가 클라우드 네이티브 개발은 애자일 방식이다. 개..
-
MSA(Micro Service Architecture)개념 Self Study📝/cloud 2023. 2. 12. 21:38
MSA가 도입되기전 Monolitic : 하나의 암석으로 된 -> 사전적의미 장점 하나로 되어있어서 동일한 개발 툴을 사용해 개발됨. 배포 및 테스트도 하나의 애플리케이션만 수행하면 되므로 개발및 환경 설정이 간단하다. 각 컴포넌트 들이 함수로 호출되어 성능제약이 적고, 운영관리가 용이하다. 단점 빌드/테스트 시간이 길어진다 : 작은 수정에도 시스템전체를 빌드해야한다. 선택적 확장이 불가능하다: 이벤트로 인해 서비스 접속량이 폭증할 경우 프로젝트 전체 확장해야한다. 하나의 서비스가 모든 서비스에 영향을 준다 : 이벤트 서비스에 트래픽이 몰려 해당서버가 죽게된다면 다른 모든 서비스 역시 마비되는 상황이 발생 MSA(Micro Service Architecture) - 단일 프로그램을 각 컴포넌트 별로 나누..
-
Docker Compose개념 Self Study📝/cloud 2023. 2. 12. 18:17
도커를 사용하는 이유 변화하지 않는 실행 환경을 확보 코드를 통한 실행환경 구축 및 애플리케이션 구성 실행환경과 애플리케이션의 일체화로 이식성 향상 * 다른 서버환경에서도 도커를 통해 같은 실행환경을 만들어 이식에 문제가 없다. 도커 이미지 및 도커 컨테이너 docker image 컨테이너를 구성하는 파일 시스템과 실행할 애플리케이션 설정을 하나로 합친것 (실행에 필요한 파일과 설정 값등을 포함) 컨테이너 생성하기 위한 템플릿 효율적인 공유를 가능하게 해준다. docker container 도커 이미지를 기반으로 애플리케이션 실행되는 상태 가상머신과 마찬가지로 애플리케이션을 관려 라이브러리 및 종석 항목과 함께 패키지로 묶어 소프트웨어 서비스 구동을 위한 격리 환경을 마련해준다. 컨테이너 이점 가상머신의..
-
Java abstract & interface쉽게 지나치는 개념/Java 2023. 1. 29. 23:59
public class Common { public static void main(String[] args) { Unit [] group = {new Marine(), new Tank(), new Dropship()}; for(int i=0; i < 3; i++) { group[i].move(100, 100); } } } abstract class Unit { int x,y; abstract void move (int x, int y); void stop() {/*"현재위치에 정지"*/}; } class Tank extends Unit { void move(int x, int y) { System.out.println(); } void siezeMode(){/*시즈모드 사용한다.*/}; } class M..
-
GET 과 POST쉽게 지나치는 개념 2023. 1. 24. 20:35
GET과 POST는 간단히 생각하고 넘기는 사람들이 많다고 생각이들었고 나 또한 그러한 사람중에 한명이였다. 근데 뭔가 정확히 개념을 알고 사용하고 싶어서 많은 웹서핑을 통해서 개념을 확립시켜야겠다고 생각했다. GET과 POST의 차이 GET은 주소줄에 값이 쿼리스트링(?) 뒤에 이어붙고 POST는 숨겨져서(body안에) 보내진다. GET은 URL에 이어붙기 떄문에 길이 제한이 있어서 많은 양의 데이터를 보내기가 어려우며, POST는 많은 양의 데이터를 보내기에 GET에 비해 수월하다(용량제한 존재) ex) id넘겨서 게시판 리스트 가져올때는 GET을 쓸것이고 글 작성한다고 하면 POST를 사용하는것이 일반적임. 전달해야 될 양이 많을 경우 고민없이 POST를 쓰지만 많지않은경우에도 GET을 사용함 GE..