์›น

    [์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ] ๐Ÿ’ป ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ - 5์ฃผ์ฐจ (2) (ๅฎŒ)

    [์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ] ๐Ÿ’ป ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ - 5์ฃผ์ฐจ (2) (ๅฎŒ)

    ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ€•1์ฃผ์ฐจโ€• ใ€‹ ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ€•2์ฃผ์ฐจโ€• ใ€‹ ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ€•3์ฃผ์ฐจโ€• ใ€‹ ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ”4์ฃผ์ฐจโ” ใ€‹ ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ”€5์ฃผ์ฐจ (1)โ”€ ใ€‹ [ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ ] - ๊ธฐ์กด ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ ๊ฒฐ๊ณผ๋ฌผ์„ ํ™•์ธ ํ•˜๋ ค๋ฉด app.py๋ฅผ ์‹คํ–‰์‹œ์ผœ flask ๋ชจ๋“ˆ์„ ํ†ตํ•ด ์„œ๋ฒ„๋ฅผ ์ง์ ‘ ๊ตฌ๋™ํ•˜์—ฌ ํ™•์ธ ํ•˜์˜€์Œ. - ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ(์›น ์„œ๋น„์Šค ๋Ÿฐ์นญ)๋ฅผ ์œ„ํ•ด์„œ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์‚ฌ์šฉ๋˜์ง€๋งŒ ์ด๋ฒˆ์—” AWS ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ๋ฐฐํฌ. [ IP ์ฃผ์†Œ์™€ ํฌํŠธ(PORT) ] - DNS (Domain Name System) ๋”๋ณด๊ธฐ - ์‚ฌ์‹ค ์šฐ๋ฆฌ๋Š” ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์›น ์„œ๋น„์Šค์— ์ ‘์†ํ•  ๋•Œ ๋„๋ฉ”์ธ(URL)์ด ์•„๋‹Œ IP์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ์ ‘์† ํ•˜๊ณ  ์žˆ์Œ. -..

    [์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ] ๐Ÿ’ป ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ - 5์ฃผ์ฐจ (1)

    [์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ] ๐Ÿ’ป ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ - 5์ฃผ์ฐจ (1)

    ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ€•1์ฃผ์ฐจโ€• ใ€‹ ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ€•2์ฃผ์ฐจโ€• ใ€‹ ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ€•3์ฃผ์ฐจโ€• ใ€‹ ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ”4์ฃผ์ฐจโ” ใ€‹ - ํด๋ผ์ด์–ธํŠธ ๋ฐ ์„œ๋ฒ„ ๋™์ž‘ ๊ตฌ์กฐ - ใ€Š ๋งˆ์ดํŽ˜์ด๋ณด๋ฆฟ ๋ฌด๋น„์Šคํƒ€ ํ”„๋กœ์ ํŠธ ์˜ˆ์ œ ใ€‹ [ ํด๋”๊ตฌ์กฐ ] - movieStar โ”” static โ”” templates โ”” index.html โ”” app.py โ”” init_db.py [ init_db.py ] - ์ดˆ๊ธฐ index.html ๋ผˆ๋Œ€์— ๋ถ™์ผ ์˜ํ™”์ธ ์ •๋ณด DB๊ฐ€ ํ•„์š”ํ•จ - ์ด๋ฅผ ๋„ค์ด๋ฒ„ ์˜ํ™”์ธ ๋žญํ‚น ํŽ˜์ด์ง€์—์„œ ์˜ํ™”์ธ ์ •๋ณด๋ฅผ ํฌ๋กค๋งํ•ด์„œ DB์— ์ €์žฅํ•  ์ „์ฒ˜๋ฆฌ ํŒŒ์ผ # DB Setting import requests from bs4 import BeautifulSoup from pymo..

    [์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ] ๐Ÿ’ป ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ - 4์ฃผ์ฐจ

    [์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ] ๐Ÿ’ป ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ - 4์ฃผ์ฐจ

    ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ€•1์ฃผ์ฐจโ€• ใ€‹ ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ€•2์ฃผ์ฐจโ€• ใ€‹ ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ€•3์ฃผ์ฐจโ€• ใ€‹ [ Flask ํ”„๋ ˆ์ž„์›Œํฌ ] - ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€ : https://flask-docs-kr.readthedocs.io/ko/latest/index.html - ํŒŒ์ด์ฌ์œผ๋กœ ์ž‘์„ฑ๋œ ๋งˆ์ดํฌ๋กœ ์›น ํ”„๋ ˆ์ž„์›Œํฌ - Werkzeug ํˆดํ‚ท๊ณผ Jinja2 ํ…œํ”Œ๋ฆฟ ์—”์ง„์— ๊ธฐ๋ฐ˜์„ ๋‘” ํ”„๋ ˆ์ž„์›Œํฌ - ์›น ์—”์ง„๊ณผ ๋ถ™์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, API ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค๊ธฐ์— ํŽธ๋ฆฌํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Œ [ Flask Application ] - ์ฃผ๋กœ ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•  ๋ฉ”์ธ ํŒŒ์ผ์„ app.py๋กœ ์ง€์นญํ•˜์—ฌ ์‚ฌ์šฉ - ํŒŒ์ผ ์‹คํ–‰ ์‹œ http://localhost:5000/ ์œ„์น˜๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ ํ™•์ธ ๊ฐ€๋Šฅ # ๊ธฐ๋ณธ ํ˜•์‹ from f..

    [์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ] ๐Ÿ’ป ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ - 3์ฃผ์ฐจ

    [์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ] ๐Ÿ’ป ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ - 3์ฃผ์ฐจ

    ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ€•1์ฃผ์ฐจโ€• ใ€‹ ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ€•2์ฃผ์ฐจโ€• ใ€‹ [ SQL vs NoSQL ] ๐Ÿ‘‰ SQL(๊ด€๊ณ„ํ˜• DB / RDBMS) ๋”๋ณด๊ธฐ - ๋ฐ์ดํ„ฐ๋ฅผ ํ–‰๊ณผ ์—ด๋กœ ๊ตฌ์„ฑ๋œ ์ •ํ˜•ํ™”๋œ ํ‘œ ํ˜•ํƒœ์˜ ํ…Œ์ด๋ธ”๋กœ ์ €์žฅ - ๋ฐ์ดํ„ฐ์˜ ์ข…์†์„ฑ์€ ๊ด€๊ณ„๋กœ ํ‘œํ˜„ - ์—ด์€ ๋ฐ์ดํ„ฐ์˜ ์†์„ฑ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ด๊ณ , ํ–‰์€ ์—ด(๋ฐ์ดํ„ฐ ์†์„ฑ)์˜ ํ˜•์‹์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ด๊น€ - ์—ด์˜ ๊ตฌ์กฐ์™€ ๋ฐ์ดํ„ฐ๊ฐ„์˜ ๊ด€๊ณ„๊ฐ€ ํ…Œ์ด๋ธ” ์Šคํ‚ค๋งˆ๋กœ ์‚ฌ์ „์— ์ •์˜๋˜์–ด ์‚ฌ์šฉ - ์Šคํ‚ค๋งˆ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต์ง€๋งŒ, ์ •ํ˜•ํ™” ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ์˜ ๋ถ„๋ฅ˜, ์ •๋ ฌ, ํƒ์ƒ‰ ์†๋„๊ฐ€ ๋น ๋ฆ„ - ๋Œ€ํ‘œ์ ์ธ RDBMS : MySQL, Oracle, MariaDB... ๐Ÿ‘‰ NoSQL(๋น„๊ด€๊ณ„ํ˜• DB) ๋”๋ณด๊ธฐ - ๋‹จ์–ด์˜ ๋œป์€ "Not Only SQL"์ด๋ฉฐ, ๊ด€๊ณ„ํ˜• DB๋ฅผ ์ „..

    [์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ] ๐Ÿ’ป ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ - 2์ฃผ์ฐจ

    [์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ] ๐Ÿ’ป ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ - 2์ฃผ์ฐจ

    ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ€•1์ฃผ์ฐจโ€• ใ€‹ [ jQuery ๊ฐœ๋… ] - ์ œ์ด์ฟผ๋ฆฌ๋Š” HTML ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ์กฐ์ž‘์„ ๋‹จ์ˆœํ™” ํ•˜๋„๋ก ์„ค๊ณ„๋œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž„ - ์ œ์ด์ฟผ๋ฆฌ๋Š” ์˜คํ”ˆ ์†Œ์Šค์ด๋ฉฐ ์ œ์ด์ฟผ๋ฆฌ๋Š” ๋ธŒ๋ผ์šฐ์ € ๊ฐ„ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ์™€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ์˜ ์ง๊ด€์„ฑ ๋“ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ๋งŒ๋“ค์–ด์กŒ์Œ - ์ œ์ด์ฟผ๋ฆฌ๋Š” HTML DOM traversing ๊ณผ manipulation, ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ, ์• ๋‹ˆ๋ฉ”์ด์…˜, Ajax์™€ ๊ฐ™์€ ์ž‘์—…์„ ์—ฌ๋Ÿฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž‘๋™ํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž„ - ์ œ์ด์ฟผ๋ฆฌ๋Š” ํ•œ ๊ฐœ์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ๋กœ ์กด์žฌํ•˜๋ฉฐ ์ด๋ฅผ ์Šคํฌ๋ฆฝํŠธ๋กœ ์ถ”๊ฐ€ํ•˜์—ฌ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. [ jQuery ๊ธฐ๋Šฅ ] ๐Ÿ” DOM traversal & manipulation - ์˜ˆ์‹œ) id๊ฐ€ "element"์ธ ์š”์†Œ์˜ display๋ฅผ ์ˆจ๊ธฐ๋ ค ํ• ..