본문 바로가기

CS study

(47)
Record Pattern (24.05.03) 보호되어 있는 글입니다.
AWS Certified Solutions Architect Associate : AWS 리전 및 IAM 정책 AWS Regions  north-east-2 .. 서울 리전처럼 데이터 센터들의 집합을 의미한다.대부분의 서비스들은 특정 리전에 국한된다. 리전 선택에 영향을 미치는 요인- 법률 준수- 지연 시간 : 실사용자와 가장 가까운 리전 선택- 리전간 요금 차이 가용 영역(AWS Availability Zone)리전 안에 존재하는 데이터센터의 영역     IAM : Users & GroupsIdentity and Access Management, Global service루트 계정과 달리, 사용자들을 그룹화화고, 이를 묶어서 권한을 처리할 수 있는 서브 계정과도 같다. AWS의 Identity and Access Management (IAM)의 주요 부분루트 계정과 달리, 사용자와 그룹을 통한 세분화된 권한 관..
자바 객체의 메모리 사용량 및 오버헤드 개요 주말에 알고리즘을 풀다가 든 궁금증을 정리하였다. 일반적으로, 우리는 구현이나 시뮬레이션, 그것이 아니더라도 Java 기반의 문제 풀이라면 여러 자료구조 및 커스텀 클래스를 사용하게 된다. (Comparable이라던지.. ) 그리고 이 좌표를 표현하는 데에는 크게 두 가지 방법을 많이 사용하는 듯하다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception { int[] pos = {1, 2}; //특정 좌표를 배열로 표현하거나, Pos posClass = new Pos(1, 2); //혹은 이런 식으로 객체 타입으로 표현할 수도 있을 것이다. } } ..
InteliJ lombok 인식 불가(Cannot resolve symbol 'info', Cannot Find log) lombok 추가 시 인식을 하지 못하거나, Cannot Resolve Symbol 등의 문제가 발생할 수 있다. 이 경우 다음과 같은 옵션을 고려해보자 1. Lombok 플러그인 설치 및 적용 확인 setting - plugins - lombok으로 확인해볼 것. 2. 구체적 버전 추가 및 Annotation Processor 적용 settings - Build, Execution, Deployment - Annotation Processors 에서 옵션 활성화 dependencies { testImplementation platform('org.junit:junit-bom:5.9.1') testImplementation 'org.junit.jupiter:junit-jupiter' .. 생략 imple..
[CentOS] 표준 시간대 변경 및 NTP를 사용한 동기화 [Backup posting] 서버 간의 시간을 맞출 때, Network Time Protocol을 사용하여 편리하게 동기화할 수 있다. 리눅스 상에서 표준 시간대를 재설정하고, 동기화하는 명령어를 정리하였다. 1. Timezone 변경 서버의 시간대를 KST 한국 기준으로 변경하려면 다음과 같이 설정하자. sudo timedatectl set-timezone Asia/Seoul 2. NTP(Network Time Protocol) 설치 NTP 프로토콜을 설치하고 적용하여 동기화한다. 1. NTP 서비스 설치 sudo yum install ntp 2. 서비스 시작 sudo systemctl start ntpd 3. 부트 시 NTP 자동 활성화 sudo systemctl enable ntpd 3. NTP ..
[디자인 패턴]방문자(visitor) 패턴 설명과 예 설명 방문자 패턴은 알고리즘들을 그들이 작동하는 객체들로부터 분리할 수 있도록 하는 행동 디자인 패턴이다. 방문자(Visitor) 패턴은 객체 지향 디자인 패턴의 하나로, 알고리즘을 객체 구조에서 분리하여, 객체 구조의 클래스를 변경하지 않고도 새로운 연산을 추가할 수 있도록 한다. 이 패턴은 객체 구조 내의 각 요소에 대해 수행할 연산을 별도의 '방문자' 객체에 정의한다. 연산을 추가하는 것이 객체 구조의 클래스들을 변경하는 것보다 훨씬 용이하기 때문이다. 특히, 복잡한 객체 구조를 다룰 때 유용하며, 다양한 연산을 객체 구조에 추가하고자 할 때 활용된다. 내가 직접적으로 느꼈던 직관적인 설명을 서술하자면, "일반적인 로직과 달리 방문자가 로직을 가지고 accept를 통해 파라미터로 받는 방문자 객체에..
[디자인 패턴]어댑터(apdapter) 패턴 설명과 예시 https://refactoring.guru/ko/design-patterns/adapter 어댑터 패턴 / 디자인 패턴들 / 구조 패턴 어댑터 패턴 다음 이름으로도 불립니다: 래퍼(Wrapper), Adapter 의도 어댑터는 호환되지 않는 인터페이스를 가진 객체들이 협업할 수 있도록 하는 구조적 디자인 패턴 refactoring.guru 설명 기존 클래스를 사용하고 싶지만 그 인터페이스가 나머지 코드와 호환되지 않을 때 사용 어댑터 패턴은 구조적 디자인 패턴의 일종으로, 호환되지 않는 인터페이스로 인해 함께 사용할 수 없는 클래스들이 서로 상호 작용할 수 있도록 해준다. 이 패턴은 기존 시스템에 새로운 클래스를 쉽게 통합하고자 할 때 유용하게 사용된다. 어댑터 패턴의 주요 목적은 기능의 재사용과 코드..
[tomcat] catalina.sh (difference between java_opts and catalina_opts) [Backup 240124] 톰캣 내부에 agent 모델을 심을 일이 있었는데, catalina.sh(envset.sh) 안에 코드에서 궁금한 점이 있었다. 1. CATALINA_OPTS 사용 CATALINA_OPTS="$CATALINA_OPTS -javaagent:[scouter agent 경로]/scouter.agent.jar" export CATALINA_OPTS 2. JAVA_OPTS 사용 #Scouter Agent Setting SCOUTER_AGENT_DIR="" COLLECTOR_SERVER_IP="192.168.56.1" export JAVA_OPTS="$JAVA_OPTS -javaagent:${SCOUTER_AGENT_DIR}/scouter.agent.jar" export JAVA_OPT..