์คํ๋ฅดํํ๋ฆญ์ค_ํ๋ก์ ํธ
ํ๊ฒฝ ์ธํ
- sparta ํด๋ ์์ spartaflix ํด๋๋ฅผ ๋ง๋ ๋ค!
- spartaflix ์์ index.html์ ๋ง๋ ํ ์๋์ ํ ํ๋ฆฟ์ ๋ฃ๋๋ค!
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>์คํ๋ฅดํํ๋ฆญ์ค</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<style>
</style>
</head>
<body>
</body>
</html>
ํ์ด์ง ์๋จ ๋ง๋ค๊ธฐ
๋ค์๊ณผ ๊ฐ์ ํ์ด์ง๋ฅผ ๋ง๋ค ์์ ์ด๋ค!
๋จ์ด ๋ง๋ค์ด ๋ ๊ฒ์ ์ธ ๋๋ ์ ์ฐพ์๋ค๊ฐ ์กฐ๊ธ์ฉ๋ง ๊ณ ์ณ์ ์ฐ๋ ๊ฒ์ด ๋ต์ด๋ค ๐
- Bootstrap ์ฌ์ดํธ์์ Jumbotron ๊ฒ์ ํ ์ถ๊ฐํ๊ธฐ
- ๊ตฌ๊ธ ํฐํธ ์ ์ฉํ๊ธฐ
- Bootstrap ์ฌ์ดํธ์์ Headers ์ฐพ์์ ์ถ๊ฐํ๊ธฐ
์์ ๊ณผ์ ์ ๊ฑฐ์น๋ฉด ์คํ๋ฅดํํ๋ฆญ์ค์ ์๋จ ๋ถ๋ถ์ด ์์ฑ๋๋ค!
์นด๋ ์ถ๊ฐํ๊ธฐ
- Bootstrap ์ฌ์ดํธ์์ Cards ๊ฒ์ ํ ์ถ๊ฐํ๊ธฐ
- ํฌ์คํฐ ์ด๋ฏธ์ง ๋ฃ๊ณ , ๊ฐ์ ์กฐ์ ํ๊ธฐ
- ์นด๋ ๋ด์ฉ ๋ณ๊ฒฝ ํ ๋ณ์ ์ถ๊ฐํ๊ธฐ
- ์ํ ์ ๋ชฉ, ์ํ ์ฝ๋ฉํธ ๋ณ๊ฒฝ
- ์ํ ์ ๋ชฉ, ์ํ ์ฝ๋ฉํธ ์ฌ์ด์ <p> ํ๊ทธ๋ฅผ ํ์ฉํ์ฌ ๋ณ ์ด๋ชจํฐ์ฝ ์ถ๊ฐํ๊ธฐ
์์ ๊ณผ์ ์ ๊ฑฐ์น๋ฉด ์คํ๋ฅดํํ๋ฆญ์ค์ ์นด๋ ๋ถ๋ถ๊น์ง ์์ฑ๋๋ค!
ํฌ์คํ ๋ฐ์ค ๋ง๋ค๊ธฐ
- ํฐ ๋ฐ์ค ๋จผ์ ๋ง๋ค๊ธฐ
- ์ํ ์ด๋ฏธ์ง, ์ํ ์ ๋ชฉ, ์ถ์ฒ ์ด์ ์ถ๊ฐํ๊ธฐ
- Bootstrap - Forms์ Floating Labels ์ฐธ๊ณ !
- ๋ณ์ ์ ํ ์์ญ ์ถ๊ฐํ๊ธฐ
- Bootstrap - Input group์ Custom forms ์ฐธ๊ณ !
- ๊ธฐ๋กํ๊ธฐ ๋ฒํผ ์ถ๊ฐํ๊ธฐ
- Bootstrap - Buttons์ Variants ์ฐธ๊ณ !
๋ชจ๋ ๊ณผ์ ์ ๊ฑฐ์น๊ณ ๋๋ฉด ์คํ๋ฅดํํ๋ฆญ์ค ํ์ด์ง๊ฐ ์์ฑ๋๋ค.๐๐
Javascript
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ค ํ๋๋ก, ๋ธ๋ผ์ฐ์ ๊ฐ ์์๋ค์ ์ ์๋ ์ธ์ด์ด๋ค.
โ๏ธ์ฐธ๊ณ
๊ทธ๋ ๋ค๋ฉด ์ Javascript๋ฅผ ์ฌ์ฉํด์ผ ํ๋๊ฐ??
๋ธ๋ผ์ฐ์ ๊ฐ Javascript๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๋ ์ด์ ๋ ์ญ์ฌ์ ์ผ๋ก Javascript๊ฐ ์น๋ธ๋ผ์ฐ์ ์์ ์คํ๋๋ ์คํฌ๋ฆฝํธ ์ธ์ด๋ก ์ฌ์ฉ๋์ด ์๊ธฐ ๋๋ฌธ์ด๋ค. ์น ํ์ด์ง์ ๋์ ์ธ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด Javascript๊ฐ ๊ฐ๋ฐ๋์์ผ๋ฉฐ, ๋ง์ ์น ๊ฐ๋ฐ์๋ค์ด Javascript๋ฅผ ์ฌ์ฉํ์ฌ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ณ ์ ์ง ๊ด๋ฆฌํด ์๋ค. Javascript๊ฐ ๋ธ๋ผ์ฐ์ ํํ ๋ช ๋ น์ ๋ด๋ฆฌ๋ ํ์ค์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค!
JavaScript์ ๋ฒ์ฉ์ฑ
Javascript๋ฅผ ํตํด์ ์๋ฒ๋ ๋ง๋ค ์ ์๋ค!
์ฆ, Javascript ํ๋๋ก ํ๋ก ํธ์๋, ๋ฐฑ์๋๊ฐ ๋ค ๊ฐ๋ฅํ๋ค.
๋ํ IOS์ ์๋๋ก์ด๋ ์ฑ์ ๋ฌผ๋ก ๊ฒ์ ๊ฐ๋ฐ ์์ง์ด๋ IoT(์ฌ๋ฌผ์ธํฐ๋ท) ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ๋ ๊ฐ๋ฅํ๋ค.
Javascript ๊ธฐ์ด๋ฌธ๋ฒ
๋ณ์ & ๊ธฐ๋ณธ์ฐ์ฐ
๋ณ์๋ ๊ฐ์ ๋ด๋ ์์์ด๋ค!
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์๋ = ๊ฐ ๊ฐ๋ค์ ๊ฐ๋
์ด ์๋ ์ค๋ฅธ์ชฝ์ ๊ฐ์ ์ผ์ชฝ์ ๋ฃ์ด์ค์ ์๋ฏธ์ด๋ค.
- let ์ผ๋ก ๋ณ์๋ฅผ ์ ์ธํ๋ค.
let a = 2;
a = 'Bob'; // ๋ฌธ์์ด์ ์์ ๋ฐ์ดํ๋ก ๊ฐ์ธ์ค๋ค!
// ์ฒ์ ๋ณ์๋ฅผ ์ ์ฅํ๋ ค๋ฉด, let์ ์์ ๋ถ์ฌ์ค๋ค!
// ํ ๋ฒ ์ ์ธํ์ผ๋ฉด, ๋ค์ ์ ์ธํ์ง ์๊ณ ๊ฐ์ ๋ฃ๋๋ค.
- ์ฌ์น์ฐ์ฐ, ๋ฌธ์์ด ๋ํ๊ธฐ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ๋ฅํ๋ค.
let a = 2;
let b = 3;
console.log(a+b) // 5;
let c = '๋ํ';
let d = '๋ฏผ๊ตญ';
console.log(c+d); // ๋ํ๋ฏผ๊ตญ
๋ฆฌ์คํธ & ๋์ ๋๋ฆฌ
- ๋ฆฌ์คํธ : ์์๋ฅผ ์ง์ผ์ ๊ฐ์ง๊ณ ์๋ ํํ์ด๋ค.
โ๏ธ์ฐธ๊ณ
์ปดํจํฐ๋ 0๋ถํฐ ์ผ๋ค!! ๋ฆฌ์คํธ์ ๋ค์ด์๋ ์ฒซ ๋ฒ์งธ ๊ฐ์ [0]์ผ๋ก ๋ถ๋ฌ์จ๋ค!
let a_list = [] // ๋ฆฌ์คํธ๋ฅผ ์ ์ธ. ๋ณ์ ์ด๋ฆ์ ์๋ฌด๋ ๊ฒ๋ ๊ฐ๋ฅ!
let a = ['์ฌ๊ณผ','์๋ฐ','๋ธ๊ธฐ','๊ฐ'];
console.log(a[1]); // ์๋ฐ
console.log(a[0]); // ์ฌ๊ณผ
//๋ฆฌ์คํธ ๊ธธ์ด ๊ตฌํ๊ธฐ
console.log(a.length);
- ๋์ ๋๋ฆฌ : ํค(Key) - ๋ฐธ๋ฅ(Value) ๊ฐ์ ๋ฌถ์์ด๋ค.
let a_dict = {}; // ๋์
๋๋ฆฌ ์ ์ธ. ๋ณ์ ์ด๋ฆ์ ์๋ฌด๋ ๊ฒ๋ ๊ฐ๋ฅ!
let a = {'name':'์์','age':27};
console.log(a);
console.log(a['name']); // ์์
console.log(b_dict['age']); // 27
โ๏ธ์ฐธ๊ณ
๋ฆฌ์คํธ๋ [ ]๊ฐ ์๊ฒผ์ผ๋๊น [ ]๋ก ๊ฐ์ ธ์ค๋๋ฐ, ๋์ ๋๋ฆฌ๋ { }๋ก ๋ง๋ค์๋๋ฐ ์ { }๋ก ์ ๊ฐ์ ธ์ค๋๊ฐ...
์ด๋ฐ ๊ท์น๋ค์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋ง๋ ์ฌ๋์ด ๊ทธ๋๊ทธ๋ ๋ชฉ์ ์ ๋ง๊ฒ ์์ฑํ ๊ฒ์ด๋ค!
์๋ ๊ทธ๋๋ก! ๋ฐ์๋ค์ด๊ธฐ!! ๐
๋ฐ๋ผ์ ๊ท์น์ ์ค์ ํ๋ ๊ฒ๋ ์ ๋ถ ์ ๊ฐ๊ฐ์ด๋ค!!
- ๋ฆฌ์คํธ์ ๋์ ๋๋ฆฌ์ ์กฐํฉ
let a = [
{'name':'์์','age':27},
{'name':'์ฒ ์','age':15},
{'name':'์ํฌ','age':20}
];
console.log(a[0]['name']); //์์
console.log(a[1]['age']); //15
โ๏ธ์ฐธ๊ณ
[ ] ์ Key-Value ๋ ๊ฐ์ง๋ก ์ด๋ฃจ์ด์ง ํํ์ ์๋ฃ๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ค!!
์ด๊ฒ ๊ธฐ์ด๊ฐ ๋๋ ๋ฌธ๋ฒ์ด๋ค.
ํ์ํ ์ด์ !!
์์๋ฅผ ํ์ํ ์ ์๊ณ , ์ ๋ณด๋ฅผ ๋ฌถ์ ์ ์๋ค.
์์์ ์ธ๊ธํ <์คํ๋ฅดํ๊ณผ์ผ๊ฐ๊ฒ>๊ฐ ์ ๋ง ์ ๋์ด์ ์ ๊ตญ์์ ์๋์ด ์ฐพ์์ค๊ณ ์๋ค. ๋๊ธฐํ๋ฅผ ์์ฑํ๊ธฐ ์ํด์ ์จ ์์๋๋ก ์ด๋ฆ, ํด๋ํฐ ๋ฒํธ๋ฅผ ์ ๋๋ก ํ์๋๋ฐ, ๋ณ์๋ง์ ์ฌ์ฉํ ๋ชจ์ต์ ๋ค์๊ณผ ๊ฐ๋ค.
let customer_1_name = '๊น์คํ';
let customer_1_phone = '010-1234-1234';
let customer_2_name = '๋ฐ๋ฅดํ';
let customer_2_phone = '010-4321-4321';
...(์์๋ณด๊ธฐ ํ๋ค๋ค.)
- ๋์
๋๋ฆฌ๋ฅผ ํ์ฉํ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๊ณ ๊ฐ ๋ณ๋ก ์ ๋ณด๋ฅผ ๋ฌถ์ ์ ์๋ค.
let customer_1 = {'name' : '๊น์คํ', 'phone' : '010-1234-1234'};
let customer_2 = {'name' : '๋ฐ๋ฅดํ', 'phone' : '010-4321-4321'}; - ๊ทธ๋ฆฌ๊ณ ์์๋ฅผ ๋ํ๋ด๊ธฐ ์ํด ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ๊น๋ํด์ง๋ค.
let customer = [
{'name' : '๊น์คํ', 'phone' : '010-1234-1234'},
{'name' : '๋ฐ๋ฅดํ', 'phone' : '010-4321-4321'}
]
๋ณด๊ธฐ์๋ ๊น๋ํด์ง๊ณ , ๋ค๋ฃจ๊ธฐ๋ ์ฌ์์ง๊ณ , ๊ณ ๊ฐ์ด ์๋ก ํ ๋ช ์ค๋๋ผ๋ .push ํจ์๋ฅผ ์ด์ฉํด์ ๊ฐ๋จํ๊ฒ ๋์ํ ์ ์๋ค.
- ์ฌ์น์ฐ์ฐ ์ธ์๋, ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ ์ฌ๋ฌ ํจ์๋ค์ด ์กด์ฌํ๋ค.
//ํน์ ๋ฌธ์๋ก ๋ฌธ์์ด์ ๋๋๊ณ ์ถ์ ๊ฒฝ์ฐ
let myemail = 'sparta@gmail.com';
let result = myemail.split('@'); // ['sparta','gmail.com']
result[0]; // sparta
result[1]; // gmail.com
let result2 = result[1].split('.'); // ['gmail','com']
result2[0]; // gmail -> ์ฐ๋ฆฌ๊ฐ ์๊ณ ์ถ์๋ ๊ฒ!
result2[1]; // com
myemail.split('@')[1].split('.')[0]; // gmail -> ๊ฐ๋จํ๊ฒ ์ธ ์๋ ์๋ค!
๋ฐ๋ณต๋ฌธ
๋ฆฌ์คํธ ์๋ฃํ์ ๋ฐ์ดํฐ๋ฅผ ํ๋ํ๋ ๋ฝ์์ ์ฐ๊ธฐ์ ๋ฌด๋ฆฌ๊ฐ ์๋ค.
let fruits = ['์ฌ๊ณผ','๋ฐฐ','๊ฐ', ... ,'๊ทค'];
console.log('์ฌ๊ณผ');
console.log('๋ฐฐ');
console.log('๊ฐ');
...
console.log('๊ทค');
// ์ด๋ ๊ฒ 100๊ฐ ์ฉ ์ฐ๊ธฐ์ ๋ฌด๋ฆฌ๊ฐ ์๋ค.. ๊ทธ๋์, ๋ฐ๋ณต๋ฌธ์ด๋ผ๋ ๊ฒ์ด ์กด์ฌํ๋ค!
๊ทธ์ค์์ forEach ๋ผ๋ ํจ์๋ก ๊ฐ๋จํ๊ฒ ๋ฝ์ ์ ์๋ค!!!
fruits.forEach((a) => {
console.log(a);
})
// fruits ์ ์์๋ฅผ ํ๋์ฉ ํ์ธํ๋๋ฐ ์ด๋ฆ์ a๋ผ๊ณ ํ๋ค.
// a๋ b,c,zzz,fruit ์ด๋ค ๊ฑธ๋ก ํด๋ ์๊ด ์๋ค!
์กฐ๊ฑด๋ฌธ
๋ฐ๋ณต๋ฌธ๊ณผ ๋๋ถ์ด ์กฐ๊ฑด์ ๋ง์ถฐ ์คํ์ ๋ค๋ฅด๊ฒ ํด์ฃผ๋ ์กฐ๊ฑด๋ฌธ๋ ํ๋ก๊ทธ๋๋ฐ์์๋ ๋นผ๋์ ์ ์๋ค.
if (์กฐ๊ฑด) {
// ์กฐ๊ฑด์ ๋ง๋ค๋ฉด~
} else {
// ~๊ฐ ์๋๋ผ๋ฉด~
}
๋ฐ๋ณต๋ฌธ + ์กฐ๊ฑด๋ฌธ ํฉ์น๊ธฐ!
let ages = [12,15,20,25,17,37,24]
ages.forEach((a)=> {
if (a > 20) {
console.log('์ฑ์ธ์
๋๋ค')
} else {
console.log('์ฒญ์๋
์
๋๋ค')
}
})
Javascript ํ์ฉ ๋ฌธ๋ฒ
Javascript๋ก Alert ๋์ฐ๊ธฐ
- ํจ์๋ฅผ ๋ง๋ค์ด๋๊ธฐ
function hey(){
alert('์๋
!');
}
- ๋ฒํผ์ ํจ์ ์ฐ๊ฒฐํ๊ธฐ
<button class="form-button" type="button" onclick="hey()">์ํ ๊ธฐ๋กํ๊ธฐ</button>
โ๏ธ์ฐธ๊ณ
1. ๋ฒํผ์ ํด๋ฆญ
2. hey๋ฅผ ๋ถ๋ฌ๋ผ!
3. alert('์๋ !')์ ์คํํด๋ผ!
ํ๋ก๊ทธ๋๋ฐ์์๋ ์ ํด์ง ์ผ์ ๋ฐ๋ณตํ๋ ์น๊ตฌ๋ค์ ํจ์๋ผ๊ณ ๋ถ๋ฅธ๋ค!
function hey()๋ผ๋ ๊ท์น์ผ๋ก hey๋ผ๋ ํจ์๋ฅผ ๋ง๋ค์๊ณ , alert('์๋ !')์ด๋ผ๋ ์์ ์ ์ํ ๋๋ง๋ค ๋ฐ๋ณต์ ์ผ๋ก ์ํํ๊ฒ ๋ง๋ค์๋ค!
JQuery
HTML์ ์์๋ค์ ์กฐ์ํ๋ Javacsript๋ฅผ ๋ฏธ๋ฆฌ ๋ ์ฝ๊ฒ ์์ฑํด ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
์์ Javascript๋ง ์ฌ์ฉํ๋ฉด ๊ธธ๊ณ ๋ณต์กํ๊ธฐ ๋๋ฌธ์ JQuery๋ฅผ ์ฌ์ฉํ๋ค!
Javascript๋ก ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์์ง๋ง
1) ์ฝ๋๊ฐ ๋ณต์กํ๊ณ , 2) ๋ธ๋ผ์ฐ์ ๊ฐ ํธํ์ฑ ๋ฌธ์ ๋ ๊ณ ๋ คํด์ผ ํด์ JQuery๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ฑ์ฅํ๊ฒ ๋์๋ค.
JQuery์ Javascript ๋น๊ตํ๊ธฐ
JQuery๋ Javascript์ ๋ค๋ฅธ ํน๋ณํ ์ํํธ์จ์ด๊ฐ ์๋๋ผ ๋ฏธ๋ฆฌ ์์ฑ๋ Javascript ์ฝ๋์ด๋ค. ์ ๋ฌธ ๊ฐ๋ฐ์๋ค์ด ์ง๋ ์ฝ๋๋ฅผ ์ ๊ฐ์ ธ์์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค!
- ๋ฏธ๋ฆฌ ์์ฑ๋ Javascript ์ฝ๋๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ import ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
- <head>...</head> ์ฌ์ด์ ๋ฃ์ด์ฃผ๋ฉด ๋!
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
css์ class์ฒ๋ผ Javascript์์ HTML์ ์์ง์ด๊ฒ ํ๊ธฐ ์ํด์๋ id ๊ฐ์ด ํ์ํ๋ค!
์ค๋ ๋ฌธ์ ํด๊ฒฐํ๋ ๋ถ๋ถ
- ์๋ฐ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์์ ํ๋ณํ ํด์ ์ค์๋ก ๊ณ์ฐํด์ผ ํ๋ ๋ฌธ์ ๊ฐ ์์๋๋ฐ ํ๋ณํ์ ๋ํ ๊ฐ๋ ์ด ์กํ์์ง ์์์ ๊ตฌ๊ธ๋ง์ ํตํด ํ์ต ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์๋ค.
- VS Code์์ Alt + B ๋จ์ถํค๊ฐ ์ ์ฉ๋์ง ์์์ ํ์ธํ๋๋ open in browser ์ค์น๊ฐ ์๋์ด ์์ด์ ๋ค์ ์ค์นํด์ฃผ์๋ค...
'Today I Learned(TIL) > ์คํ๋ฅดํ ๋ด์ผ๋ฐฐ์์บ ํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์น ๊ฐ๋ฐ ์ข ํฉ_4์ฃผ์ฐจ (6) | 2024.10.31 |
---|---|
์น ๊ฐ๋ฐ ์ข ํฉ_3์ฃผ์ฐจ (3) | 2024.10.30 |
Spring ์ฌ์ ์บ ํ ํ์คํธ_๋ฐ๋ณต๋ฌธ ์ฐ์ตํ๊ธฐ (0) | 2024.10.29 |
์น ๊ฐ๋ฐ ์ข ํฉ_1์ฃผ์ฐจ (3) | 2024.10.28 |
Java Handbook_Part 1โ๏ธ (4) | 2024.10.22 |