보기 14

기상청 초단기 API 활용 텔레그램 알림 봇

import requestsfrom datetime import datetime, timedeltaimport jsonimport telegramimport asyncio# 텔레그램 봇 정보TOKEN = ""CHAT_ID = ""# 날씨 API 정보API_KEY = '='API_URL = 'http://apis.data.go.kr/1360000/VilageFcstInfoService_2.0/getUltraSrtFcst'LOCATION_X = ''LOCATION_Y = ''# 날씨 코드RAIN_CODE = {0 : '강수 없음', 1 : '☔', 2 : '☔/❄️', 3 : '❄️', 5 : '💦', 6 : '❄️', 7 : '💨❄️'}#RAIN_CODE = {0 : '강수 없음', 1 : '비', 2..

카테고리 없음 2025.01.19

GraphQL

개념 - GraphQL은 API를 위한 쿼리 언어 일반 REST API(각각 다른 URL로 여러 번 요청)GET /users/123 # 사용자 정보요청GET /users/123/posts # 사용자의 게시물요청 GraphQL(한번의 요청으로 원하는 모든 데이터 가져오기 가능)query { user(id: "1231") { name email posts { title content } }} GraphQL에는 여러가지 컴포넌트가 존재하지만클라이언트가 서버로 요청을 보낼 때 사용하는 주요 작업에대해 정리 Query 요청 (데이터 조회):POST /graphql{ "query": "query GetUser($userId: ID!) { user(id: $..

개념노트 2024.12.29

역방향 프록시(Reverse Proxy)

일반적인 웹 접속의 경우 (손님이 피자집에 직접 전화해서 주문)클라이언트 → 192.168.1.100:5000 (DSM 직접 접속)리버스 프록시를 사용할 경우 ( 손님 → 배달앱으로 주문 → 피자집에서 배달)클라이언트 → nas.domain.com (리버스 프록시) → 192.168.1.100:5000 (실제 DSM) 배달앱(리버스프록시) :손님의 주문을 받고알맞은 피자집에 전달하고피자가 완성되면 손님에게 전달손님입장 : 피자집 번호 몰라도됨배달앱(리버스프록시)으로만 소틍하면됨피자가 어디서 만들어지는지 몰라도 됨외부 요청이 들어왔을 때: "photo.nas.com" → "내부 IP:실제포트" 로 자동 연결되며내부서버 정보를 숨겨 외부에서는 실제 IP와 포트에 대해 직접적인 공격 불가 synology ..

개념노트 2024.12.15

HTTP Header

1. Content-Type응답 본문의 미디어 타입을 나타냅니다.Content-Type: text/html; charset=UTF-8: HTML 문서이며 UTF-8 인코딩을 사용합니다.Content-Type: application/json: JSON 데이터입니다.Content-Type: image/jpeg: JPEG 이미지입니다.기타 미디어 타입: application/xml, application/pdf, audio/mpeg, video/mp4 등.2. Content-Length응답 본문의 크기(바이트)를 나타냅니다.Content-Length: 1234: 응답 본문의 크기가 1234바이트임을 나타냅니다.3. Content-Encoding응답 본문에 적용된 압축 알고리즘을 나타냅니다.Content-Enc..

개념노트 2024.12.15