전체 702

연관규칙 (지지도 신뢰도 향상도)

1. 지지도(support) A상품과 B상품의 지지도 = A상품과 B상품을 같이 구입한 횟수 / 전체 구매 횟수 2. 신뢰도(Confidence) A상품에 대한 B상품의 신뢰도 = A상품과 B상품의 동시출현 횟수 / A상품 출현 횟수 3. 향상도(lift) 그냥 B항목을 샀을 때 대비 A상품을 사고 B상품을 샀을때 구매할 확률 증가값 = A상품과 B상품 동시출현 확률 / (A상품 구매확률 * B상품 구매확률 )

[SQL]sql코테전에 보기

특정 조건 sick이라는 조건과 같은것 SELECT ANIMAL_ID,NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION is "Sick" 특정 조건 아닌것 SELECT ANIMAL_ID,NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION NOT like "Aged" 정렬 1. 오름차순 SELECT ANIMAL_ID,NAME FROM ANIMAL_INS ORDER BY ANIMAL_ID 2. 내림차순 SELECT ANIMAL_ID,NAME,DATETIME FROM ANIMAL_INS ORDER BY NAME,DATETIME DESC 3. 상위 1개 SELECT NAME FROM ANIMAL_INS ORDER BY DATETIME LIMIT 1 최댓값 ..

DB/SQL 2021.03.06

[백준]13911 집구하기 다익스트라

문제풀이 스벅까지의 거리와 맥날까지의 거리의 합이 최소가 되는 곳을 구하면 된다. 스벅, 맥날은 하나 이상이 있다. 따라서 각각의 집에서 그 집과 가장 가까운 스벅, 맥날까지의 거리를 구하고 그 합이 최소가 되는 집을 찾으면 된다. 도로는 양방향이고 노드사이의 서로 다른 양의 가중치가 존재하므로 다익스트라를 이용하면 된다. 이때 각각의 집에서 가장 가까운 스벅, 맥날까지의 거리만 구하면 된다. 따라서 아래와 같은 순서로 진행한다. 0. 예제 1. 모든 맥날과 가중치 0으로 이은 맥날NODE, 모든 스벅과 가중치 0으로 이은 스벅NODE를 만든다. 2. 맥날NODE에서 각 집까지의 거리, 스벅NODE에서 각 집까지의 거리를 구한다. 주의할점 모든 맥날점과 모든 스벅점을 0의 가중치로 이어서 만든 맥날NOD..

알고리즘/graph 2021.02.25

git에 처음 commit을 할때? (Please tell me who you are.)

깃에 처음 commit을 할 때 깃에 처음 commi을 할 때 설정해야 하는 name과 email 설정이 있다. name과 email설정을 하지 않고 commit을 하려고 하면 아래와 같은 오류 메세지가 뜬다. (please tell me who you are) 해결방법은 아래와 같이 이름과 이메일을 추가하면 된다. 이름과 이메일 추가 git config --global user.name "이름적어" git config --global user.email "메일적어" 추가된 이름 이메일 확인 git config --global --list

CLI/깃허브 2021.02.18

QeventLoop를 이용한 로그인하기 , 기본정보 요청 함수

