본문 바로가기

개발85

[파이썬] 웹 페이지 스크랩 하기(BeautifulSoup 이용) 파이썬의 BeautifulSoup 라이브러리를 이용해서 웹 페이지를 스크랩하는 간단한 예제 코드입니다. 예제를 위한 사이트는 뽐뿌 게시판으로 정했습니다. 우선 전체 코드를 먼저 올리고 간단한 설명은 뒤에 있습니다. 전체 코드 # 뽐뿌/뽐뿌 게시판 스크랩 # 타겟 주소: https://www.ppomppu.co.kr/zboard/zboard.php?id=ppomppu import pandas as pd from urllib.request import urlopen from requests import get from bs4 import BeautifulSoup import os g_sTargetUrl = 'https://www.ppomppu.co.kr/zboard/zboard.php?id=ppomppu' .. 2019.10.20
[LUA] TABLE 정렬(SORT) 루아 테이블 정렬 샘플입니다. 루아 문서에 있는 table.sort 를 우선 참고 table.sort (list [, comp]) Sorts list elements in a given order, in-place, from list[1] to list[#list]. If comp is given, then it must be a function that receives two list elements and returns true when the first element must come before the second in the final order (so that not comp(list[i+1],list[i]) will be true after the sort). If comp is not gi.. 2019.10.19
[파이썬] 함수 호출 CALL BY VALUE/CALL BY REFERENCE 파이썬에서 함수 호출 시 call by value/ref 를 설명하는 간단한 예제입니다 1. bool, 문자열, 숫자, 리스트, 딕셔너리를 함수에서 변경했을 때 def testFunc2(bValue, sString, nValue, list, dic): bValue = True sString = '새로운 문자' nValue = nValue + 100 list.append(100) dic['과학'] = 70 bValue = False sString = '이전 문자' nValue = 10 list = [1,2,3] dic = {'국어': 80, '수학': 95, '영어': 80} testFunc2(bValue, sString, nValue, list, dic) print(bValue) print(sString.. 2019.10.06
[LUA] 개발 환경 만들기 루아 설치하기 1. 루아 개발 사이트에서 루아 내려받기 http://www.lua.org/ The Programming Language Lua www.lua.org 2. 내려 받은 ZIP 파일을 열어 적당한 폴더 (예: d:/dev/lua) 에 풀어 준다. 단, lua53.exe 는 파일이름을 lua.exe 로 변경한다. 3. 시스템 속성창에서 환경 변수 Path에 Lua 실행파일의 위치를 추가한다. VSCODE 설치 1. Visual Studio Code 내려 받아 설치 https://code.visualstudio.com/ Visual Studio Code - Code Editing. Redefined Visual Studio Code is a code editor redefined and optim.. 2019.09.30
[LUA] FOR 문 루아 FOR 문 기본 문법은 for var = start, end, (step) do ... end 식이다 파이썬이나 C/C++ 등과 다른 게 파이썬의 for 문은 end 조건 값과 같은 경우도 포함한다. 또한 테이블의 카운트를 구하는 편의 함수 #table 은 구성요소가 배열인 경우에만 제대로 계산된다 (아래 샘플 코드 참조) --> #table 은 table 내에 [1] 로 시작하는 배열의 개수를 구하기 때문에 해당 키가 없으면 사이즈를 구하지 못한다. print('--------------------------------------------------------------------') print('0 에서 99 까지 더하기 예제') print('----------------------------.. 2019.09.29
[LUA] 함수 호출 CALL BY VALUE/CALL BY REFERENCE 루아 함수 호출 시 CALL BY VALUE/REF 테스트 코드입니다 print 의 결과는 --> 뒤에 있습니다 -- 목적: 루아 함수 call by value, call by reference 확인 -- call by value : nil, booleans, numbers , strings -- call by ref : table, function, thread, userdata -- print 의 결과는 --> 로 표시 function dumpTable(o) if type(o) == 'table' then local s = '{ ' for k,v in pairs(o) do -- key 가 숫자가 아닌 경우 "key" if type(k) ~= 'number' .. 2019.07.28
[LUA] 테이블 다루기 - 배열/맵/클래스 루아는 기본 TYPE 말고는 테이블이 거의 모든 역할을 하고 있어 제대로 이해 하는게 필요 합니다 루아 테이블에 대한 간단한 샘플 코드입니다 print 결과는 소스 코드에 --> 주석으로 추가되어 있습니다 -- 목적: 루아 테이블 공부하기 -- print 의 결과는 --> 로 표시 function dumpTable(o) if type(o) == 'table' then local s = '{ ' for k,v in pairs(o) do -- key 가 숫자가 아닌 경우 "key" if type(k) ~= 'number' then k = '"'..k..'"' end s = s .. '['..k..'] = ' .. 2019.07.28
[LUA] 문자열 다루기 간단 예제 Lua를 사용한 간단한 문자열 예제 (기존 파이썬 문자열 예제 소스를 루아에 맞도록 수정) He 로 변경:',sText2) -- [Outpt] They --> He 로 변경: *# He said: "Of course." and you said "Thank you" #* print('--------------------------------------------------------------------') print('소문자 만들기') print('--------------------------------------------------------------------') sText2 = string.lower( sText) print('소문자 만들기:', sText2) -- [Outpt] 소문자 만들기.. 2019.07.27
파이썬의 for 루프 파이썬의 for 루프는 전통적인 C/C++/JAVA 와는 조금 사용방법이 달라서 기록 해 둡니다. 일반적인 C/C++ 은 for (초기값 ; 완료조건; step) 순으로 되어 있는데 비해 파이썬은 for 변수 in 리스트 와 같이 되어 있습니다. 0부터 99까지 더하는 간단한 for 루프는 ##### sum = 0 for i in range(0, 100): sum = sum + i print(sum) 식으로 구현 됩니다. 여기서 range는 range(stop) 또는 range(start, stop, step) 식으로 사용되고 list 와 유사한 빌트인 클래스를 리턴합니다. loop = range(10) print(type(loop)) # 결과는 99부터 0까지 더하기를 역으로 처리하면 요리 됩니다 st.. 2019.06.16
[CREON PLUS API 활용] BlockRequest 와 Request 크레온 플러스 API를 이용해서 통신하는 방법은 다음 2가지가 있습니다 BlockRequest 방식 - 가장 간단한 데이터 요청Request 호출 후 Received 이벤트를 수신 받기 아래 코드는 두 가지 방식으로 현재가를 통신하는 코드 입니다.import pythoncom from PyQt5.QtWidgets import * import win32com.client import win32event g_objCodeMgr = win32com.client.Dispatch('CpUtil.CpCodeMgr') StopEvent = win32event.CreateEvent(None, 0, 0, None) class CpEvent: def set_params(self, client, name, caller): .. 2018.12.11
파이썬 윈도우 메시지 펌프 처리 예제 파이썬을 이용해서 윈도우 메시지펌프를 하는 간단한 예제 코드 입니다 우선 전체 코드를 먼저 본 다음 일부 중요 함수들 설명 이어가겠습니다. 메시지 펌프 코드는 아래 사이트를 참고 했습니다.Processing Windows Messages Using MsgWaitForMultipleObjects import sys import pythoncom from PyQt5.QtWidgets import * import win32event StopEvent = win32event.CreateEvent(None, 0, 0, None) ################################################ # 테스트를 위한 메인 화면 class MyWindow(QMainWindow): def __init.. 2018.12.08
[CREON PLUS API 활용] MACD 매매 시그널 실시간 구하기(5분 차트 이용) 차트와 MACD지표를 실시간으로 계산하는 간단한 예제 코드입니다 MACD 지표는 단기 지수 이동평균과 장기 지수 이동평균의 차로 구해는 비교적 단순한 기술적 지표입니다. 참고로 MACD 지표를 구하는 계산 방법은 아래와 같습니다. MACD = 12일 지수이동평균- 26일 지수이동평균Signal = MACD 의 9일 지수이동평균Oscillator : MACD - Signal 여기서 MACD를 직접 계산하지는 않고, CREON PLUS API를 이용해 MACD 계산 값을 넘겨 받습니다 아래의 CMACD 클래스는 두가지 플러스 Object 의 도움을 받아 지표를 계산합니다.CpIndexes.CpSeries - 차트의 기본 데이터를 저장하는 PLUS 클래스(시가, 고가, 저가, 종가, 거래량)CpIndexes... 2018.11.23