1. 빈(Bean)의 라이프사이클(Life-Cycle) 제어 개발을 진행하면서 애플리케이션을 구동할 때 Service 계층에서 Arcus 캐시로 접근해야 하는 상황이 발생하였다. Arcus 문서에는 서버 종료 시에 shutdown() 함수를 반드시 호출하라고 명시되어 있었다. 이러한 상황에서 어떻게 Bean의 소멸을 처리할 것인지 문제가 발생하였는데, 이를 위해 다음과 같은 가상의 CacheClient를 통해 Bean의 라이프사이클을 제어하는 방법에 대해 알아보고자 한다. @RequiredArgsConstructor public class CacheClient { private final String url; // 생성자 이후 호출되어야 함 public void connect() { System.out...
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/b8OVUw/btrzMJxLJXO/V5PeckICyC4oFbYl15OkwK/img.png)
Spring 프레임워크의 핵심 기술 중 하나가 바로 DI(Dependency Injection, 의존성 주입)이다. Spring 프레임워크와 같은 DI 프레임워크를 이용하면 다양한 의존성 주입을 이용하는 방법이 있는데, 각각의 방법에 대해 알아보도록 하자. 1. 다양한 의존성 주입 방법 [ 1. 생성자 주입(Constructor Injection) ] 생성자 주입(Constructor Injection)은 생성자를 통해 의존 관계를 주입하는 방법이다. @Service public class UserService { private UserRepository userRepository; private MemberService memberService; @Autowired public UserService(U..
1. SpringBoot와 Retrofit 연동 [ SpringBoot와 Retrofit 연동 ] SpringBoot 프로젝트에서 Retrofit2를 사용하기 위해서는 2가지 의존성을 추가해주어야 한다. // https://mvnrepository.com/artifact/com.squareup.retrofit2/retrofit compile group: 'com.squareup.retrofit2', name: 'retrofit', version: '2.9.0' // https://mvnrepository.com/artifact/com.squareup.retrofit2/converter-gson compile group: 'com.squareup.retrofit2', name: 'converter-gson..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dZR4cD/btqVe8iQP1Z/6xPXiv3VMSok6bWttto9z1/img.png)
본 포스팅은 과거에 Vue JS를 공부하며 정리했던 내용입니다. 개인적으로 참고하기 위해 올려놓은 내용이고, 더 이상 프론트엔드 프로그래밍을 진행하지 않아 부정확한 내용이 있을 수 있습니다. 1. VueJS 프로젝트 생성 [ VueJS 프로젝트 생성 ] VueJS로 프로젝트를 실행하기 위해서는 vue-cli를 사용해야 한다. vue-cli는 npm 모듈로 제작되어 있기 때문에, node.js가 필수적으로 설치되어 있어야 한다. Node JS가 설치되어 있지 않다면 설치한 후에 아래의 내용을 진행하기 바란다. Node JS 콘솔 열기 vue-cli 설치(npm install -g @vue/cli) 원하는 위치로 이동 후 Vue 프로젝트 생성(vue init , ex) vue init webpack fron..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/XkYfN/btqVsx2tycn/wNRHGowB7cZnkvkzijnSM0/img.png)
본 포스팅은 과거에 안드로이드 프로그래밍을 공부하며 정리했던 내용입니다. 개인적으로 참고하기 위해 올려놓은 내용이고, 더 이상 안드로이드 프로그래밍을 진행하지 않아 부정확한 내용이 있을 수 있습니다. 1. MVVM(Model-View-ViewModel) 패턴 [ MVVM(Model-View-ViewModel) 패턴이란? ] MVVM은 Model-View-ViewModel의 약자로, 각각은 아래와 같은 역할을 담당하며 이를 도식으로 나타내면 아래의 그림과 같다. Model: UI에 표시될 데이터와 상태 그리고 비지니스 로직을 담당한다. View: 화면에 표현되는 UI를 의미한다. ViewModel: 이벤트 처리나 Model과의 인터랙션 등을 담당한다. MVVM에서 가장 중요한 핵심은 DataBinding ..