전체 글
-
[Node.js & MySQL] main.js 정리 - DB접속 정보/쿼리 분리생활코딩/WEBn 2021. 1. 12. 02:08
main.js에 실제 실행 부분의 코드가 포함되어 있으면 복잡해져서 전체맥락을 파악하기 쉽지 않다. main.js는 index, 목차처럼 사용하는 것이 바람직하고, 그렇게 하기 위해서는 구체적인 정보들의 분리가 필요하다. 먼저 DB접속 정보를 분리했다. data/lib/db.js 파일 생성 후 접속 정보를 가져온다. var mysql = require('mysql'); var db = mysql.createConnection({ host : 'localhost', user : 'root', password : 'password', database : 'data' }) db.connect(); module.exports = db; // 외부에서 임포트할 모듈이 하나라면 이렇게 하면 된다 main.js에서는..
-
[Node.js & MySQL] 목록 콤보박스 생성 / 디폴트값 설정생활코딩/WEBn 2021. 1. 5. 21:03
DB에서 가져온 데이터를 반복문을 이용해 html 콤보박스() 형태로 작성 그중 원하는 데이터를 디폴트로 설정(selected) [강의 출처] opentutorials.org/course/3347/21193 html에서 콤보박스를 생성하는 태그는 select다. Value1 Value2 Value3 Value1 Value2 Value3 이 박스에서 Value1을 선택하고 해당 FormData를 전송하면, 데이터는 {"전송되는 데이터 이름": "1"}처럼 객체형태로 전달된다. 이 기능과 반복문을 이용해 특정한 데이터로 콤보박스를 생성할 수 있다. (MDN Web Docs js 루프와 반복 페이지에도 비슷한 예시가 있으니 나중에 헷갈리면 참조!) 자바스크립트의 배열을 이용해 콤보박스를 생성하는 경우: var..
-
[데이터수집] 로또번호 전송봇 만들기Python/웹스크래핑.데이터수집 2021. 1. 4. 15:37
매주 토요일 저녁 8시 47분마다 동행복권 사이트(dhlottery.co.kr/common.do?method=main)에서 해당 주차 당첨번호를 확인 후 전송하는 텔레그램봇 작성 당첨번호 확인이 지연될 경우, 완료될 때까지 5분 단위로 재실행하고, 재시도하겠다는 메시지를 보낸다. 로또사이트는 참으로 친절해서 아래 url 정보만 있으면 번호를 바로 조회할 수 있다. url = 'https://dhlottery.co.kr/gameResult.do?method=byWin&drwNo=' + 회차정보 이제 매주의 회차 정보를 구하면 된다. 로또 추첨은 매주 1회 진행하고, 그때마다 1회차씩 증가하므로 처음 시작한 1회(2002. 12. 07.) 기준으로 몇주가 지나갔는가를 계산하면 된다. 조회 대상 날짜에서 시작..
-
Apple Keynote로 gif 만들기환경설정 및 기타 TIP 2021. 1. 2. 22:51
아래 포스트에서 코드 실행결과를 기록하다가, 이건 gif로 표현하면 결과가 더 명확할 것 같다는 생각이 들었다. 봇 항상 켜두기(Always-on) nohup, log(python -u, flush) /workspace/Project/main.py # nohup python /workspace/Project/main.py & //[1] 3507 //nohup: ignoring input and appending output to 'nohup.out' nohup: 터미널 세션이 끊겨도 계속 실행 &: 백그라운.. hayjo.tistory.com 애플에서 제공하는 기본 앱 중에 keynote라는 프레젠테이션 앱이 있다. 프레젠테이션을 만든 다음 gif로 내보내기 하면 된다. 공식 페이지에 아래와 같이 나와있..
-
봇 항상 켜두기(Always-on) nohup, log(python -u, flush)환경설정 및 기타 TIP/GoormIDE 2021. 1. 2. 22:15
/workspace/Project/main.py # nohup python /workspace/Project/main.py & //[1] 3507 //nohup: ignoring input and appending output to 'nohup.out' nohup: 터미널 세션이 끊겨도 계속 실행 &: 백그라운드에서 실행 # ps -ef // pid 확인 // root 3507 1732 0 19:17 pts/2 00:00:00 python /workspace/project/main.py # kill 3507 // 종료. 가이드에는 -TERM 쓰라고 돼있는데 생략하면 디폴트인 15로 정상종료한다 // [1]+ Terminated nohup python /workspace/project/main.py # n..
-
[Summary] 텔레그램봇: 채권모니터링 ReviewPython/텔레그램봇:채권모니터링 2020. 12. 31. 19:54
언어 python3.7 이용한 python 라이브러리 os, time, datetime, requests, pandas, xlrd [, bs4, telegram] 상세 내용 증권시장 거래시간의 특정 시점에, 한국거래소에서 채권거래 호가 정보를 수집 후, 한국은행 API로 비교 기준인 최신의 채권 수익률을 확인(xml/json)하여, 전처리(null 데이터를 제외하고, 잔존기간을 일자로 환산, 투자등급/잔존기간/수익률 기준으로 필터링)한 다음, 텔레그램 메신저를 통해 적당한 메시지 포맷으로 전송한다. 여기서 증권시장 거래시간의 특정 시점이란 10시, 12시, 2시 30분, 3시 31분(종가) 처럼 특정 시간을 말한다. 또한 휴장일 정보를 확인(download/view)하여, 익일이 휴장일인 경우 건너뛸 수..
-
[데이터수집] 한국부동산원 청약홈/청약Home 분양정보 (2)Python/웹스크래핑.데이터수집 2020. 12. 29. 22:41
한국부동산원 청약홈 페이지의 APT 분양정보 및 경쟁률 조회 페이지에서, -조회 조건을 변경해 1페이지부터 끝페이지까지 다운로드 받는다. -항상 최신 데이터를 확인할 수 있도록 최신 일자를 갱신한다. (1) 한국부동산원 청약홈 페이지 1페이지의 테이블 다운로드 / 데이터 beautifulSoup으로 파싱 (2) 조회 조건 변경하기 - 전체 페이지 대상으로 실행/최신 일자로 실행 한국부동산원 청약홈 페이지는 조회 조건 선택 -> 조회 형식으로 이루어져있다. requests.post()시에 form data 항목에 해당 조건을 넣어서 전송하면, 실제로 마우스로 클릭하지 않더라도 해당 데이터를 얻을 수 있다. 1) 전체 페이지 대상으로 실행: 전체 페이지 수 정보는 어디에 있을까? 지난번에 전송했던 form ..
-
[인코딩] 유니코드 인코딩 처리 (특히 json 입출력 시)Python 2020. 12. 28. 10:16
파이썬에서 데이터를 json으로 저장하면 유니코드 16진수로 저장된다. 딕셔너리를 json.dump() 메소드로 저장하면 import json before = {"테스트1": "test1", "테스트2": "test2", "테스트3": ["테스트3-1", "테스트3-2", "테스트3-3"], "테스트4": {"테스트4-1": "테스트4-1-1"}} with open('sample.json', 'a+') as fp: json.dump(before, fp) 아래처럼 유니코드 16진수로 표현된다. # sample.json {"\ud14c\uc2a4\ud2b81": "test1", "\ud14c\uc2a4\ud2b82": "test2", "\ud14c\uc2a4\ud2b83": ["\ud14c\uc2a4\ud2..