도커 컨테이너 명령 및 운영관리 명령
* 실행 명령 * docker container run [options] 이미지명[:태그] [명령] [명령인자..] docker container ru...
키자드에 등록된 총 126개의 포스트를 확인하실 수 있습니다.
* 실행 명령 * docker container run [options] 이미지명[:태그] [명령] [명령인자..] docker container ru...
1.먼저 docker-compose 파일을 작성한다. -volumes를 정의해 호스트 쪽 현재 작업 디렉토리 바로 아래에 je...
Dirty Checking 이란 JPA에서 트랜잭션이 끝나는 시점에 최초 시점 부터 변화가 있는 모든 엔티티를 ...
querydsl을 사용하는 해당 프로젝트의 .classpath를 확인. 아래 코드를 추가하면 댐. 이로써 디버깅모드...
HTTPS와 HTTP HTTP(Hypertext Transfer Protocol)은 HyperText인 html을 전송하기 위한 통신규약을 의미한다. 마지막에 S를 붙인다면 Secure라는 뜻으로 보안이 강화된 통신규약을 의미한다. HTTP는 암호화가 되어있지 않은 방법으로 서버에 데이터를 전송하기 때문에 서버와 클라이언트가 서로 주고받는 메시지를 알아내기가 쉽다.그러므로 서버로 비밀번호나 계좌번호 등 중요한 데이터를 전송할 경우에는HTTPS 프로토콜을 사용하여 통신하는 것이 중요하다.HTTPS와 SSLHTTPS는 SSL 프로토콜을 기반으로 돌아가는 프로토콜 중 하나다.SSL 정의 Secure Sockets Layer은 암호규약이다.( 영어: Transport Layer Security, TLS )( 과거.......
PKI 는 Public Key Infrastructure 의 약자 입니다. 그대로 해석해서 '공개 키 기반' , 또는 '공개 키 인프라' 라고 해석할 수가 있습니다. RFC 2459 바로 그 표준에 관한 문서입니다. 이 문서를 보시면 PKI 에 관한 상세한 내용을 다 아실 수가 있습니다. 예전에 눈에 모래바람이 일어날 정도로 열심히 봤던 기억이 나는군요. X.509 는 인증서 포맷을 의미합니다.이 PKI 기반을 이해할려면 3가지 기본적으로 알고 있어야 하는게 있습니다. 바로 위의 세가지 입니다. 보통 '해쉬 함수' 라고 불리는 Message Digest 와 (그렇지만 일반적으로 Computer Science 에서 부르는 Hash 는 Data Structure 에서.......
전자서명이란?서명자를 확인하고 서명자가 서명했다는 사실을 나타내는 데 이용하려고,특정 전자문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보를 말한다. 전자서명은 말그대로 서명(사인)하는 것을 말한다.서명을 통해서 서명한 사람을 확인하는 용도로 사용하는 것이다.이런 개념을 공개키 암호를 이용하면 통신 간의 인증 및 변조 검증이 가능하다.지난 포스팅에서 개인키(Private key)로 데이터를 암호화 하면 서명방식이라고 언급을 했었다.그림을 보자, 앨리스가 message를 보낼 때, 원본 message를 hash한 값을 자신의 개인키로 암호화 하여 전자서명을 생성하여 message와 함께 밥에게 보낸다.밥은 앨리스의 공개키를 이용.......
※gRPC 장점-- 성능 --gRPC 메시지는 효율적인 이진 메시지 형식인 Protobuf를 사용하여 직렬화됩니다. Protobuf는 서버와 클라이언트에서 매우 빠르게 직렬화합니다. Protobuf serialization은 작은 메시지 페이로드를 발생시키며 이는 모바일 앱과 같은 제한된 대역폭 시나리오에서 중요합니다.gRPC는 HTTP 1.x에 비해 상당한 성능 이점을 제공하는, HTTP의 주요 개정판인 HTTP/2용으로 설계되었습니다.이진 프레이밍 및 압축. HTTP/2 프로토콜은 간단하며, 보내고 받을 때 모두 효율적입니다.단일 TCP 연결보다 여러 HTTP/2 호출의 멀티플렉싱. 멀티플렉싱은 HOL(Head of Line) 차단을 제거합니다.HTTP/2는 gRPC에만 국한되지 않.......
빌드 자동화란?프로젝트에서 개발을 하기전에 보통 로컬 개발 환경 셋팅을 한다. IDE 또는 편집기를 설정하는 일을 제외하면 보통 가장 먼저하는 일이 빌드 환경 설정일 것이다. 정적 타이핑 언어는 보통 코드를 작성하면 컴파일을 해서 오브젝트 파일을 생성하고, 링킹이라는 작업을 통해서 실행 파일 또는 java의 jar와 같은 라이브러리 파일을 생성한다. 언어마다 차이가 있지만 이런 작업들을 자동화하는 것이 빌드 자동화이다.(자바의 경우 jar파일과 같은 라이브러리 파일 만드는게 빌드 자동화이다.)Gradle의 특장점간결함Gradle은 기본적으로 Groovy라는 언어를 활용한 DSL을 스크립트로 사용한다. 사실상 플러그인을 직접 작성할.......
NGINXNginx 는 대표적인 웹서버인 Apache 의 문제점을 해결하면서 만들어진 웹서버로 비동기 방식으로 개발되어 가볍고 빠른 것으로 유명한 오픈소스 어플리케이션이다. Nginx 는 http 나 reverse proxy 같은 기능 외에도 load balancer 기능 또한 강력하다.Nginx 로드 밸런싱은 upstream 이라는 옵션으로 설정할 수 있는데, least_conn 은 연결이 가장 적은 서버로 트래픽을 전달하는 역할을 한다. 설정할 수 있는 옵션은 다음과 같다.출처: 생활코딩다만, Nginx 의 유료 버젼인 Nginx Plus 를 사용하지 않는 이상 헬스체크가 불가능하기 때문에 실제 서버의 상태를 체크하는 API 를 만들어서 상황에 따라 스위칭하는 고가용성을 위한 동작에.......
VRRP ? VRRP는 RFC Standard 문서에 정의된 표준입니다. HSRP와 다르게 Cisco 뿐만 아니라, 모든 Vendor에서도 지원되는 Protocol 입니다.기본적으로, VRRP의 동작 원리는 여러 대 (최소 2대 이상)의 Router를 하나의 group으로 묶어서, Client가 바라보는 Gateway에 대한 IP Address를 공유하며, Priority가 높은 Router가 동작하다가, Router에 문제가 발상하면, 그 다음 Priority를 가진 Router가 Active role를 가지고 Gateway IP Address를 넘겨 받아 동작하여, Client 입장에서는 Router의 장애와 관계 없이 Gateway의 IP Address를 변경하지 않고 Data를 전달합니다.VRRP, HSRP, GLBP에 대한 개념을 이해하기 위해서는 다음과 같.......
JPA에서 객체 로딩 전략을 LAZY로 할 시 사용하지 않는 객체는 PROXY로 조회되어 JSON직렬화를 수행 할 수 없어서 아래와 같은 에러가 난다. Request processing failed; nested exception is org.springframework.http.converter.HttpMessageConversionException: Type definition error: [simple type, class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer and no properties discovered to create BeanSerializer (to avoid exception.......
https://m.blog.naver.com/PostView.nhn?blogId=drparksc&logNo=220304792251&proxyReferer=https:%2F%2Fwww.google.com%2Fhttps://extrememanual.net/7655
본 문서의 대상자는 Maven에 대한 기본 지식이 있는 자바 개발자다. JDK10, Spring Boot 기반 멀티 모듈 프로젝트를 구성하며 Gradle을 빠르게 훑어볼 것이다.자료 대부분은 Gradle User Guide와 권남님의 위키에서 참고했다. 자세한 사항은 두 링크를 보도록 하자.GradleGradle은 기존 Maven의 단점을 다수 개선한 빌드툴이다. Maven의 XML 기반 Pom 파일 대신 Groovy DSL을 사용해 가독성 뿐만 아니라 직접 빌드 스크립트를 짜거나 플러그인을 호출하며, 빌드 과정을 프로그래밍 하듯 할 수 있다. Maven과 더불어 Ant, 스크립트 언어 등의 기능이 합쳐진 것을 Gradle이라고 볼 수 있다.Gradle을 설치 하고 프로젝트 폴더에 들어가 아래 명.......
gradle 에 plugin 을 적용하는 방법은 아래의 2가지 방법이 있다.그냥 1번 방법이 먼저 나오고, 나중에 2번 방법이 추가 되었다.결론은 아무거나 사용해도 되나, 새로운 방법을 쓰면 더 좋겠지? 싶다.1.apply plugin2.plugins taskex) apply plugin 을 plugins task로 바꾸기 출처 : https://goateedev.tistory.com/72?category=831581참조 : https://stackoverflow.com/questions/32352816/what-the-difference-in-applying-gradle-plugin
Gradle 에서는 하나의 Source 디렉터리만 지원을 해준다.( src/main/java )SourceSets 은 이러한 제약사항을 지원하기 위해 사용이 된다.하나 이상의 Source 디렉터리를 Gradle 에서 처리를 하기 위해서 SourceSets에 Source 디렉터리를 등록해 주면 된다.java plugin 에 SourceSets 이 등록되어 있고, main 이라는 entry name이 default 로 등록되어 있다.ex) 아래와 같이 SourceSets에 source 디렉터리를 등록 할 수 있다.그리고, 특정 폴더나 파일을 빌드에서 제외 하고 싶으면 exclude 를 사용하면 된다.참조https://examples.javacodegeeks.com/core-java/gradle/gradle-sourcesets-example/출처 : https://goateedev.tistory.com/7.......
*Null과 관련된 문제들은 크게 2가지로 요약 된다. 1.런타임에 NPE(NullpointerException)라는 예외...
일단 자바에서 데이터를 insert하는데 가장 빠른 방식은 Spring Batch를 이용하여 JPA없이 Writer를 ...
시작하기에 앞서테스트용 MySQL 설치 및 Gradle 프로젝트에서 Querydsl 설정하는 방법에 대해 알아봅...
GOPATH : GOPATH 설정CORE_VM_ENDPOINT : Docker 데몬 주소CORE_LOGG...
여기에서는 Docker Compose를 사용하기 위하여 알아두어야 할 커맨드에 대해 설명합니다.Docker Comp...
도커(Docker)는 전세계적으로 사용되고있는 컨테이너 가상화 플랫폼이다.처음에 가상화툴이라고 하면 ...
해싱은 임의의 길이의 데이터(키, Key)를 고정된 길이의 데이터(해시값, Hash value)로 변환해 작은 크기...