๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

728x90

javascript

9/2 ๊ธˆ 1. JavaScript ํŠน์ • ๋ฒ„ํŠผ ํด๋ฆญ ์•ˆ ๋  ๋•Œ ์ถ”๊ฐ€์ ์œผ๋กœ ์‚ฌ์šฉํ•  JS # ํŠน์ • ์—˜๋ ˆ๋จผํŠธ๋กœ ์ด๋™ driver.execute_script('arguments[0].scrollIntoView();', more_button) # ํŠน์ • ์—˜๋ ˆ๋จผํŠธ์—์„œ ์‚ด์ง ์œ„๋กœ ์ด๋™. clientHeight: ํ˜„์žฌ ์Šคํฌ๋กค ์œ„์น˜ driver.execute_script("window.scrollTo(0,document.body.clientHeight-200);") 2. AWS ํƒ„๋ ฅ์  IP ์„œ๋ฒ„๋ฅผ ์žฌ๋ถ€ํŒ…ํ•˜๊ฑฐ๋‚˜ ์žฌ์‹œ์ž‘ํ•ด๋„ IP ์ฃผ์†Œ๋ฅผ ๋ณ€ํ•˜์ง€ ์•Š๊ฒŒ ์œ ์ง€ ๊ณผ๊ธˆ์ด ๋˜์ง€ ์•Š๋„๋ก ์ธ์Šคํ„ด์Šค ์ค‘์ง€ ์ „์— ์—ฐ๊ฒฐ ํ•ด์ œ + ๋ฆด๋ฆฌ์ฆˆ ํ•ด์ฃผ์ž! "ํƒ„๋ ฅ์  IP ์ฃผ์†Œ์˜ ํšจ์œจ์ ์ธ ์‚ฌ์šฉ์„ ์œ„ํ•ด ์ด๋Ÿฌํ•œ IP ์ฃผ์†Œ๊ฐ€ ์‹คํ–‰ ์ค‘์ธ ์ธ์Šคํ„ด์Šค์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š๊ฑฐ๋‚˜ ์ค‘์ง€๋œ ์ธ.. ๋”๋ณด๊ธฐ
2/21 ์›” ์›”์š”์ผ! ์˜ค๋Š˜์€ Django์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” ์‚ฌ์šฉ์ž ๋ฐ ๊ถŒํ•œ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค. ์˜คํ›„ 3์‹œ๋ถ€ํ„ฐ๋Š” ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ๋ฐœ ์ˆ˜์—…์— ๋Œ€ํ•œ ์‹œํ—˜์ด ์žˆ๊ณ , ์˜คํ›„ 4์‹œ๋ถ€ํ„ฐ ํŒ€ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰! 1. users app ๋งŒ๋“ค๊ณ  lecture ํด๋”์˜ settings.py์— ์•ฑ ๋“ฑ๋ก ↓PyCharm Terminal↓, ↓settings.py↓ python manage.py startapp users # PyCharm Terminal -------------------------------- INSTALLED_APPS = [ # lecture ํด๋”์˜ settings.py 'users.apps.UsersConfig' ] 2. MySQL์—์„œ auth_user์˜ DESC ๋ณด๊ธฐ. username์ด id 3. auth_user D.. ๋”๋ณด๊ธฐ
2/18 ๊ธˆ ์•œ ๋ถˆ๊ธˆ!!!!! ๐Ÿฑ‍๐Ÿ๐Ÿฑ‍๐Ÿ‘ค ์˜ค๋Š˜์€ ์–ด์ œ ์ถ”๊ฐ€ํ–ˆ๋˜ ๊ฒŒ์‹œํŒ ๊ธ€ ์ƒ์„ธ๋ณด๊ธฐ ํŽ˜์ด์ง€ ํ•˜๋‹จ์— ๋„ฃ์—ˆ๋˜ ๋ฒ„ํŠผ๋“ค์˜ ๊ธฐ๋Šฅ์„ ์‹คํ˜„์‹œํ‚จ๋‹ค. ์˜คํ›„ 3์‹œ ๋ฐ˜ ์ •๋„์— ๊ฒŒ์‹œํŒ ๊ตฌํ˜„์„ ๋งˆ๋ฌด๋ฆฌ ์ง“๊ณ , ํŽธ์„ฑ๋œ ์กฐ๋ณ„๋กœ ์†ŒํšŒ์˜์‹ค์—์„œ ๋‚˜๋จธ์ง€ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ๋‹ค. ํŒ€์›๋“ค๊ณผ ์•„์ด์Šค๋ธŒ๋ ˆ์ดํ‚น, ์›น ํ”„๋กœ์ ํŠธ ์ฃผ์ œ ์„ ์ •, ์Šคํ† ๋ฆฌ ๋ณด๋“œ ์ž‘์„ฑํ•จ~ ์›”์š”์ผ์—๋Š” ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ๋ฐœ ์ˆ˜์—…์— ๋Œ€ํ•œ ์ฒซ ํ‰๊ฐ€(ํ•„๋‹ต)๊ฐ€ ์žˆ์„ ์˜ˆ์ •! ์ฃผ๋ง ๋™์•ˆ ์—ฌํƒœ ๋ฐฐ์šฐ๋ฉฐ ์ •๋ฆฌํ–ˆ๋˜ ๋‚ด์šฉ๋“ค์„ ๋‹ค์‹œ ์ ๊ฒ€ํ•˜๊ณ , ๊ฒŒ์‹œํŒ ๊ธฐ๋Šฅ์„ ๋งˆ์ € ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค. 1. ๋ฆฌ์ŠคํŠธ๋กœ ๋Œ์•„๊ฐ€๊ธฐ ๋ฒ„ํŠผ JavaScript event ๋ฐฉ์‹(Delegation Model)์œผ๋กœ ์ฒ˜๋ฆฌ ↓detail.html↓ ๋ฆฌ์ŠคํŠธ๋กœ ๋Œ์•„๊ฐ€๊ธฐ ↓menu_btn.js↓ function to_list() { document.location.href = .. ๋”๋ณด๊ธฐ
2/17 ๋ชฉ ๋ชฉ์š”์ผ! ๋ฆฌ์ŠคํŠธ๋กœ ๋Œ์•„๊ฐ€๊ธฐ, ์ˆ˜์ •, ์‚ญ์ œ, ์ข‹์•„์š” ๋ฒ„ํŠผ์„ ๋งŒ๋“ค๊ณ  ๊ฐ๊ฐ์˜ ๊ธฐ๋Šฅ์„ ์—ฌํƒœ ๋ฐฐ์šด ๊ฒƒ์„ ์‘์šฉํ•ด ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š”๋ฐ ์–ด๋ ต๋‹ค์•„์•„์•„์•„! ๋ฆฌ์ŠคํŠธ๋กœ ๋Œ์•„๊ฐ€๊ธฐ ๋ง๊ณ ๋Š” ๊ฐ์ด ์•ˆ ์žกํ˜€.. 1. HTML ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ์‚ฌ์šฉ์ž ์ž…๋ ฅ ์–‘์‹(์ž…๋ ฅ Form)์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, Django๊ฐ€ ์ œ๊ณตํ•˜๋Š” Model Form(class)๋ฅผ ์ด์šฉํ•จ bbs App ๋””๋ ‰ํ„ฐ๋ฆฌ ์•ˆ์— forms.py ์ƒ์„ฑํ•˜๊ณ  Django์—์„œ forms ๋ชจ๋“ˆ, bbs.models์—์„œ class๋ฅผ ๋ถˆ๋Ÿฌ์˜จ ํ›„ form์— ๋Œ€ํ•œ class ์ •์˜ํ•จ ↓forms.py↓ from django import forms from bbs.models import Board class BoardForm(forms.ModelForm): class Meta: model =.. ๋”๋ณด๊ธฐ
2/10 ๋ชฉ ๋ชฉ์š”์ผ~~ ์ง€๋‚œ ์ˆ˜์—… ๋•Œ ํ•˜๋˜ ์ผ๋ณ„ ๋ฐ•์Šค์˜คํ”ผ์Šค API ์„œ๋น„์Šค๋ฅผ ๋” ๋ฐฐ์šด๋‹ค. AJAX์˜ async: true ๋น„๋™๊ธฐ(๋ฐ์ดํ„ฐ ์ˆ˜์‹  ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ๋‹ค๋ฅธ ์ž‘์—… ์‹คํ–‰. default) ํ˜น์€ ๋™๊ธฐ(false. ์ˆœ์ฐจ์ ) ํ˜ธ์ถœ์„ ์ง€์ •ํ•จ ์›น๋””์ž์ธ๊นŒ์ง€ ์‹ ๊ฒฝ ์“ธ ์—ฌ์œ ๋Š” ์—†๊ธฐ ๋•Œ๋ฌธ์—, Bootstrap Examples์—์„œ ํŽ˜์ด์Šค ์†Œ์Šค(HTML)์™€ css ํŒŒ์ผ์„ WebStorm์œผ๋กœ ๊ฐ€์ ธ์™€์„œ ํ™œ์šฉํ•œ๋‹ค! HTML์—์„œ ๋ถˆํ•„์š”ํ•œ ๋ผ์ธ๋“ค ์ง€์šฐ๊ณ  jQuery CND, jQuery ํŒŒ์ผ, CSS ํŒŒ์ผ ์—ฐ๋™์‹œํ‚ด input type="date"๋กœ ๋‹ฌ๋ ฅ์„ ๋„ฃ์–ด ์ผ๋ณ„ ๋ฐ•์Šค์˜คํ”ผ์Šค ์ˆœ์œ„๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„ฃ๊ณ , Delegation Model(JS Event ์ฒ˜๋ฆฌ ๋ฐฉ์‹)๋กœ Event๊ฐ€ ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ๋„๋ก 'onclick' Event Attribut.. ๋”๋ณด๊ธฐ
2/7 ์›” ํ”ผ๊ณคํ•œ ์›”์š”์ผ ๐Ÿ˜ช disabled๋Š” text ์ž…๋ ฅ์ฐฝ์„ ๋น„ํ™œ์„ฑํ™”ํ•จ removeAttr() : ์†์„ฑ ๊ฐ’์„ ์‚ญ์ œ remove() : ์ž๊ธฐ ์ž์‹ ๊ณผ ์ž์‹ ์˜ ํ›„์†์„ ๋ชจ๋‘ ์‚ญ์ œ empty() : ์ž๊ธฐ ์ž์‹ ์„ ์‚ญ์ œํ•˜์ง€ ์•Š๊ณ  ํ›„์†๋งŒ ์‚ญ์ œ function my_func() { $('[type=text]').val('์†Œ๋ฆฌ์—†๋Š” ์•„์šฐ์„ฑ!!')) $('[type=text]').attr('value', '๋ณ€๊ฒฝ๋ณ€๊ฒฝ!') $('[type=text]').attr('disabled', 'disabled') $('[type=text]').removeAttr('disabled') //disabled ์†์„ฑ ์‚ญ์ œ $('ul').remove() $('ul').empty() } ์ƒˆ๋กœ์šด Element ๋งŒ๋“ค ๋•Œ๋Š” ์—ฌ๋Š”·๋‹ซ๋Š” Tag ๋ชจ๋‘ ์จ์ค˜์•ผ ํ•จ. t.. ๋”๋ณด๊ธฐ
2/4 ๊ธˆ ๋ถˆ๊ธˆ~~ ๐Ÿ˜๐Ÿ˜ธ JavaScript ๋ฌธ์„œ ๊ฐ์ฒด(document object) : component๋ฅผ JS ๊ฐ์ฒดํ™” WebStorm์— jQuery Library ์ถ”๊ฐ€ jQuery ๋ฌธ๋ฒ• $๋กœ ์‹œ์ž‘ 1. Universal Selector(์ „์ฒด ์„ ํƒ์ž) : HTML ์•ˆ์— ์žˆ๋Š” ๋ชจ๋“  Element๋ฅผ ์„ ํƒ, ๊ธฐํ˜ธ๋Š” * ์ด์šฉ 2. Tag Selector : ํƒœ๊ทธ๋ช…์„ ์ด์šฉํ•˜์—ฌ ์„ ํƒ 3. ID Selector : ID Attribute๋ฅผ ์ด์šฉํ•˜์—ฌ ์„ ํƒ, ์ค‘๋ณต ๋ถˆ๊ฐ€, ๊ธฐํ˜ธ๋Š” # ์ด์šฉ 4. Class Selector : Class Attribute๋ฅผ ์ด์šฉํ•˜์—ฌ ์„ ํƒ, ์ค‘๋ณต ๊ฐ€๋Šฅ, ๊ธฐํ˜ธ๋Š” . ์ด์šฉ 5. ๋ถ€๋ชจ, ์ž์‹, ํ›„์†, ํ˜•์ œ ๊ด€๊ณ„ : ๊ธฐํ˜ธ >๋Š” ์ž์‹ ์„ ํƒ, ๊ณต๋ฐฑ(space)์€ ํ›„์† ์„ ํƒ 6. ๋™์œ„ ์„ ํƒ์ž : ํ˜•์ œ ์„ ํƒ์ž, ๊ธฐํ˜ธ.. ๋”๋ณด๊ธฐ
2/3 ๋ชฉ ๊ธด ์—ฐํœด๊ฐ€ ๋๋‚ฌ๋‹ค! ๐Ÿคฅ ์ •์ (static) Web : Web Server ์ชฝ์— ์ด๋ฏธ ์กด์žฌํ•˜๋Š” resource(HTML)๋ฅผ ์š”์ฒญํ•˜๋Š” ์ž‘์—… ๋™์ (dynamic) Web : Web Server ์ชฝ์— ์กด์žฌํ•˜๋Š” program์„ ํ˜ธ์ถœ, ๊ฒฐ๊ณผ resource๋ฅผ ์ƒ์„ฑํ•ด์„œ response HTML(HyperText Markup Language), CSS(Cascading Style Sheet), JavaScript HTML์ด ๋ฒ„์ „ ์—…(5) ๋˜๋ฉด์„œ HTML Element, CSS 3, JavaScript๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Œ Web Server์—๊ฒŒ ํ”„๋กœ์ ํŠธ์˜ ์กด์žฌ๋ฅผ ์•Œ๋ ค์คŒ(configure) → ์„œ๋ฒ„๊ฐ€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ธ์‹ํ•œ ์ƒํƒœ์—์„œ ๊ธฐ๋™ → Web Client(Browser)๋ฅผ ์‹คํ–‰ → URL(protocol://IP:Port/ํŒŒ.. ๋”๋ณด๊ธฐ

728x90