๊ด€๋ฆฌ ๋ฉ”๋‰ด

bom's happy life

๊ธฐ๋ณธ ์ด๋ก  ๋ณต์Šต ๋ณธ๋ฌธ

Deveolpment Study๐Ÿ—‚๏ธ

๊ธฐ๋ณธ ์ด๋ก  ๋ณต์Šต

bompeach 2022. 6. 29. 15:44

(์ŠคํŒŒ๋ฅดํƒ€ ํ”Œ๋Ÿฌ์Šค๋ฐ˜ ์‹œ์ž‘ ์ด๋ก  ๋ณต์Šต)

 

์›น์„œ๋น„์Šค์˜ ๋™์ž‘ ์›๋ฆฌ

# ํด๋ผ์ด์–ธํŠธ๋Š” ์š”์ฒญํ•˜๋Š” ์ชฝ, ์„œ๋ฒ„๋Š” ์š”์ฒญ์„ ๋ฐ›์•„์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๋Œ๋ ค์ฃผ๋Š” ์ชฝ์ด๋‹ค.

 

๋ณต์Šต์‹œ์ž‘!

 

1. ์„œ๋ฒ„๋Š” ํŠน์ˆ˜ํ•œ ์ปดํ“จํ„ฐ์ผ๊นŒ?

 

# ์•„๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” ์ปดํ“จํ„ฐ์˜ '์—ญํ• '์ด๋‹ค. ์‚ฌ๋žŒ๋„ ์—ฌ๋Ÿฌ ์ง์—…์„ ๊ฐ–์„ ์ˆ˜ ์žˆ๋Š” ๊ฑฐ์„œ๋Ÿผ ์ปดํ“จํ„ฐ๋„ ์—ฌ๋Ÿฌ ์—ญํ• ์„ ๋งก์„ ์ˆ˜ ์žˆ๋‹ค. 

db๋„ ๋Œ๋ฆฌ๊ณ , ์„œ๋ฒ„๋„ ๋Œ๋ฆฌ๊ณ , ๊ฒŒ์ž„๋„ ํ•˜๋“ฏ์ด.

# ์„œ๋ฒ„๋Š” ์š”์ฒญ์„ ๋ฐ›์œผ๋ฉด HTML + CSS + Javascript ํŒŒ์ผ์„ ์ฃผ๊ธฐ๋„ ํ•˜๊ณ  JSON ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ธฐ๋„ ํ•œ๋‹ค.

 

โ–ท JSON ํ˜•์‹์œผ๋กœ ์ƒ๊ธด ๋ฐ์ดํ„ฐ์˜ ์˜ˆ์‹œ

(ex. ์„œ์šธ์‹œ ๋ฏธ์„ธ๋จผ์ง€ ๋ฐ์ดํ„ฐ! ํƒ€๊ณ  →ํƒ€๊ณ  ๋“ค์–ด๊ฐ€์„œ ๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ.)

JSONํ˜•์‹ ๋ฐ์ดํ„ฐ ์˜ˆ์‹œ

 

2. API๋ž€?

 

#์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ๋ฐ›๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๋šซ์–ด๋†“์€ '์ฐฝ๊ตฌ'

#์š”์ฒญ์—๋Š” ์ฃผ๋กœ POST(์ฃผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ), GET(์ฃผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ) ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํƒ€์ž…์ด ์žˆ๋‹ค.

 

 

3. HTML, CSS, JS๋Š” ๊ฐ๊ฐ ์–ด๋–ค ์—ญํ• ์„ ํ•˜์ง€?

 

# HTML์€ ๋ผˆ๋Œ€ / CSS๋Š” ๊พธ๋ฏธ๊ธฐ / Javascript๋Š” ์›€์ง์ด๊ฒŒ ํ•˜๋Š” ๊ฒƒ.

# CSS๋กœ ๊พธ๋ฐ€ ๋•Œ๋Š” ์ด๋ฆ„ํ‘œ๋ฅผ ๋ถ™์—ฌ์ฃผ๊ณ (class="ํด๋ž˜์Šค๋ช…"), <style></style>์•ˆ์— .ํด๋ž˜์Šค๋ช… ์œผ๋กœ ์“ด๋‹ค.

 

 

4. JQuery๋ž€?

 

# JQuery๋Š” Javascript์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, HTML์กฐ์ž‘์„ ์‰ฝ๊ฒŒ ํ•˜๋Š” ์นœ๊ตฌ.

# ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋‚จ์ด ๋งŒ๋“ค์–ด ๋†“์€ ๊ฐ–๋‹ค์“ฐ๊ธฐ ์ข‹์€ ์ฝ”๋“œ์ด๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ์ž„ํฌํŠธ๋ฅผ ํ•ด์•ผํ•œ๋‹ค.

# id๋กœ ์ด๋ฆ„ํ‘œ๋ฅผ ๋ถ™์—ฌ์ฃผ๊ณ  (id="์•„์ด๋””"), $('#์•„์ด๋””').val()๊ณผ ๊ฐ™์ด input ๋ฐ•์Šค์˜ ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

 

 

5. Ajax๋ž€?

 

# Ajax๋Š” ์„œ๋ฒ„ ํ†ต์‹ ์„ ์œ„ํ•ด ์“ฐ์ด๋Š” ์นœ๊ตฌ์ด๋‹ค. ์•„๋ž˜์ฒ˜๋Ÿผ ์ƒ๊ฒผ๋‹ค!

$.ajax({
    type: "GET",
    url: "์š”์ฒญํ•  URL",
    data: {},
    success: function (response) {
        // ์„œ๋ฒ„๊ฐ€ ์ค€ ๋ฐ์ดํ„ฐ๊ฐ€ response์— ๋‹ด๊น๋‹ˆ๋‹ค!
    }
})

 

 

6. Flask๋ž€?

 

# ์„œ๋ฒ„๋ฅผ ๋งŒ๋“œ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค! ์„œ๋ฒ„๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๋„ˆ๋ฌด ์–ด๋ ต๋‹ค.

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ˆ„๊ตฐ๊ฐ€ ๋งŒ๋“ค์–ด๋‘” ํ‹€ ์•ˆ์—์„œ ์ฝ”๋”ฉํ•˜๋Š” ๊ฒƒ. ์•„๋ž˜์ฝ”๋“œ ์ฐธ๊ณ !

 

from flask import Flask, render_template, jsonify, request
app = Flask(__name__)

@app.route('/')
def home():
    return render_template('index.html')

if __name__ == '__main__':
    app.run('0.0.0.0', port=5000, debug=True)

(์œ„์— ์ฝ”๋“œ๋ฅผ run ํ•˜๊ณ  http://localhost:5000/ ์œผ๋กœ ์ ‘์†ํ•˜๋ฉด index.html ํŽ˜์ด์ง€๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.)