본문 바로가기

Development

(63)
AWS RDB 운영환경에 맞는 파라미터 설정 RDB 처음 생성시 몇 가지 설정을 필수로 해야 함 타임존 Character Set Max Connection [1] '파라미터 그룹' 탭으로 이동 [2] 우측 상단 '파라미터 그룹 생성' 버튼 클릭 파라미터 그룹 패밀리에 적용될 DB 버전은 생성한 버전과 같은 버전으로 해야 함 [3] '생성' 후 상세 페이지로 이동 [4] 우측 상단 '파라미터 편집' 버튼 클릭 [5] 타임존 수정 [6] Character Set 변경 아래 리스트 중 character 항목은 utf8mb4, collation 항목들은 utf8mb4_general_ci로 변경 character_set_client character_set_connection character_set_database character_set_filesyst..
AWS에 데이터베이스 환경 구축하기 - AWS RDB 백엔드를 다루는 것은 코드를 작성하는 것만큼 DB를 다루는 역량은 굉장히 중요함 DB 구축, 쿼리 튜닝에 대한 기본적 지식은 반드시 필요함 AWS에서의 데이터베이스 환경 : RDS AWS는 DB 구축에 필요한 작업을 모두 지원하는 관리형 서비스인 RDS(Relational Database Service) 제공 RDS : AWS에서 지원하는 클라우드 기반 관계형 데이터베이스 조정 가능한 용량을 지원해 예상치 못한 양의 데이터가 쌓여도 비용만 추가하면 정상적 서비스 가능 RDS 인스턴스 생성 [1] RDS 검색 후 데이터베이스 생성 [ 데이터베이스 생성 ] 버튼 클릭 [2] RDB 선택 사용하고자 하는 DB 선택 책에서 MariaDB를 추천하는 이유 - 가격 상용 데이터베이스인 Oracle, MSSQL은 오..
AWS 리눅스 2 서버 생성을 위한 설정 서론 자바 기반 웹 어플리케이션(톰캣과 스프링부트)가 작동해야 하는 서버에서 필수로 해야 하는 설정 JAVA 8 설치 타임존 변경 : 한국 시간으로 등록하고 사용하기 위함 호스트네임 변경 : 현재 접속한 서버의 별명 등록 (이는 실무에서 수십 대의 서버가 작동될 때, 구분하기 위한 호스트 네임) [1] 자바 8 설치 및 설정 https://sky-abraxas.tistory.com/87 AWS EC2 서버에 접속하기 - Mac, Linux 서버 접속하기 터미널 실행 명령어 입력 ssh -i (pem 키 위치) (EC2의 탄력적 IP 주소) 단계 단축 방법 pem 파일을 ~/.ssh/ 로 복사하는 방법으로, ~/.ssh/ 디렉토리로 pem 파일을 옮겨 놓을 경우 ssh 실행 시 p sky-abraxas.t..
AWS EC2 서버에 접속하기 - Mac, Linux 서버 접속하기 터미널 실행 명령어 입력 ssh -i (pem 키 위치) (EC2의 탄력적 IP 주소) 단계 단축 방법 pem 파일을 ~/.ssh/ 로 복사하는 방법으로, ~/.ssh/ 디렉토리로 pem 파일을 옮겨 놓을 경우 ssh 실행 시 pem 키를 자동으로 읽어 접속을 진행함 ~/.ssh/ 폴더가 없어 생성함 터미널 실행 명령어 입력 cp (pem 키를 내려받은 위치) ~/.ssh/ pem의 키 권한 변경 chmod 600 ~/.ssh/freelec-springboot-webservice.pem ~/.ssh 디렉토리에 config 파일 생성 vim ~/.ssh/config Host 등록 Host를 앞으로 접속할 키 값으로 보면됨 작성 # 주석 Host 본인이 원하는 서비스명 HostName ec2의..
AWS 서버 환경 배포 - AWS EC2 서버 배포 외부에서 본인이 구현한 서비스를 접근하게 하려면 24시간 작동하는 서버가 필요하며, 세 가지 선택지가 존재합니다. 전반적으로 트래픽이 일정하게 유지되는 경우 24시간 PC 구동 호스팅 서비스(Cafe 24, 코리아호스팅 등) 특정 시간에 트래픽이 몰리는 경우 클라우드 서비스(AWS, AZURE, GCP 등) 클라우드란? 인터넷(클라우드)를 통해 서버, 스토리지(파일 저장소), DB, 네트워크 등의 컴퓨팅 서비스를 제공하는 것 IaaS : Infrastructure as a Service 기존 물리 장비를 미들웨어와 함께 묶어둔 추상화 서비스 가상머신, 스토리지, 제트워크, 운영체제 등 IT 인프라를 대여해줌 AWS의 EC2, S3 등 Paas : Platform as a Service IaaS..
세션 저장소로 데이터베이스 사용하기 문제점 애플리케이션 재 실행시 로그인이 해제되는 문제를 해결하기 위하는데, 이는 세션이 내상 톰캣의 메모리에 저장되기에 발생합니다. 메모리에 저장되다 보니 내장톰캣처럼 앱 실행 시 실행되는 구조는 항상 초기화가 발생합니다. 다시 이야기하자면, 이런 경우 배포할 때마다 톰캣이 재시작하는 문제가 발생한다는 것이지요. 만약 두 대 이상의 서버에서 서비스를 하고 있다면 톰캣마다 세션 동기화 설정이 필요하기도 합니다. 위와 같은 이유로 현업에서는 세션 저장소에 세 가지 중 한 가지를 선택해 이용합니다. 동기화(Synchronization) 프로세스, 스레드들이 시행되는 시점을 조절해 서로 알고 있는 정보를 일치하게 하는 것 해결방안 톰캣 세션 사용 별 다른 설정을 하지 않을 때 기본적으로 선택되는 방식 이렇게 될..
스프링 자바 커스텀 어노테이션 생성하기 - 파라미터 어노테이션 (1) @interface 클래스 선언 (2) ***ArgumentResolver 생성 HandlerMethodArgumentResolver 를 상속 받아 supportsParameter(), resolverArgument() 오버라이딩 테스트 결과 다른 타입의 객체를 파라미터로 넘겨도 컴파일 과정에서 에러를 발견하지는 않음 (3) 생성한 ***ArgumentResolver를 WebConfig에 추가
[에러 기록] Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary. [해결 못한 포스팅] 1차 에러 발생 아래와 같이 수정 spring.datasource.username=crowdFunding spring.datasource.password=crowdFunding spring.datasource.url=jdbc:log4jdbc:mysql://localhost:3306/crowdFunding #net.sf.log4jdbc.sql.jdbcapi.DriverSpy spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator 2차 에러 발생 Driver com.mysql.cj.jdbc.Driv..