[Telegram]내 PC에서 돌리는 Telegram 알림 스케줄러 만들기 (Node.js + React + SQLite)
·
Programing
# 들어가며"매일 아침 9시에 팀원들에게 데일리 스크럼 알림 보내기", "매주 금요일 주간보고 리마인더" — 이런 반복 알림, 어떻게 처리하고 계신가요?별도 서버 없이, **내 PC에서 직접 돌리는 Telegram 알림 스케줄러**를 만들어 보았습니다. 클라우드 비용 0원, DB 서버 설치 0건. Node.js와 SQLite만으로 충분합니다.---## 이런 걸 만들었습니다| 기능 | 설명 ||------|------|| 알림 CRUD | 등록 / 수정 / 삭제 / 테스트 발송 || 반복 유형 | 1회, 매시, 매일, 매주, 매월, 매년 || 캘린더 뷰 | 주간 / 월간 / 연간 시각화 || 실행 로그 | 발송 성공/실패 이력 조회 || 자동 복원 | 앱 재시작 시 활성 스케줄 자동 등록 || 다수 수신자..
Outlook ↔ Google Calendar 양방향 동기화 구현 (실사용 후기 + 삽질 정리)
·
Tips
최근에👉 Outlook Calendar + Google Calendar 양방향 동기화를 직접 구현해봤습니다.결론부터 말하면:✔️ 구현 가능❗ 하지만 인증(OAuth) + 권한 설정에서 대부분 막힘특히 Microsoft 쪽이 까다롭습니다.🚀 전체 구조구현 방식은 간단합니다:Google Calendar API ↕ Sync Script (Python) ↕Microsoft Graph API (Outlook) 🔧 핵심 기술 스택PythonGoogle Calendar APIMicrosoft Graph APIOAuth 2.0SQLite (ID 매핑)⚠️ 가장 많이 막히는 문제 3가지1️⃣ Google 로그인 → 403 access_denied원인👉 앱이 “테스트 모드”인데 사용자 등록 안 함해결👉 Googl..
[Cloud]Oracle Cloud 무료 서버 만들고 SSH 접속까지
·
Network
이번에 Oracle Cloud 무료 서버를 처음부터 만들어서👉 SSH 접속 + Node.js 설치까지 해봤다.완전 처음 하는 사람 기준으로 정리한다.☁️ 1. Oracle Cloud 인스턴스 생성Oracle Cloud 가입 후Compute → Instances → Create Instance👉 Ubuntu 선택👉 Public Subnet 생성 (중요)👉 인스턴스 생성 완료🌐 2. Public IP 연결 (핵심)처음 만들면 접속 안됨 ❗👉 이유:Public IP 없음해결 방법Instance → Networking → VNIC 들어가기IPv4 → Edit 클릭Ephemeral Public IP 선택Update👉 그러면 이런 IP 생김xxx.xxx.xxx.xxx 💻 3. SSH 접속 프로그램 (..
[Git]개발자의 필수 도구, Git과 GitHub 완벽 정리 (ft. 핵심 명령어)
·
업무효율화★
개발 공부를 시작하면 가장 먼저 마주하게 되는 벽이자, 익숙해지면 최고의 무기가 되는 **Git(깃)**에 대해 알아보겠습니다.1. Git이란 무엇인가요? (비유: 게임 저장 데이터)우리가 게임을 할 때 중요한 순간마다 '저장(Save)'을 하죠? 보스 몬스터를 잡기 전으로 돌아가거나, 잘못된 선택을 했을 때 이전 상태로 되돌리기 위해서입니다.Git은 바로 소스 코드의 **'타임머신'**입니다.• 파일을 수정할 때마다 그 기록을 차곡차곡 쌓아둡니다.• 실수로 코드를 망쳤을 때, 어제 작성했던 상태로 완벽하게 되돌릴 수 있습니다.• 여러 명이 같은 파일을 수정해도 누가, 언제, 무엇을 바꿨는지 추적할 수 있습니다.2. Git vs GitHub, 똑같은 거 아닌가요?많은 분이 헷갈려 하시지만, 둘은 엄연히 ..
[Claude]터미널에서 떠나는 코딩 여행, Claude Code /btw 명령어 200% 활용하기
·
업무효율화★
1. Claude Code란?최근 개발자들 사이에서 화제인 Claude Code는 터미널(CLI) 환경에서 Anthropic의 강력한 AI인 Claude와 직접 상호작용하며 코딩할 수 있는 도구입니다. IDE를 벗어나 터미널에서 즉각적으로 코드를 수정하고, 테스트하고, 배포까지 관리할 수 있다는 점이 가장 큰 매력입니다.2. 마법의 명령어, /btw (By The Way)코딩을 하다 보면 이런 상황이 자주 발생합니다."아, 맞다! 이 로직 수정하기 전에 저쪽 파일에 변수명 뭐로 되어 있었지?"이때 현재 진행 중인 메인 대화 흐름을 깨지 않고 잠시 '옆길'로 새서 궁금한 것을 물어볼 때 사용하는 명령어가 바로 **/btw**입니다.• 기능: 현재 작업 컨텍스트를 유지하면서 별도의 가벼운 작업이나 확인 요청..
[MariaDB]Node.js mysql vs mysql2 차이점 정리 (사용 가능 여부 포함)
·
Database
Node.js에서 MySQL 계열 데이터베이스를 사용할 때 자주 사용하는 패키지가 **mysql**과 **mysql2**입니다.둘은 이름이 비슷하지만 기능과 사용 방식에서 몇 가지 중요한 차이가 있습니다.이번 글에서는 다음 내용을 정리합니다.mysql vs mysql2 차이점어떤 경우에 mysql2를 사용하는 것이 좋은지mysql2를 MariaDB에서 사용할 수 있는지1. mysql vs mysql2 기본 개념항목mysqlmysql2패키지mysqljs/mysqlsidorares/mysql2개발 시기오래된 Node MySQL 드라이버mysql의 개선 버전Promise 지원❌ 기본 지원 없음✅ Promise API 지원Prepared Statement❌ 제한적✅ 기본 지원성능보통더 빠른 편유지보수유지중활발핵..
[framework]Express vs NestJS 비교 정리
·
Programing
1. Express.js란?Express는 Node.js에서 가장 오래되고 널리 사용되는 웹 프레임워크입니다.2010년 출시가볍고 단순한 구조자유도가 높은 설계Express는 기본적으로 minimal framework이기 때문에개발자가 프로젝트 구조를 자유롭게 설계할 수 있습니다.예시 코드app.get('/portfolio', async (req, res) => { const data = await portfolioService.getPortfolio() res.json(data)})Express 특징매우 가벼운 프레임워크빠른 API 개발구조 강제가 없음하지만 프로젝트 규모가 커질수록 구조 관리가 어려워질 수 있습니다.2. NestJS란?NestJS는 Node.js 기반의 엔터프라이즈 프레임워크입니다..
[브라우저] PC 브라우저에서 ChatGPT 계정 2개 분리해서 사용하기 (바탕화면 바로가기 설정)
·
Tips
업무를 하다 보면 ChatGPT 계정을 여러 개 사용해야 할 때가 있습니다. 매번 로그아웃하고 다시 로그인하는 번거로움 없이, **크롬(Chrome)**과 **엣지(Edge)**를 활용해 각각의 계정으로 즉시 접속하는 바탕화면 바로가기 생성 방법을 소개합니다.🚀 핵심 요약A계정: 기존 크롬(Chrome) 브라우저 전용B계정: 엣지(Edge) 브라우저 전용방법: 바탕화면 우클릭 메뉴를 이용한 '항목 위치 입력' 방식1. 엣지(Edge) 브라우저 전용 바로가기 만들기 (B계정용)바탕화면에서 클릭 한 번으로 엣지를 실행해 B계정 ChatGPT로 접속하는 방법입니다.바탕화면 빈 곳에서 **[마우스 우클릭] > [새로 만들기(W)] > [바로 가기(S)]**를 클릭합니다.항목 위치 입력(T) 칸에 아래 경로를 ..
[Claude]구글 시트를 넘어 클로드 바이브로: 2주 만에 구축한 임직원용 PMS 개발기(전체 레이아웃만)
·
업무효율화★
• 2월 말부터 2주간 임직원이 사용하는 PMS (Project Management System) 개발• 기존 구글 시트 사용에서 클로드 바이브 (Claude Vibe) 코딩으로 전환• 전환의 장점: 쉽고 빠른 구현, 아이디어 및 경험 반영 용이, 적용 편리• 전환의 단점: 프로 구독형으로도 부족한 기능 (Max 5-20배 더 강력한 기능 필요 : Pro부족)
[IT 지식] Express.js란 무엇일까? 웹 개발의 핵심 구조 이해하기
·
Programing
당사 주과장님과 MC블랙스완님을 위해, 사진 자료와 《비전공자를 위한 이해할 수 있는 IT 지식》의 내용을 바탕으로 블로그 기재용 포스팅을 정리하였습니다.1. 기술 카테고리: Express.js는 '프레임워크'입니다전체적인 IT 기술 스택에서 Express.js는 서버를 만들기 위한 뼈대 역할을 합니다.상위 카테고리: Angular.js, React.js와 나란히 '프레임워크, 라이브러리' 군에 속해 있습니다.연결 기술: JAVA, PHP, Python 같은 프로그래밍 언어를 기반으로, MySQL이나 MariaDB 같은 데이터베이스와 상호작용하며 동작합니다.2. 직군별 역할: '서버 개발자'의 핵심 도구실무에서 누가 이 기술을 쓰는지 알면 구조가 더 명확해집니다.서버 개발자 (Server Develope..