분류 전체보기 (126) 썸네일형 리스트형 Docker란 2021-07-11글 도커란? 컨테이너 기반의 오픈소스 가상화 플랫폼 다양한 프로그램, 실행환경을 컨테이너로 추상화한, 동일한 인터페이스를 제공해 프로그램의 배포 및 관리를 단순화하게 해줌 어디에서든 실행 가능하도록 해줌(조립컴, AWS, Google Cloud) 특징 확장성 이미지만 만들어 놓으면 컨테이너는 그냥 띄우면 됨 서버에 서비스 하나 더 띄울라면 run 명령어로 간단하게 해결 표준성 도커를 사용하지 않는 경우 ruby, nodejs, go, php로 만든 서비스들의 배포 방식은 각각 다름 컨테이너라는 표준으로 서버를 배포하므로 모든 서비스들의 배포과정이 동일 이미지 이미지에서 컨테이너를 생성하기 때문에 반드시 이미지를 만드는 과정이 필요 이미지를 저장할 곳이 필요 설정 보통 환경변수로 제어 하.. Kotlin으로 Spring Rest Docs 삽질하기 (feat. 제작 근로) 2021-07-06글 Spring Rest Docs 설정 - build.gradle.kts 플러그인 추가 plugins{ // ... id("org.asciidoctor.convert") version "1.5.9.2" } asciidoctor, Spring Rest Docs 의존성 추가 asciidoctor("org.springframework.restdocs:spring-restdocs-asciidoctor:2.0.5.RELEASE") testImplementation("org.springframework.restdocs:spring-restdocs-mockmvc:2.0.5.RELEASE") snippets 저장 경로 지정 val snippetsDir by extra { file("build/gene.. [JPA] Cascade 간단 노트 2021-07-08글 JPA에서 엔티티를 저장할 때 연관된 모든 엔티티는 영속 상태여야 한다. 부모 엔티티를 영속 상태로 만들 때 연관된 자식도 한번에 영속 상태로 만들 수 있다. Cascade란? 영속성 전이 연관관계에 있는 엔티티에 작업이 이루어져 상태 변화가 이뤄질 시 동일한 작업이 연결된 엔티티에 전이되는 옵션 일반적으로 부모 엔티티에서 cascade 옵션을 걸어줌 자식에서 부모로 옵션을 거는 것은 의미가 없다고함 즉시로딩, 지연로딩, 연관관계 세팅과 관계 없음 부모, 자식 엔티티와 연관관계 주인(외래키 관리자)는 다름 Entity의 상태 Transient : JPA가 모르는 상태 (단순 객체 생성) Persistent : JPA가 관리중인 상태 (1차 캐시, Dirty Checking, Writ.. [JPA 프로그래밍 기본기 다지기] 양방향 매핑 노트 2021-05-29글 양방향 매핑 반대방향으로도 그래프 조회가 가능해야함 연관 관계의 주인과 왜 mappedBy를 해주는 건지? 객체는 서로를 포함하고 있어야 함 (2개가 필요) 객체와 테이블이 관계를 맺는 차이 객체 연관관계 회원 -> 팀 연관 관계 1개 (단방향) 팀 -> 회원 연관관계 1개 (단방향) 테이블 연관관계 회원 팀의 연관관계 1개 (양방향) 이 차이를 어떻게 극복할거냐?? 객체의 양방향 관계 객체는 사실 양방향 관계가 아니라 서로 다른 단방향 관계 2개이다. 객체를 양방향으로 참조하려면 단방향 연관관계를 2개 만들어야 함 테이블의 양방향 관계 테이블은 외래키 하나로 두테이블의 연관 관계를 관리 둘 중 하나로 외래키를 관리해야 한다 객체는 두 곳에서 연관관계에 있는 객체를 다루고 있음 그러.. Servlet과 Spring 2021-06-23글 [10분 테코톡] 🐶 코기의 Servlet vs Spring을 들으며 정리한 글입니다. 서블릿이란 처음 웹 서버는 정적인 페이지만 만들 수 있었음 웹서버에 프로그램을 붙여 동적인 페이지를 생성하기 시작 서블릿이 이 프로그램 중 하나 서블릿은 동적인 페이지를 만드는 프로그램 중 하나이다. 서블릿으로 요청을 처리하는 방법 서블릿은 이런 HTTP 요청과 응답을 좀 더 쉽게 다룰 수 있는 메서드(기능)을 제공 개발자들이 집중해야하는 비즈니스 로직에 집중할 수 있음 service() : 요청을 처리할 때 수행하는 메서드 개발자가 처리하고 싶은doXxx()를 재정의해주자! 서비스 메서드만 재정의해서 처리 방법을 지정 서블릿 컨테이너와 서블릿이 호출되는 과정 서블릿 컨테이너는 서블릿을 관리하는 .. CORS 2021-06-16글 [10분 테코톡] 🌳 나봄의 CORS을 들으며 정리한 글입니다. 배경 지식 SOP(Same Origin Policy) 다른 출처의 리소스를 사용하는 것에 제한하는 보안 방식 왜 SOP? CSRF Attack 때문! 사용자는 인증 토큰을 가지고 있는 상태 해커가 만든 주소로 이동하는데, 여기다 해커는 악의적인 스크립트를 심음 해커는 인증 토큰을 가지고 악의적인 스크립트를 실행할 수 있음 만약 송금이나 민감한 정보를 건드릴 시 굉장히 위험 여기서 SOP가 위력을 발휘 웹사이트 입장에서는 자신과 다른 출처를 가지기 때문에 위 요청은 받을 수 없다고 판단 출처(Origin)란? Protocol, Host, Port 세가지가 같아야 같은 출처라고 판단 참고로 인터넷 익스플로어는 출처판단에 P.. Level2. atdd-subway-fare 정리 2021-06-16글 요금 정책 로그인 사용자와 비로그인 사용자를 구별하여 요금 정책을 적용 PathController에서는 토큰이 없어도 예외가 아니었고 MemberController에서는 토큰이 없으면 예외였기에 Resolver에서는 각각에 맞는 처리를 해주어야 했음 맨 처음 페어랑 기능만 돌아가게 구현했을 때는 기존에 있는 로그인된 사용자에 대한 인가 과정을 거치는 Resolver를 재사용하도록 구현 이러기 위해서는 이 각각에 맞는 처리를 일간 Controller로 옮겨야 했음 AuthenticationPrincipalArgumentResolver @Override public Object resolveArgument(MethodParameter parameter, ModelAndViewContai.. Level2. atdd-subway-path 정리 2021-06-11글 STEP1, 2 JwtTokenProvider jwt 토큰 생성, 토큰 검증, 토큰에서 인증 정보 추출하는 유틸 클래스 AuthorizationExtractor HTTP의 Authorization Header에서 Bearer 타입인 경우 Access Token을 추출하는 유틸 클래스 AuthenticationPrincipalConfig @Configuration public class AuthenticationPrincipalConfig implements WebMvcConfigurer { private final AuthService authService; public AuthenticationPrincipalConfig(AuthService authService) { this.a.. 이전 1 ··· 5 6 7 8 9 10 11 ··· 16 다음