반응형

전체 글 764

AI스피커 리뷰(장단점, 영어공부) - 구글 네스트 오디오 (Google Nest Audio)

목차 AI스피커 리뷰(장단점) - 구글 네스트 오디오 (Google Nest Audio) 현재 쿠팡에서 23% 할인된 가격(101,600원)으로 로켓직구 판매를 최저가로 하고 있습니다. 관심있으시면 링크를 통해 확인 해보시면 됩니다. 우선 가격은 기존의 Nest Audio mini (네스트 오디오 미니)와 Home Max(홈맥스)의 중간 가격으로 20년 말에 출시 하였습니다. 홈맥스에 비해 저렴하지만 구글 네스트 오디오는 여러 방면에서 발전하였습니다. 사이지는 크지만 디자인 형태가 심플해서 집 어디에도 어울립니다. 그리고 기존의 구글홈(Google home)보다 사운드 퀄리티가 많이 올라 갔습니다. 그리고 구글 홈 보다 빠르게 소리 명령(Voice Command)에 응답합니다. 영어로 명령을 내리기 때문..

[Python] Flask로 파일 업로드 웹페이지 만들기(werkzeug, files, upload)

목차 Flask 파일 업로드 방법 HTML의 enctype 속성의 값을 multipart/form-data 로 하고 올리고자 하는 파일을 form을 사용해서 특정 URL에 보냅니다. Flask에서는 해당 URL에서 request.files 객체를 사용해서 저장합니다. 파일을 올릴때 werkzeug 라이브러리의 secure_filename 함수를 사용하면 안정적으로 올릴 수 있습니다. werkzeug (벨져크)는 웹서버 interface를 설계할때 규약에 맞춰 설계할 수 있게 도와 주는 툴이라고 보시면 됩니다. 예전 버전은 아래와 같이 import 하였습니다. from werkzeug import secure_filename 하지만 최근 버젼을 사용한다면 아래와 같은 에러 메세지가 나옵니다. ImportE..

[Python] Flask 메세지창 만들기(로그인페이지 예제) (Alert, Flashing, Popup)

