anstnsp의 등록된 링크

키자드에 등록된 총 126개의 포스트를 확인하실 수 있습니다.

Naver Blog

도커 컨테이너 명령 및 운영관리 명령

* 실행 명령 * docker container run [options] 이미지명[:태그] [명령] [명령인자..] docker container ru...

Naver Blog

docker를 이용해 jenkins master-slave 구조 만들기

1.먼저 docker-compose 파일을 작성한다. -volumes를 정의해 호스트 쪽 현재 작업 디렉토리 바로 아래에 je...

Naver Blog

JPA] Dirty checking 시 변경분만 업데이트 하기

Dirty Checking 이란 JPA에서 트랜잭션이 끝나는 시점에 최초 시점 부터 변화가 있는 모든 엔티티를 ...

Naver Blog

JPA] VScode 에서 querydsl 사용 시 Qclass 인식 문제 해결 (ClassNotFoundException)

querydsl을 사용하는 해당 프로젝트의 .classpath를 확인. 아래 코드를 추가하면 댐. 이로써 디버깅모드...

Naver Blog

base64?

인코딩이란? Base64 인코딩에 대해 알아보기전에 먼저 인코딩이란게 무엇인지 간략하게 알아보자. 인코딩(...

Naver Blog

SSL(Secure Sockets Layer)개념 및 동작 원리 알아보기

HTTPS와 HTTP HTTP(Hypertext Transfer Protocol)은 HyperText인 html을 전송하기 위한 통신규약을 의미한다. 마지막에 S를 붙인다면 Secure라는 뜻으로 보안이 강화된 통신규약을 의미한다. HTTP는 암호화가 되어있지 않은 방법으로 서버에 데이터를 전송하기 때문에 서버와 클라이언트가 서로 주고받는 메시지를 알아내기가 쉽다.그러므로 서버로 비밀번호나 계좌번호 등 중요한 데이터를 전송할 경우에는HTTPS 프로토콜을 사용하여 통신하는 것이 중요하다.HTTPS와 SSLHTTPS는 SSL 프로토콜을 기반으로 돌아가는 프로토콜 중 하나다.SSL 정의 Secure Sockets Layer은 암호규약이다.( 영어: Transport Layer Security, TLS )( 과거.......

Naver Blog

PKI(Public Key Infrastructure)

PKI 는 Public Key Infrastructure 의 약자 입니다. 그대로 해석해서 '공개 키 기반' , 또는 '공개 키 인프라' 라고 해석할 수가 있습니다. RFC 2459 바로 그 표준에 관한 문서입니다. 이 문서를 보시면 PKI 에 관한 상세한 내용을 다 아실 수가 있습니다. 예전에 눈에 모래바람이 일어날 정도로 열심히 봤던 기억이 나는군요. X.509 는 인증서 포맷을 의미합니다.이 PKI 기반을 이해할려면 3가지 기본적으로 알고 있어야 하는게 있습니다. 바로 위의 세가지 입니다. 보통 '해쉬 함수' 라고 불리는 Message Digest 와 (그렇지만 일반적으로 Computer Science 에서 부르는 Hash 는 Data Structure 에서.......

Naver Blog

전자서명과 인증서

전자서명이란?서명자를 확인하고 서명자가 서명했다는 사실을 나타내는 데 이용하려고,특정 전자문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보를 말한다. 전자서명은 말그대로 서명(사인)하는 것을 말한다.서명을 통해서 서명한 사람을 확인하는 용도로 사용하는 것이다.이런 개념을 공개키 암호를 이용하면 통신 간의 인증 및 변조 검증이 가능하다.지난 포스팅에서 개인키(Private key)로 데이터를 암호화 하면 서명방식이라고 언급을 했었다.그림을 보자, 앨리스가 message를 보낼 때, 원본 message를 hash한 값을 자신의 개인키로 암호화 하여 전자서명을 생성하여 message와 함께 밥에게 보낸다.밥은 앨리스의 공개키를 이용.......

Naver Blog

gRPC] gRPC VS HTTP API 비교

※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에만 국한되지 않.......

Naver Blog

gradle] 빌드 자동화

빌드 자동화란?프로젝트에서 개발을 하기전에 보통 로컬 개발 환경 셋팅을 한다. IDE 또는 편집기를 설정하는 일을 제외하면 보통 가장 먼저하는 일이 빌드 환경 설정일 것이다. 정적 타이핑 언어는 보통 코드를 작성하면 컴파일을 해서 오브젝트 파일을 생성하고, 링킹이라는 작업을 통해서 실행 파일 또는 java의 jar와 같은 라이브러리 파일을 생성한다. 언어마다 차이가 있지만 이런 작업들을 자동화하는 것이 빌드 자동화이다.(자바의 경우 jar파일과 같은 라이브러리 파일 만드는게 빌드 자동화이다.)Gradle의 특장점간결함Gradle은 기본적으로 Groovy라는 언어를 활용한 DSL을 스크립트로 사용한다. 사실상 플러그인을 직접 작성할.......

Naver Blog

HAProxy와 Nginx 의 로드밸런싱

NGINXNginx 는 대표적인 웹서버인 Apache 의 문제점을 해결하면서 만들어진 웹서버로 비동기 방식으로 개발되어 가볍고 빠른 것으로 유명한 오픈소스 어플리케이션이다. Nginx 는 http 나 reverse proxy 같은 기능 외에도 load balancer 기능 또한 강력하다.Nginx 로드 밸런싱은 upstream 이라는 옵션으로 설정할 수 있는데, least_conn 은 연결이 가장 적은 서버로 트래픽을 전달하는 역할을 한다. 설정할 수 있는 옵션은 다음과 같다.출처: 생활코딩다만, Nginx 의 유료 버젼인 Nginx Plus 를 사용하지 않는 이상 헬스체크가 불가능하기 때문에 실제 서버의 상태를 체크하는 API 를 만들어서 상황에 따라 스위칭하는 고가용성을 위한 동작에.......

Naver Blog

VRRP (Virtual Router Redundancy Protocol)

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에 대한 개념을 이해하기 위해서는 다음과 같.......

Naver Blog

JPA] LAZY 로딩으로 인한 JSON 직렬화 오류

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.......

