[NETWORK] TCP / UDP
·
NETWORK
TCP와 UDP는 전송계층에서 사용하는 프로토콜, 전송계층은 송신자와 수신자를 연결하는 통신 서비스를 제공하고 IP에 의해 전달되는 패킷의 오류를 검사하며 재전송 요구 제어등을 담당하는 계층 TCP 정의 연결지향적 프로토콜 클라이언트와 서버가 연결된 상태에서 데이터를 주고 받는 프로토콜 특징 연결형 서비스로 가상회선 방식을 사용 데이터의 경게를 구분하지 않음 신뢰성 있는 데이터 전달과 흐름 제어하며 데이터 전송 순서 보장 1 : 1 통신만 가능하며, UDP보다 속도가 느림 3 way handshake, 4 way handshake TCP 통신을 위한 네트워크 연결은 3 way handshake 방식으로 진행 연결해제는 4 way handshake 방식을 진행 3 way handshake 과정 Client..
[OS] 가상화
·
OTHER
정의 서버뿐만 아니라 물리적으로 존재하는 CPU, 메모리, 스토리지, NIC 같은 물리장치를 논리적으로 연결 및 분할, 통합하여 새로운 장치를 만들어 내는 기술 가상화 기술을 사용하는 이유 서버의 성능이 급격하게 증가하여 남는 자원을 활용하기 위해 IT리소스 관리 적인 부분에 대하여 필요성이 증가하기 때문에 특정 물리장치가 비정상적이어도 논리장치의 가용성을 확보하기 위함 가상화 방법 공유가상화 (Sharing) 집합가상화 (Aggregation) 공유가상화 대표적인 가상화 기법 다수의 가상화 자원의 하나의 물리 자원에 연결시키는 시간 분할기법, 물리적 자원을 공유하여 사용하게 하는 방법 집합가상화 여러개의 자원을 하나로 묶어서 물리적인 용량과 성능을 향상시키고, 하나의 논리장치로 관리할 수 있게 만드는 ..
[SPLUNK] 기능 및 개념 정리
·
SPLUNK
SPLUNK 기능 및 구성 SPLUNK는 검색, 저장, 배포, 수집 4가지 기능을 수행 SPLUNK는 SearchHeader, Indexer, Deployment, Forwarder로 구성 SearchHeader 검색 결과를 화면으로 사용자에게 제공하는 역할 Splunk Daemon에 접근하여 검색을 수행하며, 분산검색시 하나 이상의 SearchHeader가 필요 다른 인스턴스에 비해 메모리 리소스를 많이 잡아먹음 Indexer 인덱스를 생성하여 데이터 인덱싱 및 관리를 수행함 Forwarder에서 전달한 데이터를 파싱하여 정규화된 패턴(정의된 sourcetype)으로 필드로 분류하는 작업으로 이루어짐 이벤트를 자동으로 Key / Value 형태로 필드를 나누며, 저장소 역할을 함 Deployment 인..
[JAVA] 싱글턴 패턴
·
JAVA
정의 및 특징 객체의 인스턴스가 오직 1개로만 만들어져서 공유하는 패턴 하나의 인스턴스를 메모리에 등록해서 여러 스레드가 동시에 해당 인스턴스를 공유하여 사용하게끔 할 수 있어서, 요청이 많은 곳에서 사용하면 효율을 높임 (전역으로 사용되는 인스턴스이기 때문) 싱글턴을 만들때 동시성(Concurrency) 문제를 고려해야함 내부 상태를 변경하기가 어려움 (상태 넣기가 어려움) 싱글턴 패턴 구현 싱글턴패턴 기본구현은 static영역에 객체 instance를 미리 하나 올려서 getInstance() 메서드를 통해서만 조회할 수 있게 구현을 하며, 생성자를 private으로 막아 new 키워드로 객체인스턴스를 생성못하게 막음, 그외 구현 방식은 여러가지가 있음 싱글턴 패턴 구현 방법 Eager Initial..
[JAVA] JVM 구조
·
JAVA
JVM 정의 자바 가상머신, 자바 바이트 코드를 실행하는 주체, 어떠한 운영체제에서 독립적으로 실행 가능 자바 바이트 코드를 인터프리터와 JIT컴파일러를 통해 변환하여 실행함 JRE 정의 자바 애플리케이션을 실행할 수 있도록 구성된 배포판 JVM과 핵심 라이브러리 및 자바 런타임 환경에서 사용하는 프로퍼티 세팅이나 리소스파일을 가지고 있음 JDK 정의 JRE + 개발에 필요한 툴 오라클은 자바 11부터 JRE를 따로 제공하지 않고 JDK만 제공함 JVM 구성 Class Loader Execution Engine Garbage Collector Runtime Data Area Class Loader 자바파일을 컴파일하면 클래스파일(바이트 코드)이 생성되고, 클래스 파일들을 엮어 Runtime Data Ar..
[JAVA] Enum
·
JAVA
정의 열거형이라고 불리며, 서로 연관된 상수들의 집합을 의미 /* enum 예시 */ public enum Security { NORMAL, WARNING, DANGER; } 특징 인스턴스 생성과 상속을 방지하여 상수값의 타입 안정성이 보장 데이터들 간의 연관관계를 명확하게 표현하여, 구현의 의도를 명확하게 알수 있음 코드가 단순해지고, 가독성 보장 enum 클래스 내부 동작은 static영역임, 즉 프로그램이 종료되기 전까지 가져다 쓸 수 있는 메모리 공간 확보됨 (https://stackoverflow.com/questions/143285/how-much-memory-do-enums-take) 일반 메서드를 가질 수 있음 실무에서 사용할 때, 주로 관계가 있는 타입으로 묶어서 사용함 (ex. 부서유형..
[NETWORK] CNAME과 A RECODE
·
OTHER
깃헙블로그를 가비아에서 구매한 도메인으로 변경하는중, CNAME, A RECODE 설정할 때 개념을 몰라서 기록 CNAME Canonical Name의 줄임말로 하나의 도메인에 다른 이름 즉 별칭을 부여하는 방식 (도메인주소를 또다른 도메인주소로 매핑) 도메인 이름의 또다른 이름 tgyun615.me의 또 다른 도메인 명 blog.tgyun615.me -> tgyun615.me A RECODE Domain name에 하나의 IP 주소가 있음을 의미, 하나의 도메인에 해당하는 IP 주소를 매핑 //해당 도메인의 IP 주소 tgyun615.me -> 123.456.789.123 특징 A RECODE는 한번의 요청으로 찾아갈 서버 IP주소를 알 수 있음 CNAME은 실제 IP주소를 얻을 때까지 여러번 요청해야..
[DB] 샤딩
·
DATABASE
정의 한 테이블의 row들을 여러 개의 서로 다른 테이블, 즉 파티션으로 분리하는 것 키를 분리하여 나눠서 저장함 수평분할(Horizontal Partitioning)이라고 볼 수 있음 (예시. 회원테이블을 성별로 나눔 남성테이블, 여성테이블) 샤딩하게 되면 기존에 하나로 구성될 스키마를 다수의 복제본으로 구성하고 각각의 샤드에 어떤 데이터가 저장될지를 샤드키를 기준으로 분리함 구현 주로 Application Level에서 이루어짐 (어떤 Shards에 읽기, 쓰기를 전송할지 정의) DBMS에 따라 샤딩이 내장되어 있는 경우, Database Level에서도 가능함 장단점 장점 수평적 확장(Scaling out)이 가능함 스캔 범위가 줄어서 쿼리 속도 향상됨 단점 운영적인 복잡도가 커짐, 잘못 사용할 경..
[JQUERY] Cookie 플러그인 사용법
·
JAVASCRIPT
라이브러리 다운로드 다운로드 : https://plugins.jquery.com/cookie/ jQuery Cookie | jQuery Plugin Registry jQuery Cookie by Klaus Hartl A simple, lightweight jQuery plugin for reading, writing and deleting cookies. Versions Version Date 1.4.1 Apr 27 2014 1.4.0 Oct 5 2013 1.3.1 Jan 25 2013 1.3.0 Jan 24 2013 plugins.jquery.com 사용법 //라이브러리 호출 (JQUERY 플러그인이라 JQUERY 선호출 필요) // 세션 쿠키 생성 - 브라우저를 닫으면 없어짐 $.cookie('nam..