전체 글 (31) 썸네일형 리스트형 TLS/SSL ( feat. 사내 CA 인증서 ) TLS/SSL (feat. CA 인증서)... 최근 회사에서 로컬 PC에 개발 환경을 세팅하던 중, Spring 서버의 의존성을 받아오는 과정에서 TLS 에러를 만났다.원인을 따라가 보니, JVM에 회사 CA 인증서를 등록해 주지 않아서 사내 SSL Inspection Proxy를 신뢰하지 못해 발생한 문제였다.결국 JVM에 회사 CA 인증서를 세팅해 주는 것으로 해결됐다. ( 내 PC에는 CA 인증서 존재 )GPT 잘 그리네...문제 자체는 인증서 등록 한 번으로 끝났지만, "왜 JVM이 이 프록시를 못 믿었을까?"라는 궁금증이 남았다.그 의문이 자연스럽게 CA에 대한 공부로 이어졌고, CA를 이해하려다 보니 결국 그 토대가 되는 TLS까지 정리하는 편이 낫겠다 싶어 이렇게 글로 남긴다.기존 local.. 싱글톤 패턴 Singleton 패턴은 다음 세 가지 원칙을 따른다. 인스턴스는 오직 한 개만 글로벌하게 접근private 생성자를 통해 클래스 내부에서만 인스턴스 생성 제어static 메서드를 통해 instance를 제공 방법 1) 가장 단순한 접근 방식 - thread safe하지 않다. -> instance가 2개가 생성될 수 있다.public class Example { private static Example instance; private Example() {} public static Example getInstance() { if (instance == null) { instance = new Example(); } .. MS SQL SEQUENCE와 IDENTITY SEQUENCE와 IDENTITY를 이용해 컬럼을 생성하면 행 INSERT시 초기값 기준으로 일정하게 증가하는 값을 얻을 수 있다. 1)IDENTITY: -테이블 생성시 컬럼에 IDENTITY(시작값 , 증가값) 옵션을 같이 넣어주는 방식으로 사용한다. EX) 쿼리: CREATE TABLE EX( ....... , NUM INT IDENTITY(0,2) ,...............) 결과: 1번째 NUM컬럼 값 0 , 2번째 NUM컬럼 값 2 , 3번쨰 NUM컬럼 값 4 ...... 2)SEQUENCE: -SEQUENCE를 선언하고 테이블 생성시 컬럼을 NEXT VALUE FOR PRODUCTSEQ로 작성하면 된다. CREATE SEQUENCE 시퀀스명 AS 타입 START WITH 시작값 INCREM.. MS SQL 테이블 조작(생성,삽입,삭제,변경) 1)테이블 삭제 - DROP TABLE 테이블이름 2)테이블 생성 - CREATE TABLE 이름( 컬럼명 TYPE [not null] [primary key] [UNIQUE] [ IDENTITY(시작,증가량) ] …. , PRIMARY KEY(컬럼명들) , CONSTRAINT 이름 FOREIGN KEY(컬럼명) REFERENCES 테이블명(컬럼명) , CONSTRAINT 이름 CHECK( 조건 ) ); *[]는 생략 가능 / CHECK의 조건은 where절 조건 처럼 작성하면됨 * foreign key는 참조 테이블의 primary key와 unique 컬럼만 가능하며 참조하는 테이블에 존재하는 값들로만 이루어 져있어야한다. 3) 테이블 변경 - 컬럼 없애기: ALTER TABLE 이름 DROP COL.. MS SQL 데이터 타입 1. 문자형 - CHAR:영문만을 담는 데이터 타입이며 삽입된 문자의 길이가 할당한 크기 보다 적은 경우 나머지를 공백으로 채운다. - VARCHAR: 영문만을 담는 데이터 타입이다. - NCHAR: 영문뿐만 아니라 한국어등의 다국어를 담을 수 있는 데이터 타입이며 삽입된 문자의 길이가 할당한 크기 보다 적은 경우 나머지를 공백으로 채운다. - VARCHAR: 영문만을 담는 데이터 타입이다. * NCHAR와 VARCHAR에 데이터 삽입시 N을 붙혀주어야한다! EX) INSERT INTO 테이블명(컬럼명) VALUES (N '삽입하고자하는 값') * 문자형(N)에서 문자형이 CHAR,VARCHAR,NCHAR, NVARCHAR 모두 최대 N길이까지 문자를 담을 수 있다. 하지만 CHAR와 VARCHAR의 경.. 블록체인 유효성 검증 1.블록의 유효성 검증이란? 블록체인 내에 있는 모든 노드들이 채굴자가 채굴한 블록 안에 있는 거래 내역(트랜잭션)의 정당성을 검사하는 것이다. 또한 해당 블록이 채굴 조건을 만족했는지의 여부도 검사한다. 이를 통해 악의적인 의도를 갖고 내용을 위조, 변조시킨 블록을 생성하여 채굴한다 해도 모든 노드들에게 검증을 받게 돼 발각된다. 하지만 블록체인 내의 컴퓨팅 파워 51%를 보유하고 있다면 이는 가능하나 엄청난 비용이 발생하기 때문에 오히려 위조 성공 시 보다 손해를 보게 된다. 이러한 이유로 블록체인은 강력한 보안성과 신뢰성을 보장하는 기술이라고 여기는 것이다. 2.유효성 검증 이해를 위해.. 1> 상태변환 함수 비트코인과 같은 암호화폐의 장부는 상태(State) 변환 시스템으로 볼 수 있다. 은행 시.. c++ stl Container 사용법 정리 문제를 해결할 때 적절한 자료구조를 선택하면 문제를 쉽게 해결할 수 있다. c++에서 지원하는 아주 유용한 container들이 있다. 간단하게 각각 접근법,삽입,삭제에 대해서 알아보자. -vector 정리해 놓은 개시물 링크 https://zero-stone.tistory.com/22 >접근법: 1) v[index] / 시간복잡도=O(1) 2) v.at(index) / 시간복잡도=O(1) 3) v.back() / 시간복잡도=O(1) 4) v.front() / 시간복잡도=O(1) 5) v.begin과 v.end를 이용해 iterator로 접근 / 시간복잡도=O(N) 6) v.data를 이용해 포인터로 접근 / 시간복잡도=O(N) iterator가 [] 지원 ex) it[1] >삽입: 1) v.insert.. C++ STL Sequence Container -Sequence Container란? *container= 기본자료형과 사용자가 정의한 자료형을 담는 자료구조 *Sequence= 배열과 같이 입력한 순서대로 저장하여 정렬이 돼있지 안은 자료구조이다 c++ stl중 지원하는 Sequence Container의 종류는 > vector https://zero-stone.tistory.com/22 > deque https://zero-stone.tistory.com/25 > list https://zero-stone.tistory.com/23 > forward_list https://zero-stone.tistory.com/24 로 이루어져있다. (궁금하면 링크 참조) -특징 1) vector vector는 배열로 구현된 자료구조이다. 크기가 자유자재로 늘.. 이전 1 2 3 4 다음