Naver Blog

CentOS7에서 한글 깨짐

https://m.blog.naver.com/PostView.nhn?blogId=drparksc&logNo=220304792251&proxyReferer=https:%2F%2Fwww.google.com%2Fhttps://extrememanual.net/7655

Naver Blog

gradle] 멀티프로젝트 2

본 문서의 대상자는 Maven에 대한 기본 지식이 있는 자바 개발자다. JDK10, Spring Boot 기반 멀티 모듈 프로젝트를 구성하며 Gradle을 빠르게 훑어볼 것이다.자료 대부분은 Gradle User Guide와 권남님의 위키에서 참고했다. 자세한 사항은 두 링크를 보도록 하자.GradleGradle은 기존 Maven의 단점을 다수 개선한 빌드툴이다. Maven의 XML 기반 Pom 파일 대신 Groovy DSL을 사용해 가독성 뿐만 아니라 직접 빌드 스크립트를 짜거나 플러그인을 호출하며, 빌드 과정을 프로그래밍 하듯 할 수 있다. Maven과 더불어 Ant, 스크립트 언어 등의 기능이 합쳐진 것을 Gradle이라고 볼 수 있다.Gradle을 설치 하고 프로젝트 폴더에 들어가 아래 명.......

Naver Blog

gradle] plugin 적용

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

Naver Blog

gradle] sourceSets 사용

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.......

Naver Blog

Java8] Optional 2 (NULL을 대하는 새로운 방법)

*Null과 관련된 문제들은 크게 2가지로 요약 된다. 1.런타임에 NPE(NullpointerException)라는 예외...

Naver Blog

JPA] INSERT 속도 최적화

일단 자바에서 데이터를 insert하는데 가장 빠른 방식은 Spring Batch를 이용하여 JPA없이 Writer를 ...

Naver Blog

JPA] Querydsl기본 전체 정리

시작하기에 앞서테스트용 MySQL 설치 및 Gradle 프로젝트에서 Querydsl 설정하는 방법에 대해 알아봅...

Naver Blog

[hyperledger-fabric v1.2]docker-compose 환경변수 설정

GOPATH : GOPATH 설정CORE_VM_ENDPOINT : Docker 데몬 주소CORE_LOGG...

Naver Blog

docker compose 커맨드

여기에서는 Docker Compose를 사용하기 위하여 알아두어야 할 커맨드에 대해 설명합니다.Docker Comp...

Naver Blog

docker 개념 부터 nodejs를 docker로 실행하기

도커(Docker)는 전세계적으로 사용되고있는 컨테이너 가상화 플랫폼이다.처음에 가상화툴이라고 하면 ...

Naver Blog

Hashing(해싱)

해싱은 임의의 길이의 데이터(키, Key)를 고정된 길이의 데이터(해시값, Hash value)로 변환해 작은 크기...

Naver Blog

자바8]자바8에서의 최대/최소 원소 구하기(Loop/Collections/Stream)

자바에서 최소나 최대 원소를 찾을 흔히 사용되는 3가지 코딩 스타일에 대해서 알아보겠습니다.Loop제일...

1 2