본문 바로가기

전체 글

(18)
[Spring Core] 스프링AOP 용어 정리 AOP(Asepect Orineted Programming:AOP)=관점지향 프로그래밍개발 프로그래밍언어는 프로그램개발을 위해 고유한 관심사 분리 패러다임이 필요하다.객체지향프로그래밍의 많은 장점에도 불구하고, 다수의 객체들에 분산되어 중복적으로 존재하는 공통간심사가 존재하여, 프로그램을 복잡하게하고, 코드의 변경을 어렵게 한다.AOP는 핵심 관심사를 분리하여, 프로그램모듈화를 향상시키는 프로그래밍공통프로그램 영역에 핵심관심사를 엮어서 기능을 처리한다.관점(Aspect)관점(Aspect)은 프로그램의 핵심 관심사에 걸쳐 적용되는 공통 프로그램 영역을 의미한다. 예를 들면 로깅, 인증, 권한확인, 트랜잭션은 비지니스 기능 구현시에 공통적으로 적용되는 요소이며 하나의 관점으로 정의될 수 있다. 핵심 관심사(..
[Spring Core] 스프링 용어 정리 ApplicationContextApplicationContext를 스프링 컨테이너라고 한다. ApplicationContext는 BeanFactory 인터페이스의 하위 인터페이스이다. 즉, ApplicationContext는 BeanFactory에 부가기능을 추가한 것이다.BeanFactory는 스프링 컨테이너의 최상위 인터페이스이다. 스프링 빈을 관리하고 조회하는 역할을 한다. ApplicationContext는 BeanFactory + 부가 기능(국제화 기능, 환경 변수 관련 처리, 애플리케이션 이벤트, 리소스 조회)을 가진다.정확히는 스프링 컨테이너를 부를 때, BeanFactory, ApplicationContext를 구분해서 말하지만, BeanFactory를 직접적으로 사용하는 경우는 거의 없..
[Spring Core] 빈 생명주기 콜백 , 빈 스코프 Spring Bean 생명주기 Spring Bean의 생명주기는 Spring 프레임워크에서 빈이 생성되고 소멸될 때까지의 전체 과정이다.이 과정은 여러 단계로 이루어져 있으며, 각 단계는 Spring 컨테이너에 의해 관리된다. Spring Bean 생명주기 단계Bean 정의(Definition): 개발자가 XML 설정 파일, 애노테이션 또는 Java 설정 클래스를 통해 Bean을 정의한다.Bean 생성(Creation): Spring 컨테이너가 정의된 Bean을 인스턴스화합니다. 기본적으로는 Java의 new 키워드를 사용하여 객체를 생성한다.의존성 주입(Dependency Injection): 생성된 Bean에 필요한 의존성을 주입한다. 이는 생성자 주입, 세터 주입 등을 통해 이루어진다.초기화(Ini..
[Spring Core] Component Scan Component Scan 의존성 주입을 위해 스프링은 어플리케이션 컨텍스트를 생성한다.스프링은 객체를 인스턴스화 하고 이를 어플리케이션 컨텍스트에 추가하는데 이때 인스턴스화 된 객체를 스프링 빈 혹은 컴포넌트 라고 한다.어플리케이션 컨텍스트에 스프링 빈(컴포넌트)으로 등록될 클래스들을 스캔하여 빈으로 등록해주는 과정을 컴포넌트 스캔 이라고 한다. 지금까지 스프링 빈을 등록할 때는 자바 코드의 @Bean이나 XML의 bean> 등을 통해서 설정 정보에 직접 등록할 스프링 빈을 나열했다.  등록해야 할 스프링 빈이 수십, 수백개가 되면 일일이 등록하기도 귀찮고,설정 정보도 커지고, 누락하는 문제도 발생한다. 그래서 스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔이라는 기능을 제공한..
[Git] https repository 연결시 SSL 인증서 오류 신뢰할 수 있는 사이트라면 SSL 인증서 검증을 끈다. Git bash 실행 후 아래 명령 입력 git config --global http.sslVerify false [참고] git 에서 https repository 연결시 SSL 인증서 오류 해결법 error: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://myhost/username/ExcelANT.git/info/refs www.lesstif.com
[Spring Boot] Lombok 오류 1. Lombok이란? 어노테이션 기반으로 코드를 자동완성 해주는 라이브러리이다. Lombok을 이용하면 Getter, Setter, Equlas, ToString 등과 다양한 방면의 코드를 자동완성 시킬 수 있다. 만약 위의 Store에서 생성자도 필요하고, toString 함수도 Override 해야하는 등 추가적인 작업이 필요하다면 1개의 VO 클래스만 해도 상당히 길어지고, 코드의 가독성은 떨어지는 등의 단점이 있다. 만약 위의 클래스에 Lombok을 적용한다면 아래와 같이 단순화시킬 수 있다. @Getter @Setter public class Store extends Common { private String companyName; // 상호명 private String industryType..
[AWS] KST timezone 변경 1. 심볼릭 링크 변경 $ sudo rm /etc/localtime $ sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime 2. clock 파일 수정 $ sudo vi /etc/sysconfig/clock ZONE="UTC" > ZONE="Asia/Seoul" 변경 3. 확인 $ date [참고] AWS EC2의 Timezone KST로 변경하기 (Amazon Linux 1) AWS의 Amazon Linux 1을 사용할 경우 Timezone을 변경하고, 잘 적용되다가 인스턴스를 재시작하면 다시 UTC로 롤백되는 경우가 종종 있는데요. 이는 한가지 설정이 누락되어서 그렇습니다. 먼저 기존의 jojoldu.tistory.com
[AWS] gitlab,jenkins 설치(docker compose) [1] docker , docker compose 설치 $ sudo yum update -y $ sudo amazon-linux-extras install -y docker ec2-user 계정에 docker 실행 권한 부여 $ sudo usermod -a -G docker ec2-user 부팅시 docker 자동 실행 --- (잘안되네.. 확인필요) $ sudo chkconfig docker on Note: Forwarding request to 'systemctl enable docker.service'. $ sudo systemctl enable docker.service docker compose 설치 $ sudo curl -L https://github.com/docker/compose/rele..