목차 Flask 메세지창 함수 사용법 (Message, Popup, Flash, Alert) 어떤 사이트를 들어갈 때 로그인이 안되거나 할때 팝업창에서 "로그인이 필요합니다." 라고 뜨면서 로그인페이지로 이동하는 경험을 대부분 해보았을 것으로 생각됩니다. 이처럼 메세지창을 flask의 flash 함수와 jinja2로 구현할 수 있습니다. flash(message, category) flash의 Syntax는 위와 같습니다. message 항목에 원하는 메세지를 입력 합니다. Category은 Option 항목으로 아래와 같은 타입들이 있습니다. error info wanring 차이는 메세지 창의 형태가 경고냐 에러냐에 따라 아이콘 모양 등이 변형 됩니다. {% with messages = get_fla..

[Python] Flask Redirect, Abort 함수 사용방법, HTTP 상태코드 보내기 예제(Status Code)

목차 Flask Redirect, Abort 함수(Function)이란? redirect 의 기능은 응답 객체를 보내고 사용자(Client)를 원하는 위치로 이동 시켜 줍니다. 함수 사용방법은 아래와 같습니다. redirect(location, statuscode, response) location : 보내고자 하는 위치 statuscode : 300번대 응답 코드 Default는 302번 response : 응답(Response) 시작에 필요한 파라미터 redirect를 일반적으로 url_for와 함께 사용하여 원하는 위치의 함수를 실행 해 줍니다. HTTP status code의 경우 3xx 번의 코드를 보낼 수 있습니다. 3XX는 Redirect 관련 응답입니다. Default로 사용되는 302번의..

[Python] 세션(Session)이란? flask에서 구현해보기(jinja2사용)

목차 세션(Session)이란? 앞서 포스트에서 쿠키(Cookie)에 대해 알아 보았습니다. 쿠키처럼 세션(Session)도 고객의 데이터이고 해당 데이터를 클라인트(Client) 브라우져(Browser)에 저장 해 놓습니다. 세션에서 보관하는 데이터는 flask에 의해 암호화 됩니다. 예를 들어 로그인한 상태에서 볼수 있는 페이지와 로그인이 되지 않은 상태에서 보이는 페이지 구분을 주고 싶을 때 세션에서 기록해서 Jinja2를 사용해서 해당 유져가 로그인 된 사용자인지 구분하여 다른 페이지를 보여 주는 것이 가능 합니다. Flask에서 세션(Session)을 사용하기 위해 필요한 선행 작업 app.secret_key = "My_Key" 앞서 세션이란 flask에서 암호화하여 정보를 client 브라우져..

[Python] Cookie란? flask로 쿠키 연동하기

목차 Cookie란? 쿠키란 사용자가 특정 서버에 접속했을 때의 정보를 사용자 본인 컴퓨터에 저장하여 사이트를 이용하는 동안 원할한 사용을 위해 해당 데이터를 불러서 사용합니다. Requst 객체는 Cookie 속성을 가지고 있습니다. Dicationary 형태로 저장되고 해당 값은 사용자(Client) 컴퓨터에 저장되는 것입니다. 예를 들어 사용자가 로그인을 하고 ID 값을 전 페이지에서 이용할 경우 매번 ID 값을 전달하는 것은 비효율 적입니다. 그래서 쿠키에 넣고 필요할 때 마다 불러서 사용할 수 있습니다. flask에서 쿠키 값을 사용하려면 아래와 같은 함수들이 필요합니다. make_response() set_cookie() request.cookies.get() make_response 함수와 ..

카테고리 없음 2021.11.22

[Python] Flask, Jinja2 form데이터 출력하기(for문, bootstrap 사용)

목차 [Python] Flask, Jinja2 데이터 출력하기 앞서 포스트에서는 if문을 사용해서 jinja2를 실행하였습니다. [Python] Flask와 Jinja2 사용하여 데이터 주고 받기 목차 [Python] Flask와 Jinja2 사용하여 데이터 주고 받기 앞서 Post 글을 통해서 웹페이지(HTML)에서 백엔드(Back end) 서버로 값을 보낼 때 GET, POST 와 같은 request를 이용해서 값을 전달하였습니다... scribblinganything.tistory.com 이번에는 jinja2를 사용해서 form으로 받은 id, pw 값을 다른 페이지에서 테이블로 출력하는 예제를 실행하겠습니다. 테이블은 bootstrap을 사용해서 꾸밀 생각 입니다. [Python] Flask, J..

[Python] Flask와 Jinja2 사용하여 데이터 주고 받기

목차 [Python] Flask와 Jinja2 사용하여 데이터 주고 받기 앞서 Post 글을 통해서 웹페이지(HTML)에서 백엔드(Back end) 서버로 값을 보낼 때 GET, POST 와 같은 request를 이용해서 값을 전달하였습니다. jinja2는 백엔드 여기서는 flask를 이용해서 돌리는 서버에서 웹페이지(Web page)로 값을 보낼 때 사용하는 툴입니다. jinja2는 파이썬에서 지원하는 동적 templating으로 사용이 간단합니다. jinja2 Syntax {{ flask에서 보낸 값 }} {% 문법(if,for) 사용 %} {# comment #} 단순히 flask에서 보낸 값을 받을 경우 첫번째 방식으로 HTML 문서에 선언하면 됩니다. 문법이 포함될 경우 2번째 줄과 같이 사용하..

액션캠 리뷰 - DJI Action 2

목차 액션캠 리뷰 - DJI Action 2 DJI 에서 오스모 액션 카메라 (Osmo Action Camera) 후속작으로 Action 2 를 출시 하였습니다. 기존의 오스모 디자인에서 180도 변경된 디자인을 가지고 왔습니다. 그리고 오스모(Osmo)라는 이름을 빼고 Action2로만 제품명을 변경하였습니다. 모듈의 연결을 자석으로 간편하게 할 수 있는 구조로 변경하였습니다. 위 그림에서 카메라 아래에 8개의 홀이 자석에 거치대는 부분입니다. 카메라 모듈 자체의 사이즈는 39mm x 39mm x 22mm 로 작습니다. 카메라에는 12MP 센서를 포함하여 4K 촬영을 가능하게 해줍니다. 렌즈는 155 도의 필드 뷰까지 허용해 줍니다. OLED 터치 스크린은 1.76인치로 "Gorilla Glass"로 ..

[Python] flask form 값 받기 (GET, POST)

목차 HTTP(Hypertext Transfer Protocol) 프로토콜 이란? HTTP는 인터넷 계층(OSI 7계층)에서 Application에 해당합니다. Request 방법에는 아래와 같이 9개의 방법이 있습니다. HTTP 패킷 안에 Request 정보가 같이 전달 됩니다. Request 종류 GET HEAD POST PUT DELETE CONNECT OPTIONS TRACE PATCH 실제 웹 서버를 설계하면 사용하는 request 는 GET, POST 크게 2개 정도만 사용합니다. 나머지 request에 대한 정보는 검색을 통해 확인하시면 됩니다. HTTP(Hypertext Transfer Protocol) GET GET는 말 그대로 데이터를 받기만 하고 다른 영향은 없습니다. 일반적으로 사용..

[Python] flask 주소 간에 이동 방법 (redirect, url_for)

목차 url_for 란? (인자값이 없는 경우) url_for는 flask 라이브러리에서 제공하는 함수입니다. syntax는 아래와 같습니다. url_for(url에 연결된 함수명, 전달할 인자값) url_for 함수는 함수값을 인자로 받습니다. 그리고 인자값(argument)도 보낼 수 있습니다. 이때 flask의 redirect를 연결해서 사용해야 합니다. 아래 예제를 보시면 쉽게 이해 됩니다. 예제는 인자 값이 없는 경우를 사용해보겠습니다. 코드>> from flask import Flask, redirect, url_for app = Flask(__name__) @app.route('/a_page') def go_a(): return 'This is a_page' @app.route('/c_pag..

[Python] flask 변수 사용 방법(Variables, string,int,float)

목차 [Python] flask 변수 사용 방법 flask 을 사용하여서 url 주소에 들어온 값을 변수(Variable)로 이용하여 파이썬 flask 내에서 해당 변수를 이용할 수가 있습니다. 기본 구조는 아래와 같이 괄호로 표기 합니다. 사용할 수 있는 변수 타입은 아래와 같이 총 3가지 입니다. 문자열(String) 정수(int) 실수(Float) 문자열을 default로 가져가기 때문에 앞서 기본 구조에서 문자열의 경우 변수타입을 입력 안해도 string으로 인식합니다. 하지만 정수와 실수는 변수 타입에 int나 float을 입력 해주어야 합니다. @app.route('/s/') def string_return(string_value): a_var = string_value print(a_var)..

[Python] flask 기본 예제, route(), run()함수 사용방법

목차 [Python] flask 기본 예제 : route, run 함수 이번 포스트는 flask를 사용해서 간단하게 web server를 동작시키는 방법과 결과를 web browser 를 통해 확인해 보겠습니다. 예제 코드를 살펴 보기 전에 route 와 run 함수에 대해 알아보겠습니다. app.route(rule, options) route 함수의 syntax는 위와 같습니다. 입력값으로 받는 rule은 url의 주소부분이고 options에는 rule 객체의 파라미터 값이 들어 갑니다. app.run(host, port, debug, options) run 함수의 syntax는 위와 같습니다. host에 들어갈 값은 flask를 동작시키면서 모니터링 하고 있을 아이피(IP)에 대한 정의 입니다. De..

블루투스 이어폰 리뷰 - Sony WF1000XM3 (쿠팡 53% 할인 판매, 무선이어폰)

목차 블루투스 이어폰 리뷰 - Sony WF1000XM3 소니(Sony)에서 WF1000XM4를 출시 한 이후 M3에 대한 가격이 대폭 할인되어 판매를 하고 있습니다. 현재 쿠팡에서 53% 할인된 가격 139,000원에 판매 하고 있습니다. WF1000XM3 는 19년 8월에 출시 한 후 노이즈 캔슬링 분야에서 타사에 비해 월등한 성능으로 자리매김을 하였습니다. 디자인에서 깔끔하고 근대적인 디자인을살렸고 배터리 용량도 기존의 제품에서 확장하였습니다. 블루투스 이어폰 리뷰 - Sony WF1000XM3 : 장단점 장점 강력해진 노이즈 캔슬링(Noise Cancellation) 음질 깔끔한 디자인 배터리 용량 단점 방수 지원 안됨 장비 하나만 연결됨 (Multi point 연결안됨) 무선 충전 지원 안됨 이..

[Python] Flask란? (WSGI, Werkzeug, Jinja2, Web framework)

목차 플라스크란? (What is Flask?) Flask란 파이썬에서 사용 가능한 웹 어플리케이션 프레임워크(Web Application Framework)입니다. Pocco라는 파이선개발자 그룹의 Armin Ronacher에 의해 개발되었습니다. Flask는 Werkzeug WSGI 과 Jinja2 엔진에 의해 동작합니다. 가자 많이 사용하는 경우는 웹서버를 동작시킬 때 Backend를 동작시키는 엔진으로 생각하시면 됩니다. 파이썬에서 Flask를 사용해서 Backend 개발을 할 수 있습니다. 웹 어플리케이션 프레임워크(Web Application Framework) 란? 웹 어플리케이션 프레임워크(Web Application Framework)은 웹 엔진을 설계할 때 필요한 라이브러리를 모아놓은 ..

[Python] Pandas 이동평균 함수 사용법 (Rolling)

목차 [Python] Pandas 이동평균 함수 사용법 (Rolling) 파이썬의 판다스에서 제공하는 함수 중에 Rolling이라는 함수가 있습니다. 테이블에 많은 데이터가 있고 전체에 대한 평균이나 최소 최대값을 알고 싶은 것이아니라 Window 창이 이동하듯이 X축의 창을 이동하면서 Y값의 평균 최소 최대 값을 구해야 하는 경우들이 있습니다. 일반적인 코딩은 for문을 여러번 사용하여 복잡하게 계산하지만 Pandas rolling을 사용하게 되면 간단하게 이동하는 윈도우의 수치결과를 얻을 수 있습니다. 참고로 앞서 포스트에서 rolling 함수를 사용해서 30일간 이동 평균 Window를 이동시키면서 코스피 고점 대비 하락률을 계산하고 그리는 예제를 하였습니다. 해당 내용이 궁금하시면 아래 링크 참조..

스마트 시계 리뷰 - 레노버 스마트 클락(Lenovo Smart Clock)

목차 레노버 스마트 클락(Lenovo Smart Clock) 리뷰 현재 쿠팡에서 레노버 스마트 시계를 34% 할인된 가격에(82,030원)판매하고 있습니다. 해외 직구 이기 때문에 통관 번호가필요합니다. 만일 간단한 기능 정도 만을 원한다면 레노버 스마트 시계가 현재 할인가격을 생각한다면 탁월한 선택이 될 겁니다. 사이즈는 79.8mm x 113.88mm x 79.2mm 일반적으로 탁자에 올려 놓는 시계 사이즈를 생각하시면 됩니다. 구글 어시스턴트(Google Assitance)에 스마트 클락을 연결하시면 "Hey Google"로 연결해서 음악 재생, 스케쥴 관리 등을 할수 있습니다. 단점은 해외 직구제품이라 영어로 얘기해야 합니다. 하지만 단점이 될 수 있는 부분은 영어 공부를 한다고 생각하시면 구글 ..

[Python] 네이버 금융 주식 정보 가져오기 (ex. 삼성전자)

목차 [Python] 네이버 금융 주식 정보 가져오기 : pykrx 모듈 소개 BS4나 Selenium이나 Pandas의 html read 함수를 사용해서 주식 정보를 가져오려고 시도 했다면 그 과정이 만만치 않음을 알 수 있습니다. pykrx 모듈은 네이버금융(Naver finance)와 KRX 정보 데이터 시스템에서 주가 정보를 지속적으로 스크래핑(scraping) 하고 Github에서 업데이트 해줍니다. 해당 API를 사용하면 단 한줄로 주가 정보를 쉽게 가져 올 수 있습니다. pykrx의 상세 사용법을 알고 싶다면 위에 링크를 클릭해서 확인하시면 됩니다. pykrx를 사용하기 위해서는 아래와 같이 설치를 해주어야 합니다. pip install pykrx [Python] 네이버 금융 주식 정보 가져..

[Python] yfinance로 고점대비 하락율 그래프 그리기 (코스피, 코스닥, MDD)

목차 [Python] yfinance로 고점 대비 하락율 그래프 그리기 : 배경 지식 yfinance 는 야후파이낸스(Yahoo finance)에 나와 있는 데이터를 파이썬으로 쉽게 이용할 수 있게 만들어진 라이브러리 입니다. 이번 포스트의 목적은 yfinance를 사용해서 코스피(Kospi) 의 1년 간에 종가 데이터를 가져와서 고정 대비 하락율을 계산하는 MDD(Maximum Draw Down)와 DD(Draw Down)을 구해서 matplotlib 라이브러리를 사용해서 그래프로 표현할 생각 입니다. 개인적으로 주식을 하는데 MDD가 6프로 이상 떨어질때 주식을 구입하기 위해 해당 코드를 작성 했습니다. 필요하신 분들은 아래 코드를 통해 성투하시길 바랍니다 ㅎ 앞서 언급한 라이브러리에 대해 자세히 알..

[Javascript] Jquery HTML, TEXT, Atrribute(속성) 변경하기

목차 [Javascript] Jquery HTML 내용 변경하기 javascript로 만든 Jquery에서 html(바꿀내용)함수를 사용하여서 기존의 내용을 변경할 수 있습니다. 우선 jquery 사용을 위해서 에 아래와 같이 선언해주어야 합니다. 사이에 아래와 같이 함수를 정의 합니다. 3번 라인 : #set_btn 이라는 아이디를 가진 버튼을 클릭할 경우 아래 함수를 실행합니다. 4번 라인 : #id_id의 html 구문을 괄호안의 값으로 변경 합니다. 전체 코드>> 나는누굴까? Set Html 결과>> [Javascript] Jquery TEXT(텍스트) 내용 변경하기 이번에는 앞서 동일 예제의 라벨의 텍스트값만 변경해보겠습니다. 구성은 동일하고 앞서 전체 코드에서 19~23번 라인만 아래와 같이 ..

반응형