Nodejs(16)
-
슬랙으로 RSS 알림 보내기 (5) - 중복 알림 방지하기
지난 글에서는 RSS 피드를 슬랙으로 알림을 보내는 기능을 구현해 보았습니다. 이번 글에서는 DynamoDB를 활용하여 중복 알림을 방지하는 방법을 살펴보겠습니다.프로젝트 설정RSS 피드 가져오기슬랙에 메시지 전송하기중복 알림 방지하기배포1. DynamoDB 생성하기AWS 콘솔에서 생성DynamoDB를 생성하기 위해 AWS 콘솔에 접속한 후, DynamoDB 서비스로 이동합니다. 좌측 메뉴에서 ‘테이블’ 탭을 클릭한 뒤, 우측 상단의 ‘테이블 생성’ 버튼을 클릭합니다. 테이블 세부 정보는 아래와 같이 입력합니다.테이블 이름 : 원하는 이름으로 하시면 됩니다. 저는 ‘feed-items’로 하겠습니다.파티션 키 : 테이블에서 각 아이템을 고유하게 식별하는 기본 키입니다. 여기서는 파티션 키 이름을 ‘id’..
2025.03.01 -
슬랙으로 RSS 알림 보내기 (4) - 슬랙에 메시지 전송하기
지난 글에서는 RSS 피드를 가져오는 방법에 대해 살펴보았습니다. 이번 글에서는 가져온 RSS 피드를 슬랙으로 알림을 보내는 기능을 구현해보겠습니다.프로젝트 설정RSS 피드 가져오기슬랙에 메시지 전송하기중복 알림 방지하기배포1. 슬랙 봇 생성 및 설정슬랙 앱 생성외부에서 슬랙으로 메시지를 보내려면 봇을 생성해야 합니다. 봇은 사용자를 대신하여 슬랙에 메시지를 전송하거나 특정 작업을 자동으로 수행하는 역할을 합니다. 이번 글에서 사용할 @slack/web-api 라이브러리는 봇을 활용해 슬랙에 메시지를 전송합니다. 먼저, 슬랙 앱을 생성해야 합니다. 슬랙 API 페이지에 접속하여 오른쪽 상단에 있는 “Your Apps”를 클릭합니다."Create New App"을 클릭하여 앱을 생성합니다. 이어서 나오는 ..
2025.02.26 -
슬랙으로 RSS 알림 보내기 (3) - RSS 피드 가져오기
지난 글에서는 서버리스 프레임워크를 사용하여 프로젝트를 생성하고, 간단한 샘플 코드를 작성하여 실행해 보았습니다. 이제부터 본격적으로 기능을 구현해 나가겠습니다. 이번 글에서는 RSS 피드를 가져오는 부분에 대해 살펴보겠습니다.프로젝트 설정RSS 피드 가져오기슬랙에 메시지 전송하기중복 알림 방지하기배포1. 레포지토리 목록 관리먼저, RSS 피드를 가져올 레포지토리 목록을 준비해야 합니다. 단순히 코드에서 변수로 선언하여 관리할 수도 있지만, 더 편리하게 관리하기 위해 CSV 파일을 활용하려고 합니다. src/data 폴더 아래에 github-repo.csv 파일을 생성하고, 아래와 같이 작성합니다. [src/data/github-repo.csv]packageName,sourceUrl,slackChanne..
2025.02.23 -
슬랙으로 RSS 알림 보내기 (2) - 프로젝트 설정
지난 글에서는 RSS 피드를 슬랙으로 알림을 보내는 프로젝트를 구상하고, 배포 환경과 기술 스택을 정리하는 과정을 다뤘습니다. 이제부터는 실제 구현 과정을 살펴보겠습니다. GitHub 레포지토리의 릴리즈 알림을 예제로 사용하여 기능을 하나씩 구현해 나갈 예정이며, 각 과정은 여러 글에 걸쳐 단계별로 설명하겠습니다.프로젝트 설정RSS 피드 가져오기슬랙에 메시지 전송하기중복 알림 방지하기배포이번 글에서는 프로젝트를 생성하고 설정하는 과정에 대해 살펴보겠습니다.1. Node.js 버전 설정프로젝트는 서버리스 프레임워크를 사용하여 Lambda에 배포할 예정입니다. 글이 작성되는 시점에 Lambda가 지원하는 최신 Node.js 버전은 v22 입니다. 저는 nvm을 사용하고 있으므로, 아래 명령어로 버전을 변경하..
2025.02.19 -
슬랙으로 RSS 알림 보내기 (1) - 개요
1. 프로젝트 소개이 프로젝트는 기술 블로그, GitHub 레포지토리, 개발자 커뮤니티 등의 RSS 피드를 읽어 슬랙으로 알림을 보내는 프로젝트입니다. 이 프로젝트를 시작하게 된 이유는 여러가지가 있습니다.첫 번째, 라이브러리 업데이트를 관리하기 위해첫 번째 이유는 사용 중인 라이브러리의 버전 관리가 제대로 되고 있지 않다는 점이었습니다. Major 버전은 인터페이스 변경이 있을 수 있어 쉽게 업데이트하기 어렵지만, Minor 버전과 Patch 버전은 꾸준히 대응하는 것이 중요하다고 생각했습니다. 그러다 보니, 내가 사용하는 라이브러리의 업데이트 소식을 놓치지 않으려면 GitHub 레포지토리의 릴리즈 알림을 받아야겠다고 결론을 내렸습니다.두 번째, 새로운 기술 소식에 둔감해지지 않기 위해두 번째 이유는 ..
2025.02.15 -
모듈 시스템 - 타입스크립트에서 ESM 사용하기
ECMAScript Modules(ESM)은 JavaScript의 표준 모듈 시스템으로, import와 export 구문을 통해 코드를 모듈화할 수 있도록 해줍니다. Node.js 12부터 ESM이 안정화되었고, TypeScript에서도 ESM을 원활하게 사용할 수 있도록 여러 설정이 필요합니다. 본 글에서는 TypeScript에서 ESM을 사용하는 방법을 소개하고, 주요 설정과 사용 방법을 예시를 통해 설명하겠습니다. 1. ESM이란?ECMAScript Modules(ESM)은 JavaScript의 표준 모듈 시스템으로, import와 export 구문을 통해 코드를 모듈화할 수 있도록 해줍니다. 이는 require()와 module.exports를 사용하는 CommonJS와 다릅니다. ESM은 최신 ..
2025.01.02