쿠버네티스는 다수의 컨테이너를 효율적으로 배포, 확장, 관리 하기 위한 오픈소스 =>도커 컴포즈의 확장판장점- 컨테이너 관리 자동화- 부하분산(로드밸런싱)- 쉬운 스케일링 -> 트래픽 정도에 따라 서버 수를 변경할 수 있다- 셀프힐링 -> 자동 재시작 가능 kubectl은 쿠버네티스 명령어를 사용할 수 있게 해주는 CLI툴 파드란?도커에서 프로그램 실행 단위 = 컨테이너쿠버네티스에서 프로그램 실행 단위 = 파드※보통 하나의 파드에 하나의 컨테이너지만 하나의 파드에 여러 컨테이너가 존재할 수 있다! 파드 실행방법 2가지- CLI- yaml => 실무에서 주로 사용하는 방식 도커는 컨테이너 내부와 외부의 네트워크가 독립적쿠버네티스는 파드 내부와 외부의 네트워크가 독립적 Image Pull Policyyam..
Resource Owner(사용자)Client(개발서버)Authorization Server(인증하고 토큰을 발급해주는 서버)Resource Server(네이버, 카카오, 구글 같은 API를 제공하는 서버)플로우
트랜잭션 - 개념트랜잭션이란 하나의 서비스 로직을 안전하게 처리하도록 보장해주는 것을 뜻한다.트랜잭션 ACID1. 원자성: 트랜잭션 내에서 실행한 작업들은 마치 하나의 작업인 것처럼 모두 성공하거나 모두 실패해야한다. 2. 일관성: 모든 트랜잭션은 일관성있는 데이터베이스 상태를 유지해야한다. 예를 들어 데이터베이스에서 정한 무결성 제약 조건을 항상 만족해야 한다.3. 격리성: 동시에 실행되는 트랜잭션들이 서로에게 영향을 미치지 않도록 격리한다. 격리성은 동시성과 관련된 성능 이슈로 인해 트랜잭션 격리 수준을 선택할 수 있다.4. 지속성: 트랜잭션을 성공적으로 끝내면 그 결과가 항상 기록되어야 한다. 중간에 시스템에 문제가 발생해도 데이터베이스 로그 등을 사용해서 성공한 트랜잭션 내용을 복구해야한다.DB ..
JWT(JSON Web Token)인증에 필요한 정보들을 암호화시킨 JSON 토큰을 의미.Access Token을 HTTP헤더에 실어 서버가 클라이언트를 식별하는 방식.JWT는 JSON 데이터를 Base64 URL-safe Encode 를 통해 인코딩하여 직렬화한 것JWT 구조Header{ "alg":"HS256", "type":"JWT"}alg : 서명 암호화 알고리즘(ex: HMAC SHA256, RSA)typ : 토큰 유형Payload토큰에서 사용할 정보의 조각들인 Claim 이 담겨있다. (실제 JWT 를 통해서 알 수 있는 데이터)서버와 클라이언트가 주고받는 시스템에서 실제로 사용될 정보에 대한 내용을 담고있다.key-value 형식으로 이루어진 한 쌍의 정보를 Claim이라고 칭한다..
일반 Join일반 조인을 하는 경우 조회의 주체가 되는 엔티티만 불러온다.만약 조인된 엔티티의 다른 값을 조회하게 된다면 아래처럼 select 쿼리를 호출하게된다. select o1_0.order_id, o1_0.delivery_id, o1_0.member_id, o1_0.order_date, o1_0.status from orders o1_0 join member m1_0 on m1_0.member_id=o1_0.member_id join delivery d1_0 on d1_0.delivery_id=o1_0.delivery_id select m1_0.member_id, m1_0.city, m1_0.street, m1_0.zipcode, m1_0.name from ..
객체지향은 4가지 특징이 있다. 캡슐화 추상화 상속화 다형성 - 캡슐화는 외부에서 데이터 또는 기능에 직접 접근을 못하도록 하는 개념이다. 만약 직접 접근을 할 수 있다면 예상치 못한 문제가 발생될 확률이 높아지고 유지보수도 어려워질 것이다. - 추상화는 공통적인 속성과 기능들을 정의하는 것을 말한다. 추상화를 하게되면 중복코드가 줄어들며 코드의 재사용성이 증가하고 코드가 깔끔해진다. 자바에서는 추상화를 인터페이스와 추상클래스로 구현할 수 있다. 추상 클래스는 추상 메소드뿐만 아니라 생성자, 필드, 일반 메소드도 포함할 수 있지만 인터페이스는 오로지 추상 메소드와 상수만을 포함할 수 있다. 인터페이스를 사용하는 이유는 추상 클래스는 다중 상속을 지원하지 않지만 인터페이스는 다중 상속을 지원한다. 그리고 ..