반응형

2019/10 4

Spring AOP 동작 방식, 원리

스프링은 기본적으로 프록시 기반 AOP 를 제공한다. 스프링에서는 Java Dynamic Proxy를 사용하거나 Cglib을 사용하여 프록시 기반 AOP를 구현했다. 이 글에서는 어떻게 Spring 에서 AOP를 사용할 수 있는 방식의 차이와 프레임워크가 AOP를 지원하기 위해 어떤 처리를 해주는지 개인적으로 분석한 내용을 정리한다. AopProxy 라는 Delegator 인터페이스로 표현되며 Dynamic Proxy 기반은 JdkDynamicAopProxy 클래스, Cglib 기반은 CglibAopProxy 클래스이다. Dynamic Proxy 기반과 Cglib 차이는 어떻게 프록시 객체를 생성하는지 방식 차이이다. Dynamic Proxy 는 프록시 객체 생성을 위해 인터페이스를 필수로 구현해야하며,..

개인적인 IT 서적 추천

읽어야할, 읽고싶은, 추천하고 싶은 도서 내역을 정리해보았습니다.도서 목록 객체지향의 사실과 오해 저자 : 조영호 소개 : 『객체지향의 사실과 오해』는 객체지향이란 무엇인가라는 원론적면서도 다소 위험한 질문에 답하기 위해 쓰여진 책이다. 안타깝게도 많은 사람들이 객체지향의 본질을 오해하고 있다. 가장 널리 퍼져있는 오해는 클래스가 객체지향 프로그래밍의 중심이라는 것이다. 객체지향으로 향하는 첫 걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 클린 코더 저자 : 로버트 C. 마틴 소개 : 세계적으로 유명한 프로그래머 ‘밥 아저씨’ 로버트 마틴이 쓴 책으로, 프로 개발자가 되는 길을 알려준다. 수십 년의 경험을 바탕으로 장인 정신, 실천 기법, 도구뿐만 아니라 프로가 가져야 할 마음가짐과 태도를..

기타 2019.10.30

Windows에서 Linux 명령어 사용환경 구성하기

개발자 특성상 Windows, Linux 등 다양한 환경의 PC를 이용하게 되는데요. 저는 주로 일반 사무, 업무를 볼 때는 Windows, 개발할 땐 Linux 환경을 이용합니다. 다만 직업 특성상 Linux 환경에 노출되는 시간이 많고, 자연스레 Linux 명령어에 익숙해지게 되는데요. 이 때문에 가끔 Windows의 CMD 명령어들이 Linux와 달라 불편함을 종종 느낄때가 있습니다. 이 때문에 이번에 개인적으로 사용하는 PC (Windows)에 Cygwin 을 설치해봤습니다. Cygwin 이란 공식 홈페이지 : https://cygwin.com/ 설치 : https://cygwin.com/install.html POSIX 기반 소프트웨어를 Windows에서 구동 및 개발이 가능하도록 환경을 제공해..

IT기본 2019.10.23

ELK를 활용한 로그 중앙집중 처리

어플리케이션 수행 중 발생하는 예외(Exception)를 모니터링 할 수 있는 시스템을 위해 ELK를 로컬환경에 구성한다. 구성 ELK Logstash : 데이터 수집, 필터링, Elasticsearch에 색인 (ETL 기능) Elasticsearch : 데이터 저장소 + 검색엔진 Kibana : 수집 데이터 시각화 적용 Logback Logstash용 Appender를 활용하여 WARN 이상 레벨의 로그를 Logstash에 적재 (https://jsonobject.tistory.com/243), Logstash에서 Elasticsearch로 색인 * LogstashEncoder는 스프링앱에서 발생하는 로그를 ELK스택에서 사용되는 JSON형태로 변환 * LogstashSocketAppender는 Log..

Back-End 2019.10.22