본문 바로가기
반응형

개발247

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.
IntelliJ Eclipse SpringBoot 프로젝트 Import Eclipse(STS)에서 실행하던 SpringBoot 기반 프로젝트를 IntelliJ로 import하는 방법 - IntelliJ Project 하나를 Empty Project로 생성한다. 단일 프로젝트일 경우 필요없지만 Eclipse workspace에 여러 프로젝트들이 있어서 먼저 Empty Project를 생성 - 프로젝트명은 'Test'로 하고 생성하고 아래와 같이 확인 - "Module from Existing Sources..." 메뉴를 선택하고 Eclipse workspace에서 import할 하나의 프로젝트를 선택한다 - Eclipse를 선택하고 Next - 경로정도만 확인만하고 나머지는 디폴트로 두고 Next - 프로젝트를 선택하고 Next - 그냥 Next - 사용할 JDK를 선택하고 .. 2022. 2. 11.
jQuery 동적추가(append, html) Click 이벤트 처리 jQuery 사용 시 Click이벤트 바인딩을 아래와 같이 많이 하는데 html(), append() 등으로 동적으로 추가되는 엘리먼트들에 대해서는 이벤트가 동작하지 않는다. Page가 로드되는 시점에 존재 않는 엘리먼트들에 대해서는 이벤트가 안먹힌다고 한다 $('.mydiv').on("click",function(){ // 이벤트 처리 } 동적으로 추가되는 class가 ".mydiv"인 엘리먼트에 이벤트를 위에처럼 바인딩해줬을 때는 동작하지 않는다 이럴때는 Page가 로드될 때 존재하고 동적으로 변하지 않는 상위 엘리먼트를 기준으로 바인딩 설정을 해준다 /** * ... * */ $('.myDivParent').on("click", '.mydiv', function(){ // 이벤트 처리 } class.. 2022. 2. 11.
AWS Lightsail 이해 및 테스트 Lightsail AWS에서 VPS(Virtual Private Server)를 시작하는 가장 쉽고 빠른 방법 완전히 사전 구성되어 있는 서버 - 가상머신(compute), SSD기반 스토리지, Networking, 로드밸런서, DNS관리, 고정IP, OS, 개발플랫폼(MEAN, Node.js 등), 어플리케이션(Wordpress, Nginx, GitLab, Redmine 등) 등 모두 포함 저렴하고 예측 가능한 요금 AWS 서비스(RDS, CDN 등)들과 연동 가능 맞춤형 API와 CLI 제공 EC2 vs Lightsail Lightsail WordPress 생성 - Lightsail 메뉴 이동 - Platform에 Linux, blueprint에 WordPress 선택 - instance plan에 .. 2022. 2. 9.
AWS IAM 개념 및 테스트 IAM(Identity and Access Management) AWS 리소스에 대한 접근을 안전하게 관리할 수 있게 해주는 서비스 사용자, 그룹, 권한 등을 이용하여 AWS 리소스에 대한 접근을 허용,거부 멀티팩터인증(MFA) 등 추가적인 인증 제공 기업 네트워크, 인터넷 자격증명 공급자와의 연계를 통해 다른 곳에 암호가 있는 사용자에게 AWS 계정에 대한 임시 접근 권한 부여 가능 IAM 구성 권한(Permission): AWS 리소스에 어떤 작업을 할 수 있는지 명시해두는 규칙(ex. 서울리전의 EC2를 조회할 수 있다) 정책(Policy): 사용자/역할/그룹이 어떤 서비스에 접속해서 어떤 조작(쓰기,시작,정지,삭제 등)을 할 수 있는지 정책(권한들의 모음) 기본적으로 AWS에서 미리 설정해둔 "A.. 2022. 2. 6.
AWS CloudFront(CDN) 이해 및 테스트 CDN(Content Delivery Network) 동작 원리 컨텐츠 요청에 대해 사용자와 가장 가까운 위치에 배치된 CDN 서버로 사용자를 접속시키고, CDN서버는 요청에 대해 Caching된 컨텐츠를 사용자에게 전달 컨텐츠를 찾는데 실패했거나 컨텐츠가 너무 오랜된 경우 Origin 서버에 조회하여 요청에 응답, 이후 동일한 컨텐츠를 요청받으면 캐싱된 데이터를 사용하여 응답 CDN 캐싱 방식의 종류 Static Caching: 사용자의 요처이 없어도 Origin서버에 있는 컨텐츠를 운영자가 미리 Cache서버에 복사해놓은 방식 Dynamic Caching: 최초에는 Cache서버에 데이터가 없으나 사용자가 요청 시 컨텐츠가 있는지 확인 후 없으면 Origin서버에서 받아서 응답하고 이후에는 캐싱된 데.. 2022. 2. 5.
AWS EC2 AutoScaling 구성 테스트 Auto Scaling Group(ASG) AWS가 제공하는 자동 다중 서버 서비스 ASG는 같은 사양, 같은 환경, 같은 코드를 가진 동일한 EC2 인스턴스들의 묶음 리소스 사용량 기준 및 지정한 시간 기준에 따라 인스턴스 수를 자동으로 늘리고 줄임 시작 템플릿 생성 - 시작템플릿 이름 입력, 나머지는 디폴트 - AMI는 예전 Nginx 테스트로 생성해둔 AMI 선택 함 - 인스턴스 유형 및 키페어 선택 - 보안그룹 기존 EC2 보안그룹 선택(inbound 80 Allow) - 생성확인 Auto Scaling Group(ASG) 생성 - 'EC2 > Auto Scaling > Auto Scaling 그룹' 메뉴 클릭 후 우측 상단의 'Auto Scaling 그룹 생성' 버튼 클릭 - 이름 입력하고, 시.. 2022. 2. 4.
반응형