본문 바로가기

분류 전체보기99

QT Mouse Event mouseMoveEvent(QMouseEvent* event) 이벤트를 사용하게되면 event에 2개의 좌표를 얻을 수 있다 로컬과 스크린 로컬은 현재 윈도우의 포지션이고, 스크린은 보이는 화면의 좌표이다. 듀얼 스크린일경우, 합친 해상도로 나오기 때문에 확인을 잘해야한다. 1920+1920 이면 x좌표 최대는 합친 값인 3840이다. 2022. 6. 9.
하멜 치즈케이크 여행 첫날 하멜 치즈케익 도착! 줄이 어마어마했습니다. 하멜 치즈케익의 경관!! 아래 사진을 찍을 때만해도 받아가서 먹을 줄 알았는데.. 제 앞에서 딱 끝나더라구요? .... 이런일이 나에게 오늘의 물량은 끝낫고 예약을 해야 한답니다. 그래서 여행 마지막전날에 받기로 하였습니다... 치즈케익을 좋아하는데 맛은 비슷비슷한 느낌이였으나 포슬포슬함과 농도가 찐한데 먹기 참 좋은 그런 느낌입니다.. 가격은 사악합니다..8개에 17000원 이였습니다. 그래도 또 먹을거 같습니다. 2021. 8. 3.
C# 기초 string 기본 문자열 string 사용하기 간단하고 MFC에 있는 CString과 많이 비슷하다 하지만 좀더 편한 감은 있다. words.누르게 되면 나오는 다양한 함수를 통해서 속성을 확인할 수 있다 아래 코드의 예제(주석포함)을 실행해 보면 어떤 식으로 돌아가는지 확인 할 수 있다. split의 경우에는 배열로 값을 리턴 받기 때문에 배열을 선언해서 받는다. 그리고 foreach문을 사용하여 출력하였다 그 외에 내용들은 간단하게 한줄로 그 기능들을 나타낸다 namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string words = "hello world!"; Console.WriteLine(words.Substr.. 2021. 4. 6.
C# WPF Page 만들기 간단하게 여러개의 화면을 구성하고 싶어서 유튜브를 통해 화면 구성하는 방법을 확인하였다. 1. MainWindow.xaml NavigationUIVisibility 값을 Hidden을 하게 되면 네비게이션 바가 숨겨진다. 옵션을 확인해보자 버튼에 대한 이벤트도 생성해준다. 2. 솔루션에서 add->page 를 누르면 xaml 이 생성되며 2개의 페이지를 생성한다. 3. 메인윈도우에서 각각 페이지를 생성해준다. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls.. 2021. 4. 5.
Windows 10 Update(2021.02.05)로 인한 Visual Studio Docking 시 Visual Studio 종료되는 문제 이슈사항 Windows 10 Update(2021.02.05)로 인한 Visual Studio Docking 시 Visual Studio 종료되는 문제. 조치 1. Windows 10 Update를 롤백하는 방법. 2. %InstallRoot%\Common7\IDE\devenv.exe.config, %LocalAppData%\Microsoft\VisualStudio\16.0_xxx\devenv.exe.config 두 개의 파일에서, 끝에 Switch.System.Windows.Interop.MouseInput.OptOutOfMoveToChromedWindowFix=true; Switch.System.Windows.Interop.MouseInput.DoNotOptOutOfMoveToChromedWindow.. 2021. 3. 22.
MFC에서 RTTI 의 실제 구현 퍼옴 : anster.egloos.com/2172866 RTTI, Runtime Type Information 은 실행시간에 객체를 파악할 수 있도록 도와주는 시스템이다. RTTI 를 이용하기 위해서는 가상함수를 위해 생성되는 vftbl 이 필요하다. 즉, 클래스 내에 가상 함수가 존재할때에만 RTTI 정보가 클래스에 포함 된다. 다형성을 위해 가상 함수를 이용하면 굳이 런타임에 객체의 타입을 알 필요가 없을지도 모른다. 하지만, 분명히 어떤 경우에는 설계상의 오류로 인해 RTTI를 사용할 수 밖에 없다. 자세한 내용은 아래의 포스트를 참조하라. http://blog.naver.com/durenmarine?Redirect=Log&logNo=20017529755 C 구조체와 C++ 클래스 객체는 바이너리 .. 2021. 1. 28.
데이터 다루기(랜덤하게 값을 넣기) 어떤 데이터를 다룰때 섞어서 인덱스가 필요한 경우가 있다. 그럴땐 넘파이 함수를 이용해서 데이터를 다루면 편하게 랜덤한 값들을 만들 수 있다. np.random.seed로 지정하고, np.arange(49) 로 개수만큼 인덱스를 만든뒤에 그 인덱스를 셔플해주면 랜덤하게 값들이 index에 저장된다. seed의 초깃값을 지정하면 동일한 난수를 발생 시킬 수 있다. import numpy as np input_arr = np.array(data) target_arr = np.array(target) print(input_arr.shape) np.random.seed(42) index = np.arange(49) np.random.shuffle(index) 2021. 1. 27.
k-nearest neighbors k-최근접알고리즘 fit() 메서드에 전달한 데이터를 모두 저장하고 있다가 새ㅑ로운 데이터가 등장하면 가까운 데이터를 참고하는 아주 간단한 머신러닝... 머신러닝이라고 하기도 좀 애매한듯..한?그런 머신러닝 프로그램에서는 알고리즘이 구현된 객체를 모델이라고 부른다. 또한 알고리즘 자체를 모델이라고도 부른다. 데이터에서 규칙을 찾는 과정을 훈련이라고 한다. 하이킷런에서는 fit()메서드가 하는 역할 정확도는 정확한 답을 몇개 맞혔는지 백분율로 나타낸 값 from sklearn.neighbors import KNeighborsClassifier kn = KNeighborsClassifier() kn.fit(데이터, 구분) 2021. 1. 26.
파이썬 이중 배열 만들기 l 과 w에 length,weight 에 값을 넣는다. import matplotlib.pyplot as plt bream_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, 32.0, 32.0, 33.0, 33.0, 33.5, 33.5, 34.0, 34.0, 34.5, 35.0, 35.0, 35.0, 35.0, 36.0, 36.0, 37.0, 38.5, 38.5, 39.5, 41.0, 41.0] bream_weight = [242.0, 290.0, 340.0, 363.0, 430.0, 450.0, 500.0, 390.0, 450.0, 500.0, 475.0, 500.0, 500.0, 34.. 2021. 1. 26.
경이로운 소문 시즌2 웹툰도 아직 시즌2가 안끝난 상태이기 때문에 아마도 시즌2가 끝날때쯤에 할듯 싶다 소문이가 염력으로 시즌2가 시작될듯! 2021. 1. 25.
pandas로 차트 만들기 기초 판다스 모듈을 이용해서 기본적인 차트를 그리기 연습 코드를 따라가다보면 쉽게 그릴수 있다. 2021. 1. 22.
seaborn 파이썬 예제 site: http://seaborn.pydata.org 색정보 : seaborn.pydata.org/generated/seaborn.color_palette.html#seaborn.color_palette dict에 관한 설명 : wikidocs.net/22197 데이터 표현방식 elplot 은 수치형 변수 : seaborn.pydata.org/generated/seaborn.relplot.html catplot은 범주형 변수 :seaborn.pydata.org/generated/seaborn.catplot.html 오늘은 차트와 관련된 내용을 정리 유튜버 분들이 잘 강의해놓은 내용이 있어 직접 작성해보고 남겨봄 위에 내용들은 아래 예제를 하면서 참고할만한 내용 링크를 참조하여 차트들의 옵션들을 확인하.. 2021. 1. 20.
파이썬 Telegram bot 에 버튼 넣기 여기저기 글을 찾아보며 다른분들의 학습한내용을 실행시켜보고 나름대로 기억하기 위해 기록 import telepot from telepot.loop import MessageLoop # 봇 구동 from telepot.namedtuple import InlineKeyboardMarkup as MARKUP # 마크업 from telepot.namedtuple import InlineKeyboardButton as BTN # 버튼 token = '1586693187:AAHyHFegfJfHh-x4HrgJst2Ktj1z0lr3zZ0' ID = '64002766' bot= telepot.Bot(token) #bot.sendMessage(ID,"hi") def btn_show(msg): btn1 = BTN(text .. 2021. 1. 19.
웹 크롤링 BeautifulSoup 특정 page에서 데이터를 가지고 오는 기능 자바 스크립트의 경우 값이 없을 수 있기 때문에 동작을 안할 수 도 있다고 함 네이버 실시간 검색어를 가지고 오기 위해서는 네이버 데이터랩 페이지에서 가지고 와야함 코드는 아래와 같음 # 네이버 실시간 검색어 import requests from bs4 import BeautifulSoup headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'} url = 'https://datalab.naver.com/keyword/realtimeList.naver?where=ma.. 2021. 1. 18.
Telegram으로 네이버 영화 순위 가지고오기 유튜버들의 강의를 듣고 연습을 진행 텔래그램의 api가 많이 변경된듯하여 수정하여 기록 from selenium import webdriver import time from telegram.ext import Updater, MessageHandler, Filters, CommandHandler driver = webdriver.Chrome('C:/temp/chromedriver.exe') # 크롬 드라이버 실행 updater = Updater(token='1586693187:AAHyHFegfJfHh-x4HrgJst2Ktj1z0lr3zZ0') # 봇의 업데이트 내용 받기 dispatcher = updater.dispatcher # 봇의 행동 규칙 선언 def pic(update, context): for.. 2021. 1. 17.
Telepot을 이용한 메세지 주고받기 메시지가 오면 if문을 이용해 대화가 가능하도록 하는 코드 message_loop에 함수를 연결하여 실행 else인 상황에선 보낸 메세지 그대로 대답 import telepot token = '1586693187:AAHyHFegfJfHh-x4HrgJst2Ktj1z0lr3zZ0' mc = 'id' bot= telepot.Bot(token) def handle1(msg): #print(msg) bot.sendMessage(msg['from']['id'],msg['text']) def handle(msg): if msg['text'] == '안녕하세요': bot.sendMessage(msg['from']['id'],"반갑습니다.") else: handle1(msg) bot.message_loop(handle) 2021. 1. 17.
Telegram bot 만들기 Telepot (Message 전달) 기본적인 메시지 전달 방법 import telepot#추가 import telepot token = '1586693187:AAHyHFegfJfHh-x4HrgJst2Ktj1z0lr3zZ0' mc = 'ID입력' bot = telepot.Bot(token) bot.sendMessage(mc,"안녕")# 메시지 전달 방법 f = open('sajin.jpg','rb') bot.sendPhoto(mc,f)#사진 전달 방법 매우 간단하게 메시지 전달 가능 2021. 1. 17.
selenium을 이용한 크롬 Macro selenium 크롬 웹 브라우저를 열어서 특정 동작을 하는 모듈 chromedriver.chromium.org/downloads 예) 크롬 브라우저를 열어서 네이버 맵에서 강남역을 검색하는 Macro from selenium import webdriver from selenium.webdriver.common.keys import Keys import time driver = webdriver.Chrome("C:\Temp\chromedriver.exe") #다운받은 드라이버를 연결 url = 'https://map.naver.com/'#URL 작성 driver.get(url) #브라우저 오픈 time.sleep(2)//대기 xpath = "//button[@class='button_search']" #.. 2021. 1. 15.
파이썬 이미지 처리 pillow 모듈 : pillow 추가 : pip install pillow import 방법 : from PIL import imageGrab 사용목적 : 이미지 스크린샷을 하거나 픽셀의 색을 추출하기 위한 함수 등 공식 사이트 : pillow.readthedocs.io/en/latest/ 다양한 레퍼런스들을 확인 할 수 있음 예) 스크린샷 방법 및 색 추출 from PIL import ImageGrab as Img import pyautogui as pag screen = ImageGrab.grab() pos = pag.position() print(pos) screen.getpixel(pos) blue = (0, 0, 255) green = (34, 177, 76) red = (237, 28, 36) scree.. 2021. 1. 15.
PyAutoGUI 파이썬에서 마우스, 키보드 컨트롤을 하기 위한 모듈 주로 마우스나 키보드 Macro를 만들어 사용할때 사용 하는 모듈이다. PyAutoGUI에는 몇 가지 기능이 있습니다. 마우스를 이동하고 다른 응용 프로그램의 창을 클릭하거나 입력합니다. 응용 프로그램에 키 입력 보내기 (예 : 양식 작성) 스크린 샷을 찍고 이미지 (예 : 버튼 또는 체크 박스)가 주어지면 화면에서 찾습니다. 응용 프로그램의 창을 찾아 이동, 크기 조정, 최대화, 최소화 또는 닫기 (현재 Windows 전용) GUI 자동화 스크립트가 실행되는 동안 사용자 상호 작용을위한 메시지 상자를 표시합니다. 예) pyautogui.readthedocs.io/en/latest/ 참고 import pyautogui >>> screenWidth, sc.. 2021. 1. 15.