수동으로 디자인 코드를 작성하다가 디자인 툴을 이용하여 UI를 만드는 방법을 익혔습니다. 흙ㅋ C#과 비슷한 형식으로 사용이 가능합니다. Designer 로 UI 디자인이 가능한데요! 해당 툴로 만들어진 UI를 저장하면 XML 형식으로 저장이 됩니다. 이 XML 소스를 파이썬 소스로 변경하는 것도 가능하긴 하지만, UI가 바뀔때마다 매번 XML을 파이썬 소스로 변경해줘야 하는 불편함이 생깁니다. 따라서 UI가 변경되어도 상관없이 로드시키는 방식을 사용하는게 더 유리할 것 같습니다! Qt Designer 툴은 따로 설치도 가능하지만 저는 Anaconda3를 설치하면서 함께 설치되어 있더라구요! 경로 : (아나콘다가 설치된 위치)\Anaconda3\Library\bin\designer.exe 아주 간단한 P..
Mac북을 사용하다 보니 CapsLock을 한영키로 누르는 습관이 들어버렸습니다..ㅠㅠ 그러다 보니 윈도우PC 에서 자꾸 CapsLock을 눌러버리네요..ㅠㅠ 솔직히 대문자 입력을 Shift 를 누르고 사용하지.. CaspLock을 누르는 경우는 거의 드물어서 윈도우10도 한영키를 CaspLock 으로 바꿔주었습니다! 간단하게 레지스트리 설정말 해주면 되는데요! 시작버튼 -> regedit 타이핑 (예전 윈도우 에서는 시작 -> 실행 -> regedit 타이핑 과 같은 의미 입니다.) 레지스트리 경로는 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout 입니다. 해당 경로까지 이동해서 마우스 오른쪽 클릭 -> 이진 값(B) -> Sca..
로그인 완료 후 종목코드로 요청하여 종목명과 거래량을 수신하는 간단한 예제 입니다. 평소때는 Right margin을 신경 안쓰고 코딩을 하는데.. 블로그로 붙여넣기 하니깐 문제가 생기네요ㅠㅠ 라인을 보기 어렵다는 점!!! 계속 블로그에 코드를 붙여넣기 하려면 뭔가 해결책이 필요 할 것 같습니다. 힝 Github : https://github.com/ResetDy/Blog_Python/blob/master/TrRequest.py import sys from PyQt5.QtWidgets import * from PyQt5.QAxContainer import * class MyWindow(QMainWindow): def __init__(self): super().__init__() self.setWindow..
키움증권 OpenAPI의 기능을 호출하고 사용하면 적절한 Event를 발생해 줍니다. 가장 간단한 로그인 이벤트에 대한 기능을 구현 해봤습니다. 로그인 버튼을 클릭하는 경우 키움 API 접속창이 연결이 되고 정보를 입력 후 로그인에 성공하는 경우 "로그인 성공" 이라는 문구를 Text Edit에 표시하는 예제 입니다. Github : https://github.com/ResetDy/Blog_Python/blob/master/loginEventTest.py import sys from PyQt5.QtWidgets import * from PyQt5.QAxContainer import * from PyQt5.QtGui import * class MyWindow(QMainWindow): def __init__..
키움 OpenAPI의 경우 다른 증권사의 COM 모듈과 달리 OCX (Object Linking and Embedding Custom Control) 방식을 사용합니다. 공식적으로 OpenAPI 자체에서 지원하는 언어는 아니지만, 파이썬에서도 해당 모듈을 로드하여 사용이 가능하긴 합니다. 일단 환경을 모두 만들어서 함수를 테스트 했는데.. 동작을 안합니다. 분명 Login 창이 떠야 하는데 전혀 응답이 없습니다. 왜그러지.. 를 몇시간 동안 찾아보다 결과는 64bit 파이썬이 문제였음을 발견했네요ㅠㅠ 설치되어 있던 Anaconda3 64 bit 버전을 32 bit으로 변경하니 ocx가 정상적으로 동작하는 것을 확인했습니다. 이제 기존에 사용하던 함수들을 테스트 해봐야겠습니다! 아래는 간단히 로그인 창을 ..
얼마전에 마우스를 로지텍 MX Anywhere 2S 으로 변경하여 사용하고 있습니다! 사용하다가 인터넷이 간헐적으로 느려지거나 끈어지는 현상이 발견되어서 확인해보니 블루투스 2.4GHz 와 Wifi의 2.4Ghz가 간섭 현상이 발생하네요.. 노트북 이것저것 사용해오면서 이런일은 처음 겪는지라.. 당황스럽네요;; 일단 확인해본 결과 집에서 사용하는 공유기의 무선 주파수 5Ghz대 에서는 이런 현상이 드문데요 사무실은 듀얼밴드가 아니여서 2.4GHz를 사용하는데 인터넷이 느려지는 현상이 자주 발생합니다. 웹페이지 한참 뒤에야 로딩이 완료된다든가.. 파일을 다운로드 받는데 세월아 네월아 한다든가.. 일단 해결방법은 유선랜을 사용하는 방법인데요.. 마우스 수신기 달기 싫어서 산 마우스 인데.. 간섭없이 사용하려..
요즘 데이터 시각화에 관심이 생겨서 공부해보고 있습니다~그중에 무슨 데이터로 연습을 해볼까 하다가 Lotto 데이터를 활용하게 되었는데요!신기했던 번호가 있어서 재미삼아 포스팅 합니다~! 아래 데이터는 6개의 번호중 첫번째에 등장한 번호인데요! (1회~799회)목적자체는 가장 낮은 번호의 분포를 보는 것이 목적 이였습니다. 가장 오른쪽에 35에 점이 찍혀있네요. "어..? No1에 35가 찍혀 있으면.. 도대체 뒷번호는 뭐란말인가!?""데이터 수집이 잘못됐나!?" 하면서 DB를 살펴봤습니다. 그랬더니... 헉 번호가 무려... 35, 36, 37, 41, 44, 45.... 우왕.. 이런조합이 가능했었다니.. 허허허.. 그리고 정말 DB가 맞는지 확인차 조회해봤는데 역시나 맞네요.. 이때 당시 당첨된 정..
맥북을 사기 전부터 마우스를 교체해야지 교체해야지 했는데.. 드디어 마우스를 교체했습니다ㅠㅠ 기존까지 사용하던 마우스는 꽤 고급 마우스라 오랫동안 사용을 했었네요~! 로제텍 G700S를 사용했었는데요! 거의 5년정도 사용한 것 같아요! 사용하다 왼쪽 클릭, 오른쪽 클릭 더블클릭 현상도 수없이 겪었지만 그때마다 스위치를 구매하여 교체 해가면서 계속 사용을 했었습니다.. 패드도 닳아서 구입하려 했더니 중국에서 밖에 안팔아서 직구로 패드로 주문해서 붙여주고.. 나름 본전치기 는 했다고 생각합니다!ㅎㅎ 1. 개봉 및 설명 여러 마우스를 보다가 선택한 마우스는 로지텍의 MX ANYWHERE 2S 입니다. 이 마우스는 작은 소형타입의 마우스이고 (100.3mm * 61.6mm * 34.4mm / 106g) 연결 형..
간단한 웹페이지를 읽어오는 기본 기능 입니다~urllib 패키지에 포함되어 있는 urlopen 기능을 사용하면 웹페이지의 소스를 간단하게 읽어 올 수 있습니다.from urllib.request import urlopen result = urlopen("http://naver.com") print(result.read())위에 처럼 읽어오는데 성공은 했습니다!!그러나.. 보기가 참 어렵네요.. 심지어 결과물이 b' 로 시작하는 걸 보니 바이트로 저장이 되어있는 것 같습니다. 이걸 다 사용자가 정리를 해줘야 할까요?? 파이썬에서??ㅎㅎ파이썬은 참 사용자들이 편하도록 만들어진 언어 같습니다. (반대로 나태해지게 만드는 언어이기도 하죠..ㅎㅎ)가장 범용적인 라이브러리를 소개 해드리겠습니다~ BeautifulS..
안녕하세요! 파이썬에서 파일 읽고 쓰는것을 테스트 하고 있다가 문제에 봉착하였습니다..ㅠㅠ 아직까지 문제 해결이 되고 있지 않습니다. 문제는 이러 합니다. 파이참에서 파일을 열어 저장할 때 내용을 한글로 작성하면 Encoding 에러가 발생 됩니다. 그런데 방법을 잘 모르겠네요;; 같은 소스로 터미널에서 사용하는 경우 정상적으로 저장이 됩니다. Pycharm의 설정문제 인 것 같은데 File Encoding 부분 설정은 정상적으로 되어진 것으로 보이는데 지속적으로 안되네요. 임시로 해결 방법은 open 시 encoding='utf-8' 을 명시적으로 작성해주는 것 인데.. 근본적인 해결 방법은 아닌 것 같습니다. (터미널 에서 실행 할 때는 저런 내용들이 필요없이 정상적으로 작동 하니까요..ㅠㅠ) 테스트..
리스트 자료형이란 자료를 리스트로 보관하는 자료형 타입을 말합니다. 는 뭔소리지?ㅋㅋㅋㅋㅋ;; C언어 에서는 배열과 같은 개념입니다. 예를 들어 사과, 바나나, 배 자료를 보관하려면 a = 사과b = 바나나c = 배 처럼 각각 변수를 생성해서 보관을 해줘야 합니다. (3개의 변수가 생성됨) # 사과, 바나나, 배 // 3가지 자료가 있습니다.a = "사과" b = "바나나" c = "배" 하지만 해당 자료를 변수 하나에 보관을 할 수 있습니다. 이게 가능하도록 해주는 것이 바로 List(리스트) 자료형 입니다. list_a = [사과, 바나나, 배] 위처럼 list_a 라는 리스트 변수에 3가지의 자료를 모두 담을 수 있습니다. list_a = ["사과", "바나나", "배"] 그렇다면 어떻게 사용 할 ..
파이썬을 공부하기 시작했습니다~! Thread 쪽을 보는 도중에 뭔가 이상함(?)을 느끼고 테스트를 해봤습니다. 이상한 느낌이라는게.. 쓰레드를 두개로 했을때 기존보다 못해도 40% 정도는 속도면에서 이득이 있어야 하는데.. 별반 다른점이 없다는점 이였습니다. 그래서~!! 테스트를 진행해봤습니다. 아주 간단한 덧셈 프로그램 인데요! StartValue 부터 EndValue 까지 더하는 프로그램 입니다!from threading import Thread def do_sum(_start, _end, _result): temp = 0 for i in range(_start, _end): temp += i result.append(temp) return StartValue = 0 EndValue = 100000..
현재 사용하고 있는 개인용 데이터베이스 DEVONthink 의 검색 연산자 입니다. 해당 검색 연산자를 사용하면 검색할때 원하는 자료를 조금 더 수월하게 찾아 볼 수 있습니다~! ◼︎ 와일드카드 문자 ? : ?를 넣은만큼 문자의 수가 일치해야 함 * : 문자가 없어도 되고, 하나만 있어도 되고, 여러개가 있어도 되고 아무런 상관이 없음[a-b] : 'a' 와 'b' 사이의 문자 중 한 가지 문자여야 함[abc...] or [a|b|c|...] : 주어진 문자 중에 하나의 문자를 검색[^...] : 주어진 문자를 제외한 나머지 문자를 검색 ◼︎ 연산자 대신 사용 할 수 있는 기호 AND : &, &&, +OR : |, ||XOR : ^, ^^NOT : !, - ◼︎ 연산자 설명 검색어1 AND 검색어2 :..
[Mac] DEVONThink(데본싱크) & DEVONagent(데본에이전트) Pro 쿠폰
2018.03.15
개인용 DB를 만들기 위해서 DEVONthink Pro 를 사용하고 있어요~ Evernote 와는 다른 개념으로 접근하여 데이터를 수집하고 검색하는 용도로는 아주 마음에 드네요! 다만 맥북 외에서는 DB를 볼 수 없는게 조금 아쉽긴 하지만..(아이폰은 동기화 가능한 앱이 있는것 같긴 하네요! 다만 아직까진 완전하지 않은 듯한 느낌 입니다.) 각설하고! 데본싱크의 경우 스택소셜에서 50% 반값 세일을 하네요! $79.95 -> $39.95 에 저렴하게 구매가 가능하네요! (2018.03.15 기준으로 2일 남았다고 합니다!) 아래 사이트에서 회원가입을 하시고 결제를 하고 난 뒤에 라이센스 링크가 생기는데요! 데본싱크가 설치되어 있으면 -> 1. 사파리를 연다. 2. 주소창에 라이센스 링크를 넣는다. 3. ..
AVR 을 개발환경을 꾸며봅니다. 개발환경에 필요한 것은 컴파일을 위한 avr-toolchain과 코드를 작성할 IDE 프로그램을 설치합니다. 일반적으로 많이 사용하고 있는(?) AVR Studio 4.19 버전을 설치합니다. 이번엔 AVR Studio 4.19 버전을 설치 합니다. 설치가 모두 완료되었습니다. 이제 AVR Studio 4가 정상적으로 설치되었는지 실행 해봅니다. 설치가 정상적으로 되었으면 아래와 같은 화면이 생깁니다. 다음에는 기본적인 프로젝트 생성 방법에 대해서 공부해보겠습니다! 읽어 주셔서 감사합니다!
코딩 중에 처리가 어느정도 걸리는지 궁굼할 때 간단하게 사용 할 수 있는 방법입니다~ currentTimeMillis() 함수를 사용하여 시작점과 끝지점의 시간을 구하고 차이 값을 사용합니다! 반환은 long 값이고 ms 단위 입니다! long startTime = System.currentTimeMillis(); // 측정할 코드 long endTime = System.currentTimeMills(); System.out.println("소요 시간 : " + (endTime - startTime) + "ms"); 예) 결과 > 간편하게 사용 할 수 있습니다~