Skip to content

Commit

Permalink
release: 네이버 뉴스봇 v3.0.0 배포 (2024-11-08) (#10)
Browse files Browse the repository at this point in the history
* chore: 로컬 개발 환경 설정

* docs: 문서 내용 및 이미지 경로 업데이트

* refactor: 뉴스 매체명 데이터 구조 변경

* refactor: 각 템플릿 및 함수에 JSDoc 추가

* refactor: 스크립트 속성값 관리 및 HTML Entities 텍스트 수정 기능 분리

* refactor: 뉴스봇 전역 설정값 항목 간소화 및 재정리

* feat: 개별 뉴스 기사를 담당하는 NewsItem 클래스 추가

* feat: 뉴스 항목들의 목록을 다루는 NewsItemMap 클래스 구현

* feat: 뉴스 매체명 탐색 기능을 NewsSourceFinder 서비스 클래스로 재구현

* feat: 검색어 목록에 대응하는 뉴스 항목 처리 기능을 NewsFetchService로 구현

* refactor: 클래스별 private method명에 underscore prefix 추가

* fix: 도메인 클래스 변경사항에 대응한 메서드 및 파라미터값 변경

* fix: NewsItem의 검색어 목록 반환값 수정 및 관련 getter 추가

* refactor: NewsItem.data 반환값에 대한 JSDoc 내용 수정

* fix: NewsFetchService에서 개별 뉴스 항목을 가져올 때 응답코드 체크 추가

* refactor: 불필요한 getConfig 함수 제거

* refactor: 채널별 뉴스 카드 및 메시지 생성 코드 구조 변경

* feat: 채널별 뉴스 및 메시지를 전송하는 MessagingService 구현

* fix: MS Teams의 Webhook 지원 종료에 따른 관련 코드 삭제

* feat: 개별 뉴스 항목을 구글 시트에 저장하는 ArchivingService 구현

* refactor: 뉴스봇 구동 설정값 구조 변경

* feat: 뉴스봇 구동 설정값에 대한 검증 로직 추가

* chore: Clasp에 대한 ignore 규칙 추가

* feat: 뉴스 검색어 수를 최대 5개까지로 제한

* refactor: 뉴스 항목 가져오는 함수들의 로직 리팩터링

* refactor: 뉴스봇 안내 메시지 내용 간소화

* feat: 뉴스 가져오는 로직 간소화 및 공통 로직 분리

* refactor: 마지막 뉴스봇 실행 시각에 따른 뉴스 처리 로직을 NewsItemMap 도메인으로 이동

* refactor: Fetch된 뉴스 항목들의 자료형 간소화

* feat: NewsItemMap에서 가장 최근 기사의 게재 시각 반환 메서드 추가

* feat: 복수의 뉴스 아이템 구글 시트 저장 구현

* refactor: 배열 형태의 자료형 JSDoc 표기 컨벤션 일치화

* feat: toCamelCase 유틸 함수 구현 및 불필요 상수 제거

* refactor: MessagingService 내 공통 로직 분리 및 전송 완료 뉴스항목 관리기능 추가

* feat: MessagingService 내 전송 완료 뉴스 정보 반환 기능 추가

* refactor: 일부 변수명 및 반환 타입 변경

* refactor: 설정값 검증 로직을 util로 병합

* feat: 주요 유형별 사용자 정의 에러 클래스 정의

* feat: Controller 및 Entrypoint를 새로 구성

* feat: DEBUG 모드 여부에 따른 분기 로직 추가

* feat: 두 string[] 타입 배열의 동일성 비교 함수 구현

* feat: GAS Property들을 가져와 활용하는 로직 추가

* refactor: fetch된 뉴스 데이터 필터링 책임을 도메인에서 서비스 레이어로 변경

* fix: 아카이빙 기능이 개별 뉴스가 아닌 전체 뉴스 단위로 동작하도록 수정

* feat: fetch된 뉴스 데이터의 게재시각 기준 정렬 로직 추가

* feat: 뉴스 검색 결과가 없는 경우의 데이터 처리 로직 추가

* feat: 뉴스 전송, 저장 기능이 모두 OFF인 경우에 대한 에러 처리 추가

* feat: NewsFetchService에 수신 완료 뉴스 항목들의 반환 함수 추가

* fix: 아카이빙 only 모드 여부에 따른 저장 로직 및 결과값 인식 로직 수정

* feat: 최종 처리된 뉴스 항목 정보를 GAS 스크립트 환경에 저장하도록 구현

* refactor: Fetch 관련 불필요 메서드 제거 및 병합 처리

* feat: 뉴스봇 최초 구동시 실행 코드 구현

* refactor: NewsItemMap의 뉴스 반환 메서드 정렬 로직 간소화

* refactor: 뉴스 fetch, send 기능 메서드 분리

* refactor: NewsFetchingBotController 코드 분리 및 JSDoc 추가

* fix: GAS의 URLSearchParams 미지원에 따른 fetch url 생성 함수 수정

* fix: 레거시 함수명 수정(bleachText -> getBleachedText)

* fix: 뉴스봇 첫 구동시 lastDeliveredNewsPubDate가 string으로 초기화되는 문제 수정

* feat: InitializationError 분기 처리 추가

* fix: 디버그 모드 유무에 따른 초기 설정값 세팅 오류 수정

* fix: 뉴스 기사별 ID값 생성시 hash값이 너무 빨리 0으로 수렴되는 문제 수정

* fix: NewsItem 생성시 검색어 데이터 누락 이슈 수정

* fix: 뉴스 URL 기반 매체 탐색 로직 오류 수정

* fix: 디버그 모드에서 뉴스 항목이 존재할 경우에 대한 조건 구문에 early return 추가

* fix: 뉴스봇 초기 설정시 가장 최근에 처리된 뉴스 게재 시각에 대한 설정값 저장 문제 수정

* fix: 키워드 변경 여부를 체크하는 메서드의 배열 비교 함수명 수정

* fix: lastDeliveredNewsPubDate 환경변수의 파싱 문제 수정

* fix: 검색어 변경 감지 로직 수정 및 디버깅 로그 정리

* fix: fetchNewsItems 메서드의 정렬 매개변수가 반드시 설정되도록 수정

* fix: 새로 전송된 뉴스가 없을 경우 중복 뉴스 필터링 데이터가 초기화되는 버그 수정

* chore: 의존성 항목 및 description 변경

* refactor: 뉴스봇 컨트롤러 초기화용 속성값 로드 로직을 컨트롤러가 내장하도록 수정

* refactor: 뉴스 데이터 관리에 대한 부모 클래스로서 BaseNewsService 구현

- NewsFetchService, MessagingService와 ArchivingService가 BaseNewsService를 상속받도록 수정
- 위의 3개 클래스에서 공통으로 사용되는 필드 및 메서드를 BaseNewsService로 이동
- 컨트롤러에서 사용되는 서비스명 및 메서드명을 위의 리팩토링 내용에 맞게 수정

* feat: 새로 수신된 뉴스가 존재할 때에만 전송/저장 기능이 동작하도록 개선

* feat: 개별 뉴스의 고유 해시 ID값 길이를 10 -> 8로 수정

* feat: 최초 실행시 뉴스봇의 5분 간격 실행 트리거 추가 기능 구현

* refactor: ESModule 형식으로 코드 구조 변경

* chore: prettier의 printWidth 설정을 120으로 변경

* refactor: prettier 설정 변경에 따른 변화 적용

* refactor: template.js를 기본 번들링에 포함

* chore: 배포용 쉘 스크립트 작성 및 적용

* chore: 배포용 파일 업로드를 위한 gitignore 설정 변경

* chore: 번들링 된 파일의 마지막 빈줄만 제거하도록 스크립트 수정

* chore: 배포용 파일 업로드

* chore: main entrypoint 경로 수정

* fix: Naver API 및 채팅 채널별 데이터 fetching시 응답코드 허용 범위 수정

* feat: Discord 지원 추가

* feat: Discord 등 일부 채팅 솔루션의 웹훅 호출 빈도 제한을 고려하여 뉴스별 전송 시간 간격 설정 추가

* fix: 같은 게재시각을 가진 기사들을 연속으로 처리할 때 발생하는 중복 전송 문제 수정

* feat: 매체명 데이터 최신화 (106개 추가, 24/11/4 기준)

* feat: 뉴스봇 자동 실행 주기를 5분에서 1분으로 단축

* fix: config에 누락되었던 구글 시트 설정항목 복구

* chore: 배포용 번들 파일 업데이트

* refactor: 코드상 변경 정보를 주석에 반영

* refactor: getBleachedText의 코드를 메서드 체이닝 방식으로 개선

* feat: newsSource.js를 source.js로 네이밍 변경 및 매체명 추가 (850개 -> 853개)

* fix: 뉴스 데이터 처리시 홑따옴표(') 자리에 undefined가 삽입되는 버그 수정

* feat: 뉴스 백업용 구글 시트 설정 간소화

* refactor: dist 번들링 후 파일명 설정을 Google Apps Script 환경에 맞춰 개선

* chore: 번들 파일 업데이트 적용

* docs: 도움말 문서 관련 미사용 에셋 제거 및 신규 에셋 추가

* docs: CHANGELOG 업데이트

* docs: 설치 가이드 및 웹훅 생성 안내 문서 업데이트

* docs: README.md 업데이트

* fix: config 파일에 잘못 기재된 주석 수정

* fix: 뉴스 저장을 OFF한 상태로 뉴스봇 설치시 발생하는 서비스 계층 에러 수정

* fix: 뉴스 저장을 ON한 상태에서 Sheets API를 추가하지 않은 경우에 대한 예외처리 추가

* fix: 뉴스봇 설치 과정에서 샘플 뉴스 전송 오류 수정

* chore: 번들 파일 업데이트 적용

* docs: v3 릴리즈 날짜 업데이트
  • Loading branch information
seongjinme authored Nov 8, 2024
1 parent 9f49595 commit 71016f4
Show file tree
Hide file tree
Showing 48 changed files with 8,976 additions and 1,674 deletions.
4 changes: 4 additions & 0 deletions .claspignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node_modules
dist
dist-ssr
*.local
21 changes: 21 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,22 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store

## Google Apps Script files
src/.clasp.json
src/appsscript.json
21 changes: 21 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"arrowParens": "always",
"bracketSameLine": false,
"bracketSpacing": true,
"semi": true,
"experimentalTernaries": false,
"singleQuote": false,
"jsxSingleQuote": false,
"quoteProps": "as-needed",
"trailingComma": "all",
"singleAttributePerLine": true,
"htmlWhitespaceSensitivity": "css",
"vueIndentScriptAndStyle": false,
"proseWrap": "preserve",
"insertPragma": false,
"printWidth": 120,
"requirePragma": false,
"tabWidth": 2,
"useTabs": false,
"embeddedLanguageFormatting": "auto"
}
64 changes: 0 additions & 64 deletions CHANGELOG.md

This file was deleted.

Loading

0 comments on commit 71016f4

Please sign in to comment.