AWS IAM(Identity and Access Management) 정리
·
Study | etc
1. IAM이란?AWS 리소스에 대한 접근을 안전하게 제어할 수 있도록 해주는 웹 서비스.사용자가 어떤 AWS 리소스에 접근할 수 있는지, 어떤 작업을 할 수 있는지를 세밀하게 관리 가능.2. 핵심 구성 요소IAM 사용자 (IAM Users)AWS 리소스에 접근하는 개별 계정.액세스 키, 비밀번호 등을 통해 로그인 및 API 호출 가능.IAM 그룹 (IAM Groups)여러 사용자를 묶어서 동일한 권한을 효율적으로 부여.그룹에 정책을 연결하면 모든 그룹 구성원에게 동일하게 적용.IAM 역할 (IAM Roles)AWS 서비스 또는 신뢰할 수 있는 외부 엔티티(사용자, 계정 등)에 임시 자격 증명을 부여하는 방법.자격 증명 공유를 피하면서 안전하게 권한 위임 가능.Trust Policy를 통해 누가 이 역할..
[Spring] 스프링 빈이란? / Spring Bean / 등록 방법 / 빈 스코프 / LifeCycle
·
Development & Projects/Java
1. 빈(Bean)이라는 이름의 유래자바의 유래가 커피의 공급원인 자바 섬에서 나온 것과 같이 재사용이 가능한 자바 객체를 커피콩에 비유해서 자바빈이라고 지었는데, “Bean”은 원래 자바빈(JavaBean) 개념에서 차용된 이름입니다.스프링이 등장하면서 이 개념을 확장하여, “스프링 컨테이너가 관리하는 재사용 가능한 객체”를 스프링 빈(Spring Bean) 이라고 부르게 되었습니다. 2. 스프링 빈이란?스프링 빈이란 스프링 컨테이너(IoC 컨테이너)가 생성하고 관리하는 객체를 말합니다.일반 자바 객체는 개발자가 직접 new로 생성하고 관리합니다.반면 스프링 빈은 스프링 컨테이너가 객체의 생성, 의존성 주입, 소멸 등 전체 생명주기를 관리해 줍니다.객체 간의 의존도와 결합도를 낮추고 높은 캡슐화를 제공..
AWS CloudWatch란? / 모니터링 환경
·
Study | etc
클라우드 환경에서 애플리케이션을 운영하니 리소스 사용량 관리와 장애 탐지 등이 중요하다는 것을 깨달았습니다.CloudWatch는 이런 문제들을 해결하는 데 꼭 필요한 서비스입니다.CloudWatch란 무엇인가?Amazon CloudWatch는 AWS 리소스와 애플리케이션을 실시간으로 모니터링하고 관측할 수 있는 플랫폼입니다.메트릭, 로그, 이벤트등 다양한 데이터를 수집운영 상태를 시각화하는 대시보드 제공알람을 통한 자동 대응 및 통지전체 시스템 성능에 대한 종합적 인사이트 제공즉, 단순한 모니터링 툴이 아니라, 시스템 운영을 자동화하고 최적화하는 데 필요한 핵심 서비스라고 할 수 있습니다.CloudWatch 주요 기능1. 메트릭 & 알람메트릭 수집: EC2, RDS, Lambda 같은 AWS 리소스뿐 아..
[Java] 비동기 처리와 스레드 관리
·
Development & Projects/Java
Thread + Runnable가장 기본적인 스레드 생성 방식으로 Runnable 인터페이스에 작업 내용을 정의하고 Thread 객체로 감싸 실행한다.Runnable task = () -> System.out.println("새 스레드에서 작업 실행!");Thread thread = new Thread(task);thread.start(); // 비동기 실행 시작하지만 이 방법은 작업이 필요할 때마다 스레드를 생성하고 파괴해야 한다.그림에 보이는 것처럼 다중 요청이 들어오면 동시에 처리하는게 아닌 요청 1을 처리하고 요청 2를 처리하기에 매우 비효율적이라고 볼 수 있다.ExecutorService매번 스레드를 만들고 없애는 비효율을 없애기 위해 Thread Pool 개념 도입하게 된다.스레드 미리 만들어..
[Java] JVM(Java Virtual Machine)
·
Development & Projects/Java
JVM(Java Virtual Machine)운영체제에 종속받지 않고 CPU가 Java 인식하고 실행할 수 있도록 해주는 가상 컴퓨터이다.→ 이 덕분에 자바는 운영체제에 독립적이라는 장점을 가지게 된다.자바 언어 자체는 CPU가 인식하지 못하기에 기계어로 컴파일을 해줘야 하는데 이때 Java는 byte코드로 변환된 후 JVM이 binary code로 변환된다.Java 작성한 소스파일은 JVM을 거쳐 운영체제와 상호작용 함JVM 덕분에 Java는 “운영체제로부터 독립적”라는 특징을 가짐 (Write Once, Run Anywhere)구조Class Loader클래스 파일(.class)을 로드하고 링크를 통해 배치하는 작업 수행한다. 런타임 시, 동적으로 클래스 로드하고 jar 파일 내 저장된 클래스들을 JV..
백준 / 15683번 / 감시 / python 파이썬
·
Coding Test/Baekjoon
문제 : https://www.acmicpc.net/problem/15683 나의 풀이import sysinput = sys.stdin.readlinen, m = map(int, input().split())Map = [list(map(int, input().split())) for _ in range(n)]dx = [-1, 1, 0, 0]dy = [0, 0, -1, 1]cctv_type = { 1: [[0], [1], [2], [3]], # 상, 하, 좌, 우 2: [[0, 1], [2, 3]], # 상+하, 좌+우 3: [[0, 3], [3, 1], [1, 2], [2, 0]], # 상+우, 우+하, 하+좌, 좌+..
[Java] 상속 정리 / 다중 상속 / 다이아몬드 문제
·
Development & Projects/Java
1. super()와 생성자 호출 규칙자바에서 자식 클래스가 부모 클래스를 상속받으면, 자식 생성자에서 부모 생성자를 반드시 호출해야 합니다.이때 super()는 자동으로 삽입되며, 항상 생성자의 첫 줄에 위치해야 합니다.class Parent { private String name; // 기본 생성자가 없음 public Parent(String name) { this.name = name; }}class Child extends Parent { // 컴파일 에러 발생 public Child() { // super(); // 자동 호출되지만 Parent() 기본 생성자가 없어 에러 }} 부모 클래스에 기본 생성자가 존재하면 → super() ..
[Java] 추상 클래스와 인터페이스 정리
·
Development & Projects/Java
추상화란?추상화는 객체들의 공통적인 속성과 기능을 정의함으로써 코드 중복을 줄이고, 클래스 간 관계를 효과적으로 설정하며 유지/보수를 용이하게 하는 기법이다.자바에서는 추상 클래스(abstract class) 와 인터페이스(interface) 를 통해 추상화를 지원한다. 추상 클래스 (Abstract Class)추상 클래스는 클래스지만 직접 인스턴스를 생성할 수 없고, 하나 이상의 추상 메서드(abstract method) 를 포함할 수 있다.즉, 오직 상속을 통해 하위 클래스에서만 완성될 수 있다. abstract class Test { abstract void doSomething(); // 추상 메서드 void commonMethod() { // 일반 메서드 ..