본문 바로가기
반응형

분류 전체보기323

Mybatis parameterType List foreach insert(Oracle, MySQL) Mybatis에서 foreach를 사용해서 List를 Insert하는 방법 아래와 같이 리스트에 데이터를 담아서 넘기는 경우 List list = new ArrayList(); list.add(new TestVO(1)); list.add(new TestVO(2)); insert("namespace.listInsert", list); Oracle 기준으로는 mybatis 쿼리를 아래와 같이 작성한다. INTO MY_TABLE ( NUM, DATE ) VALUES ( #{item.num}, SYSDATE ) 실행 쿼리는 아래와 같이 실행된다 INSERT ALL INTO MY_TABLE (NUM, DATE) VALUES (...) INTO MY_TABLE (NUM, DATE) VALUES (...) ... S.. 2022. 2. 21.
CloudWatch Logs Agent 테스트(awslogs) AWS CloudWatch Logs를 사용하여 EC2 인스턴스에 설치 된 Apache의 AccessLog와 ErrorLog를 CloudWatch Logs Agent(awslogs)를 통해 CloudWatch에서 확인 1. EC2용 Policy와 Role 생성 - IAM의 정책 메뉴에서 정책생성, 기존 생성되어 있는 Policy를 사용해도 되지만 Policy를 부터 직접 만들어서 테스트 - 서비스: "CloudWatch Logs" 선택, 작업: "CreateLogGroup", "CreateLogStream", "PutLogEvents", "DescribeLogStreams" 검색해서 선택, 리소스: "모든 리소스" 선택 - 다음으로 정책 이름 "mytest-CloudWatchLogsPolicy" 입력하고 .. 2022. 2. 20.
CloudWatch Event 테스트(EventBridge) EC2 상태 변경에 따라 SNS(Simple Notification Service)를 사용하여 자동으로 이메일을 수신하는 구성으로 테스트 1. SNS(Simple Notification Service) 생성 - SNS 메뉴에서 유형은 "표준", 그외 '이름', '표시이름' 입력하고 하단 '주제 생성' 버튼 클릭 - '구독 생성' 클릭 - 구독 생성 화면에서 주제는 위에서 생성한 주제 선택, 프로토콜은 "이메일" 선택, 엔드포인트는 수신받을 이메일 입력하고 구독생성 - 엔드포인트로 입력한 이메일 확인해서 Confirm 하기 2. CloudWatch Event 생성(EventBridge) - 기존 CloudWatch Event가 EventBridge로 대체가 된다고 하여 EventBridge로 생성 - Ev.. 2022. 2. 20.
AWS CloudWatch 이해 및 지표보기 서버 모니터링 영역 인프라 영역: 어플리케이션이 실행되는 인프라 영역 모니터링 클라이언트 요청 영역: 클라이언트가 올바른 요청을 보내는지, 공격시도 체크, 요청량 등 모니터링 어플리케이션 영역: 어플리케이션의 에러 등 정상동작 모니터링 데이터 영역: 데이터가 올바르게 쌓이고 있는지, 주기는 어떤지 등 모니터링 CloudWatch 여러 어플리케이션 및 인프라의 지표 및 로그, 이벤트 통합 관리 모니터링 자동 대시보드 및 지표를 통한 인프라의 운영 가시성과 통찰력 제공 클라우드, Cross-리전 및 On-Premise의 지표 수집 가능(CloudWatch Agent, API Call) 운영 성능 및 리소스 최적화에 대한 경보 설정 및 상태변화에 따른 작업(ScaleOut/Up, 서비스 재시작 등) 자동화 수.. 2022. 2. 20.
AWS Lambda-Layers 테스트 Python Lambda-Layers 사용해서 S3 이미지 Thumbnail 생성 1. Lambda에 부여할 IAM 역할 생성 - IAM메뉴로 접속해서 '역할만들기' 클릭 - 하단에 Lambda 선택하고 다음 클릭 - 권한추가에서 S3와 연동하기 위해 "lambda", "s3"로 검색하여 'AmazonS3ObjectLambdaExecutionRolePolicy'와 "AmazonS3FullAccess" 선택하고 다음 클릭 - 역할 이름은 "Lambda-S3-Exec"로 입력하고 하단에 '역할생성' 버튼 클릭 2. S3 버킷 생성 - S3메뉴의 '버킷만들기' 클릭하여 이름만 입력하고 나머지는 디폴트로 두고 버킷 2개(mytest-upload, mytest-upload-resized) 생성 - 버킷 생성 확인 - "myt.. 2022. 2. 19.
AWS Lambda - Hello World Lambda 서버를 프로비저닝 하거나 관리하지 않아도 코드를 실행할 수 있도록 해주는 컴퓨팅 서비스 Serverless: 스스로 관리해야 할 서버 or 컨테이너 서비스가 없음 필요 시에만 코드를 실행하고, 사용한 컴퓨팅 시간에 대해서만 비용 발생 Java, Python, Nodejs, Go 등 다양한 언어 지원 및 환경변수 설정 가능 Lambda Layer를 통해 라이브러리 및 프레임워크 사용 가능 여러 AWS 서비스들과 통합되어 Event, Request 기반으로 실행 가능 자체 Editor, Zip배포, Cloud9을 통해서 개발 및 배포 가능 Cloudwatch, X-ray를 통해 요청 수, 에러 수, 처리 시간, 처리량 모니터링 가능 AWS IAM Role을 사용한 권한 관리, AWS 이벤트 소스.. 2022. 2. 19.
Maven Build 옵션(pl, am, amd) - 멀티모듈에서 특정 모듈만 빌드 Maven에서 멀티모듈로 빌드 설정을 할 경우 자식 모듈들 중 특정 모듈(프로젝트)만 빌드를 수행하고 싶을 때가 있다. 이 때 특정 프로젝만 빌드를 할 경우 Parent나 의존성이 걸린 타 모듈들의 설정 등으로 원하는 프로젝트만 빌드할 때 에러가 발생해서 안될때가 있다. 그래서 매번 Parent기준 전체 빌드를 해주는 경우가 있는데 maven pl, am, amd 옵션을 활용하면 특정 프로젝트만 쉽게 빌드가 가능하고 빌드 시간도 당연히 줄어든다. Parent - A - B - C 위와 같이 Parent에 A, B, C 프로젝트가 자식 모듈로 들어 있는 경우 1. -pl 옵션 특정 프로젝트만 빌드를 수행할 수 있다 # A 프로젝트만 빌드(여러 개일 경우 ,로 구분) mvn install -pl A 2. -.. 2022. 2. 18.
Java List removeIf(), 안전한 List 루프 Item Remove java List객체에서 조건에 해당하는 아이템을 list에서 제거할 때 일반적으로 생각할 수 있는게 List를 루프 돌면서 해당 아이템에 대해 remove() 처리를 하는 것이다. 그러나 다음 코드와 같이 실행했을 때 아래와 같은 에러 등이 발생한다. 각 아이템을 List에서 제거하면서 List 내부조정에 따른 아이템의 인덱스 등이 달라지기 때문이다 public static void main(String[] args){ ArrayList numbers = new ArrayList( Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)); for (Integer num: numbers){ if(num % 2 ==0){ numbers.remove(num); } } } java 8.. 2022. 2. 15.
반응형