반응형

윈도우 는 사용자가 윈도우를 닫기 전까지 실행되어야 한다

하여 이벤트 루프 기법을 사용하여 무한 루프 구조이다

 

 

import sys
from PyQt5.QtWidgets import *

class MyWindow(QMainWindow):
    def __init__(self):
    	# 부모 클래스( QMainWindow )에 정의된 __init__()
        # 부모 클래스의 인스턴스 변수까지 가져올 수 있다.
        super().__init__()
        # self는 해당 클래스의 인스턴스
        self.setWindowTitle("PYSTOCK")
        # setGeometry는 창의 위치 및 크기
        self.setGeometry(300,300,300,400)
        
        
#  __name__ == __main__은 인터프리터에서 직접 실행했을 경우에만 
#  다른 소스에서 import 되어 사용하는것과 구분
# if문 내의 코드를 돌리라는 명령이 됩니다.
# __name__이 무엇인데요?
# interpreter가 실행 전에 만들어 둔 글로벌 변수입니다

if __name__ =="__main__":
	# QApplication 클래스의 인스턴스인 app을 생성
    app = QApplication(sys.argv)
    
    mywindow = MyWindow()
    mywindow.show()

    app.exec_()

실행화면


PyQt 이벤트 처리

 

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("PYSTOCK")
        self.setGeometry(300,300,300,400)

        bnt1 = QPushButton("클릭클릭",self)
        bnt1.move(20,20)
        # 이벤트와 이벤트를 처리할 메서드를 connect라는 메서드로 연결
        bnt1.clicked.connect(self.btnClick)

    def btnClick(self):
        QMessageBox.about(self, "메세지창","오우야 클릭")
        

if __name__ =="__main__"        :
    app = QApplication(sys.argv)

    mywindow = MyWindow()
    mywindow.show()
    
    app.exec_()

실행화면

반응형
반응형

url = 'https://search.naver.com/search.naver?sm=top_hty&fbm=1&ie=utf8&query=%EC%98%81%ED%99%94+%EC%88%9C%EC%9C%84'

 

temp_img_alt = driver.find_element_by_xpath("//div[@class='list_image_box']//ul[contains(@class,'_panel')]//img")

 

 

//div[@class='list_image_box'] 여기 아래

]//ul[contains(@class,'_panel')] 

//img 태그를 읽어오기

 

#타입

print(type(temp_img_alt))

#html 확인

print(temp_img_alt.get_attribute('outerHTML'))

#특정 속성 읽기

print(temp_img_alt.get_attribute('alt'))

 

 

차근차근

반응형
반응형

파이썬 좋네~

 

pyautogui 유틸 이용

 

매일 특정 시간

핫키 로 바탕화면 이동 후 

열린 프로그램 특정 좌표 마우스 클릭 실행

import pyautogui as autogui
import schedule
import time
    
def job():
    #작업 시작 시간 출력
    now = time.localtime()
    print(now.tm_year,now.tm_mon,now.tm_mday,now.tm_hour,now.tm_min)
    #2초
    time.sleep(2)
    #바탕화면 으로 가기
    autogui.hotkey('win','m')
    #1초
    time.sleep(1)
    #좌표 클릭
    autogui.click( 753,1051, button='left', clicks=1, interval=1)
    #1초
    time.sleep(1)
    autogui.click(707,933,button='left', clicks=1, interval=1)
    
def job2():
    #작업 시작 종료 출력
    now = time.localtime()
    print(now.tm_year,now.tm_mon,now.tm_mday,now.tm_hour,now.tm_min)
    #2초
    time.sleep(2)
    #바탕화면 으로 가기
    autogui.hotkey('win','m')    
    #1초
    time.sleep(1)
    #좌표 클릭
    autogui.click( 753,1051, button='left', clicks=1, interval=1)
    #1초
    time.sleep(1)
    autogui.click(465,933,button='left', clicks=1, interval=1)

def testJob():
    time.sleep(2)
    now = time.localtime()
    print(now.tm_year,now.tm_mon,now.tm_mday,now.tm_hour,now.tm_min)
    autogui.hotkey('win','m')
    time.sleep(2)
    
#test job
#schedule.every(1).second.do(testJob)       
#schedule.every().day.at("18:10").do(job)
#schedule.every().day.at("18:11").do(job2)

# 23시 스케줄 시작
schedule.every().day.at("23:20").do(job)
# 오전 07시 스케줄 종료
schedule.every().day.at("07:40").do(job2)

# 무한루프를 돌며 스케줄을 유지.
while True:
    schedule.run_pending()
    time.sleep(1)

반응형
반응형

body-parser 사용해야 한다

 

express 4.16부터는 body-parser를 포함 

 

그 이하는 직접 설치해야함 

 

4.16 이상이면 

 

app.use(express.json()) 선언후 사용하면 정상 출력

 

const express = require('express')
const app = express();
app.use(express.json())
app.post('/', (req, res) => {
  console.log(req.body)
})

Json 형식이라면

console.log('res' + JSON.stringify(req.body) )

// 여러 row라면
console.log('res' + JSON.stringify(req.body[0]) )

code 

반응형
반응형

 

require('./models');

 하위 스크립트 파일 모두 읽어온다

 

Class constructor model cannot be invoked without 'new'

 

아래 오류가 계속 발생함

 

삽 질

결국 app.js 에서  주석 처리 후 실행

으어어어

으어어 동작한다..

 

여러개 한번에 sync가 안되는건가..

 

한개씩 리콰이어 하면 정상적으로 테이블 생성 된다.

const models = require('./models/User');

 

