๐ | WEB DEV115 JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ (15)_์ฐ์ฐ์(์ผํ, null๋ณํฉ(??) ) ์ง๊ธ๊น์ง ์ดํด๋ณธ ๊ฒ ์ธ์ ์ฐ์ฐ์๋ค์ ๋ํด์๋ ์์๋ณด์! 1. ์ผํ ์ฐ์ฐ์ ์ผ์ชฝ๋ถํฐ ์ฐจ๋ก๋ก ์คํ๋๋ฉฐ, ๊ฐ์ฅ ๋ง์ง๋ง ์ฐ์ฐ์ ๋ฐํํ๋ค. console.log( (1,2,3) ); >>> 3 console.log( (10/2, 5%2, 1+1) ); >>> 2 ์ด์ฒ๋ผ ๊ฐ์ฅ ๋ง์ง๋ง ์ฐ์ฐ์ ๊ฐ์ ๋ฐํํ๋ค! 2. null ๋ณํฉ ์ฐ์ฐ์ ?? null ๋๋ undefined๋ฅผ ๊ฑธ๋ฌ๋ผ ์ ์๋ ์ฐ์ฐ์์ด๋ค. ์ฆ, ์์ ์์๊ฐ ๋ ์ค ํ๋์ผ ๊ฒฝ์ฐ ๋ค์ ์์๋ก ๋์ฒด๊ฐ ๊ฐ๋ฅํ๋ค! let x;//undefined x ?? console.log('Hello'); x = null;//null x ?? console.log('Hello'); x = 0; x ?? console.log('Hello'); //0์ ๋ฐํํ๊ณ ์ข ๋ฃ x = 1;.. 2023. 2. 26. JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ (14)_๋ถ๋ฆฌ์ธ์ ์ฌ์ฉ๋๋ ์ฐ์ฐ์๋ค ๋ถ๋ฆฌ์ธ(boolean)์ ๊ด๋ จ๋ ์ฐ์ฐ์๋ค์ ๋ํด์ ์์๋ณด์! let a = 1 === 2;//false let b = 'abc' !== 'def'//true let c = a !== b;//true let d = typeof a === typeof b === true;//true 4๋ฒ์งธ ์์์ ๊ฐ์ด ์ฐ์ ๋น๊ต ์์๋ ์ฐ์ ์์์ ๋ฐ๋ผ ์ฐ์ฐ์ด ๋๋ค. (ํด๋น ์์๋ ๊ฐ์ ์ฐ์ ์์ ์ด๋ฏ๋ก ์์ ์ฐ์ฐ์ด ๋จผ์ ) 1. ์ฐ์ฐ์ 1) ๋ถ์ ์ฐ์ฐ์ ! ๋ฅผ ์ด์ฉํด NOT ์ฐ์ฐ์ ์ํํ ์ ์๋ค. !true //false !!true//true ์ด๋ !!๋ก ๋๊ฐ๋ฅผ ๋ถ์ผ ๊ฒฝ์ฐ !๊ฐ ์๋ก ์นํ๋๋๋ฐ ์ด๋ฅผ ์ด์ฉํ์ฌ ํ์ฌ ๊ฐ์ boolean ๊ฐ์ผ๋ก ๋ณํ ํ ์ ์๋ค. console.log(!!'a') >>> true 2) AND O.. 2023. 2. 26. JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ (13)_์ซ์์ ์ฌ์ฉ๋๋ ์ฐ์ฐ์๋ค ์ซ์์ ๊ด๋ จ๋ ์ฐ์ฐ์๋ค์ ์์๋ณด์! 1. ์ซ์ ์๋ฃํ number 1) ์๊ณผ ์ JS์์๋ ์ ์์ ์ค์ ๋ชจ๋ number ์๋ฃํ์ด๋ค. ์ฆ, ์ ์๋ ๋ด๋ถ์์ ์ค์๋ฅผ ํํํ๋ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌ๋๋ค. + ์ -๋ก ์๊ณผ ์์ ๋ํ๋ธ๋ค! 2) ๋ฌดํ๋ Infinity ๋ ๋ฌดํ๋๋ฅผ ํํํ๋ ์๋ฃํ์ผ๋ก number์ ๋ฒ์ฃผ์ ์ํ๋ค. ์ด ๋ํ ์๊ณผ ์์ด ์กด์ฌํ๋ค. 3) NaN Not a Number์ ์ฝ์๋ก ์ซ์๊ฐ ์๋ ๊ฒ์ ์๋ฏธํ๋ค. NaN ์ญ์ number์ ๋ฒ์ฃผ์ ์ํ๋ค. let x = 1 / 'a'; let y = 2 * 'a'; let z = NaN; console.log(x, typeof x); console.log(y, typeof y); console.log(z, typeof z); >>> NaN 'numbe.. 2023. 2. 26. JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ (12)_๋ฌธ์์ด์ ์ฌ์ฉ๋๋ ์ฐ์ฐ์๋ค ๋ฌธ์์ด์ ์ฌ์ฉ๋๋ ์ฐ์ฐ์๋ค์ ๋ํด ์์๋ณด์! 1. ๋น๊ต ์ฐ์ฐ์ ์ฐ์ฐ์ ์๋ฏธ x == y ๊ฐ์ด ๊ฐ์ x === y ์๋ฃํ๊ณผ ๊ฐ์ด ๊ฐ์ x != y ๊ฐ์ด ๋ค๋ฆ x !== y ์๋ฃํ ๋๋ ๊ฐ์ด ๋ค๋ฆ x = y ์ฌ์ ์ ์์ผ๋ก y๊ฐ ๋จผ์ ์ค๊ฑฐ๋ ๊ฐ์ console.log('1' == 1, '1' === 1); >> true false == ์ ์๋ฃํ์ ๊ณ ๋ คํ์ง ์์ง๋ง ===์ ์๋ฃํ์ ๊ณ ๋ คํ๋ค. ๋ฐ๋ผ์ ===๊ณผ !==์ ๊ถ์ฅํ๋ค! console.log( 'A' >> true true false ๋น๊ต ์ฐ์ฐ์๋ฅผ ์ด์ฉํ ๊ฒฝ์ฐ ์ฌ์ ์์ ์์๋ฅผ ๊ณ ๋ คํ๋ค. ์ด๋ ๋๋ฌธ์๊ฐ ์๋ฌธ์๋ณด๋ค ๋น ๋ฅด๋ค. ์ซ์ ๋ฌธ์์ด์ ๋น๊ต.. 2023. 2. 26. JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ (11)_ํ ํ๋ฆฟ ๋ฌธ์์ด JS์์ ๋ฌธ์์ด ๋ด์ ์ผ์ ํ ํ(template)์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์. ๋ณ์์ ์ ์ฅ๋ ๊ฐ์ ์ฝ์ผํ ์ ์๋ค. let name = 'KASSID' let month = 11 let day = 23 console.log(`${name}๋์ ๋ฑ๋ก์ผ์ ${month}์ ${day}์ผ ์ ๋๋ค.`) -------- KASSID๋์ ๋ฑ๋ก์ผ์ 11์ 23์ผ ์ ๋๋ค. ํจ์๊ฐ์ ๋ฐ๋ก ํ์ฉํ ์ ์๋ค. let num = 3; let getTwice = (x)=>{ return x * 2 } console.log(`${num}์ ๋ ๋ฐฐ๋ ${getTwice(num)}`) -------- 3์ ๋ ๋ฐฐ๋ 6 2022. 11. 23. JS_๋ฌธ๋ฒ (10)_๋ํ์ฐฝ ๋ํ์ฐฝ์ ์ฌ์ฉ์์ ์ํธ์์ฉํ ์ ์๋ ํจ์๋ค์ ๋ํด์ ์์๋ณด์! prompt() ์ฌ์ฉ์๋ก๋ถํฐ ๋ฌธ์์ด ์ ๋ ฅ์ ๋ฐ๋ ํจ์์ด๋ค. ์ด๋ฅผ parseInt()์ ๊ฐ์ ํจ์๋ก ํ๋ณํํ์ฌ ํ์ฉํ ์ ์๋ค. prompt("๋ํ์ฐฝ ๋ฉ์ธ์ง"); const num = prompt("์ด๋ฆ์ ์ ๋ ฅํ์ธ์"); const num = parseInt(prompt("์ซ์๋ฅผ ์ ๋ ฅํ์ธ์")); alert() ์ฌ์ฉ์์๊ฒ ๊ฒฝ๊ณ ์ฐฝ์ ๋์ฐ๋ ํจ์์ด๋ค. alert("๋ํ์ฐฝ ๋ฉ์ธ์ง"); alert("Hello!"); confirm() ์ฌ์ฉ์๋ก๋ถํฐ Y/N์ ๋ฐ๋ ํจ์์ด๋ค. confirm("๋ํ์ฐฝ ๋ฉ์ธ์ง"); const yesNo = confirm(num+" ๋ช ์ด ๋ง์ต๋๊น?"); //script์ ๋ณ์๋ฅผ ํ์ฉํ ์ ์๋ค. 2022. 7. 26. Django_์ฅ๊ณ ๋ถ์๊ธฐ (7)_login, logout ๋ก๊ทธ์ธ/์์ ๊ตฌํ 1. urls.py ์ดํ๋ฆฌ์ผ์ด์ ์ ์ข ์๋๋ ๊ฒ์ด ์๋๋ฏ๋ก ํ๋ก์ ํธ์ urls.py์ ํจํด์ ์ถ๊ฐํ๋ค. from django.contrib import admin from django.urls import include, path from django.contrib.auth import views urlpatterns = [ path(r'^admin/', admin.site.urls), path(r'^accounts/login/$', views.LoginView.as_view(template_name="registration/login.html"), name='login'), path(r'^accounts/logout/$', views.LogoutView.as_view(template_n.. 2022. 6. 30. Django_์ฅ๊ณ ๋ถ์๊ธฐ (6)_CRUD CRUD (Create Read Update Delete) ์์ฑ, ์ฝ๊ธฐ, ์์ , ์ญ์ ๊ฐ ๊ฐ๋ฅํ ํ์ด์ง๋ฅผ ๊ตฌํํด๋ณด์ Form CRUD๋ฅผ ์ํด์ ํ์ํ ํ๊ทธ์ด๋ค. ์ด ํ๊ทธ๋ฅผ ์ด์ฉํด์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค ์ ์๋ค. ์ด๋ฅผ ์ด์ฉํ์ฌ ์์์ ๋ง๋ค์ด ๋ด๊ธฐ๋ ํ๊ณ , ์ ๋ ฅ๋ฐ์ ๋ฐ์ดํฐ๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํด๋ผ ์๋ ์๋ค. 1. forms.py ์์ฑ - ์ดํ๋ฆฌ์ผ์ด์ ๋๋ ํ ๋ฆฌ ๋ด์ ํด๋น ํ์ผ์ ์์ฑํ๋ค. - form ๋ชจ๋ธ์ ์ฅ๊ณ ๋ก๋ถํฐ ๊ฐ์ ธ์ค๊ณ , ์ดํ๋ฆฌ์ผ์ด์ ์ ์ํ๋ ๋ชจ๋ธ์ ๊ฐ์ ธ์์ผํ๋ค. ์์ from django import forms from .models import Post class PostForm(forms.ModelForm): class Meta: model = Post fields = ('title', 'text',) -.. 2022. 6. 30. Django_์ฅ๊ณ ๋ถ์๊ธฐ (5)_ํ์ด์ง ์ด๋, ์์ธ ํ์ด์ง ํ์ด์ง ์ด๋ ๋ธ๋ผ์ฐ์ ๋ก๋ถํฐ request๋ฅผ ๋ฐ๊ณ ์ ์ ํ url์ ์ฐ๊ฒฐ์์ผ์ฃผ์ด์ผ ํ๋ค. urls.py) - urlํจํด์ path๋ฅผ ์ถ๊ฐํด์ค๋ค. path('url๊ฒฝ๋ก', views.ํจ์๋ช , name='ํ ํ๋ฆฟ ํ๊ทธ์ ์ฐ์ผ ์ด๋ฆ') ์์ path('post_list', views.post_list, name='post_list'), 'main๋ฃจํธ/post_lis't๊ฐ url ๊ฒฝ๋ก๊ฐ ๋๋ค. views.py) request ๋ฑ์ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌ ๋ฐ์ ๊ฒ์ ์ฒ๋ฆฌํ ํ render, redirect ๋ฑ์ ํจ์๋ฅผ ํธ์ถ, ๋ฐํํ๋ค. template) ํ ํ๋ฆฟ์์๋ ํ ํ๋ฆฟ ํ๊ทธ๋ฅผ ์ด์ฉํด ํธ์ถํ๋ค. ๋ด์ฉ์ urls.py์ name์ ์ ์๋ ์ด๋ฆ์ ์ด์ฉํ๋ค. ... ์์ธ ํ์ด์ง pk(Primary Key) DB์ ๊ฐ ๋ ์ฝ๋๋ฅผ ์.. 2022. 6. 30. ์ด์ 1 ยทยทยท 5 6 7 8 9 10 11 ยทยทยท 13 ๋ค์ ๋ฐ์ํ