๊ธฐ๋ณธ ์ฝ˜ํ…์ธ ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

[ubuntu] FLASK_APP

[ubuntu] FLASK_APP

Development/Debugging

๐Ÿž

FLASK_ENV=development FLASK_APP = app.py flask run zsh: command not found: FLASK_APP

✔️

FLASK_ENV=development FLASK_APP=app.py flask run

๋„์–ด์“ฐ๊ธฐ๋ฅผ ํ•ด์„œ ์ €๋Ÿฐ ์˜ค๋ฅ˜๋ฅผ ์ถœ๋ ฅํ• ์ˆ˜๋„ ์žˆ๊ตฌ๋‚˜ ๐Ÿ˜ฒ

์ฐธ๊ณ  : 108p์—์„œ FLASK๊ฐ€ FKAS๋กœ ์˜คํƒ€๋‚˜์žˆ๋‹ค.

from http://hee-stories.tistory.com/18 by ccl(A) rewrite - 2020-03-24 17:20:11

๋Œ“๊ธ€

์ด ๋ธ”๋กœ๊ทธ์˜ ์ธ๊ธฐ ๊ฒŒ์‹œ๋ฌผ

Coupang CS Systems ์ฑ„์šฉ ์ •๋ณด: ์ฟ ํŒก ์šด์šฉ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ• ํ•˜๊ณ ...

Coupang CS Systems ์ฑ„์šฉ ์ •๋ณด: ์ฟ ํŒก ์šด์šฉ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ• ํ•˜๊ณ ... Global Operation Technology๋Š” ์ƒํ’ˆ์„ ๊ณ ๊ฐ์—๊ฒŒ ์ง€์—ฐ ์—†์ด ์ „๋‹ฌ ๋  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์กฐ์ง์ž…๋‹ˆ๋‹ค. 1997๋…„, ์ดˆ์ฐฝ๊ธฐ ์•„๋งˆ์กด์— ์ž…์‚ฌํ•œ๋‹ค๊ณ  ์ƒ์ƒํ•ด๋ณด์„ธ์š”. ๊ทธ ๋‹น์‹œ ๋ˆ„๊ตฌ๋„ e-commerce ์‚ฐ์—…์ด, ์•„๋งˆ์กด์ด๋ผ๋Š” ํšŒ์‚ฌ๊ฐ€ ์ง€๊ธˆ์ฒ˜๋Ÿผ ์„ฑ์žฅํ•˜๋ฆฌ๋ผ๊ณ ๋Š” ์ƒ๊ฐํ•˜์ง€ ๋ชปํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ๊ทธ ๋‹น์‹œ ์•„๋งˆ์กด์„ ์„ ํƒํ•œ ์‚ฌ๋žŒ๋“ค์€ e-commerce ์‚ฐ์—…์„ ๊ฐœ์ฒ™ํ–ˆ๊ณ , ์•„๋งˆ์กด์„ ์„ธ๊ณ„์ ์ธ ํšŒ์‚ฌ๋กœ ์„ฑ์žฅ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค. 2016๋…„ '์•„์‹œ์•„์˜ ์•„๋งˆ์กด'์œผ๋กœ ์„ฑ์žฅํ•˜๊ณ  ์žˆ๋Š” ์ฟ ํŒก, ๋‹น์‹ ์—๊ฒŒ ๋งค๋ ฅ์ ์ธ ์„ ํƒ์ด ์•„๋‹๊นŒ์š”? Global Operation Technology: eCommerce์—์„œ ์ฃผ๋ฌธ์„ ํ•œ ๋’ค ๋ฒŒ์–ด์ง€๋Š” ์ƒํ™ฉ์— ๋Œ€ํ•ด์„œ ํ˜ธ๊ธฐ์‹ฌ์„ ๊ฐ€์ ธ๋ณด์‹  ์ ์ด ์žˆ๋‚˜์š”? Global Operation Technology๋Š” ์ƒํ’ˆ์„ ๊ณ ๊ฐ์—๊ฒŒ ์ง€์—ฐ ์—†์ด ์ „๋‹ฌ ๋  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์กฐ์ง์ž…๋‹ˆ๋‹ค. ๋งค์ผ ์ตœ์ฒจ๋‹จ ์†Œํ”„ํŠธ์›จ์–ด ๊ธฐ์ˆ ์„ ์ด์šฉํ•ด ๊ณ ๊ฐ์˜ ์ฃผ๋ฌธ์„ ๋ฐ›๊ณ  ์ƒํ’ˆ์„ ์–ด๋Š ์ฐฝ๊ณ ์—์„œ ์ถœ๊ณ  ์‹œํ‚ฌ์ง€, ํฌ์žฅ์„ ํ•˜๋‚˜์˜ ๋ฐ•์Šค ๋˜๋Š” ์—ฌ๋Ÿฌ ๊ฐœ๋กœ ๋‚˜๋ˆŒ ๊ฒƒ์ธ์ง€, ์–ด๋–ค ๋ฐฐ์†ก ๋ฃจํŠธ๋ฅผ ์„ ํƒํ•˜๊ณ  ์–ด๋–ป๊ฒŒ ๊ณ ๊ฐ์—๊ฒŒ ๋ฐฐ์†ก ์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ค„์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์‹œ์Šคํ…œ๊ณผ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœ ํ•ฉ๋‹ˆ๋‹ค. What Global Operations Technology does: CS and C-Returns System ์ ๊ทน์  ๊ณ ๊ฐ์„œ๋น„์Šค๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ณ ๊ฐ์˜ ๋ชฉ์†Œ๋ฆฌ๋ฅผ ํ†ตํ•ด ๋Š์ž„์—†์ด ๊ณ ๊ฐ ์—๊ฒŒ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  Andon ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด ๊ณ ๊ฐ์˜ ๋ชฉ์†Œ๋ฆฌ๋ฅผ ํšŒ์‚ฌ ์ „์ฒด์™€ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ณ ๊ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ๊ณผ ๊ตฌ๋งค ์ดํ›„ ๋ฒŒ์–ด์งˆ ์ˆ˜ ์žˆ๋Š” ๊ณ ๊ฐ ๋ฌธ์ œ๋ฅผ ์‚ฌ์ „์— ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•œ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์„ ํ†ตํ•ด ๋ฏธ๋ž˜์˜ ์ƒํ™ฉ์„ ์˜ˆ์ธก ํ•ฉ๋‹ˆ๋‹ค. Tranportation System TSP (Traveling Salesman Problem) ์™€ ๊ฐ™์€ CS ์ตœ์ ํ™” ๊ด€๋ฆฌ ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค.๋ฐฐ์†ก ๋ฌผํ’ˆ์˜ ์‹ค์‹œ๊ฐ„ ์ถ”์ , 3P ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํ†ตํ•ฉ, ๊ฐ ๋ฐฐ์†ก ๋ฃจํŠธ์— ํ• ๋‹น๋˜๋Š” ๋ฌผ๋Ÿ‰ ์˜ˆ์ธกํ•˜๊ณ  T...