// 테이블 생성    
db.sync()
    .then(  log =>  console.log('스키마 생성 성공 !!' + log ))
    .catch( err =>  console.log('스키마 생성 Error: '+ err) )

한방에 생성은 왜 안될까??

여하튼 해결..

반응형
반응형

node js
-express
-router
-sequelize

docker
   DB 설치
   docker run -p 5432:5432 -e   POSTGRES_PASSWORD=1234## -e   POSTGRES_USER=dev -e   POSTGRES_DB=DEVDB --name postgresCon -d postgres

   #프로세스 러닝 확인
   docker ps

   #postgresSql 서버 접속
   docker exec -i -t postgresCon bash

   # 유저 postgres 로 변경
   su - postgres

 

   # 변경 후 postgres cli 접속   

   psql --username dev --dbname DEVDB


   #DB 목록조회
   \l
   #테이블 조회
   \dt
   #postgresql 종료
   \q
   #docker 컨테이너에서 나가기
   exit

 POSTGRES CLI 확인



   postgresql 구성 종료
   https://055055.tistory.com/39

Nodejs 설치
   디렉토리 생성 후 ex) mkdir NodePrj

​   npm init
   
   ## 시퀄라이즈 cli 로 여러가지 기본 생성 진행 할수 있다 (글로벌)
   npm install -g sequelize-cli 

 

   sequelize init 
Created "config\config.json"
Successfully created models folder at "D:\nodePrj\models".
Successfully created migrations folder at "D:\nodePrj\migrations".
Successfully created seeders folder at "D:\nodePrj\seeders".

 

config.json

{
  "development": {
    "username": "root",
    "password": null,
    "database": "database_development",
    "host": "127.0.0.1",
    "dialect": "mysql",
    "operatorsAliases": false
  },
  "test": {
    "username": "root",
    "password": null,
    "database": "database_test",
    "host": "127.0.0.1",
    "dialect": "mysql",
    "operatorsAliases": false
  },
  "production": {
    "username": "root",
    "password": null,
    "database": "database_production",
    "host": "127.0.0.1",
    "dialect": "mysql",
    "operatorsAliases": false
  }
}




   ## 시퀄라이즈 ,포스트그레스 설치
   npm install sequelize pg --save

 

 완료 후 폴더 구조

기본 구조



   시퀄라이즈(sequelize)
    자바스크립트로 간단히 DB 제어가능하다
   ORM(Object-Relational Mapping) 이용
    객체와 관계형 데이터베이스의 관계를 매핑 해주는 도구
   Model Define
    Table의 Schema를 표현하는 수단
    모델을 정의한 이후에 실제로 올려 캐쉬하려면 import 해야된다.
    예)
    module.export = (sequlize, DataTypes) =>
       (
           sequelize.definde('user',{
                   email:{
                       type:DataTypes.STRING(40),
                       allowNull:false,
                       unique:true,
                   },
                   nick:{
                       type:DataTypes.STRING(15),
                       allowNull:false,
                   },
                   password:{
                       type:DataTypes.STRING(100),
                       allowNull:true,
                   },
                   provider:{
                       type:DataTypes.STRING(10),
                       allowNull:false,
                       defaultValue:'local',
                   },
                   snsId:{
                       type:DataTypes.STRING(30),
                       allowNull:true,
                   },
               },
               {
                   //테이블생성 후 자동으로 createdAt,updatedAt 컬럼생성
                   //생성된 시간과 수정된 시간 알수있다
                   timestamps: true,
                   // deletedAt 컬럼 생성
                   // 실제로 삭제하지 않고 삭제된 날짜가 deletedAt 추가
                   // find 작업해 deletedAt row 에 데이터가 있으면 제외 된다
                   // timestamps: true 일때만 사용가능
                   paranoid: true,
               }
           )
       );
​​

반응형
반응형

오랜만에 파이썬 코드를 실행하려고 하는데 

당췌 어떻게 하였는지 기억이 안남...

우선 파이썬 받아서 설치 

https://www.python.org/downloads/

 

Download Python

The official home of the Python Programming Language

www.python.org

 

vscode 에서 파이썬 코드 폴더 생성 

확장팩 설치

test.py  코드 생성

print("hello")
print(1+2+3+4+5)

 

 

마우스 오른쪽 버튼 클릭

run python terminal 

혹은 shift + enter 

그리고 import  해서 필요한 라이브러리 설치는

pip install 라이브러리이름 하면 바로 해결

 

다 했던건데 할때 마다 새로움

 

main 함수 시작 ( 프로그램 실행시 시작되는 함수)

def main(keyword):
	print(keyword)

if __name__ == '__main__':
	main('keyword테스트')

 

반응형
반응형

editLimit  항목이 -1 인데 고걸 풀어주면 됨 

 

반응형
반응형

this.dataSet 을 선택해야 함

dataSet 영역 동적(변수)처리 되어야함

var test ="db";
this.+test; ..안됨

변수 객체로
var test = {
 name = db
}
this.test.name; .. 안됨

eval("this."+test); ...잘됨

흐음

반응형
반응형

error Delete `␍` prettier/prettier

위 애러가 계속 발생..

eslint prettier  저장할때 수정 되도록 하는 옵션을 수없이 해봐도.. 안됨 

개짜증 !!!! 

구글 검색하여 찾음...

 

cd nuxt-app

yarn run lint

yarn run lint --fix - Fixes errors

yarn run lint - No more errors reported

끝 !!

 

참고 URL 

https://github.com/prettier/eslint-plugin-prettier/issues/114

반응형

+ Recent posts