스파르타 코딩클럽 1주차

BYEONGMIN CHOI·2022년 4월 25일
0

WIL(Week I Learned)

목록 보기
1/8
post-thumbnail

웹 동작 개녑(HTML을 받는 경우)

  • 브라우저가 하는 일 1.요청을 보내고 2.받는 HTML 파일을 그려주는 일
  • 요청을 받는 곳 -> 서버가 만들어 놓은 API 라는 창구에서 미리 정해진 약속대로 요청을 보내는 것

웹의 동작 개념(데이터만 받는 경우)

  • 데이터만 내려줄때가 훨씬 더 많다.
  • 데이터가 변경될 땐 HTML을 받는 것이 아니라 데이터만 받아서 새로 끼워준다.
  • 데이터만 내려올 경우는 JSON 형식을 띈다.

HTML 기초

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>스파르타코딩클럽 | HTML 기초</title>
</head>

<body>
    <!-- 구역을 나누는 태그들 -->
    <div>나는 구역을 나누죠</div>
    <p>나는 문단이에요</p>
    <ul>
        <li> bullet point!1 </li>
        <li> bullet point!2 </li>
    </ul>

    <!-- 구역 내 콘텐츠 태그들 -->
    <h1>h1은 제목을 나타내는 태그입니다. 페이지마다 하나씩 꼭 써주는 게 좋아요. 그래야 구글 검색이 잘 되거든요.</h1>
    <h2>h2는 소제목입니다.</h2>
    <h3>h3~h6도 각자의 역할이 있죠. 비중은 작지만..</h3>
    <hr>
    span 태그입니다: 특정 <span style="color:red">글자</span>를 꾸밀 때 써요
    <hr>
    a 태그입니다: <a href="http://naver.com/"> 하이퍼링크 </a>
    <hr>
    img 태그입니다: <img src="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" />
    <hr>
    input 태그입니다: <input type="text" />
    <hr>
    button 태그입니다: <button> 버튼입니다</button>
    <hr>
    textarea 태그입니다: <textarea>나는 무엇일까요?</textarea>
</body>

</html>

CSS 기초

  • HTML 부모-자식 구조
    - html 태그는, "누가 누구 안에 있느냐"를 이해하는 것이 중요!! 나를 감싸고 있는 태그가 바뀌면 그안의 내용물도 모두 영향을 받는다.

  • 자주 쓰이는 CSS

배경관련
background-color
background-image
background-size

사이즈
width
height

폰트
font-size
font-weight
font-family
color

간격
margin
padding

부트스트랩, 예쁜 CSS 모음집

bootstrap이란?

  • 예쁜 CSS를 미리 모아둔 것(CSS를 다룰 줄 아는 것과, 미적 감각을 발휘하여 예쁘게 만드는 것은 다른 이야기이기 때문에, 현업에서는 미리 완성된 부트스트랩을 가져다 쓰는 경우가 많습니다.)

bootstrap - 시작 템플릿

<!doctype html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"
        integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
        crossorigin="anonymous"></script>

    <title>스파르타코딩클럽 | 부트스트랩 연습하기</title>
</head>

<body>
    <h1>이걸로 시작해보죠!</h1>
</body>

</html>
  • 이미지 어둡게 하기
linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5))
  • 구글폰트 적용
// 구글폰트 link
<link href="https://fonts.googleapis.com/css2?family=Gowun+Dodum&display=swap" rel="stylesheet">

// Gowun Dodum 폰트 CSS 사용
<style>
* {
    font-family: 'Gowun Dodum', sans-serif;
}
</style>

Javascript 맛보기

👉 클라이언트가 서버에 요청하면, 서버가 클라이언트에게 HTML+CSS+Javascript를 준다
👉
  • 간단한 함수 만들기
function hey(){
	alert('안녕!');
}

👉 <head> ~ </head> 안에 <script> ~ </script> 로 공간을 만들어 작성합니다.
<script> ~ </script> 내에 자바스크립트를 작성하는 것

  • 버튼에 함수를 연결하여 버튼을 작동시 함수가 불려진다.
