분류 전체보기
-
-
[MySQL] Mac에서 서버 시작, 종료DBMS/MySQL 2021. 11. 3. 16:28
# 실행 mysql.server start brew services start mysql # 종료 mysql.server stop brew service stop mysql # 터미널을 닫았다고 서비스가 종료되진 않는다 brew services list : 브루에서 관리하는 서비스들의 실행상태를 보여줌 top -o size : 실행되고 있는 서비스들 메모리 사용량 순으로 정렬 top -o cpu : 실행되고 있는 서비스들 cpu 사용량 순으로 정렬
-
[Spring Security] 스프링 시큐리티 개요 (작동방식)Back End/Spring Security 2021. 11. 3. 15:44
# 서블릿 컨테이너 (Servlet Container) 서블릿들의 생명주기를 담당하는 톰캣과 같은 웹 애플리케이션 Client의 Request와 Response 를 처리하기 위해 웹서버와 소켓을 만들어 통신 이러한 웹 애플리케이션(J2EE)은 기본적으로 필터와 서블릿으로 구성되어 있음 모든 Request는 Filter Chain을 반드시 거쳐야만 서블릿 서비스에 도착하게 된다. # 스프링 시큐리티 (Spring Security) FilterChian 사이에 DelegatingFilterProxy 라는 필터를 만들어, 메인필터체인에 끼워넣어 보안을 관리한다. url 패턴에 따라 적용되는 필터체인을 다르게 할 수 있다. # 제공되는 필터의 종류 HeaderWriterFilter CorsFilter Csrf..
-
[Network] DNS란?Network Basis 2021. 11. 3. 15:09
# DNS(Domain Name System) 인터넷 전화번호부라 생각하면 된다. 웹브라우저는 IP(인터넷 프로토콜)주소를 통해 상호작용 하는데, 전화번호부에 [홍길동, 010-xxx-xxxx] 라 기입되어 있듯이, DNS에도 [www.navery.com, 192.xxx.xxx.xxx] 로 기입되어있다. 이러한 연관관계를 매칭시켜 도메인이름(www.navery.com)를 IP주소(192.xxx....) 로 변환하여 브라우저가 인터넷 리소스에 접근한다. # 웹 페이지 로드와 관련된 4개의 DNS 서버 (DNS 작동원리) 1. DNS recursor DNS 리커서는 도서관의 어딘가에서 특정한 책을 찾아달라고 요청받는 사서로 생각할 수 있다. DNS 리커서는 웹 브라우저 등의 애플리케이션을 통해 클라이언트 컴..
-
[Spring JPA] FetchType 이란? (EAGER, LAZY Fetch)Back End/Spring Data JPA 2021. 11. 2. 20:55
# FetchType 연관관계 어노테이션에 설정한다. # FetchType.EAGER 해당 연관관계 필드를 가진 엔티티가 조회될 때, 그 필드도 같이 조회 하여 영속성 컨텍스트에 추가한다. (query 가 추가됨) 예시로는 밑의 코드의 User 를 select 할 때, ShppingList 도 같이 조인되어 select 된다. @Entity @NoArgsConstructor @Data @ToString(callSuper =true) @EqualsAndHashCode(callSuper = true) public class User { @OneToMany(fetch=FetchType.EAGER) List shoppinglists; } # FetchType.LAZY 해당 연관관계 필드를 가진 엔티티가 조회 되..
-
[Spring JPA] Dirty Check 는 무엇이고, 그로 인한 성능적인 손해는 무엇일까?Back End/Spring Data JPA 2021. 11. 2. 20:10
# DirtyCheck JPA 영속성 관리자가 Session(트랜잭션) 이 종료되는 시점에 영속성과 DB 의 불일치를 자동으로 일치화 시켜주기 위해 checking 하는 것 대용량데이터를 읽고, 가지고 놀다가 DB에 반영안해야지 😏 하고 있다가 큰 코 다침... 그냥 읽기만하고 세션을 종료해도 dirtycheck를 하기 때문에 함수가 n번 호출되어 성능적인 손해가 발생 # 그럼 어떻게 해결하지...? @Transactional(readOnly=true) 로 지정 autoFlush의 flag가 false가 된다. (코드위치를 못찾겠음... ㅠㅠ)
-
[IntelliJ] 무한 Updating indexes....... 해결법IDLE/IntelliJ 2021. 11. 2. 09:51
* File -> Invalidate Caches -> Invalidate and Restart 하하... # Reference https://stackoverflow.com/questions/15991561/intelli-j-idea-takes-forever-to-update-indices Intelli J IDEA takes forever to update indices Is it normal for Intelli J to take a lot of time (almost 12 hours) to update indices for a project? I just installed Intelli J on my machine and imported a rather large Maven project (13k..
-
[Spring JPA] 쿼리메소드, JPQL, NativeQuery (@Query)Back End/Spring Data JPA 2021. 11. 1. 22:33
# JPA 자체 제공 쿼리메소드 FindAllByMyentity 와 같이 keyword 로 정의하는 쿼리메소드 허나, 조건이 길어지면 괴랄한 이름의 메소드들이 나온다. (FindEmailByEmailAndUserIdGreaterThan 같은...) https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repository-query-keywords Spring Data JPA - Reference Documentation Example 109. Using @Transactional at query methods @Transactional(readOnly = true) interface UserRepository extends JpaRepo..