Justin Yoo

Author posts

ServiceBusPlugin 트릭

in Sdk Support-on-azure · 5 min read

레거시 방식의 애저 서비스 버스 SDK(WindowsAzure.ServiceBus)에서는 메시지 전처리 및 후처리를 위해 이벤트 핸들러를 이용한다. 예를 들어 동기식 메시지 전처리를 위해서는 OnSend를 사용하고 비동기식 전처리를 위해서는 OnBeginSend와 OnEndSend를 구현해야 한다. 마찬가지로 메시지 후처리를 위해서도 같은 접근 방식을 취하게 되는데, 이 방식이 딱히 나쁜 것은 아니지만, 메시지 전처리/후처리를 위해서 만들어야 하는 코드의 양이 늘어나는 것이 그닥 달갑지많은 않다. ...

레거시 애저 서비스 버스 SDK에서 JSON 객체를 다루는 방법

in Sdk Support-on-azure · 2 min read

애저 클라우드에서 메시징 기반 아키텍처를 구상한다면 반드시 필요한 것이 바로 애저 서비스 버스이다. 이 서비스를 사용하기 위해서는 보통 SDK를 이용하면 되는데, 닷넷 쪽에서 SDK를 찾다보면 두 가지가 보인다. Microsoft.Azure.ServiceBus WindowsAzure.ServiceBus 첫번째 라이브러리는 .NET Standard 기반의 크로스 플랫폼 라이브러리이고, 여기서는 JSON 객체를 메시지 포맷으로 사용하는 데 있어서 큰 문제가 없다. 반면 두번째 라이브러리는 .NET ...

애저 데브옵스 파이프라인 리팩토링 테크닉

in Visual Studio-alm · 9 min read

애저 데브옵스에서 CI/CD 파이프라인을 구성하다보면 보통 반복적인 작업들이 많다. 이게 타스크 수준일 수도 있고, 작업 수준일 수도 있고, 스테이지 수준일 수도 있는데, 코딩을 할 때는 반복적인 부분을 리팩토링 한다지만, 파이프라인에서 반복적인 부분을 리팩토링할 수는 없을까? 물론 있다. 파이프라인을 리팩토링할 수 있는 포인트가 최소 여섯 군데 정도 있는데, 이 포스트에서는 애저 파이프라인의 YAML 템플릿을 이용해서 반복적으로 나타나는 부분을 리팩토링하는 방법에 대해 알아보자. 이 포스트에 ...

로직앱으로 MS 팀즈 커스텀 커넥터 만드는 두 가지 방법

in Enterprise Integration · 4 min read

얼마 전에 MS 팀즈가 슬랙을 제치고 기업용 협업 도구 시장의 최강자로 떠올랐다는 신문 기사가 있었다. 여전히 기업용 협업 도구 시장의 파이는 계속 커지는 중이므로 팀즈와 슬랙 중 어떤 것이 더 나은가에 대한 논의는 여기서는 크게 의미가 없다. 둘 다 이 파이의 크기를 키우는데 혁혁한 공을 세운 도구들이기 때문이다. 다른 기업용 협업 도구와 마찬가지로 팀즈의 주요 기능중 하나는 바로 인스턴트 메시지 기능인데, 이 메시지 채널을 통해 사람들 간 소통 뿐만 아니라 수많은 봇을 설치해서 다른 부가적인 ...

로직앱/플로우를 이용해서 이메일 필터링 규칙 강화하기

in Enterprise Integration · 6 min read

아웃룩이나 오피스365 메일을 쓰다 보면 항상 고민인 것이 메일 필터링 규칙이 조금 더 나아졌으면 좋겠다는 생각이 많이 든다. 특히나 멀쩡한 이메일이 스팸메일로 분류되는 경우도 지메일에 비해 상당히 많아서, 이런 저런 고민을 하면서 어떻게 하면 좀 더 손쉽게 이 문제를 해결할 수 있을까 하는 방법을 찾아봤다. 개인적으로는 이메일을 받는 즉시 받은 편지함 아래 별도로 폴더를 만들어 분류하는 방법을 선호하는데, 이럴 경우 필터링 규칙을 걸어 자동으로 분류되게 하는 방법을 써 보면 대략 절반 정도만 걸 ...

애저 펑션을 위한 SRE 첫걸음

in Visual Studio-alm · 13 min read

아마도 애자일 개발 방법론에서 얘기하는 "동작 뼈대 (Walking Skeleton)"에 대해 들어봤을 것이다. Alistair Cockburn은 이 "동작 뼈대"를 아래와 같이 정의한다. A Walking Skeleton is a tiny implementation of the system that performs a small end-to-end function. It need not use the final architecture, but it should link together the ...