์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ(Spring Framework)๋ž€?

์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ(Spring Framework)๋ž€? "์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋Š ์Šคํ”„๋ง ์›น ํ”„๋กœ์ ํŠธ"์ฑ…์„ ๊ฐœ์ธ ๊ณต๋ถ€ ํ›„ ์ž๋ฃŒ๋ฅผ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์ด๊ธฐ์— ๋‚ด์šฉ ์ƒ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. '์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ'๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋ง ํ•  ์ˆ˜ ์žˆ๊ณ , ํ•ด๋‹น ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํŠน์ง• ๋ฐ ์žฅ๋‹จ์ ์„ ์„ค๋ช…ํ•  ์ˆ˜ ์ž‡๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœํ•ฉ๋‹ˆ๋‹ค. 1. ํ”„๋ ˆ์ž„์›Œํฌ๋ž€? 2. ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ "๋ผˆ๋Œ€๋‚˜ ๊ทผ๊ฐ„์„ ์ด๋ฃจ๋Š” ์ฝ”๋“œ๋“ค์˜ ๋ฌถ์Œ" Spring(Java์˜ ์›น ํ”„๋ ˆ์ž„์›Œํฌ), Django(Python์˜ ์›น ํ”„๋ ˆ์ž„์›Œํฌ), Flask(Python์˜ ๋งˆ์ดํฌ๋กœ ์›น ํ”„๋ ˆ์ž„์›Œํฌ), Ruby on rails(Ruby์˜ ์›น ํ”„๋ ˆ์ž„์›Œํฌ), .NET Framework, Node.js(Express.js ํ”„๋ ˆ์ž„์›Œํฌ) ๋“ฑ๋“ฑ. ํ”„๋ ˆ์ž„์›Œ ์›Œํฌ ์ข…๋ฅ˜ : 3. ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค. 2. ์ผ์ •ํ•œ ํ’ˆ์งˆ์ด ๋ณด์žฅ๋œ ๊ฒฐ๊ณผ๋ฌผ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. 1. ์‹ค๋ ฅ์ด ๋ถ€์กฑํ•œ ๊ฐœ๋ฐœ์ž๋ผ ํ—ˆ๋‹ค๋Ÿฌ๋„ ๋ฐ˜์ฏค ์™„์„ฑํ•œ ์ƒํƒœ์—์„œ ํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ์กฐ๋ฆฝํ•˜๋Š” ํ˜•ํƒœ์˜ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํฌ๊ฒŒ ๋‹ค์Œ 3๊ฐ€์ง€์˜ ์žฅ์  ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ ์ด์šฉ ํ•œ๋‹ค๋Š” ์˜๋ฏธ : ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธฐ๋ณธ ํ๋ฆ„์ด๋‚˜ ๊ตฌ์กฐ๋ฅผ ์ •ํ•˜๊ณ , ๋ชจ๋“  ํŒ€์›์ด ์ด ๊ตฌ์กฐ์— ์ž์‹ ์˜ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐœ๋ฐœ ํ•œ๋‹ค. => ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ์˜ ๊ฒฐ๊ณผ๋ฌผ์ด 'ํ”„๋ ˆ์ž„์›Œํฌ' ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ๊ฐ ๊ฐœ๊ฐœ์ธ์˜ ๋Šฅ๋ ฅ์ฐจ์ด๊ฐ€ ํฌ๊ณ , ๋”ฐ๋ผ์„œ ๊ฐœ๋ฐœ์ž ๊ตฌ์„ฑ์— ๋”ฐ๋ผ์„œ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฐ๊ณผ ์ฐจ์ด๊ฐ€ ํฝ๋‹ˆ๋‹ค. 2. ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ(Spring Framework) ์ž๋ฐ” ํ”Œ๋žซํผ์„ ์œ„ํ•œ ์˜คํ”ˆ ์†Œ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์Šคํ”„๋ง์˜ ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ๋“ค์˜ ํฌ์šฉ ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค์‹œ๋งํ•ด ๊ธฐ๋ณธ ๋ผˆ๋Œ€๋ฅผ ํ”๋“ค์ง€ ์•Š๊ณ , ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ˜ผ์šฉํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ๋Œ€ํ•œ๋ฏผ๊ตญ ๊ณต๊ณต๊ธฐ๊ด€์˜ ์›น ์„œ๋น„์Šค ๊ฐœ๋ฐœ ์‹œ ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•˜๊ณ  ์žˆ๋Š” ์ „์ž์ •๋ถ€ ํ‘œ์ค€ํ”„๋ ˆ์ž„์›Œํฌ ์ด๋‹ค. ์—ฌ๋Ÿฌ ํ”„๋ ˆ์ž„์›Œํฌ๋“ค ์ค‘ ์ž๋ฐ”(JAV...

[GCP] Flask๋กœ TF 2.0 MNIST ๋ชจ๋ธ ์„œ๋น™ํ•˜๊ธฐ

[GCP] Flask๋กœ TF 2.0 MNIST ๋ชจ๋ธ ์„œ๋น™ํ•˜๊ธฐ Google Cloud Platform ์šฐ์„  TensorFlow 2.0์„ ์„ค์น˜ํ•˜์ž. ๋จธ์‹ ์— ์ง์ ‘ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ๋„์ปค๋ฅผ ๋‹ค์šด๋ฐ›์•„ ์‚ฌ์šฉ, ํ˜น์€ ๊ตฌ๊ธ€ colab์„ ํ™œ์šฉ( https://www.tensorflow.org/install)ํ•˜๋ฉด ๋˜๋Š”๋ฐ, TensorFlow์—์„œ ๊ถŒ์žฅํ•˜๋Š”๋Œ€๋กœ ๋จธ์‹ ์— VirtualEnv๋ฅผ ํ™œ์šฉํ•ด์„œ ์„ค์น˜ํ•˜์ž ( https://www.tensorflow.org/install/pip). ์„ค์น˜ํ•˜๋Š” ๊น€์— Flask๋„ ๊ฐ™์ด ์„ค์น˜ํ•ด๋ณด์ž. Compute Machine ํ•˜๋‚˜๋ฅผ ์ƒ์„ฑ(ํฌ๊ฒŒ ๋ถ€๋‹ด ์—†๋Š” ์˜ˆ์ œ๋ผ g1 instance)ํ•˜๊ณ , SSH๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ์‹คํ–‰ํ•˜๋ฉด ๋œ๋‹ค. $ sudo apt update $ sudo apt install python3-dev python3-pip $ sudo pip3 install -U virtualenv # ๊ตณ์ด system-wide๋กœ flask๋ฅผ ์„ค์น˜ํ•  ํ•„์š”๋Š” ์—†์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ํ–ˆ๋‹ค. $ sudo pip3 install flask $ sudo pip3 install flask-restful # virtualenv ํ™˜๊ฒฝ์—์„œ tensorflow 2.0 ์„ค์น˜ $ virtualenv --system-site-packages -p python3 ./venv $ source ./venv/bin/activate # sh, bash, ksh, or zsh (venv) $ pip install --upgrade pip (venv) $ pip install --upgrade tensorflow ๋ชจ๋“  ํ™˜๊ฒฝ์ด ๋งˆ๋ จ๋˜์—ˆ์œผ๋‹ˆ, ์šฐ์„  MNIST ๋ชจ๋ธ์„ TF 2.0์œผ๋กœ Trainingํ•˜์—ฌ ๋ชจ๋ธ์„ Save ํ•ด ๋‘์ž(tf_mnist_train.py). ๋Œ€๋žต 99% ์ด์ƒ ์ •ํ™•๋„๊ฐ€ ๋‚˜์˜จ๋‹ค! import tensorflow as tf import numpy as np # ํ•™์Šต ๋ฐ์ดํ„ฐ load ((train_data, train_label), (eval_data, eval_label)) = tf....