안녕하세요~ 2022.11.24 드디어 갤럭시 폴드3가 안드로이드13 버전으로 공식 업데이트가 됐습니다! 8월부터 안드로이드13 업데이트를 기다리고 있었는데요! 기다리다 지쳐서 결국 공장초기화를 한 번 진행했었습니다~ (업데이트 후 공장초기화를 한번 하려고 했었거든요..ㅠㅠ) 저는 안드로이드 버전업이 되는 시기에는 꼭! 공장초기화를 한 번씩 진행합니다. 이유는 버전업이 되면서 호환성 문제들도 발생하는 경우가 있고, 업데이트 이후 안정화(?)를 진행하지만 꼭 내부에서 꼬이는 경우가 발생하여 말썽을 일으키는 경우가 생깁니다. 그렇게 되면 스마트폰이 느려지는 경우가 종종 발생하여 깨끗하게 밀어버리곤 하죠! 드디어 기대하던 그날(?)이 왔습니다 ^-^/ 우선 안드로이드13 업데이트를 진행합니다. (공장초기화는 ..
수동으로 디자인 코드를 작성하다가 디자인 툴을 이용하여 UI를 만드는 방법을 익혔습니다. 흙ㅋ C#과 비슷한 형식으로 사용이 가능합니다. Designer 로 UI 디자인이 가능한데요! 해당 툴로 만들어진 UI를 저장하면 XML 형식으로 저장이 됩니다. 이 XML 소스를 파이썬 소스로 변경하는 것도 가능하긴 하지만, UI가 바뀔때마다 매번 XML을 파이썬 소스로 변경해줘야 하는 불편함이 생깁니다. 따라서 UI가 변경되어도 상관없이 로드시키는 방식을 사용하는게 더 유리할 것 같습니다! Qt Designer 툴은 따로 설치도 가능하지만 저는 Anaconda3를 설치하면서 함께 설치되어 있더라구요! 경로 : (아나콘다가 설치된 위치)\Anaconda3\Library\bin\designer.exe 아주 간단한 P..
로그인 완료 후 종목코드로 요청하여 종목명과 거래량을 수신하는 간단한 예제 입니다. 평소때는 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가 정상적으로 동작하는 것을 확인했습니다. 이제 기존에 사용하던 함수들을 테스트 해봐야겠습니다! 아래는 간단히 로그인 창을 ..
요즘 데이터 시각화에 관심이 생겨서 공부해보고 있습니다~그중에 무슨 데이터로 연습을 해볼까 하다가 Lotto 데이터를 활용하게 되었는데요!신기했던 번호가 있어서 재미삼아 포스팅 합니다~! 아래 데이터는 6개의 번호중 첫번째에 등장한 번호인데요! (1회~799회)목적자체는 가장 낮은 번호의 분포를 보는 것이 목적 이였습니다. 가장 오른쪽에 35에 점이 찍혀있네요. "어..? No1에 35가 찍혀 있으면.. 도대체 뒷번호는 뭐란말인가!?""데이터 수집이 잘못됐나!?" 하면서 DB를 살펴봤습니다. 그랬더니... 헉 번호가 무려... 35, 36, 37, 41, 44, 45.... 우왕.. 이런조합이 가능했었다니.. 허허허.. 그리고 정말 DB가 맞는지 확인차 조회해봤는데 역시나 맞네요.. 이때 당시 당첨된 정..
간단한 웹페이지를 읽어오는 기본 기능 입니다~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..
코딩 중에 처리가 어느정도 걸리는지 궁굼할 때 간단하게 사용 할 수 있는 방법입니다~ currentTimeMillis() 함수를 사용하여 시작점과 끝지점의 시간을 구하고 차이 값을 사용합니다! 반환은 long 값이고 ms 단위 입니다! long startTime = System.currentTimeMillis(); // 측정할 코드 long endTime = System.currentTimeMills(); System.out.println("소요 시간 : " + (endTime - startTime) + "ms"); 예) 결과 > 간편하게 사용 할 수 있습니다~
Log를 저장하거나 설정을 저장할때 txt파일에 저장해서 사용하면 간편하다. - Directory 를 사용하기 위한 네임스페이스 using System.IO; - 어디에서도 액세스 할 수 있도록 객체를 전역으로 생성 public partial Class Form1 : Form { FileStream fs; // FileStream 객체 생성 StreamWrite sw; // StreamWrite 객체 생성 private string directory = "D:\\SaveFile\\"; // 파일이 저장될 디렉토리를 string변수로 생성 private string filename = "config.txt"; // 파일 이름을 string변수로 생성 private string filepath = direc..
C#에서 제공하는 접근 한정자는 모두 다섯 가지로써 다음과 같다. 접근 한정자 설명 public 클래스의 내부/외부 모든 곳에서 접근할 수 있다. protected 클래스의 외부에서는 접근할 수 없지만, 파생 클래스에서는 접근이 가능하다. private 클래스의 내부에서만 접근할 수 있다. 파생 클래스에서도 접근이 불가능하다. internal 같은 어셈블리에 있는 코드에 대해서만 public으로 접근할 수 있다. 다른 어셈블리에 있는 코드에서는 private와 가은 수준의 접근성을 가진다. protected internal 같은 어셈블리에 있는 코드에 대해서면 protected로 접근할 수 있다. 다른 어셈블리에 있는 코드에서는 private와 같은 수준의 접근성을 가진다.
기본적으로 listbox는 아이템이 추가돼도 오토스크롤이 되지 않는다. 아래와 같은 코드를 추가해준다 -ListBox Autoscroll listBox1.SelectedIndex = listBox1.Items.Count - 1; listBox1.SelectedIndex = -1; 아래는 다른 개체의 Auto scroll 방법이다. -TextBox Autoscroll textBox1.SelectionStart = textBox1.Text.Length; textBox1.ScrollToCaret(); -LextView Autoscroll listView1.EnsureVisible(listView1.Items.Count - 1); -TreeView Autoscroll treeView1.Nodes[treeView..