<button onclick="hey()">영화 기록하기</button>
  • console 로 코드 확인해보기
    \rightarrow [크롬 개발자도구]를 열어서, console 탭에 작성합니다!

    그냥 쉽게, "마우스 오른쪽 클릭 → 검사 → console"도 가능!

    크롬 개발자도구 콘솔창은 어떤 의미?

    \rightarrow 띄워놓은 페이지에서 빠르게 자바스크립트를 테스트해볼 수 있게, 개발자들을 위해 만들어둔 도구입니다. 새로고침하면 모두 사라진다는 사실!

--
console.log(변수), 콘솔 창에 괄호 안의 값을 출력해줍니다.
개발자가 결과값을 보기 편하도록!

console.log(변수1,변수2) 로 여러 변수를 한번에 출력할 수도 있어요.
아래를 복사해서 붙여넣어보세요.

console.log("Hello World!");
  • 변수 할당
    letconst 이 둘의 차이점 \rightarrow immutable 여부이다. (불변성)

let은 변수에 재할당이 가능

let name = 'java'
console.log(name) // java

let name = 'javascript'
console.log(name) 
// Uncaught SyntaxError: Identifier 'name' has already been declared

name = 'javascript'
console.log(name) // javascript

const는 변수 재선언, 변수 재할당 모두 불가능

    const name = 'bathingape'
    console.log(name) // bathingape

    const name = 'javascript'
    console.log(name) 
    // Uncaught SyntaxError: Identifier 'name' has already been declared

    name = 'react'
    console.log(name) 
    //Uncaught TypeError: Assignment to constant variable.
  • 변수 & 기본연산
    - 사칙연산, 그리고 문자열 더하기가 기본적으로 가능
let a = 1
let b = 2

a+b // 3
a/b // 0.5

let first = 'Bob'
let last = 'Lee'

first+last // 'BobLee'

first+' '+last // 'Bob Lee'

first+a // Bob1 -> 문자+숫자를 하면, 숫자를 문자로 바꾼 뒤 수행합니다.
  • 리스트 & 딕셔너리
  • 리스트 : 순서를 지켜서 가지고 있는 형태
let a_list = []  // 리스트를 선언. 변수 이름은 역시 아무렇게나 가능!

// 또는,

let b_list = [1,2,'hey',3] // 로 선언 가능

b_list[1] // 2 를 출력
b_list[2] // 'hey'를 출력

// 리스트에 요소 넣기
b_list.push('헤이')
b_list // [1, 2, "hey", 3, "헤이"] 를 출력

// 리스트의 길이 구하기
b_list.length // 5를 출력
  • 딕셔너리 : 키(key) - 벨류(value) 값의 묶음
let a_dict = {}  // 딕셔너리 선언. 변수 이름은 역시 아무렇게나 가능!

// 또는,

let b_dict = {'name':'Bob','age':21} // 로 선언 가능
b_dict['name'] // 'Bob'을 출력
b_dict['age'] // 21을 출력

b_dict['height'] = 180 // 딕셔너리에 키:밸류 넣기
b_dict // {name: "Bob", age: 21, height: 180}을 출력

names = [{'name':'bob','age':20},{'name':'carry','age':38}]

// names[0]['name']의 값은? 'bob'
// names[1]['name']의 값은? 'carry'

new_name = {'name':'john','age':7}
names.push(new_name)

// names의 값은? [{'name':'bob','age':20},{'name':'carry','age':38},{'name':'john','age':7}]
// names[2]['name']의 값은? 'john'
  • 함수
    - 기본 생김새

    // 만들기
    function 함수이름(필요한 변수들) {
        내릴 명령들을 순차적으로 작성
    }
    // 사용하기
      함수이름(필요한 변수들);
  • 예시

     // 두 숫자를 입력받으면 더한 결과를 돌려주는 함수
     function sum(num1, num2) {
         console.log('숫자', num1, num2);
         return num1 + num2;
     }
    
     sum(3, 5); // 8
     sum(4, -1); // 3
profile
스스로 성장하는 개발자가 되겠습니다.

0개의 댓글