본문 바로가기

참고자료

(31)
EC2 에 mysql 8.0 설치하기 1. 설치 가능 여부를 확인하자 sudo yum list mysql* 2. 편의상 루트계정으로 해보자 sudo su 안해도 되긴 하는데 그럼 sudo 를 앞에 붙일 일이 많아진다. 3. mysql 설치 wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 를 한 후 다음과 같이 입력하여 mysql 을 설치하자 yum install mysql-community-server 4. mysql 실행 및 상태 확인 sudo systemctl start mysqld 명령으로 실행을 시키고 sudo systemctl status mysqld 명령으로 실행 확인을 하자 5.charset 설정 vim /etc/my.cnf 을 하고 맨 밑에 다..
자바 8 과 자바 11의 특징 간단한 표 1. 자바 8은 왜 많이 쓰는 걸까? 자바 8부터 추가된 기능들이 그만큼 중요하기 때문이다. 그럼 그 중요한 기능들은 무엇일까? 중요성을 평가함에 있어 사람들의 주관이 많이 작용하겠지만 대부분의 사람들이 말하는것은 -- 함수형 프로그래밍의 도입 (함수형 인터페이스) -- 람다식 -- 스트림 api 의 도입 -- Optional 클래스 등장으로 nullpointExceition 방지 가능 등이 있다. 한편으로는 공공쪽 사업에서 쓰는 정부통합 프레임워크가 8버전까지만 지원이 되어서 많이 쓴다는 설도 있다. 또 자바 8버전 이후로는 유료화 되는 부분이 많아서라는 이유도 있다고 한다. 2. 자바 11의 특징 그럼 무조건 8은 좋은 것일까? 자바 8은 2014년에 나왔다. 성능면으로 보면 11이 더 좋..
메시지 큐 (Message Queue)란? 1. 메시지 큐란? 요약하자면, 미들웨어에서 쓰는 메시지 전달 방식중 하나이다. 미들웨어는 어플리케이션들의 중개자가 되어 어플리케이션간의 데이터 통신을 가능하게 해주는 소프트웨어다. 이런 미들웨어중 Message Oriented Middleware 라는 미들웨어도 있다. MOM 이라고 하는 이런 미들웨어는 메시지 API 를 사용해 어플리케이션 간의 비동기식 데이터 교환을 가능하게 해준다. 이런 MOM 을 구현한 시스템을 Message Queue 라고 한다. 서로 다른 프로세스나 프로그램 사이에서 메시지를 교환할때 Advanced Message Queue Protocol 을 이용한다. 위의 AMQP 는 Message Oriented Middleware 를 위한 프로토콜이다. 이 프로토콜은 wire-prot..
FrameWork 와 SpringFrameWork 1. 프레임워크란 무엇일까 프레임 = 틀 , 표준, 구조 워크 = 동작, 행동, 일 합치면 뭐가 될까 틀에 맞는 동작이나 행동이다. 즉, 프레임워크는 표준 구조를 구현하는 클래스와 라이브러리의 모임이다. 주된 목적은 소프트웨어의 구체적인 부분의 설계와 구현을 재사용할 수 있게끔 하기 위해서이다. 프레임워크를 이용한 개발은 목적에 따라 효율적으로 구조를 짜놓는 개발이다. 2. 장점과 단점 장점은 -- 코드를 처음부터 일일이 짜지 않아도 되어 효율적이다. 시간과 비용, 생산성이 올라간다. -- 품질이 좋아진다. 반복작업이나 실수하기 쉬운 부분을 어느정도 보완해준다. -- 유지 보수에 좋다. 회사 입장에서는 체계적이고 형식이 정해져 있어 유지보수에 용이하다. -- 확장성이 좋다. 새롭게 업데이트 된 항목들을 ..
Request 의 방식의 종류 Request 의 방식 메소드는 GET, POST, PUT, DELETE, OPTIONS,HEAD 등 많지만 일단 먼저 대표적인 메소드인 GET과 POST에 대해서 알아보자 1. HTTP 웹은 HTTP를 이용해 통신을 한다. HTTP는 보내는 데이터를 '패킷' 이라 표현을 한다. 패킷은 크게 header 와 body 로 이루어져 있다. 2.GET GET 방식은 데이터를 URL 뒤에 붙여서 보낸다. URL 뒤에 ? 를 통해 URL 의 끝을 알리면서 key 와 value 형식의 문자열이 뒤에 붙는다. URL에 문자가 붙으므로 HTTP 패킷의 헤더에 포함되어 서버에 요청된다. 헤더에 들어가기 때문에 Body는 비어있게 된다. 헤더의 Content-type 은 body의 데이터 설명이기 때문에 역시 비어있다. ..
JSON Web Token (JWT) jwt는 Header 와 Payload , Signature 이 세 부분으로 구성되어 있고 각 부분은 . 으로 구분한다. JWT를 검증하는데 필요한 정보를 가진 JSON 객체는 Base64 URL-Safe 인코딩된 문자열이다. 1.Header 헤더는 JWT를 검증방법에 대한 내용을 담고 있다. { "alg": "ES256", // 서명시 사용하는 알고리즘 "kid": "Key ID" //서명시 사용하는 public/private key 식별값 } 위와 같은 JSON이 직렬화 되었을때 이것을 UTF-8 과 Base64 URL-Safe 인코딩하면 헤더가 생성된다. 2. Payload JWT의 내용에 해당 Payload 에 있는 속성들을 Claim Set 이라고 부른다. Claim Set 의 내용은 클라이언트..
쿠키, 세션, 캐시 요약 쿠키와 세션은 HTTP 의 약점을 보완하기 위해서 사용된다. HTTP의 특성 HTTP는 connectionless 와 stateless 라는 특성을 가진다. 요약하자면 한번 연결을 하면 연결과 상태를 보전하지 않는다. 1. connectionless 란? 클라이언트가 요청을 한 후 응답을 받으면 그 연결을 끊는 특징이다. 클라이언트가 request 를 서버로 보내면 , 서버는 클라이언트에게 response를 하고 접속을 끊는다. 2. stateless 란? stateless 는 통신이 끝나면 상태를 유지하지 않는 특징이다. 쿠키 1. 쿠키란? 쿠키는 클라이언트에 파일로서 저장이된다. 하나의 쿠키값은 4KB까지 저장이 가능하고 Response Heade 에 Set-Cookie 속성을 사용해서 클라이언..
프로세스와 스레드란? 운영체제와 연관이 있다. 1.프로세스란? 프로그램은 어떤 작업을 실행할 수 있는 파일이다. 프로세스는 컴퓨터 메모리에서 실행되고 있는 프로그램이다. 운영체제로부터 시스템 자원을 할당 받으며 자원의 종류의 예로 CPU 시간이나, 주소 공간, 메모리 영역이 있다. 할당되는 메모리영역은 Code, Data ,Stack, Heap 구역으로 나뉘어져 있다. 프로세스에는 최소 하나의 스레드를 가지고 있다. 각 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프로세스의 변수나 자료에 접근할 수 없다. 만약 각 프로세스의 자원끼리 통신을 하려면 파이프, 소켓, 파일 등의 통신 방법이 필요하다. 2.스레드란? 프로세스 내에서 실행되는 흐름의 단위이다. 프로세스가 할당받은 자원의 실행 단위이기도 하다. 프로..