본문 바로가기
AI 웹개발반/웹개발, 파이썬 기초

230329-0402 웹개발, 파이썬기초 4주차

by 째깍단 2023. 4. 2.

4주차강의 듣기 기록..

 

 

웹개발 4-5주차

더보기

 *나머지는 반복하며 익숙해지는 과정이라 한 번만 적음

 

프레임워크   =큰 라이브러리..와 결이 같다

어느정도 만들어져있는 묶음

 

Flask 프레임워크를 사용해볼 것임

01파일에 app.py파일만들고 가상환경 설정

 - app.py라고 한 이유는 가장 기본이 될 파일을 기본적으로 app.py로 이름짓기 때문

 

**주의점

@app.route('/mypage')
def mypage():   #여기를 안바꾸면 home 정의가 2개가되어서 서버를 열 수가 없다
    return 'This is my Page!'
    =return '<button>버튼입니다</button>'   #이걸 추가하면 버튼이 생겨!

 

 

!프론트엔드와 백엔드를 어떻게 연결하는가!

 

flask를 불러온 파일이 있는 위치에 templates 폴더 > index.html 만들기

 

import Flask, render_template_string 

+ return  render_template('index.html') #mypage 함수부분에 return함

+ index.html의 body에 추가하고자 하는 내용들을 넣는다

 

=> 이제 localhost:0000/mypage 로 들어가면 index.html에 작성한 내용들이 뜬다

가져오는 과정 :

로컬에서 /mypage 서버에 요청 -> flask 프레임워크에서 /mypage를 가져옴 -> 그 안에서 index.html을 return해주니까 -> index.html이 반영된 페이지가 뜨는 것!

 

 

API를 요청하고 가져오는 방식에는 2가지가 있다

GET  ?하고 해당 코드를 가져오는 것(주소창에서 url, ?뒤에 key=value값 전달)

    통상적으로 read, 정보를 조회할 때 사용

POST 컴퓨터 끼리만 알아들을 수 있는 언어로 작성

    create, update, delete 로 사용할 수 있음

 

 

클라이언트 요청에 따라 데이터를 받는 방법

fetch를 사용해서 데이터를 받는다. 

button을 누르면(클라이언트 요청넣기) -> api를 요청(컴퓨터간 통신) -> console.log에 요청한 json을 반환(data매개변수에다 가져온 데이터를 넣어준 것)

 

 

post/get으로 주문 저장하고 보여주기의 순서

1)데이터 명세 확인

 

2)클라이언트, 서버 연결 확인

 

3)서버부터 만들기

 >Pymongo 연결(내 url넣기)하여 db기록, 클라이언트에서 요청하면 가져올 수 있도록!

 

4)클라이언트 만들기

 

Post 사용:

 html, 데이터를 저장해주는 function save_order에 jQuery로 사용자의 인풋값을 담아올 수 있도록 한다.

function save_order 에  let name = $('#name').val()

 

 alert(data["msg"]); #저장 완료 alert 뜬 후

window.location.reload() #해당 페이지 Reload하여 리프레시함.

 

Get 사용:

사용자의 입력값을 저장한 db에서 해당 자료 요청, 요청내용을 띄워준다

show_order에

let rows = data['result']
rows.forEach((a) => {
    console.log(a) //콘솔에서 먼저 출력확인
    let name = a['name']  #db에서 받아온 자료를 각각 불러옴
    let address = a['address']
    let size = a['size']

    let temp_html = `<tr>
                        <td>${name}</td>   #값을 받아와서 order-box = 웹페이지에서 띄워주는 부분에 넣어줌
                        <td>${address}</td>
                        <td>${size}</td>
                    <tr>`
    $('order-box').append(temp_html)
    })

+ $('order-box').empty()로 기본값들을 지워줄 수 있음

 

5)완성 확인하기

 localhost페이지에 가서 잘 작동하는지 확인하기!

이후에 배포하면 다른 사람들과 함께 사용하는 페이지를 만들 수 있다^^

 

* ; 줄이 끝났다는 표시인데 사용하고 안하고에 차이는 없당 

 

** 내가 구현하고자 하는 잘 모르겠는 기능을 먼저구현하고, 아는 것을 구현하기

    무엇때문에 오류가 나는지 알 수 없기 때문에 모르는 부분을 먼저 구현해서 문제를 해결하고, 아는 것을 구현해 덧붙인다.

 

 

 

파이썬 4주차

더보기
백 테스팅 전략


!pip install yfinance pandas-datareader finance-datareader


해당 라이브러리들을 import하고
df = fdr.DataReader('회사코드','연도')

df.plot(y=['보고자하는 부분'])

.plot으로 그래프를 출력할 수 있다
.figsize=[가로, 세로] 그래프 크기 조절
.grid = True 로 격자나타내기
.tail(일 수) 를 df에 붙여서 원하는 일 수만큼만 출력하기도 가능하다


판다스 데이터를 가져오고, 그중 보고싶은 부분을 골라 넣고 출력하면 여러 회사의 데이터를 함께 보기도 가능!
df = pd.DataFrame()
df['Samsung'] = df_1['Change']
df['LG'] = df_2['Change']


df['ma'] = df.rolling(3).mean()

.rolling() 묶어서 보겠다!
평균값이.mean()


결과 값에 .shift(1)를 붙여서 한줄 내려 3일 평균과 다음날 종가를 비교..

sell과 buy가 바뀌는 시점이 중요함..

마지막 액션을 팔 수 있도록 설정해야 수익률을 측정할 수 있다.

회사코드, 이평값을 뽑을 날짜를 입력하는 함수를 정의하고
장. 단기 이평선을 다시 plot으로 뽑으면 끝!

 

 

 

'AI 웹개발반 > 웹개발, 파이썬 기초' 카테고리의 다른 글

[python] for-else문 사용하기  (0) 2023.08.15
230324 웹개발/파이썬 3주차  (1) 2023.03.24
230313 웹개발 2주차  (0) 2023.03.14
230308 웹개발 1주차  (0) 2023.03.08
230306 개발 공부 시작  (0) 2023.03.06