본문 바로가기

728x90
반응형

분류 전체보기

(337)
3. Delivery Guarantee - Mandatory HTML 삽입 미리보기할 수 없는 소스 1. mandatory란? RabbitMQ에 Message를 발행할 때 특정 Exchange의 Routing Key가 없어도 메시지가 발행된다. 이때 mandatory 옵션을 적용하게 되면 Message가 발행 됐을 때 오류를 캐치할 수 있다. 즉, Message 라우팅 실패를 알리는 데 사용할 수 있는 가장 간단한 옵션이다. 만약 Message 라우팅에 성공하면 발행자에게는 별도의 결과를 알려주진 않는다. 2. Setting mandatory 옵션을 테스트하려면 RabbitMQ에 Exchange만 생성해 두자. Routing Key는 선택사항이다. 3. Rabbitpy로 mandatory 사용하기 Rabbitpy에서 mandatory 옵션은 Message 객체의 ..
[FastAPI] DI는 bootstrapping을 생각해보기 HTML 삽입 미리보기할 수 없는 소스 이 글의 DI는 의존성 주입(Dependecny injection)을 의미한다. 개요 FastAPI는 Django와 Flask랑 확연이 차이가 있다는 지점을 느낀 부분이 DI이다. FastAPI의 DI를 사용할 수도 있으며 dependency-injector라는 라이브러리를 이용해서 DI를 사용할 수도 있다. 이 글은 FastAPI의 dependency-injector라는 라이브러리를 적용하기 위해 고민했던 흔적을 남긴다. 1. 부트스트래핑과 DI dependency-injector를 적용하기 위해 먼저 고민했던 것은 DI의 시작점을 어떻게 가져갈 것인지에 대한 부분이었다. django에서는 settings.py라는 것을 통해 간접적으로 드러나는데 FastAPI로 ..
Brunch와 KaKao 인증에 대한 삽질 HTML 삽입 미리보기할 수 없는 소스 개요 얼마 전 Brunch에 발행된 글을 살펴보다 키워드가 잘못 설정되었음을 깨달았다. 하나의 키워드를 특정 글에 업데이트만 하면 되는 것이기에 일괄적으로 수정하려고 했지만 Brunch는 이러한 기능을 제공하지 않았다. 이를 코드로 풀어내고자 Brunch 계정이 KaKao와 연계되어 있어 KaKao API에 혹시나 Brunch 게시글을 수정하는 기능이 있나 찾아봤지만 제공되는 기능은 아니었다. 오픈된 API가 없다면 통신 과정을 재연시키면 가능하기에 Brunch 내부에서 통신하는 주소를 관찰하게 되었다. Brunch 내부적으로는 API를 요청하는 주소가 몇 건 들어있었고 이를 활용하고자 했다. 문제는 Brunch에서 사용하는 API 요청을 재연시키려면 KaKao의 ..
[TryHackMe] Develpy HTML 삽입 미리보기할 수 없는 소스 개요 TryHackMe에서 연습문제를 보다가 Python 로고가 눈에 띄어 도전하게되었다. 호기롭게 풀다가 결국엔 다른 Writeup을 보게되었다. 중간에 잘못된 방향에 허우적대느라 문제 풀이 사고가 엉켜버려 당황한 문제이기도 하다. 중간에 새롭게 알게된 키워드도 있으니 잘 기록해두려한다. Scanning TryHackMe를 통해서 문제를 풀이할 때는 Nmap부터 시작하는 건 이제 나름대로의 규칙이 되버린 것 같다. 다음은 Nmap으로 포트 스캔을 한 결과이다. ╰─$ sudo nmap -sC -sV 10.10.189.199 Password: Starting Nmap 7.94 ( https://nmap.org ) at 2023-09-28 00:28 KST Nmap ..
[GCP] GCP Project 설정하기 HTML 삽입 미리보기할 수 없는 소스 개요 Google API를 사용하기 위한 GCP 설정에 대해 기술한 글입니다. GCP Setting 먼저 Google API, 그중에서 Youtube API를 사용하기 위한 GCP Setting에 대한 방법을 나열하겠습니다. GCP Project 생성하기 이후 Project가 생성된 “Google Cloud” 로고를 클릭해서 생성한 Project로 이동하면 다음과 같은 화면이 나옵니다. GCP Library Setting “개요”에서 언급했듯이 제가 사용할 Google API는 Youtube와 관련된 API입니다. 빨간색 박스로 표시한 “라이브러리” 탭을 클릭하면 다음과 같은 화면이 나옵니다. “Youtube”라는 키워드로 검색하면 결과가 여럿 나오지만 그중에서 필..
티스토리에 뉴스레터 적용하기 HTML 삽입 미리보기할 수 없는 소스 개요 안녕하세요 jako입니다. 최근 개인 뉴스레터를 운영해보고 싶은 것에 대해 관심이 생겼습니다. 공수를 들여 작성한 독자분들께 직접 전송하여 정보가 유익했는지 혹은 피드백을 얻기 위하는데 목적이 있었죠. 그리하여 뉴스레터를 운영해 보기 위해 조사를 거쳤습니다. 제일 먼저 티스토리에서 뉴스레터를 사용할 수 있게 해주는 플러그인이 있는지 찾아봤지만 자료가 나오지 않았습니다. 그래서 따로 뉴스레터를 운영할 수 있는 플랫폼을 찾아본 결과 stibee, 글리버리와 같은 플랫폼이 존재했습니다. 그런데 제 기준에서는 각각 다음과 같은 특징이 있었습니다. 스티비 - 입맛에 맞게 커스텀할 수 있는 여러 요소들을 제공해 주는 것으로 확인했으나 티스토리에 연결해서 사용하는 방법을 ..
2. Rabbitpy를 이용해 RabbitMQ 다루기 RabbitMQ를 사용할 때 참고하기 위해 작성한 글 HTML 삽입 미리보기할 수 없는 소스 개요 Python에서는 AMQP protocol에 따른 통신을 수행하기 위해 유명한 라이브러리인 "pika"라는 게 존재하지만 여기서는 "rabbitpy"를 통해 RabbitMQ를 다뤄보기로 하자. 본 포스팅에서 작성할 내용은 Exchange, Queue, Binding을 어떻게 코드로 작성하는가에 대한 기본적인 내용만 담을 것이다. rabbitpy, install $ pip install rabbitpy rabbitpy, Connection rabbitpy를 이용해 exchange, queue, binding 기타 등등의 다양한 기능을 다루기 전에 rabbitmq에 대한 connection을 열어야 한다. co..
1. RabbitMQ RabbitMQ를 사용할 때 참고하기 위해 작성한 글 Abstract RabbitMQ는 AMQP 스펙을 따르는 Message Broker이다. AMQP를 기반으로 구현됐지만 MQTT, STMOP, XMPP 등의 다양한 프로토콜을 사용할 수 있지만 AMPQ기반으로 사용하기 위한 RabbitMQ에 대해 알아보자 RabbitMQ 특징 RabbitMQ는 얼랭으로 작성됐으며 AMQP 스펙을 구현한 Message Broker이다. RabbitMQ는 얼랭으로 작성됐으며 이에 따라 다음과 같은 특징이 있다. 1. RabbitMQ의 클러스터는 서로 다른 서버 간의 얼랭의 IPC 시스템을 사용해 통신한다. 2. RabbitMQ는 얼랭 IPC를 사용해 메시지, 상태, 설정을 공유하고 각 서버를 동기화한다. 3. 얼랭 IPC..

728x90
반응형