인기 글
-
개발
모니터마다 색상이 다른 이유: ICC Profile과 Color Gamut
'이 이미지는 전반적으로 색상이 왜 이렇게 진한 거예요? 제가 실제로 본 이미지는 이렇게 안 진했거든요.' 나의 지난 프로젝트에서 실제로 들었던 이와 같은 이야기는 디지털 색상 표현의 근본적인 문제를 보여준다. 실제로 여러 의류 판매 브랜드에서는 반품률이 오프라인의 경우보다 높은데, 색상이 일치하지 않는다는 것이 많은 비율을 차지하고 있다고 한다. 더 흥미로운 건, 요즘의 휴대폰 카메라가 포착할 수 있는 10억 개 이상의 색상 중 대부분의 모니터는 1,670만 색상만을 표현할 수 있다는 점이다. 물론 지금 표현할 수 있는 색상도 절대적으로 적은 것은 아니지만, 아날로그를 디지털화 하는 과정에서 발생하는 기술적 한계는 우리가 보는 디지털 이미지의 정확성에 근본적인 의문을 제기한다. 이번 글에서는 이러한..
-
개인 프로젝트
노션 데이터베이스 슬랙으로 알림 받기 (2/2) - @notionhq/client로 데이터베이스 쿼리하기
1년만에 2탄으로 돌아왔습니다... 포함하는 내용 및 포함하지 않는 내용1편에서는 로컬 서버에서 노션 데이터베이스를 쿼리하고, 데이터를 받아오는 것까지 진행했습니다.2편에서는 지난 글에 이어서 아래의 두가지 내용을 진행하려고 합니다. 1. 로컬 서버를 AWS Lambda(이하 람다)로 업로드2. 람다에서 실행된 결과를 슬랙으로 전송 다만, 이 글에서는 람다의 구체적인 동작 원리에 대한 설명은 하지 않을 예정입니다. prerequisite아래의 내용은 준비되어 있다고 가정합니다.AWS 계정aws-cli슬랙 웹훅 URL step 1. 로컬 서버를 람다로 올리기1. 기존 서버를 노션에 올릴 수 있게 변형하기지난 글에서 이용한 노드 서버를 활용해서 람다에 올릴 예정인데요.프로젝트는 1편을 통해 생성되어 있다는 ..
-
Backend
[RabbitMQ] 메시지 속성 뜯어보기
지난 글에서는 메시지를 발행하는 과정을 따라가면서 프레임의 단위에 대해 알아 보았다.이번 글에서는 메시지를 발행할 때 전송하는 프레임 중 콘텐츠 헤더 프레임에는 어떤 속성이 있는지 알아보고 각 속성 별로 사용 방법에 대해 소개하려고 한다. ✅ Header frame 속성, 한 눈에 보기Header frame 에 포함된 속성은 위 그림처럼 14개의 속성을 포함하고 있다. 지난 글에서 알게된 delivery_mode의 경우, 1로 설정하면 메시지를 디스크에 저장하는 것처럼 AMQP 스펙에서 정의한 의미를 가지는 속성도 있는 한편, 정확한 스펙이 없는 속성도 있다. 그럼 위의 속성 별로 어떤 특징을 가지는지 알아보자. ✔️ content_encodingAMQP를 통해 전달하는 메시지는 기본적으로 압축되지 ..
최신 글
-
Backend [RabbitMQ] 메시지 속성 뜯어보기 지난 글에서는 메시지를 발행하는 과정을 따라가면서 프레임의 단위에 대해 알아 보았다.이번 글에서는 메시지를 발행할 때 전송하는 프레임 중 콘텐츠 헤더 프레임에는 어떤 속성이 있는지 알아보고 각 속성 별로 사용 방법에 대해 소개하려고 한다. ✅ Header frame 속성, 한 눈에 보기Header frame 에 포함된 속성은 위 그림처럼 14개의 속성을 포함하고 있다. 지난 글에서 알게된 delivery_mode의 경우, 1로 설정하면 메시지를 디스크에 저장하는 것처럼 AMQP 스펙에서 정의한 의미를 가지는 속성도 있는 한편, 정확한 스펙이 없는 속성도 있다. 그럼 위의 속성 별로 어떤 특징을 가지는지 알아보자. ✔️ content_encodingAMQP를 통해 전달하는 메시지는 기본적으로 압축되지 ..
-
Backend authentication & authorization 인증(authentication)과 인가(authorization)은 보안 시스템에서 가장 기본적인 요소로 종종 혼용되는 경우가 있다.밀접하게 관련이 되어 있기 때문이지만 엄밀히는 목적이나 역할이 다르기 때문에 명확하게 이해할 필요가 있다.이번 글에서는 이 두가지 개념에 대해 정리하려고 한다. ✅ authentication인증은 사용자가 스스로 주장하는 신원이 맞는지를 확인하는 절차이다.이 단계의 주요 목표는 신뢰할 수 있는 방법으로 사용자 정보를 확인하는 것이다. 이를 위해 다양한 방법이 사용되는데, 대표적인 방식을 알아보자. 지식 기반 인증사용자가 알고 있는 정보를 이용해 인증하는 방식 (아이디 및 비밀번호 등을 활용)쉽게 접근이 가능하기 때문에 비밀번호가 유출되는 경우 누구나 접근 가능 소유 기반 .. -
Backend [RabbitMQ] AMQP 통신 과정 속 프레임 구조 이해하기 이번 글에서는 지난 글에 이어서 메시지를 발행하는 과정을 따라가면서 저수준에서의 구현 방식을 이해해보고자 한다. ✅ AMQP의 RPC 프레임 구조 이해하기AMQP 스펙에는 클래스와 각 클래스 별 메소드가 정의되어 있다.통신을 위해 Connection이 필요하니 Connection을 맺는 것부터 클래스 / 메소드로 알아보면서 그 과정을 따라가보자. 클라이언트에서는 연결을 맺을 수 있는지에 대한 데이터 덩어리를 보낸다. 여기서 말하는 데이터 덩어리를 앞으로 프레임이라고 부를 것이다. 여기서 보내진 프레임은 하나의 요청으로 간주할 수 없고, 다른 통신과 다르게 명령의 성격을 가지지 않는다.여기서 전송되는 데이터 덩어리라는 프레임을 자세히 뜯어보자. 1. 프로토콜 헤더 프레임 첫번째 자리에 있는 1은 프레임의 ..