문제파악 주식 기본정보를 가져오기 위해선 로그인이 선행되어야 한다. 하지만 로그인하는데 잠깐의 시간이 걸리고, 그 시간보다 빨리 코드가 실행되면 오류가 발생한다. sosoeasy.tistory.com/413에서는 로그인을 확인하는 이벤트 함수에 주식 기본정보를 요청하는 함수를 넣어서 이 문제를 해결했다. 이번 장에서는 QeventLoop를 통해 문제를 해결한다 QeventLoop란? 특정 시점에서 특정 조건이 발생해야지만 다음 코드를 진행할 수 있게 만들어 주는 함수이다. 다음과 같이 세가지 단계로 구분된다. 1. loop객체 생성 self.login_event_loop = QEventLoop() 2. 조건생성 self.login_event_loop.exit() 3. 코드진행 ( 2.에서 self.log..

금융/증권사API 2021.02.16

logging이란?

logging이란? logging은 오류의 발생위치 및 종류를 확인하는 도구이다. 사용자별로 필요한 오류의 종류에 맞게 logging의 객체를 만들고 확인하고 싶은 위치에 logging코드를 추가한다. 그럼 해당 위치에서 사용자가 지정한 오류를 확인할 수 있다. 아래의 예시와 같이 쓴다. (example) 전체 flow 먼저 전체 플로우를 미리 보면 아래와 같다 아래에서 구체적인 과정을 설명한다. 사진에 보이는 순서와 번호대로 매핑했다. logging 과정 1. logging 객체 생성 logging의 객체를 생성하고 레벨을 설정한다. 레벨은 아래에서 설명한다. #1.logger 객체 logger = logging.getLogger("brave_log") #객체 생성 logger.setLevel(logg..

로그인하기 , 기본정보 요청 함수

이벤트 메소드와 일반 메소드를 사용하여 로그인 및 기본정보 요청 함수를 작성해 본다. 전체 FLOW 소스코드 import sys from PyQt5.QAxContainer import * from PyQt5.QtWidgets import * class KiwoomAPI: def __init__(self): # QAxWidget 객체 (키움 api연결) self.kiwoom = QAxWidget("KHOPENAPI.KHOpenAPICtrl.1") # 이벤트함수 self.kiwoom.OnEventConnect.connect(self.myOnEventConnect) # 로그인 self.kiwoom.OnReceiveTrData.connect(self.myOnReceiveTrData) # 통신 관련 # 로그인 요..

금융/증권사API 2021.02.13

일반 메소드와 이벤트 메소드

키움 API에서는 일반 메소드와 이벤드 메소드가 있다. 이들의 차이점, 용도, 사용법등을 알아본다. 전체 FLOW 유저가 데이터를 요청하면 서버에서 이를 처리하여 보내준다. 이때 서버가 처리 하는동안 요청을 끊임없이 계속 하면 과부하가 걸릴 수 있고 서버가 처리하기 전에 데이터를 전송하려고 하면 에러가 날 수도 있다. 따라서 키움 api의 경우 사용자가 데이터를 요청했을때 이벤트를 발생시켜 이 문제를 해결한다. 여기서 사용자가 데이터를 요청하는 함수를 일반매소드라고 하고, 이벤트(일반매소드를 이용해 데이터를 요청하는것)가 발생할때 까지 기다렸다가 , 이벤트가 발생한 후 동작하는 메소드를 이벤트 매소드 라고 한다. 일반 메소드 1. 방식 일반 매소드는 ocx방식을 파이썬으로 동작시기키 위해서 .dynami..

금융/증권사API 2021.02.13

파이썬 SQL연동

파이썬과 mysql연동 파이썬과 mysql을 연동해서 파이썬에서 데이터베이스에 접근하고 쿼리문등을 실행해 본다. 코드 1. 필요 라이브러리 다운 from sqlalchemy import create_engine import pymysql pymysql.install_as_MySQLdb() 2. 파라미터 설정 # DB이름 설정 db_name = '' # mysql 아이디 db_id = '개인id' # mysql db ip (로컬이면 localhost) db_ip = 'localhost' # mysql db 패스워드 db_passwd = 'pw' # db port db_port = '3306' * DB이름? * 개인 id? mysql command line을 실행하고 터미널에서 아래와 같이 입력하면 user..

DB/SQL 2021.02.10

직접만든 파이썬 package, module 불러오기

설명 파이참 환경에서 직접 만든 package, module을 import해서 쓰는법을 알아본다. module : 함수, 변수들로 구성된 단위 package : 여러 모듈들로 구성된 단위 디렉토리 상태 "test"라는 폴더에 파이참으로 프로젝트를 만들고 그 아래 다음과 같이 디렉토리를 구성하였다. 함수는 파일 이름에 f를 붙였다 그리고 test.py에서 각 모듈 및 패키지를 import한다 같은디렉토리에 있는 모듈 임포트 같은 디렉토리에 있는 모듈을 임포트 할때는 다음과 같이 한다 test.py from plusminus import plusf,minusf print(plusf(3,4)) print(minusf(3,4)) 같은디렉토리에 있는 폴더(패키지) 임포트 같은 디렉토리에 있는 폴더(패키지)를 임포..

git diff란?

git diff? git diff는 파일을 수정했을 때 수정내용을 보여 주는 명령어이다. commit을 하기 전에는 git diff 명령어로 바로 볼 수 있다 commit을 한 다음에는 commit number를 이용해서 git diff A B로 볼 수 있다 (A,B는 커밋넘버) 예시 1. 원본파일 만들기 2. add로 추가 3. bye로 수정 4. git diff로 바뀐것 확인 -가 바뀌기전 +가 바뀐후 5. git add,commit 후 diff를 하면? 아무것도 없음 6. commit 넘버를 이용하여 두 commit상태의 차이를 확인가능

CLI/깃허브 2021.02.06

error: failed to push some refs to 에러

error:failed to push some refs to git push를 했을때 아래와 같이 error: failed to push some refs to 에러가 발생하는 경우가 있다 이는 원격저장소(github)에 내 로컬(내컴퓨터)에는 없는 파일이 있을 때 내 파일을 push 할 면 발생하는 오류이다. 이럴땐 원격저장소에서 내 로컬에 저장하지 않은 파일을 pull한 후 원격저장소에 다시 push를 해야한다. 아래의 예시에서 상황을 확인하고 해결책을 알아보자. 상황 설명 및 해결 1. 상황 내 컴퓨터(local)에서 f1.py파일을 수정하였다. 이후 github에 수정한 내용을 push하려고 했지만, 팀원이 f2.py 파일을 올려놨다. 이 경우 나의 push가 제한된다. 2. pull 먼저 원격저..

CLI/깃허브 2021.02.06