<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>개발노트</title>
        <link>https://velog.io/</link>
        <description>coding note</description>
        <lastBuildDate>Sat, 14 May 2022 08:28:44 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>개발노트</title>
            <url>https://velog.velcdn.com/images/make_it_ri9ht/profile/82959c51-01b6-4f82-bce8-32cf56e2002c/image.gif</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. 개발노트. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/make_it_ri9ht" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[HTML/CSS/Javascript]]></title>
            <link>https://velog.io/@make_it_ri9ht/1%EC%A3%BC%EC%B0%A8HTMLCSSJavascript</link>
            <guid>https://velog.io/@make_it_ri9ht/1%EC%A3%BC%EC%B0%A8HTMLCSSJavascript</guid>
            <pubDate>Sat, 14 May 2022 08:28:44 GMT</pubDate>
            <description><![CDATA[<h1 id="ⅰ-html-css-javascript의-기본">Ⅰ. HTML, CSS, Javascript의 기본</h1>
<h2 id="1-html-기초">1. HTML 기초</h2>
<blockquote>
</blockquote>
<ol>
<li>HTML은 크게 head와 body로 구성되며, head안에는 페이지의 속성 정보를, body안에는 페이지의 내용을 담는다.</li>
<li>head 안에 들어가는 대표적인 요소들: meta, script, link, title 등</li>
<li>body 안에 들어가는 대표적인 요소들: <pre><code>&lt;body&gt;
   &lt;!-- 구역을 나누는 태그들 --&gt;
   &lt;div&gt;나는 구역을 나누죠&lt;/div&gt;
   &lt;p&gt;나는 문단이에요&lt;/p&gt;
   &lt;ul&gt;
       &lt;li&gt; bullet point!1 &lt;/li&gt;
       &lt;li&gt; bullet point!2 &lt;/li&gt;
   &lt;/ul&gt;
   &lt;!-- 구역 내 콘텐츠 태그들 --&gt;
   &lt;h1&gt;h1은 제목을 나타내는 태그입니다. 페이지마다 하나씩 꼭 써주는 게 좋아요. 그래야 구글 검색이 잘 되거든요.&lt;/h1&gt;
   &lt;h2&gt;h2는 소제목입니다.&lt;/h2&gt;
   &lt;h3&gt;h3~h6도 각자의 역할이 있죠. 비중은 작지만..&lt;/h3&gt;
   &lt;hr&gt;
   span 태그입니다: 특정 &lt;span style=&quot;color:red&quot;&gt;글자&lt;/span&gt;를 꾸밀 때 써요
   &lt;hr&gt;
   a 태그입니다: &lt;a href=&quot;http://naver.com/&quot;&gt; 하이퍼링크 &lt;/a&gt;
   &lt;hr&gt;
   img 태그입니다: &lt;img src=&quot;https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png&quot; /&gt;
   &lt;hr&gt;
   input 태그입니다: &lt;input type=&quot;text&quot; /&gt;
   &lt;hr&gt;
   button 태그입니다: &lt;button&gt; 버튼입니다&lt;/button&gt;
   &lt;hr&gt;
   textarea 태그입니다: &lt;textarea&gt;나는 무엇일까요?&lt;/textarea&gt;
&lt;/body&gt;</code></pre><ol start="4">
<li>HTML 부모-자식 구조:
html 태그는, &quot;누가 누구 안에 있느냐&quot;를 이해하는 것이 가장 중요하다.
<img src="https://velog.velcdn.com/images/make_it_ri9ht/post/f19930f8-8645-409e-9af2-e09ad9ccfe0b/image.png" alt=""></li>
</ol>
</li>
</ol>
<h2 id="2-css-기초">2. css 기초</h2>
<blockquote>
</blockquote>
<ol>
<li>CSS사용법:
<code>&lt;head&gt; ~ &lt;/head&gt;</code> 안에 <code>&lt;style&gt; ~ &lt;/style&gt;</code>로 공간을 만들어 작성한다.
<em><strong>ex) <code>mytitle</code>라는 클래스를 가리킬 때, <code>.mytitle { ... }</code> 라고 써줘야 하는 것을 꼭! 기억하자!</strong></em></li>
<li>모든 CSS들을 다 알 수는 없다. 아래 CSS외의 것들은 <strong>필요할 때마다 검색</strong>해서 쓰자!<pre><code> /배경관련/
 background-color
 background-image
 background-size
 /사이즈/
 width
 height
 /폰트/
 font-size
 font-weight
 font-famliy
 color
 /간격/
 margin
 padding</code></pre></li>
<li>부트스트랩, 예쁜 CSS 모음집 <a href="https://getbootstrap.com/docs/4.0/components/alerts/">부스트트랩 컴포넌트 4.0 바로가기</a></li>
</ol>
<p><strong><em>현업에서는 미리 완성된 부트스트랩을 가져다 쓰는 경우가 많다. 남이 미리 작성한 CSS를 내 HTML 파일에 적용하는 것. 단, 부트스트랩을 사용하려면 아래 <code>부트스트랩 시작 템플릿</code>으로 시작해야 한다.</em></strong></p>
<pre><code>&lt;!doctype html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;!-- Required meta tags --&gt;
    &lt;meta charset=&quot;utf-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;&gt;
    &lt;!-- Bootstrap CSS --&gt;
    &lt;link rel=&quot;stylesheet&quot; href=&quot;https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css&quot;
        integrity=&quot;sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm&quot; crossorigin=&quot;anonymous&quot;&gt;
    &lt;!-- Optional JavaScript --&gt;
    &lt;!-- jQuery first, then Popper.js, then Bootstrap JS --&gt;
    &lt;script src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js&quot;&gt;&lt;/script&gt;
    &lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js&quot;
        integrity=&quot;sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q&quot;
        crossorigin=&quot;anonymous&quot;&gt;&lt;/script&gt;
    &lt;script src=&quot;https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js&quot;
        integrity=&quot;sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl&quot;
        crossorigin=&quot;anonymous&quot;&gt;&lt;/script&gt;
    &lt;title&gt;스파르타코딩클럽 | 부트스트랩 연습하기&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;h1&gt;이걸로 시작해보죠!&lt;/h1&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre><h2 id="3-javascript-기초">3. Javascript 기초</h2>
<blockquote>
</blockquote>
<ol>
<li>자바스크립트 : 프로그래밍 언어 중 하나로, 브라우저가 알아들을 수 있는 언어</li>
<li>사용법
• 먼저 함수를 만들어 둔다.<pre><code> function hey(){
 alert(&#39;안녕!&#39;);
 }</code></pre>•<code>&lt;head&gt; ~ &lt;/head&gt;</code> 안에 <code>&lt;script&gt; ~ &lt;/script&gt;</code> 로 공간을 만들어 작성한다.</li>
</ol>
<p><strong><code>&lt;script&gt; ~ &lt;/script&gt;</code> 내에 자바스크립트를 작성</strong>하는 것.
• 버튼에 함수를 연결하기 <em>버튼을 누르면 함수가 실행된다.</em></p>
<pre><code> &lt;button onclick=&quot;hey()&quot; type=&quot;button&quot; class=&quot;btn btn-primary&quot;&gt;기사저장&lt;/button&gt;</code></pre><ol start="3">
<li>기초 문법1
• 변수 &amp; 기본연산
```</li>
<li>let으로 변수를 선언한다.
 let num = 20
 num = &#39;Bob&#39;
/변수는 값을 저장하는 박스. 한 번 선언했으면, 다시 선언하지 않고 값을 넣는다.</li>
<li>사칙연산, 그리고 문자열 더하기가 기본적으로 가능하다.
 let a = 1
 let b = 2
 a+b // 3
 a/b // 0.5
 let first = &#39;Bob&#39;
 let last = &#39;Lee&#39;
 first+last // &#39;BobLee&#39;
 first+&#39; &#39;+last // &#39;Bob Lee&#39;
 first+a // Bob1 -&gt; 문자+숫자를 하면, 숫자를 문자로 바꾼 뒤 수행한다.</li>
<li>변수명 타입에는 2가지가 있다. 회사마다 규칙이 있음.
 let first_name = &#39;bob&#39; // snake case
 let firstName = &#39;bob&#39; // camel case<pre><code>• 리스트 &amp; 딕셔너리</code></pre></li>
<li>리스트: 순서를 지켜서 가지고 있는 형태
 let a_list = []  // 리스트를 선언. 변수 이름은 역시 아무렇게나 가능! // 또는,
 let b_list = [1,2,&#39;hey&#39;,3] 로 선언.
 b_list[0] // 1 를 출력
 b_list[1] // 2 를 출력
 b_list[2] // &#39;hey&#39;를 출력
 // 리스트에 요소 추가하기
 b_list.push(&#39;헤이&#39;)
 b_list // [1, 2, &quot;hey&quot;, 3, &quot;헤이&quot;] 를 출력
 // 리스트의 길이 구하기
 b_list.length // 5를 출력</li>
<li>딕셔너리: 키(key)-밸류(value) 값의 묶음
 let a_dict = {}  // 딕셔너리 선언. 변수 이름은 역시 아무렇게나 가능!// 또는,
 let b_dict = {&#39;name&#39;:&#39;Bob&#39;,&#39;age&#39;:21} // 로 선언.
 b_dict[&#39;name&#39;] // &#39;Bob&#39;을 출력
 b_dict[&#39;age&#39;] // 21을 출력
 b_dict[&#39;height&#39;] = 180 // 딕셔너리에 키:밸류 넣기
 b_dict // {name: &quot;Bob&quot;, age: 21, height: 180}을 출력</li>
<li>리스트와 딕셔너리의 조합
 names = [{&#39;name&#39;:&#39;bob&#39;,&#39;age&#39;:20},{&#39;name&#39;:&#39;carry&#39;,&#39;age&#39;:38}]
 // names[0][&#39;name&#39;]의 값은? &#39;bob&#39;
 // names[1][&#39;name&#39;]의 값은? &#39;carry&#39;
 new_name = {&#39;name&#39;:&#39;john&#39;,&#39;age&#39;:7}
 names.push(new_name)
 // names의 값은? [{&#39;name&#39;:&#39;bob&#39;,&#39;age&#39;:20},{&#39;name&#39;:&#39;carry&#39;,&#39;age&#39;:38},    {&#39;name&#39;:&#39;john&#39;,&#39;age&#39;:7}]
 // names[2][&#39;name&#39;]의 값은? &#39;john&#39;<pre><code>• 기본 함수들</code></pre>//사칙연산 외에도, 기본적으로 제공하는 여러 함수들이 존재한다.</li>
<li>나눗셈의나머지&#39;를 구하고 싶은 경우
 let a = 20
 let b = 7
 a % b = 6</li>
<li>모든 알파벳을 대문자로 바꾸고 싶은 경우
 let myname = &#39;spartacodingclub&#39;
 myname.toUpperCase() // SPARTACODINGCLUB</li>
<li>특정 문자로 문자열을 나누고 싶은 경우
 let myemail = &#39;sparta@gmail.com&#39;
 let result = myemail.split(&#39;@&#39;) // [&#39;sparta&#39;,&#39;gmail.com&#39;]
 result[0] // sparta
 result[1] // gmail.com
 let result2 = result[1].split(&#39;.&#39;) // [&#39;gmail&#39;,&#39;com&#39;]
 result2[0] // gmail -&gt; 우리가 알고 싶었던 것!
 result2[1] // com
 myemail.split(&#39;@&#39;)[1].split(&#39;.&#39;)[0] // gmail -&gt; 간단하게 쓸 수도 있다!</li>
<li>특정 문자로 나누고 싶은 경우 2
 let txt = &#39;서울시-마포구-망원동&#39;
 let names = txt.split(&#39;-&#39;); // [&#39;서울시&#39;,&#39;마포구&#39;,&#39;망원동&#39;]</li>
<li>특정 문자로 합치고 싶은 경우
 let result = names.join(&#39;&gt;&#39;); // &#39;서울시&gt;마포구&gt;망원동&#39; (즉, 문자열 바꾸기!)
```</li>
<li>기초 문법2
• 함수의 기본 생김새
```</li>
<li>만들기
 function 함수이름(필요한 변수들) {
 내릴 명령들을 순차적으로 작성
}</li>
<li>사용하기
 함수이름(필요한 변수들);</li>
<li>두 숫자를 입력받으면 더한 결과를 돌려주는 함수<pre><code>function sum(num1, num2) {</code></pre>  console.log(&#39;num1: &#39;, num1, &#39;, num2: &#39;, num2);
  return num1 + num2;
}
  sum(3, 5); // 8
  sum(4, -1); // 3<pre><code>• 20 보다 작으면 작다고, 크면 크다고 알려주는 함수</code></pre>function is_adult(age){
  if(age &gt; 20){<pre><code>  alert(&#39;성인이에요&#39;)</code></pre>  } else {<pre><code>  alert(&#39;청소년이에요&#39;)</code></pre>  }
}
is_adult(25)<pre><code>• if, else if, else if, else if else</code></pre>function is_adult(age){
  if(age &gt; 20){<pre><code>  alert(&#39;성인이에요&#39;)</code></pre>  } else if (age &gt; 10) {<pre><code>  alert(&#39;청소년이에요&#39;)</code></pre>  } else {<pre><code>  alert(&#39;10살 이하!&#39;)</code></pre>  }
}
is_adult(12)<pre><code>• AND 조건과 OR 조건!</code></pre>// AND 조건은 이렇게
function is_adult(age, sex){
  if(age &gt; 20 &amp;&amp; sex == &#39;여&#39;){<pre><code>  alert(&#39;성인 여성&#39;)</code></pre>  } else if (age &gt; 20 &amp;&amp; sex == &#39;남&#39;) {<pre><code>  alert(&#39;성인 남성&#39;)</code></pre>  } else {<pre><code>  alert(&#39;청소년이에요&#39;)</code></pre>  }
}
// 참고: OR 조건은 이렇게
function is_adult(age, sex){
  if (age &gt; 65 || age &lt; 10) {<pre><code>  alert(&#39;탑승하실 수 없습니다&#39;)</code></pre>  } else if(age &gt; 20 &amp;&amp; sex == &#39;여&#39;){<pre><code>  alert(&#39;성인 여성&#39;)</code></pre>  } else if (age &gt; 20 &amp;&amp; sex == &#39;남&#39;) {<pre><code>  alert(&#39;성인 남성&#39;)</code></pre>  } else {<pre><code>  alert(&#39;청소년이에요&#39;)</code></pre>  }
}
is_adult(25,&#39;남&#39;)<pre><code>• 예를 들어 0부터 99까지 출력해야 하는 상황이라면!</code></pre>console.log(0)
console.log(1)
console.log(2)
console.log(3)
console.log(4)
console.log(5)
...
console.log(99)
// 이렇게 쓰기엔 무리가 있기 때문에 &#39;반복문&#39;이라는 것이 존재한다!<pre><code>• 반복문을 이용하면 아래와 같이 단 세 줄로 출력가능!</code></pre>for (let i = 0; i &lt; 100; i++) {
  console.log(i);
}<pre><code>• 그러나 반복문은 주로 리스트와 함께 쓰인다.</code></pre>let people = [&#39;철수&#39;,&#39;영희&#39;,&#39;민수&#39;,&#39;형준&#39;,&#39;기남&#39;,&#39;동희&#39;]
// 이렇게 하면 리스트의 모든 원소를 한번에 출력할 수 있다.
// i가 1씩 증가하면서, people의 원소를 차례대로 불러올 수 있게 된다.
for (let i = 0 ; i &lt; people.length ; i++) {
  console.log(people[i])
}<pre><code>• 반복문은 딕셔너리가 들어간 리스트와 찰떡이다!</code></pre>let scores = [
  {&#39;name&#39;:&#39;철수&#39;, &#39;score&#39;:90},
  {&#39;name&#39;:&#39;영희&#39;, &#39;score&#39;:85},
  {&#39;name&#39;:&#39;민수&#39;, &#39;score&#39;:70},
{&#39;name&#39;:&#39;형준&#39;, &#39;score&#39;:50},
{&#39;name&#39;:&#39;기남&#39;, &#39;score&#39;:68},
{&#39;name&#39;:&#39;동희&#39;, &#39;score&#39;:30},
]
for (let i = 0 ; i &lt; scores.length ; i++) {
  console.log(scores[i]);
}
// 이렇게 하면 리스트 내의 딕셔너리를 하나씩 출력할 수 있고,
for (let i = 0 ; i &lt; scores.length ; i++) {
  if (scores[i][&#39;score&#39;] &lt; 70) {<pre><code>  console.log(scores[i][&#39;name&#39;]);</code></pre>  }
}
// 이렇게 하면 점수가 70점 미만인 사람들의 이름만 출력할 수도 있다.
```</li>
</ol>
]]></description>
        </item>
    </channel>
</rss>