분류 전체보기
-
JPA 패턴Spring boot 2020. 3. 24. 09:38
컬럼 에노테이션 사용 1 2 3 4 5 6 7 8 9 10 @Entity @Table(name = "member") data class Member( @Column(name = "username", nullable = false) var username: String, @Column(name = "age", nullable = false) var age: Int = 0, @Column(name = "email", nullable = false, unique = true, updatable = false) var email: String ) 칼럼 에노테이션과 멤버 필명이 동일한 경우 칼럼에노테이션을 생략하는 경우도 있다. 그래서 일치하지 않은 것들만 작성하는 방법도 있지만 나는 모든 멤버 필드에 칼럼 에노..
-
Linux iptables 설정시스템 2020. 3. 20. 14:52
리눅스 운영체제 iptables에 기반한 방화벽 설정 방법 기본 동작 패킷에 대한 동작은 위에서부터 차례로 각 규칙에 대해 검사하고, 그 규칙과 일치하는 패킷에 대하여 타겟에 지정한 ACCEPT, DROP등을 수행합니다. 규칙이 일치하고 작업이 수행되면, 그 패킷은 해당 규칙의 결과에 따리 처리하고 체인에서 추가 규칙을 무시합니다. 패킷이 체인의 모든 규칙과 매치하지 않아 규칙의 바닥에 도달하면 정해진 기본정책(policy)이 수행됩니다. 기본 정책은 policy ACCEPT, policy DROP 으로 설정할 수 있습니다. 일반적으로 기본정책은 모든 패킷에 대해 DROP을 설정하고 특별히 지정된 포트와 IP주소등에 대해 ACCEPT를 수행하게 만듭니다. iptables 설치 1) 설치 # rpm -qa..
-
Docker Volume시스템 2020. 3. 20. 11:24
Docker 정리 #3 최근에 쿠버네티스를 공부할 일이 있어서 보고 있는데, 쿠버네티스 자체가 도커(Docker) 오케스트레이션을 해주는 툴이라 도커에 대한 개념이 없으니, 공부하기가 힘들었습니다. 그래서 이렇게 급하게 책을 사서 공부하면서 내용을 정리하고자 합니다. 해당 내용은 위키북스에서 나온 시작하세요! 도커 책을 보면서 정리한 내용입니다. 책의 내용이 매우 좋아서 강추합니다. 도커의 이미지로 컨테이너를 생성하면 이미지는 읽기 전용이라 쓰기가 불가능합니다. 그렇기에 컨테이너 계층에 변화되는 데이터들이 저장이 되는데, 이럴 경우, 컨테이너가 삭제가 되면 그동안 저장된 운용데이터들이 함께 삭제가 됩니다. 이렇게 되면, 복구도 불가능해지기 때문에, 컨테이너의 데이터를 영속적 데이터로 활용할 수 있는 방법..
-
OPENVPN MTU네트워크 2020. 3. 19. 11:33
VPN: Configuring the MTU setting January 13, 2019 - 5 minute read Finding an apartment in Berlin is hard and I had to switch between many before finding a permanent contract. A few times during this process I found that my VPN stopped working after moving to a new apartment. It took a little bit of investigation but I found the culprit to be the MTU setting. It turns out that misconfiguration of..
-
Cisco Switch Port mirroring네트워크 2020. 3. 17. 10:02
포트 미러링 위키백과, 우리 모두의 백과사전. 포트 미러링(Port Mirroring)은 네트워크 스위치의 어떤 한 포트에서 보이는 모든 네트워크 패킷 혹은 전체 VLAN의 모든 패킷들을 다른 모니터링 포트로 복제하는데 사용된다. 포트 미러링은 주로 침입 탐지 시스템이나 패시브 프로브 또는 애플리케이션 성능 관리(Application Performance Management, APM)에 필요한 실사용자 모니터링(Real User Monitoring, RUM) 기술과 같이 네트워크 트래픽을 모니터링 해야하는 네트워크 장비들에서 사용된다. 포트미러링은 시스코 스위치에선 일반적으로 스위치 포트 분석기(Switched Port ANalyzer, SPAN) 혹은 원격 스위치 포트 분석기(Remote Switche..
-
Spring boot JPA CASCADESpring boot 2020. 3. 13. 15:18
# JPA CascadeType 종류 ## 1. 배경 - JPA 개인 프로젝트를 진행하던 중, 게시판과 파일, 댓글에서 @OneToMany - @ManyToOne의 관계에서 영속성 관리에서 문제가 발생되었으며, 영속성에서 참조된 객체를 지워주지 않았기 때문에 발생하였다. 더 정확한 내용은 알아볼 예정이다. ## 2. 내용 CascadeType.PERSIST 엔티티를 영속화 할 때이 필드에 보유 된 엔티티도 유지합니다. EntityManager가 flush 중에 새로운 엔티티를 참조하는 필드를 찾고이 필드가 CascadeType.PERSIST를 사용하지 않으면 오류이므로이 Cascade 규칙의 자유로운 적용을 제안합니다. CascadeType.MERGE 엔티티 상태를 병합 할 때, 이 필드에 보유 된 엔티..
-
Spring JpaRepositoySpring boot 2020. 3. 13. 12:50
Spring Data JPA는 "JpaRepository"라는 기능을 사용하면 매우 간단히 데이터를 검색 할 수 있도록 된다. 그 기본적인 사용법을 설명한다. JpaRepository 인터페이스 생성 이전에 기본적인 데이터베이스 액세스 대해 대충 설명을 했었다. 이 때, 데이터의 검색에 대해서는 "JPQL"라는 쿼리 문을 사용 할 수 있다는 것을 설명했었는데 기억하는가? 이 설명을 읽고 본인도 모르게 한숨을 쉰 사람도 분명 많았을 것이다. SQL이라는 것을 보고 싶지 않아서 프레임워크를 사용하려고 했는데, 설마 SQL 같은 것이 있을 거라고는 생각하지 못했을 것이다. 그래도 아직 안심해도 된다. Spring Framework에는 더 똑똑하게 데이터 검색을 할 수 있는 구조가 제대로 준비되어 있다. 그것이..
-
Spring boot JWTSpring boot 2020. 3. 10. 13:49
이 글은 OAuth와 JSON Web Token과 같은 토큰 기반의 인증을 처음 접하는 자바 개발자를 위한 가이드입니다. 우선 JSON Web Token (줄여서 JWT라고 하고 “jot”이라고 읽습니다.)을 살펴 보겠습니다. JWT는 권한claim라고 하는 정보를 디지털 서명을 하고 나중에 비밀 서명 키로 검증하는 도구 입니다. 토큰 인증이란? 애플리케이션이 사용자가 누구인지 확인하는 과정을 인증authentication이라고 합니다. 전통적으로 애플리케이션은 세션 아이디를 기반으로하는 세션 쿠키를 통해서 서버측에 사용자의 식별자identity를 저장하고 값을 유지합니다. 이러한 구조에서는 개발자가 서버 고유의 방식으로 세션 저장소를 구성하거나 완전히 독립적인 세션 저장소 계층을 구현해야 합니다. 토큰..