10 posts in total

Dependency Injection

Posts tagged

지역 이중화로 구성된 애저 서비스 버스에 애저 펑션을 이용해서 메시지 주고 받기

by Justin Yoo · 10 min read

애저 서비스 버스는 애저에서 제공하는 여러 메시징 서비스 제품군 중 하나이다. 기본적으로 월간 99.9%의 업타임을 보장하는데, 달리 말하면 이는 한달 30일 기준으로 약 43분 정도의 장애가 발생할 수 있다는 의미이다. 회사에서 사용하는 시스템이 애저 서비스 버스를 사용하고 있는데, 43분 정도의 장애가 일어나도 시스템 운용에 큰 문제가 없다면 상관 없지만, 만약 좀 더 고가용성을 필요로 한다면 재해 복구 (Disaster Recovery)와 관련해서 애저 서비스 버스 프리미엄 플랜을 사용해야 ...

새롭게 톺아보는 애저 펑션 의존성 관리

by Justin Yoo · 5 min read

평화롭던 어느 날 애저 펑션 팀이 엄청난 것을 릴리즈 해 버렸다. 아니 이게 무슨 소리요? 인스턴스 메소드라니! 그렇다면 메소드 앞에 항상 붙어다녔던 그 static 한정자를 떼고 그냥 쓸 수 있단 말이오? 너무나도 궁금했지만, 그동안 바빠서 들여다 보지 못하다가 얼마전에 한 번 만들어 봤다. 사실, 한첨 전에 이것이 가능해 질 것으로 예상은 했더랬다. 지난 이그나이트 2018 이벤트에서 Fabio가 살짝 데모를 보여준 적이 있었기 때문이다. 단지 시기의 문제였을 뿐인데, 별다른 공지 없이 슬 ...

애저 펑션에서 Swagger 정의 문서 출력하기

by Justin Yoo · 5 min read

알림: 이 포스트는 순수한 개인의 견해이며, 제가 속해있는 직장의 의견 혹은 입장을 대변하지 않습니다. 애저 펑션 1.x 에서는 Swagger 정의 문서를 렌더링할 수 있는 기능이 프리뷰로 제공된다. 이와 관련한 블로그 포스팅도 예전에 했더랬는데, 아쉽게도 현재 2.x 버전의 애저 펑션에서는 이 기능을 제공하지 않는다. 따라서 수동으로 Swagger 문서를 렌더링하는 기능을 구현할 수 밖에 없는데, 이 포스트에서는 이를 어떻게 구현하는지 알아보도록 한다. 설계 우선 vs 구현 우선 앞서 언급했 ...

애저 펑션에서 Managed Identity를 이용해 애저 키 저장소에 접근하기

by Justin Yoo · 2 min read

알림: 이 포스트는 순수한 개인의 견해이며, 제가 속해있는 직장의 의견 혹은 입장을 대변하지 않습니다. 지난 포스트에서는 애저 로직 앱에서 키 저장소로 직접 접근하는 방법에 대해 알아 보았다면, 이번 포스트에서는 애저 펑션에서 키 저장소로 직접 접근하는 방법에 대해 알아보도록 한다. 로직 앱과 펑션 앱 모두 Managed Identity 기능을 지원하기 때문에 앱 자체가 서비스 프린시플의 역할을 하게 되어 직접 키 저장소에 대한 접근 권한을 지정할 수 있다. 이 포스트에서 사용한 코드 예제는 ...

애저 펑션에 AutoMapper 의존성 주입 적용하기

by Justin Yoo · 2 min read

알림: 이 포스트는 순수한 개인의 견해이며, 제가 속해있는 직장의 의견 혹은 입장을 대변하지 않습니다. 애플리케이션 개발을 하다보면 데이터 전송을 담당하는 객체(DTO; Data Transfer Object)를 다룰 일이 많다. 특히 데이터베이스 혹은 외부 API를 호출해서 받아오는 결과를 내부적으로 사용한다든지, 반대로 외부로 노출시키기 위한 encapsulation을 위해서 DTO간 매핑은 꽤 중요한 작업인데, 이 때 AutoMapper를 이용하면 굉장히 편해진다. 꽤 오래 전에 이와 관련 ...

Vue.js + TypeScript 앱에서 IoC 컨테이너 사용하기

by Justin Yoo · 7 min read

애플리케이션을 개발하다보면 필연적으로 맞닥뜨릴 수 밖에 없는 상황이 몇가지가 있다. 그 중 하나가 바로 의존성 관리(Dependency Control)이다. 백엔드 애플리케이션에서는 다양한 제어 역전(IoC; Inversion of Control) 컨테이너를 이용해서 적용이 가능하다. 최신 프론트엔트 프레임워크 역시도 의존성 주입(DI; Dependency Injection)과 관련한 기능들을 포함하고 있다. 하지만 자바스크립트 언어의 특성인지는 몰라도 백엔드쪽의 IoC 컨테이너와는 다른 형식으로 ...