이글은 "시작하세요! 도커/ 쿠버네티스" 책을 기반으로 작성된 책입니다. 목차도커 이미지 생성이미지 구조 이해이미지 추출이미지 배포모든 컨테이너는 이미지를 기반으로 생성되기 떄문에 이미지를 다루는 법은 도커 관리에서 뺴놓을수 없다.이미지를 구성하는 저장소, 생성, 삭
이 글은 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식 을 기반으로 작성된 글 입니다.Http에 대해 많이 들어봤지만 제대로 다뤄본적은 없었다 이번 기회에 특징과 메소드를 정리해보자.HTTP - HyperText Transfer Protocol직역하면 하이퍼 텍
이 글은 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식 을 기반으로 작성된 글 입니다.웹 개발을 하면서 URI, URL 이란 말을 많이 들어왔었다. 가장 익숙한 단어는 URL 이지만 종종 둘을 차이를 두지 않고 사용하는 사람들을 보면서 그 두 단어가 의미하는 뜻
나는 사실 토이 프로젝트를 하면서 cors 로 인해 막히거나 했던 부분은 없었다. Https를 적용하지 않고 Https로 요청을해 cors를 한번 경험해본것 말고는...옛난에는 브라우저를 통해 누구나 데이터를 요청하고, 응답이 가능했다. 하지만 이는 보안에서 문제점이
왜 @Controller Advice를 사용하였는가?문제는 이러헀다. 토이 프로젝트를 진행중 Controller단에서 예외를 터트려 이를 해당 예외에 대한 HttpservletResponse에 StatusCode를 담아 보내주고 싶었다. 하지만 코드가 복잡해지고 하드코
테스트를 하는 이유? 가시적, 구체적 목표 설정 가능 스스로 실행되며 자가 검증 가능 간단하고 반복으로 실행 가능 테스트 코드가 운영코드의 클라이언트라 볼수 있음 배포하기전에 테스트 가능 테스트의 기법 수동 (실제 기능 검증, Q/A) 인수테스트
이번 장에서는 JPA의 고급 주제들과 JPA의 성능을 최적화 하는 방안을 알아볼 것이다.JPA의 표준 예외 들은 javax.persistence.PersistenceException의 자식 클래스 이다. 이외는 RuntimeException의 자식 이며 크게 2가지로
컬렉션 ( 다양한 컬렉션과 특징을 설명 )컨버터 ( 엔티티의 데이터를 변환해 데이터 베이스에 저장 )리스너 ( 엔티티에서 발생한 이벤트를 처리 )엔티티 그래프 ( 엔티티를 조회시 연관된 엔티티를 함께 조회 )JPA는 자바에서 제공하는 Collection, List, S
스프링이나 J2EE 컨테이너 환경에서 JPA를 사용하면 트랜잭션과 영속성 컨텍스트를 관리해 주기때문에 개발을 손쉽게 할수 있다. 하지만 내부 동작에 대해 잘 모른채로 개발을 해 발생할수 있는 문제에 대해 다뤄보겠다.스프링 컨테이너는 트랜잭션 범위의 영속성 컨텍스트 전략
JPA는 복잡한 검색 조건을 사용해 엔티티 객체를 조회할 수 있는 다양한 쿼리 기술을 지원한다.JPQLCriteriaQueryDSL네이티브 SQL객체지향 쿼리 심화EntityManager.find() 메소드를 사용하면 식별자로 엔티티 조회가 가능하다. 이 기능은 가장
JPA의 데이터 타입은 크게 2가지로 나뉜다. (엔티티 타입/ 값 타입)@Entity로 정의하는 객체 (엔티티 타입)int, integer, String 처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체를 말한다. (값 타입)값 타입→ 3가지로 또 나뉨기본 값 타입
프록시와 지연로딩, 즉시로딩영속성 전이와 고아 객체엔티티 조회시 늘 연관된 데이터가 사용되는 것은 아니다. 그렇다면 가-나-다 로 연관이 맺어져 있는 엔티티가 있을때 가 를 조회시 나- 다를 사용하지 않는데전부다 불러오는게 맞는 것일까?→ 이는 서버에 부하를 주게 되는
객체지향 언어를 사용해본 사람이라면 당연히 상속 관계에 대해 알고있을것이다.그렇다면 관계형 데이터 베이스에는 상속 관계가 있을까? 이에 대한 답은 "없다" 이다. 그렇다면 어떻게 상속 관계를 DB에 표현 할 수 있을까?💁 이는 슈퍼 타입, 서브 타입 관계와 가장 유사
먼저 앞장의 내용을 복습하고 넘어가자엔티티 연관관계 매핑시 주의점 3가지다중성방향성연관관계의 주인 ( 외래키를 가지고 있는 쪽을 주인으로 설정 하며 주인의 쪽은 CRUD가 가능하지만 반대 쪽은 읽기만 가능하다 )☝️ 양방향은 외래 키가 있는 쪽인 연관관계의 주인☝️ 양
JPA시작, 영속성 관리 > 개인적으로 중요하다고 생각하는 부분만 정리하겠다. 데이터 베이스 방언이란? 데이터 베이스 방언이란 각 데이터 베이스마다 쓰이는 종속적인 문법이라고 생각하면 된다. ex) 데이터 타입 MySql(VARCHAR) vs Oracl
너무 쉬워서 간단한 스트림 또는 반복문을 사용해 풀수 있다.가장 중요한것 폰켓몬의 종류수폰켓몬의 종류가 N/2 가 넘느냐 마느냐처음에는 모든 경우의 수를 다 찾아가면서 소거 해나가는 방법으로 풀까 고민을 했었다. 하지만 생각해보니 그렇게 어려운 문제가 아니란것을 깨달았
자바로 간단한 큐를 사용해 풀어보았다. ☝️ 조건 해당 조건이 들어왔을때 이전에 들어온 작업이 끝나지 않는다면 이후 들어온 작업이 끝나도 배포가 불가능 → 선입 선출 → 큐 ( 자바 스터디를 진행했었기에 최대한 자바 컨벤션을 지키면서 풀어보고 싶었으나 아직
그리디 알고리즘이란? "매 선택에서 지금 이 순간 당장 최적인 답을 선택하여 적합한 결과를 도출하자"그리디 -> 탐욕이란 뜻으로 말그대로 탐욕알고리즘이다.그리디 알고리즘은 각 단계에서 최선을 선택하게 되는 알고리즘이며 동적 프로그래밍 이랑 비슷한 부분이 있다. (동적
디미터 법칙의 시초 : 디미터라는 프로젝트를 진행중 다른 객체와의 협력을 하는 객체지향프로그래밍에서 협력의 경로를 제한 시켜두면 결합도가 낮아진다는 점을 발견하고 만들어낸 법칙이다.간단하게 한줄에 . 하나만 찍는다고 표현한다.핵심객체의 구조를 따라 멀리 떨어져있는 객체
자바 상속의 특징super 키워드메소드 오버라이딩다이나믹 메소드 디스패치 (Dynamic Method Dispatch)더블 디스패치추상 클래스final 클래스Object 클래스상속이란? 현실 세계에서 쓰이는 상속이란 말에 대해 생각해 보자 부모의 자산등을 자식에게 물려