2021년 11월 10일 수요일

Pyside2 기초

- QT: c/c++언어 기반의 gui 라이브러리

- PyQT: QT와 다른 회사서 만듬

- PySide2: QT 회사에서 만듬

-------------------------------

from PySide2.QtWidgets import *

# 기본 절차: (1) 응용프로그램(App) 시작, (2) window 생성, (3) layout 생성,
#           (4) 위젯(버턴, 라벨, ...) 만듬, (5) layout에 위젯 추가, 
#           (6) layout을 window에 넘김, (7) window 출력, (8) App 실행

app = QApplication([]) # 응용 프로그램 시작
window = QWidget() # window를 생성
layout = QVBoxLayout() # layout을 생성

button = QPushButton("I'm just a Button man") # button 하나 만듬
layout.addWidget(QLabel('Hello World!')) # label을 layout에 추가

layout.addWidget(button) # button을 layout에 추가
window.setLayout(layout) # layout을 window로 넘김

window.show() # window 화면 출력
app.exec_() # 응용 프로그램 실행


참고

1. Medium



2021년 9월 22일 수요일

Networks

- DHCP 서버는 유동 ip 주소를 자동으로 할당, 회수 해주는 서버

- DNS 서버는 숫자 ip와 문자 ip를 바꾸어 주는 서버

- 허브, 스위치, 라우터

  허브: 물리적 연결만 표현, 지능 없음. 들어오는 신호는 모든 연결부로 나감

  스위치: 허브와 유사. 지능 가짐, 입력 데이터는 필요한 곳으로만 나감

  라우터: 허브와 스위치는 내부망에 사용하나 라우터는 외부와 연결을 중계

     class A: 10.0.0.0~10.255.255.255
     class B: 172.16.0.0~172.31.255.255
     class C: 192.168.0.0~192.168.255.255
          사설망 주소는 모두 192.168.~  시작함.   

- 서브넷 마스크: ip 주소에 마스크를 씌워 네트워크 범위와 Host범위를 나누어줌

- 게이트웨이: iptime 공유기 주소

- DNS서버: 8.8.8.8(구글 DNS)



2021년 3월 28일 일요일

Ubuntu에서 Celery

 [설치]

$ sudo apt install python-celery-common -y
$ sudo apt-get install redis-server -y
$ pip install celery
$ pip install redis

[코딩]

# tasks.py
from celery import Celery

BROKER_URL = 'redis://localhost:6379/0'
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
app = Celery('tasks', broker=BROKER_URL, backend=CELERY_RESULT_BACKEND)

@app.task
def add(x, y):
  return x + y


[실행]

$ celery -A tasks worker --loglevel=info

[호출]

>>> from tasks import add
>>> add.delay(4, 4)
>>> result = add.delay(4, 4)
>>> result.ready()
>>> result.get()


[참고]

1. 비동기 처리




2021년 2월 22일 월요일

Django RestFramework 스터디

 (1) OneQ 웹 프레임워크 Django(python) 개념 정리

- 프레임워크: lib는 사용자가 호출. framework는 framework이 사용자 코드를 호출


(2) OneQ 웹 프레임워크 Django 실습


(3) [T24] 장고 01강_웹프로그래밍과 Django


-여기 까지는 DJango에 대한 부분으로 상기한 링크 자료만 학습하면 됨. 

아래는 Django REST framework에 대한 부분으로 실습 해보아야 됨.

- DJango 학습 시에 유의할 사항은 django project(1개만 있음) 하에서 여러 app이 존재할 수 있다는 것을 이해. 

app은 user관리, 결제처리, 등등... 필요에 따라 추가할 수 있으며 folder단위로 관리됨, 재 사용도 가능하다. 


(4) [이 부분이 가장 중요] REST API Guide - Productionizing a Machine Learning model by creating a REST API with Python Django and Django REST Framework 


(5) Django  REST framework Quickstart


[참고] 자주 나오는 Serializer 클래스는 Model 데이터를 json으로 바꾸는 역할을 한다. 이 클래스를 만들고 model 데이터를 이 클래스 객체에 던져주면 json으로 바뀌어서 리턴된다. 


[References]

1. Database 연동하기 - Model설계, Migration