분류 전체보기 328

Nuxt.js Hadling data & Vuex-3

1. asyncData() asyncData() { return {} } asyncData는 server에서 작동한다.(? client에서는 작동 안 하나??) 이건 page에서만 사용 가능하다.(layout이나 component에서 쓰면 작동 안 한다.) 이게 작동하고 난 후에 페이지가 렌더링 된다. 다시 말해 페이지 먼저 렌더링 된 후에 데이터를 뿌리는 형태가 아니라는 것이다. 따라서 asyncData 안에서 this로 method나 data에 접근 불가능하다. asyncData는 component가 생성되기 전에 작동하기 때문이다. 이렇게도 사용한다. asyncData({redirect}){ redirect() } 2. asyncData on Client & Server asyncData는 처음 페..

Nuxt.js -Page, Views, Routing -1

1. pages 하위에 디렉토리 vs vue components pages 하위에 디렉토리 만들 경우 디렉토리 명칭이 라우터 주소 대신해 주고 디렉토리 안에는 꼭 index.vue 명칭 지켜야 한다. pages 하위에 디렉토리 만들지 않고 vue 파일만 만들경우 해당 컴포넌트 이름이 라우터 주소 역할을 한다. 2. dynamic path ex) users/120303 1) 파일로 만들 경우 pages 폴더 하위에 users 폴더 하위에 _id.vue 파일 만들기 2) 폴더로 만들 경우 pages 폴더 하위에 users 폴더 하위에 _id 폴더만들고 그 하위에 index.vue 만들기 id 파일 혹은 폴더 하위에 {{ $route.params.id}}로 해줘야 한다. id는 파일 혹은 폴더 명칭 따라가기 ..

JAVA - MD5, SHA-256 암호화

MessageDigest Class java.security.MessageDigest 클래스를 사용하며, 해시 알고리즘에는 MD5, SHA-1, SHA-256 등이 있다. SHA- 256 사용 권장 해싱은 단방향이고 다시 말해 복호화가 불가능하다. 반면, 암호화는 양방향으로 암호화를 역으로 하면 복호화도 가능하다. 단방향 해시 함수는 어떤 수학적 연산에 의해 원본 데이터를 매핑시켜 완전히 다른 암호화된 데이터로 변환시킨다. 이 변환을 해시라고 하고 해시에 의해 암호화된 데이터를 다이제스트라고 한다. 1. SHA-256 SHA-256는 SHA 알고리즘의 한 종류로 256비트로 구성되며, 64자리 문자열을 반환한다. SHA-256 해시 함수는 어떤 길이의 값을 입력하더라도 256비트의 고정된 결과값을 반환한..

CS/ETC. 2022.03.30

Pattern 2. 다중화로 가용성을 확보하기, 서비스 활용으로 비용 절감하기(배워서 바로 쓰는 14가지 AWS 구축 패턴)

웹 서버 다중화 - 로드 밸런서로 장애에 대비하고 부하가 높아진 경우에 웹 서버 추가를 가능하게 한다. DB 서버 다중화 - 서비스 기능을 사용하여 DB 서버를 복제한다. CDN과 객체 저장소를 사용한 정적 콘텐츠 전송 - 웹 서버로의 접속을 줄여 운영 비용을 절감한다. 1. ELB, RDS, S3, CDN Service 로드 밸런서를 사용하여(Elastic Load Balancing) 웹 서버는 다중으로 구성한다. DB 서버는 RDS의 관리형 서비스인 RDS로 구성한다. RDS는 셋업이 완료된 RDBMS 환경을 제공하는 서비스로 간단한 설정만으로도 다중화가 가능하다. 2. ELB 설정 시 유의할 사항 5가지 1) ELB 용과 웹 서버용으로 각각 다른 보안 그룹을 만들어야 한다. ELB는 인터넷 어디서라..

DevOps/AWS 2022.03.30

PART1. 웹 시스템(배워서 바로 쓰는 14가지 AWS 구축 패턴)

PATTERN 1. 최소 구성은 단일 서버 실수하기 쉬운 설정 문제 주의 sample site ex1) 1개월 한정으로 이용 사이트 사용자는 개인 사용자로서 인터넷으로 접속 접속자 수는 많지 않아 고사양 서버는 필요 없다. 웹 서버로 LAMP(Linux, Apache, PHP, MySQL)환경 비용 우선, 다중화나 백업 고려하지 않음 서버를 구성하는 가장 기본적인 서비스는 가상 서버인 EC2와 가상 스토리지 볼륨인 EBS이다. 이 둘로 웹 서버를 구축한다. 1) 리전 정하고 2) vpc와 서브넷으로 구성하려하는 가상 네트워크를 구성한다. 복수의 가용 영역에 걸친 형태로 vpc 하나를 작성할 수 있다. 복수의 가용 영역(Availability Zones)에 걸친 형태로 vpc 하나를 작성할 수 있다. 서브..

DevOps/AWS 2022.03.28

로드 밸런서(구성 방식, 동작 모드)

서비스의 안정성이나 가용량을 높이기 위해 서비스를 이중화할 때는 서비스 자체적으로 HA 클러스터(High Availabilty Cluster)를 구성하기도 하지만 복잡한 고려 없이 이중화를 손쉽게 구현하도록 로드 밸런서가 많이 사용된다. 로드 밸런서에서는 서비스를 위한 가상 IP를 통해 각 서버로 접근한다. 1. 부하 분산이란? *FWLB(Fire Wall Load Balancing) 서버에 대한 부하 분산(SLB, Server Load Balancing)뿐만 아니라 방화벽을 액티브-액티브로 구성하기 위해 로드 밸런서를 사용하기도 한다. 방화벽은 자신을 통과한 패킷에 대해 세션을 관리하는 테이블을 갖고 있다. 방화벽을 통과하는 패킷에 대해서 방화벽 정책을 확인해 허용되는 정책이면서 그 정보를 세션 테이블..

로드 밸런서 / 방화벽 : 4계층 장비(세션 장비)

4 계층의 특징인 포트번호, 시퀀스 번호, ACK번호에 대해 이해해야 하고, 2,3 계층 장비에서는 고려하지 않았던 통신의 방향성이나 순서와 같은 통신 전반에 대한 관리가 필요하며 이런 정보를 세션 테이블이라는 공간에 담아 관리한다. 1. 4계층 장비의 특징 4계층4 계층 장비는 TCP와 같은 4 계층 헤더에 있는 정보를 이해하고 이 정보들을 기반으로 동작한다. 그래서 4 계층 이상에서 동작하는 로드 밸런서, 방화벽과 같은 장비를 '세션 장비'라고 부른다. 가. 세션 테이블 : 세션 장비는 세션 테이블을 기반으로 운영된다. 나. Symmetric(대칭) 경로 요구 : Inbound와 Outbound 경로가 일치해야 한다. 다. 정보변경(로드 밸런서의 경우) : IP 주소가 변경되며 확장된 L7 로드 밸런..