본문 바로가기

전체 글89

[kubernetes] 쿠버네티스 개념, 장점 ✔ 개념 쿠버네티스는 컨테이너를 관리하기 위한 툴이다. 여러개의 컨테이너를 배포할 때 사용하면 유용하다. ✔ 장점 1. 여러 개의 컨테이너를 배포했을 때 만약 하나의 컨테이너가 다운 된다면? 빨리 해당 컨테이너를 재시작해야한다. 이 때 쿠버네티스가 필요하다. 컨테이너가 죽으면 쿠버네티스가 모니터링 하고있다가 바로 죽은 컨테이너를 재시작하게 만든다. 따라서 자동으로 쿠버네티스가 컨테이너들을 모니터링해주고, 재시작해주니까 사람은 편해진다. 2. 1만명의 유저가 접속을 한다면? 그런데 내 웹/앱은 준비가 되지 않았다면? 쿠버네티스는 자동으로 새로운 컨테이너를 만들 수 있다. 쿠버네티스가 알아서 해당 웹 니즈에 맞춰서 컨테이너들을 준비하고, 사람들이 줄어들어서 니즈가 줄어들면 컨테이너를 지정해둔 최소 숫자로 자.. 2022. 4. 18.
[AWS] Amazon S3 의 특징, 장점, 사용이유 S3 : Simple Storage Service ✔ Amazon S3 란? 데이터 가용성, 내구성, 확장성, 보안 및 성능이 이 뛰어난 객체 스토리지 서비스이다. ✔ S3 작동방식 S3는 데이터를 버킷내의 객체로 저장하는 객체 스토리지 서비스이다. - 객체 S3에 저장되는 기본 개체 해당파일을 설명하는 모든 메타데이터(수정한 날짜, content-type, 표준 http 등) - 버킷 객체에 대한 컨테이너 버킷에 저장할 수 있는 객체 수에는 제한이 없다. ✔ 사용이유 1. 내구성과 가용성 내부적으로 복제가 되어 데이터가 손상되어도 복구 가능 한 객체에 손상이 발생해도 복제본이 있기 때문에 내구성 상승 복제본도 원본과 동일하게 실제 다운로드 요청에 응답하기 때문에 가용성 상승 2. 저장 용량이 무한대이고.. 2022. 4. 18.
[AWS] VPC, ELB, EC2, Private public subnet 알아보기 1. VPC(Virtual Private Cloud) 사용자 전용 가상 네트워크이다. 여러 AZ(Availity Zone 가용영역) 걸친 형태로 생성 가능하다. AWS 의 리소스들이 위치할 네트워크 망이다. 2. ELB(Elastic Load Balancing) 로드밸런서는 여러 가용영역에서 오는 트래픽을 EC2 인스턴스로 분산시켜주어서 부하를 분산 시켜주는 서비스이다. 장점으로 큰 어려움 없이 고 가용성을 가진 서비스를 구출할 수 있다. 3. AZ(Available Zone 가용영역) 복수의 가용 영역에 걸쳐 인스턴스를 배포했을 때, 하나의 인스턴스에 장애가 발생한 경우를 대비하여 다른 가용 영역의 인스턴스가 장애가 발생한 인스턴스 관련 요청를 처리할 수 있다. 또한 탄력적 IP 주소를 사용하여 한 가.. 2022. 4. 10.
[React] Axios 개념, 특징 JS 에서 비동기통신을 위한 라이브러리 Axios, AJAX, fetch 가 있다. 개념 Axios 는 node.js와 브라우저를 위한 Promise기반의 브라우저를 위한 HTTP 비동기통신 라이브러리이다. 프론트엔드와 백엔드가 통신을 쉽게 하기 위해서 사용한다. 특징 운영 환경에 따라 브라우저의 XMLHttpReques 객체 또는 Node.js 의 http api 사용 Promise(ES6) API 사용 프로미스 기반으로 만들어져서 데이터를 다루기 편리 요청과 응답 데이터 변형 HTTP 요청과 응답을 JSON 형태로 변경 Promise 란? 프로미스는 자바스크립트 비동기 처리에 사용되는 객체이다. 프로미스는 주로 서버에서 받아온 데이터를 화면에 표시할 때 사용한다. 일반적으로 웹 애플리케이션을 구현할 .. 2022. 4. 8.
[SpringBoot] Annotation Controller 1. Controller 컨트롤러는 사용자의 요청이 진입하는 지점입니다. 따라서 사용자의 요청을 어떻게 처리할지 결정하는 클래스입니다. 넘어온 요청을 처리하기 위해 service 를 호출합니다. @Controller 컨트롤러 역할을 수행한다고 명시하는 어노테이션. 주로 화면에 보여주는 View를 반환하기 위해 사용 @RestController Controller + Responsebody 주로 JSON 형태로 데이터를 반환하기 위해 사용 점점 Data 를 반환해야 하는 경우가 늘어난다(RestAPI일 때, 화면의 특정 부분만 렌더링 할 때) @Responsebody 계속 붙이는건 번거로움 @RequestMapping(value='api') 사용자가 특정 URi로 요청을 보내면 Controller에서 어떤.. 2022. 4. 7.
[Web] 웹서버(WS)와 웹 어플리케이션 서버(WAS)의 차이? WS(WebServer) 와 WAS(Web Application Server) 차이 웹서버 1. HTTP 요청을 받아 정적인 컨텐츠를 제공 정적인 컨텐츠 : HTML, CSS, Image, Javascript 등 정적인 데이터 2. 동적인 컨텐츠 제공을 위한 요청 전달 요청을 was 에 보내고 was 가 처리한 결과를 클라이언트한테 전달 웹 어플리케이션 서버 1. HTTP 프로토콜 기반으로 클라이언트의 요청에 따라 구현된 비즈니스 로직을 통해 동적인 컨텐츠 반환 다양한 서버 내 알고리즘, 비즈니스 로직, DB 조회 등의 클라이언트의 요청 처리 즉, 웹 서버에게 요청을 받고 이를 웹 컨테이너에 보내 로직을 수행하고 그 결과를 다시 웹서버에 보내 최종적으로 클라이언트에게 전달한다. 참고 https://gml.. 2022. 4. 6.
프로젝트 고군분투 과정 기록 3/24 목 값은 들어오고 나오는데 다음 페이지 (board )로 자동으로 안넘어감 500 에러 axios.post().then 여기가 문제로 보임 3/25 금 500 에러 해결 못함 (후보 : cors , 백 프론트 컬럼달라서? , 응답방식 문제? ) cors는 아님 이거 패쓰하고 ReadBoard 작업 시작 에러로 시작~! 값을 못 불러옴 난 Class component 로 작성했는데 props.match.params.id 저 코드가 문제로 보임 찾아보니까 v5 에서 사용한거고 v6 에서는 useParams() 를 쓰라는데 또 Class 컴포넌트에서는 useParams 못쓴다고 한다. 그럼 난 뭘써요? 해결 결국 난 이참에 functional 컴포넌트로 전부 바꿔버렸고, 500에러는 Spring bo.. 2022. 3. 24.
[Git/VScode] VScode 에서 Git-flow 전략으로 프로젝트 시작하기 ( master - develop - feature ) Git-flow 전략이란? Git Flow 에는 항상 유지되는 branch : master(main), develop 이 있고, 일정 기간 동안만 유지되는 branch : feature, release, hotfix 가 있다 master : 서비스로 배포 될 수 있는 브랜치 develop : 다음 출시 버전을 개발하는 브랜치 ( develop 에서 완성되면 master로 merge 후 배포 ) feature : 기능을 개발하는 브랜치 release : 이번 출시 버전을 준비하는 브랜치 hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치 Git-flow의 전체 흐름 1. develop 브랜치를 main 브랜치에서 생성 2. release 브랜치를 develop 브랜치에서 생성 3. feature.. 2022. 3. 19.
[해결] 스프링 BeanCreationException:, org.hibernate.AnnotationException 에러 ✔ 문제 JPA로 테이블을 생성하려고 하는데 다음과 같은 에러가 났다. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: No identifier specified for entity: webapp.mys.. 2022. 3. 11.