Cloud 환경에서 개발, 운영을 하면 데이터베이스 시간 설정이 안 맞을 수 있다. 이번 포스팅은 AWS RDS 서비스를 이용할 때 시간 설정을 하는 방법을 알아보자. 1. RDS 콘솔로 접근해서 파리미터 그룹 메뉴로 접근하자. 기본적으로 default group 파라미터가 생기지만 우리가 원하는 시간대가 아니기 때문이다. default group은 편집이 불가하기 때문에 신규 파라미터 그룹을 생성해야 한다. 2. 개발, 운영하고 있는 RDS 유형 및 버전을 확인하고 파라미터 그룹을 생성되었다면, 파리미터 검색창에 "zone"을 검색하면 아래와 같은 창에 나타난다. [Asia/Seoul]을 선택해서 저장을 하자. 3. 적용할 RDS 인스턴스 편집을 통해 생성한 파라미터 그룹을 선택하여 타임 설정을 적용한..
AWS KMS KMS는 크게 3가지 방식으로 key 관리 서비스를 제공한다. AWS managed key AWS managed key는 AWS 서비스들이 KMS를 통해 key를 서비스받는 것으로, AWS 자체적으로 동작하기 때문에 직접 제어가 불가능하다. 예) Amazon RDS 데이터베이스 생성 시 KMS key를 사용하여 암호화 적용(블록 단위 암호화) Customer managed key Customer managed key (CMK)는 직접 key를 생성하고 관리하는 것으로, 본 포스팅의 주된 내용이다. Custom key stores Custom key stores는 AWS에서 제공하는 또 다른 key 관리형 서비스인 CloudHSM을 활용한 key 관리 형태를 의미한다. 자세한 동작 방식은 공..
import java.util.HashMap; public class Maps { public static void main(String[] args) { // Map // key, value 쌍의 집합이다. // 특정 순서를 보장하지 않는다. HashMap empIds = new HashMap(); empIds.put("John", 12345); empIds.put("Carl", 54321); empIds.put("Jerry", 8675309); System.out.println(empIds); System.out.println(empIds.get("Carl")); // 키가 존재하는지 System.out.println(empIds.containsKey("George")); // 값이 존재하는지 Sys..
import java.util.ArrayList; import java.util.LinkedList; public class LinkedListVsArrayList { public static void main(String[] args) { // LinkedList // 첫번째 노드, 마지막 노드에 대한 포인터가 있고, 연결된 노드에 대한 포인터 참조가 있다. // 다음 노드에 대한 포인트 이외에도, 이전 노드에 대한 참조도 가지고 있다. // 요소로 접근할 수 없어 상대적으로 느리다. // 요소의 추가, 삭제에 근접 노드의 포인트 참조만 변경하면 되기때문에 성능 이점이 있다. LinkedList namesLinkedList = new LinkedList(); namesLinkedList.add("Joh..
import java.util.ArrayList; import java.util.Arrays; public class ArrayVsArrayList { public static void main(String[] args) { // Arrays 특징 // - 제네릭 불가능(불안전 유형) // - 생성시 크기가 고정되며 확장하거나 축소 할 수 없다. // - 초기화 시 메모리에 할당되며, 고정크기여서 속도가 빠르다. // String[] friendsArray = new String[4]; String[] friendsArray = {"John", "Chris", "Eric", "Luke"}; // ArrayList 특징 // - 제네릭 가능(안전한 유형) // - 요소의 수에 따라 자동으로 확장 및 축소 ..
axios를 사용할 때 get 메서드로 배열 데이터로 요청을 하게 되면 400 에러 잘못된 요청이라고 오류나 난다. 서버 Controller에서 처리하거나 axios get 요청할 때마다 paramsSerializer 직렬화를 추가해주면된다. 하지만 get 요청할 때마다 직렬화 옵션을 넣는다는 게 여간 귀찮고 알맞은 방식의 코드는 아니다. 아래와 같이 axios를 생성할때 옵션을 지정하면 간단히 해결된다. import qs from 'qs'; const instance = axios.create({ headers: { 'Content-Type': 'application/json', }, // `paramsSerializer`는`params`를 직렬화(serializing) 하는 옵션 함수입니다. // (..
Cloud Firebase를 사용하여 실시간 화면 공유를 할 수 있다. PC 또는 태블릿에서 데이터를 입력하면 미치 공유가 되는 것처럼 가능하다. 예를 들어 은행업무를 보면 계좌 개설이나 대출을 받을 때 동의서를 태블릿으로 서명 동의를 받는 것을 예를 들 수 있다. 아래 예시는 키 몸무게를 입력받아 Cloud Firebase 데이터를 적재하고 실시간으로 다시 화면에 표출하는 예시이다. CloudFirebase.js import React, { useEffect } from 'react'; import firebase from 'firebase'; import 'firebase/firestore'; const firebaseConfig = { apiKey: 'AIzaSyCpJV8njsbs9h-zDagtND..
Swagger 설정을 할 때마다 봤던 WARN 이였는데 크게 문제가 되지 않아 신경을 쓰지 않았지만, 자꾸 눈에 거슬려 해결방법을 찾았다. Swagger 버그로 보이는데 오류가 난 해당 부분을 dependcy에서 exclusion 하면 된다. maven io.springfox springfox-swagger-ui 2.9.2 io.springfox springfox-swagger2 2.9.2 io.swagger swagger-annotations io.swagger swagger-models io.swagger swagger-annotations 1.5.21 io.swagger swagger-models 1.5.21 gradle compile("io.springfox:springfox-swagger2:2...
간혹 git pull, git push를 할 때마다 사용자 자격증명을 묻는 경향이 있다. 아래 git 명령어로 사용자 저장이 가능하다. 전체로 적용하고 싶을 때는 --global 옵션을 추가하면 된다. # 사용자 이름, 이메일 설정 git config (--global) user.name "userName" git config (--global) user.email "userEmal" # 사용자 자격증명 저장 git config (--global) credential.helper store
- Java
- spring
- Tomcat
- 리액트
- 리눅스 명령어
- 이직
- 경력관리
- 오라클
- 회고
- 자바스크립트
- javascript
- Maven
- 프로그래머스
- 프로그래머
- 오라클 내장 함수
- effective java
- Linux 명령어
- SQL
- 제주도 여행
- sort algorithm
- React
- 개발환경
- Collection
- 리액트 16
- 성능분석
- 제주도 3박4일 일정
- 소프트웨어공학
- 정렬 알고리즘
- Eclipse
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |