일단 해보고, 아니면 뭐

실패했어도 배웠으면 실패가 아냐.

무한한 개발세계 여행기

It 9

Proxy Pattern 으로 구현해보는 다이나믹 서비스 적용기

회사를 이직한 지 벌써 한 달이 지났다. 딱히 한 게 없는 것 같은데 시간은 정말 빠르게 지나가는 듯하다. 이전 회사랑 업무 스타일이나 사람들 분위기가 달라서 적응하는데 애를 먹고 있지만, B2C 서비스를 개발하다 보니 이전 회사에서는 경험해보기 어려운 업무들을 할 수 있어서 재미있는 것 같다. 아무튼 오늘 포스팅 주제는 "Proxy Pattern 적용기"이다. 저번에 인프런 김영한 님의 스프링강의를 들으면서 여러 가지 디자인 패턴을 학습하게 되었는데, 그중에 하나가 오늘 포스팅 주제인 Proxy Pattern이다. 나는 기존 사내 프로젝트의 앱 푸시 로직을 개편하게 되는 업무를 맡게 되었고, 업무는 다음과 같았다. - 기존 : 앱 OS (Android / IOS)에 따른 Messaging 라이브러리로 ..

Programing/Spring 2022.08.31

CloudFront와 S3를 이용한 정적 데이터 조회 (1)

개발을 하다 보면 캐시라는 단어를 여기저기서 많이 들어보게 되는데 캐시란 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 이는 다양한 방식으로 구현하여 사용할 수 있다. 특히 웹 어플리케이션을 개발함에 있어서 자주 사용되는 데이터를 캐시하는 방식은 (내 지식 안에서) 크게 세 가지 정도라고 생각되는데 간단하게만 살펴보자면 데이터베이스 shared buffer 사이즈 확보 자주 사용되는 데이터가 rdbms에 있다면 매번 쿼리 하여 디스크에서 데이터를 조회하는 것은 성능에 좋지 않기 때문에 shared buffer라는 공간을 사용하여 데이터를 캐시 할 수 있다. 데이터베이스에 액세스를 시도하면 먼저 디스크에서 필요한 데이터를 공유 버퍼로 먼저 읽어 드리고, 공유 버퍼에서 데이터를 읽고 ..

Infra & Network/AWS 2022.08.20

RestTemplate로 알아보는 Spring Template Callback Pattern

오늘도 열심히 인프런 강의를 듣고 있었다. 스프링 강의 고급 편을 듣다 보면 여러 가지 디자인 패턴에 대해서 알게 되는데, 오늘은 템플릿 메서드 패턴부터 시작해서 프록시 패턴까지 공부를 하게 되었다. 강의를 듣던 중 템플릿 콜백 패턴이라는 것을 듣게 되었는데 따로 GOF 패턴은 아니고 스프링 내에서 자주 사용되는 패턴이라 스프링 안에서만 이렇게 부른다고 한다. 김영한님 강의에서는 다른 코드의 인수로서 넘겨주는 실행 가능한 코드를 콜백(callback)이라고 하며 프로그래밍에서 콜백(callback) 또는 콜애프터 함수(call-after function)는 다른 코드의 인수로서 넘겨주는 실행 가능한 코드이고 콜백을 넘겨받는 코드는 이 콜백을 필요에 따라 즉시 실행할 수도 있고, 아니면 나중에 실행할 수..

Programing/Spring 2022.07.17