<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>imyour_juu.log</title>
        <link>https://velog.io/</link>
        <description>티스토리로 이사갔습니다..~ : https://jujuzzangzzang.tistory.com/</description>
        <lastBuildDate>Tue, 21 Jun 2022 06:37:57 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>imyour_juu.log</title>
            <url>https://velog.velcdn.com/images/imyour_juu/profile/4aff551a-7a1f-45f2-8b2b-10b34f4f3477/image.jpg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. imyour_juu.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/imyour_juu" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[01_Python]]></title>
            <link>https://velog.io/@imyour_juu/01Python</link>
            <guid>https://velog.io/@imyour_juu/01Python</guid>
            <pubDate>Tue, 21 Jun 2022 06:37:57 GMT</pubDate>
            <description><![CDATA[<h4 id="python이란">Python이란?</h4>
<ul>
<li><p>1990년 암스테르담의 귀도 반 로섬(Guido Van Rossum)이 개발한 <strong>인터프리터</strong> 언어이다.</p>
</li>
<li><p>인터프리터 언어란 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램이라고 한다.</p>
</li>
</ul>
<p><strong>Python이 주목받고 있는 이유</strong></p>
<ul>
<li>초보자가 ㄱ배우기 쉽다.</li>
<li>다양한 라이브러리 및 툴을 가지고 있다.</li>
<li>머신러닝(ML), 인공지능(AI) 및 데이터 과학 라이브러리와 프레임워크를 활용할 수 있다.
Python을 필요로 하는 기업의 수요가 증가하고 있다.</li>
</ul>
<h4 id="jupyter-notebook-사용법">jupyter notebook 사용법</h4>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/3a667934-faa7-4f87-8039-ecb1d2f4c7aa/image.png" alt=""></p>
<p>셀추가</p>
<h4 id="변수명-규칙">변수명 규칙</h4>
<ol>
<li>영문자, 숫자, 언더바를 사용할 수 있다.
- 단, 영문자는 대문자와 소문자를 다르게 인식한다.
<img src="https://velog.velcdn.com/images/imyour_juu/post/ffdc45e7-334a-4698-85fa-7c11f7d815bd/image.png" alt=""></li>
</ol>
<ol start="2">
<li><p>숫자로 시작할 수 없다.
<img src="https://velog.velcdn.com/images/imyour_juu/post/b03e03fa-77d7-4e84-9def-9b3e43c26f56/image.png" alt=""></p>
</li>
<li><p>키워드 사용이 불가능하다.
<img src="https://velog.velcdn.com/images/imyour_juu/post/d4754c58-ca7b-48ae-b501-c4f02ef720fa/image.png" alt=""></p>
</li>
<li><p>권장사항 </p>
</li>
</ol>
<ul>
<li>변수명의 첫글자는 항상 소문자로 만든다.</li>
<li>두가지의 문자를 섞어서 변수명을 만들 경우 두단어를 구분할 수 있게 한다
ex_numberList, number_list</li>
</ul>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/eb01a535-83ff-4f64-82ed-cc8cf0cd81dc/image.png" alt=""></p>
<p>Python 자료형 종류
<img src="https://velog.velcdn.com/images/imyour_juu/post/6d7b3e95-315c-4ed4-b521-4e652bf91353/image.png" alt=""></p>
<p>이스케이프 코드
프로그래밍 할때</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/9f734df1-7fac-4715-82d6-ccd3d0fa4cb0/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/fa296f14-8947-49ab-bae7-813e8446b802/image.png" alt=""></p>
<p>문자열 포매팅(Formatting)</p>
<p>1.
<img src="https://velog.velcdn.com/images/imyour_juu/post/7190255c-d0c8-4350-939a-72b67ddf184d/image.png" alt=""></p>
<p>2.
<img src="https://velog.velcdn.com/images/imyour_juu/post/eea0f8d6-915a-472a-b671-5aab910f660b/image.png" alt=""></p>
<ol start="3">
<li><img src="https://velog.velcdn.com/images/imyour_juu/post/be809a76-463d-4852-8bfe-afa4556db0ec/image.png" alt=""></li>
</ol>
<h4 id="문자열-포맷-코드">문자열 포맷 코드</h4>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/8756d5c8-f759-4afc-9705-61c041cd5211/image.png" alt=""></p>
<h4 id="연산자-종류">연산자 종류</h4>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/f1ef389c-e374-4e87-8611-2be8b728e455/image.png" alt=""></p>
<ol>
<li>산술연산자
- 자바에서는 보지 못했던 &#39;//&#39;가 추가됐다
<img src="https://velog.velcdn.com/images/imyour_juu/post/1d24e22f-fa1f-4ce5-be47-ff0f57c2c4bf/image.png" alt=""></li>
</ol>
<p>산술연산자 예제 
#1. num1이라는 변수에 숫자데이터 하나를 입력받기
#2. num2라는 변수에 숫자데이터 하나를 입력받기
#3. num1에서 num2를 나눈 몫을 출력하기</p>
<p>num1 = int(input(&#39;숫자1 입력&#39;))
num2 = int(input(&#39;숫자2 입력&#39;))
print(num1//num2)</p>
<h4 id="int를-붙이지-않으면">int()를 붙이지 않으면</h4>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/57400f0f-63eb-40ca-939d-76708df2cb8b/image.png" alt=""></p>
<p>지수연산자 예제</p>
<p>#1. num3라는 변수 선언, 숫자데이터 입력받기
#2. num4라는 변수 선언, 숫자데이터 입력받기
#3. num3의 num4제곱 결과를 출력</p>
<p>num3 = int(input())
num4 = int(input())
num3**num4</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Maven_사용하기]]></title>
            <link>https://velog.io/@imyour_juu/Maven%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@imyour_juu/Maven%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0</guid>
            <pubDate>Fri, 13 May 2022 02:09:24 GMT</pubDate>
            <description><![CDATA[<h4 id="maven">Maven</h4>
<ul>
<li>java용 프로젝트 관리 도구</li>
<li>필요한 라이브러리를 pom.xml에 정의</li>
<li>라이브러리의 동작에 필요한 라이브러리도 자동 다운로드</li>
</ul>
<p>Maven 사용 전 설정!</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/06024637-148d-4c5b-ba81-c672eb5e06eb/image.png" alt=""></p>
<p>Project Exploer에서 마우스 우클릭 New -&gt; Other 선택</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/b17263be-c8a4-4832-8cd9-016849de8b24/image.png" alt=""></p>
<p>Maven 폴더에서 Maven Project 선택</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/2041c54c-b078-44c7-a5af-b7972f9c2e7a/image.png" alt=""></p>
<p>Workspace위치를 설정하는 곳</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/49709ebb-470b-40d4-b35e-be592f979d42/image.png" alt=""></p>
<p>filter에 maven-archetype-webapp 1.0을 선택</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/321852ac-6cea-4064-9c01-0a3147e8af33/image.png" alt=""></p>
<p>Gruop ID와 Artifact ID를 설정</p>
<p>기다리면 폴더 생성이 되지만 오류표시가 뜬다!</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/f0e5ddd3-2c0f-40d6-b008-39d623e0cdcb/image.png" alt="">
프로젝트에서 오른쪽 마우스버튼 누른 후 build path -&gt; configure build path 선택</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/453349f8-0261-4343-aef4-c5102690c81c/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/afb84e79-58c7-4274-b859-8cacb1e73950/image.png" alt="">
아래에서 세번째 server runtime 선택 후 본인 서버 선택
(나는 아파치 톰캣 사용중이라 아파치톰캣을 선택했다)</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/2add58ec-d933-4363-a001-f322763ab58d/image.png" alt="">
web app libraries선택 후 프로젝트 명 선택해주면 되는 것 같다</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/604b4bd3-8488-4029-8488-e6754cc0061b/image.png" alt=""></p>
<p>그 후 build path 에서 maven하단 project facets 에서 다이나믹 웹 프로젝트 버전을 4.0으로 변경하고
자바 버전도 올려주면 되는데,,,,,,,,,,,,</p>
<p>구버전.. 이클립스를 사용하는 사람은 .. 이 방법으로 다이나믹 웹 프로젝트 버젼이 4.0으로 변경이 안된다..
(사실 나 )
하단의 방법으로</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/ff0b4f33-662d-4698-888c-debc5dbd256c/image.png" alt="">
다이나믹 웹 프로젝트를 만들어 준 후 </p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/8d3a6bee-d7e0-4a9d-9bfa-60a8b51ee8c0/image.png" alt="">
configure 선택 후 convert to maven project 선택</p>
<p>아까 위 방법처럼</p>
<p>groupId와 artifactId를 설정해주면 끝</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[01_Java_script]]></title>
            <link>https://velog.io/@imyour_juu/JavaScript</link>
            <guid>https://velog.io/@imyour_juu/JavaScript</guid>
            <pubDate>Wed, 11 May 2022 07:41:58 GMT</pubDate>
            <description><![CDATA[<h2 id="javascript">JavaScript</h2>
<p>웹페이지를 동적으로, 프로그래밍적으로 제어하가 위해서 고안된 객체 기반의 스크립트 언어</p>
<p>모든 웹 브라우저에서 동작할 수 있는 언어가 필요해서 발전</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/1427c3be-0b32-40eb-8468-1236f418c048/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/e58cb68e-4893-4c23-97de-9e9446c405c0/image.png" alt=""></p>
<h3 id="javascript-사용방법">javascript 사용방법</h3>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/54cc2ece-9df9-4db1-8169-0a0596fb7c5f/image.png" alt=""></p>
<h3 id="javascript-입출력">JavaScript 입출력</h3>
<h4 id="입력하기">입력하기</h4>
<p>document.write();</p>
<ul>
<li>html 문서 내에 출력</li>
</ul>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/145dde29-a1fc-4c82-8be4-d99f80a11801/image.png" alt=""></p>
<p>console.log();</p>
<ul>
<li>console창에 출력 </li>
<li>console 창이란 웹페이지에서 f12를 누르면 나오는 개발자도구!
<img src="https://velog.velcdn.com/images/imyour_juu/post/16f851a0-f123-48f9-a506-2c4a76579e2b/image.png" alt=""></li>
</ul>
<p>console.log() 외에도 경고 오류 정보 등이 있다.</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/26579deb-d677-492e-bb2f-f231aaf58055/image.png" alt=""></p>
<p>alert();</p>
<ul>
<li>알림 팝업창으로 출력</li>
</ul>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/5bf1eea4-96dc-4a83-bfdf-e43ba11e90ea/image.png" alt=""></p>
<h4 id="출력하기">출력하기</h4>
<p>prompt(&quot;출력문 작성&quot;, &quot;입력내용&quot;)
-&gt; return 타입 : string
뒤 입력내용은 생략이 가능하다 (생략하면 공백)
입력 내용에 입력한 값이 리턴되는 형태</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/b4b5e163-000e-4891-a6cf-9cdc0a39c9ed/image.png" alt=""></p>
<p>confirm(&quot;출력문 작성&quot;)
-&gt; return 타입 : boolean
확인 시 TRUE 취소 시 FALSE를 리턴함</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/f5116a8a-2752-4019-896a-945e8d1e617a/image.png" alt=""></p>
<h3 id="java와-javascript의-차이점">Java와 JavaScript의 차이점</h3>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/3cbc2671-143f-440a-89a9-64bec0c8adb3/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/8f0c7099-c3e0-4127-b619-215cb7b27edf/image.png" alt=""></p>
<p>ECMAScript6 표준안에서 새로운 변수 키워드 등장</p>
<p>기존 java에서 보지 못했던 let(변수)과 const(상수)
java처럼 자료형을 다르게 표기하는 것이 아닌 var나 let 등으로 선언해줄 수 있다.</p>
<p>여기서 ECMAScript란 브라우저에서 동작하는 언어를 만들 때, 문법적인 사항들을 정리한 문서</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/2ca51188-a00c-4ea1-b6d7-7e2ba832cccf/image.png" alt=""></p>
<h4 id="입출력문과-변수-활용-예제">입출력문과 변수 활용 예제</h4>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/36c8e66f-1392-461d-bc97-00e2df7a8026/image.png" alt=""></p>
<pre><code>&lt;script&gt;


        let name = prompt(&#39;이름을 입력하세요&#39;)
        console.log(&#39;어서오세요!&#39;)
        console.log(name + &#39;님 환영합니다!&#39;)


    &lt;/script&gt;</code></pre><p>name변수에 prompt로 입력받은 데이터를 저장
console.log를 이용하여 name에 저장된 데이터 출력</p>
<p>결과 ↓
<img src="https://velog.velcdn.com/images/imyour_juu/post/c80b6448-40d9-4075-b83c-8a4fc91531fa/image.png" alt=""></p>
<h4 id="javascript의-자료형">JavaScript의 자료형</h4>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/8607a97e-3caf-4b39-aca5-1eda705abd2c/image.png" alt=""></p>
<p>*<em>null *</em>
-&gt; 의도적으로 비어있는 상태
타입을 확인하면 object 형태</p>
<p>let num ; = undefined</p>
<p>*<em>undefined *</em>
-&gt; 변수를 선언하고 값을 할당하지 않은 상태
타입을 확인하면 undefined 형태</p>
<p>let abc = 1;
abc = null; =&gt; null</p>
<p><strong>number</strong></p>
<p>var num1 =65;
var num2 =99.9</p>
<p>String
var name = &#39;wonju&#39;;
var fruit = &#39;사과&#39;;</p>
<p>boolean
var isChecked = true;
var isPlaying = false;</p>
<h4 id="javascript연산자">JavaScript연산자</h4>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/60d3457d-3cc6-4f7d-aed7-60e3b20b1470/image.png" alt=""></p>
<p><strong>비교연산자</strong></p>
<p><strong>== 과 ===의 차이!</strong>
<img src="https://velog.velcdn.com/images/imyour_juu/post/dc267079-102e-449c-8dc0-4daeb4b4be9e/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/7c521e06-6bf7-47f0-80c0-c6f5143349d4/image.png" alt=""></p>
<p>답은 순서대로!</p>
<p>true 
false
-&gt; 자료형 상관 없이 값만 동일하면 true 반환 5 == 5
false
true
-&gt; 자료형과 값 둘다 일치해야 true 반환 5 === 5 or &#39;5&#39;===&#39;5&#39;
true
false
-&gt; &#39;5&#39;를 문자열로 형변환 했기 때문에 5 === 5 가 성립한다</p>
<p><strong>연산자 실습</strong></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[JSP/Servlet]]></title>
            <link>https://velog.io/@imyour_juu/JSPSCOPE</link>
            <guid>https://velog.io/@imyour_juu/JSPSCOPE</guid>
            <pubDate>Wed, 11 May 2022 00:49:45 GMT</pubDate>
            <description><![CDATA[<h2 id="mvc-pattern"><strong>MVC Pattern</strong></h2>
<h3 id="mvc란"><strong>MVC란?</strong></h3>
<p>M -&gt; Model : 어플리케이션의 정보, 데이터</p>
<ul>
<li>실행에 직접적인 관여하지 않음</li>
<li>데이터를 담거나, 데이터를 보내거나, 수정, 삭제하는 객체</li>
</ul>
<p>V -&gt; View : 사용자가 보게 될 결과 화면 출력</p>
<ul>
<li>어플리케이션의 행위를 정의</li>
<li>Logic 결과에 따라 적절한 View를 선택하여 응답</li>
</ul>
<p>C -&gt; Controller : 사용자의 입력처리와 흐름 제어 담당</p>
<ul>
<li>Model 데이터를 기반으로 실제 사용자에게 보여지는 페이지</li>
</ul>
<h3 id="mvc-동작방법"><strong>MVC 동작방법</strong></h3>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/76fcb00e-3d6e-4937-8912-32ed27424bd4/image.png" alt=""></p>
<h3 id="mvc패턴-두가지-방식">MVC패턴 두가지 방식</h3>
<h4 id="mvc-model1-방식">MVC Model1 방식</h4>
<p>JSP에서 출력과 로직을 전부 컨트롤 하는 방식</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/afc79fa8-828a-4d9e-96af-aa92364b112c/image.png" alt=""></p>
<h4 id="mvc-model2-방식">MVC Model2 방식</h4>
<p>JSP에서는 출력만 처리</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/97ed7968-1a87-4b95-9626-25e41c08689a/image.png" alt=""></p>
<table>
<thead>
<tr>
<th>Model1</th>
<th>Model2</th>
</tr>
</thead>
<tbody><tr>
<td>View와 Controller가 같은 JSP에서 실행</td>
<td>View와 Controller가 엄격히 구분 View는 어떠한 처리 Logic도 포함하지 않음</td>
</tr>
<tr>
<td>개발기간 단축</td>
<td>초기 구조 설계에서 많은 시간이 필요</td>
</tr>
<tr>
<td>유지 보수 어려움</td>
<td>유지 보수, 확장이 용이</td>
</tr>
<tr>
<td>디자이너와 개발자간 소통 필요</td>
<td>디자이너와 개발자의 작업분리</td>
</tr>
<tr>
<td>간단한 웹 애플리케이션 구현에 용이</td>
<td>중 대형 프로젝트에 적합</td>
</tr>
</tbody></table>
]]></description>
        </item>
        <item>
            <title><![CDATA[Cookie & Session]]></title>
            <link>https://velog.io/@imyour_juu/Cookie-Session</link>
            <guid>https://velog.io/@imyour_juu/Cookie-Session</guid>
            <pubDate>Mon, 09 May 2022 02:20:22 GMT</pubDate>
            <description><![CDATA[<h4 id="-세션-session-">** 세션 (Session) **</h4>
<p> : 비연결성 (connectionless)
 클라이언트가 요청을 한 후 응답을 받으면 그 연결을 끊어버리는 특징
 : 무상태 (stateless)
 통신이 끝나면 상태를 유지하지 않는 특징</p>
<h4 id="-쿠키-cookie-">** 쿠키 (Cookie) **</h4>
<p>: 클라이언트(브라우저)에 저장되는 키와 값이 들어있는 작은 데이터파일</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/555d8ecb-5977-455c-b7fd-d117ecc07208/image.png" alt=""></p>
<p>session 브라우저를 꺼버리면 사라지는 정보들
그 외에 날짜가 입력돼있는 것은 그 날짜까지 유지가 됨</p>
<p><strong>Cookie 동작방식</strong>
<img src="https://velog.velcdn.com/images/imyour_juu/post/028e4960-d60f-4f30-b684-7b88be2c915b/image.png" alt=""></p>
<p><strong>Cookie 사용 예</strong></p>
<ol>
<li>ID저장, 로그인 상태 유지</li>
<li>일주일간 다시 보지 않기</li>
<li>쇼핑몰 장바구니 기능</li>
</ol>
<p><strong>Cookie 단점</strong></p>
<ol>
<li>보안에 취약</li>
<li>작은 허용 용량 
(약 쿠키 당 4byte, 도메인 당 30개, 웹브라우저 당 300개)</li>
</ol>
<p>-&gt; 허용 용량 범위가 넘어서면 오래된 순으로 사라짐
3. 다른 브라우저에서 저장한 값 사용 불가</p>
<pre><code>Client 　　 　　 　　 　　요청 -&gt;  　　 　　 　　 　　 Server
Client 　　　           &lt;- 응답                   Server

1. 클라이언트가 페이지 요청
2. 상태를 유지하고 싶은 갚을 쿠키로 생성
3. http 헤더에 쿠키를 포함시켜 응답
4. 브라우저가 종료되어도 쿠키만료기간이 있다면 클라이언트에서 보관
5. 같은 요청을 할 경우 http해더에 쿠키를 함게 보냄
6. 서버에서 쿠키를 읽어 이전 상태 정보를 변경할 필요가 있을 때 쿠키를 업데이트 하여 변경된 쿠키를 http헤더에 포함시켜 응답
</code></pre><p><strong>쿠키 만들기</strong></p>
<ol>
<li><p>쿠키 객체 생성
Cookie cookie = new Cookie(&quot;id&quot;,&quot;쿠키몬스터&quot;);</p>
</li>
<li><p>쿠키의 만료기한 설정 
초단위로 설정 해야함 -&gt; 아래는 1년의 만료기한 설정
cookie.setMaxAge(60<em>60</em>24*365);</p>
<ol start="3">
<li>쿠키를 웹브라우저로 전송
response.addCookie(cookie);</li>
</ol>
</li>
</ol>
<p>만든 쿠키 가져오기</p>
<ol>
<li><p>쿠키 가져오기 -&gt; 전부 가져오는 작업을 해야한다.
Cookie[] cookies = request.getCookies();</p>
</li>
<li><p>name, value값 확인하기
for(Cookie c : cookies) {
out.print(c.getName() + &quot; : &quot; + c.getValue() + <br>)%&gt;</p>
</li>
</ol>
<p>}</p>
<h4 id="세션-session">세션 (session)</h4>
<p>브라우저가 종료되기 전까지 클라이언트의 정보를 유지하게 해주는 기술
사용자 정보 파일을 서버 에서 관리
http세션</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/18c5cf1c-332a-49f3-9640-e94f4a82268c/image.png" alt=""></p>
<p><strong>Session 동작방식</strong>
<img src="https://velog.velcdn.com/images/imyour_juu/post/fcfad536-8755-4b53-8951-1adaf53d1b6b/image.png" alt=""></p>
<p><strong>session 사용 예</strong></p>
<p>: 로그인 같이 보안상 중요한 작업을 수행할 때 사용</p>
<p><strong>session 특징</strong></p>
<ol>
<li>각 client 에게 고유 ID 부여</li>
<li>보안 면에서 쿠키보다 우수</li>
<li>사용자가 많아지면 서버 메모리 많이 차지하게 됨</li>
</ol>
<p><strong>session 만들기</strong></p>
<ol>
<li>session 생성</li>
</ol>
<pre><code>session.setAttribute(&quot;id&quot;, &quot;wonjuzzzang&quot;);
session.setAttribute(&quot;age&quot;, 20);</code></pre><p>괄호 내에 차례로 String, Object 형태로 값을 넣어줘야 함</p>
<p>① 내장객체이기 때문에 별도로 생성해 줄 필요가 없음</p>
<p>② 서버상에 데이터가 저장되기 때문에 응답하면서 다시 되돌려 줄 필요가 없음</p>
<ol start="2">
<li>세션 가져오기</li>
</ol>
<p>　2-1 각각의 session 가져오기</p>
<p> object 형태로 받아오기 때문에 원하는 형태로 downcasting 필요함</p>
<pre><code>String id = (String)session.getAttribute(&quot;id&quot;);
int age = (int)session.getAttribute(&quot;age&quot;);</code></pre><p> 　2-2 모든 session 가져오기</p>
<p>　① 모든 session의 이름을 가져오기</p>
<pre><code>Enumeration names = session.getAttributeNames();</code></pre><p>  Enumeratino 열거형
  : 가지고 올 때 사용하기 편한 메소드들이 기본적응로 설계 돼 있음
  : 객체들을 하나씩 처리하기에 용이    </p>
<p>   ② 키값에 맞는 데이터 꺼내오기</p>
<p>   반복해서 데이터 유무 확인</p>
<pre><code>while (names.hasMoreElements()) {</code></pre><p>   데이터 꺼내오기
   object 형태로 돌려주기 때문에 downcasting 필요</p>
<pre><code>String name = (String)names.nextElement();</code></pre><p>   session 안에 있는 정보 가져오기</p>
<pre><code> String data = (String)session.getAttribute(name);
 out.print(data);
 out.print(&quot;&lt;br&gt;&quot;);</code></pre><p>** session 실습하기**</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/d032a567-dbfa-4194-a58e-c30885ea8fd7/image.png" alt=""></p>
<p>우선</p>
<ol>
<li>loginform.jsp</li>
<li>logincheck.jsp</li>
<li>main.jsp</li>
<li>logout.jsp</li>
</ol>
<p>총 4개의 jsp 파일을 만들어 준다.</p>
<p>jsp파일 이동은 위의 그림 순서대로 </p>
<ol>
<li>loginform.jsp에서 id, pw 데이터를 사용자에게 입력 받는다. </li>
</ol>
<pre><code>&lt;body&gt;

  &lt;form action = &quot;ex04logincheck.jsp&quot;&gt;

    &lt;p&gt;아이디 : &lt;input type = &quot;text&quot; name = &quot;id&quot;&gt;&lt;/p&gt;
    &lt;p&gt;비밀번호 : &lt;input type = &quot;password&quot; name = &quot;pw&quot;&gt;&lt;/p&gt;
    &lt;input type = &quot;submit&quot; value = &quot;로그인&quot;&gt;

  &lt;/form&gt;

&lt;/body&gt;</code></pre><p>  ↓</p>
<ol start="2">
<li>logincheck.jsp에서 id,pw가 test/12345와 일치하는지 판별한다.</li>
</ol>
<pre><code>&lt;body&gt;

    &lt;%
        String id = request.getParameter(&quot;id&quot;);
        String pw = request.getParameter(&quot;pw&quot;);

        if (id.equals(&quot;test&quot;)&amp;&amp;pw.equals(&quot;12345&quot;)) {

            session.setAttribute(&quot;name&quot;, &quot;쿠키몬스터&quot;);
            response.sendRedirect(&quot;ex04main.jsp&quot;);

        } else {

            response.sendRedirect(&quot;ex04loginform.jsp&quot;);

        }
     %&gt;

&lt;/body&gt;</code></pre><p>2-1. 일치한다면 main.jsp로 이동한다. </p>
<pre><code>&lt;body&gt;

    &lt;%

    String name = (String)session.getAttribute(&quot;name&quot;);

    %&gt;

    &lt;p&gt;&lt;%=name%&gt;님 환영합니다.&lt;/p&gt;
    &lt;a href=&quot;ex04logout.jsp&quot;&gt;로그아웃&lt;/a&gt;


&lt;/body&gt;</code></pre><p>2-2. 일치하지 않는다면 다시  loginform.jsp로 되돌려 보낸다. </p>
<p>  ↓</p>
<ol start="3">
<li><p>main.jsp에서 로그아웃을 누르면 logout.jsp로 이동하여 세션을 삭제시켜 주고, loginform.jsp으로 다시 되돌아온다.</p>
<p>위에서 session 만들기와 받아오기는 설명을 했지만, session 지우는 것은 따로 설명을 안했기 때문에 간략하게 설명하자면</p>
<p>session을 지우는 방법은 두가지이다.</p>
<p>3-1. 내가 지우고싶은 session만 선택해서 삭제하는 방법
session.removeAttribute(&quot;session이름&quot;);</p>
<p>3-2. session을 모두 삭제하는 방법
session.invalidate();</p>
</li>
</ol>
<pre><code>  &lt;body&gt;

    &lt;%
      session.invalidate();
      response.sendRedirect(&quot;ex04loginform.jsp&quot;);
    %&gt;

&lt;/body&gt;</code></pre><p>  jsp 내장객체 기본영역 (Scope)</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/55bfa288-bf69-40fa-9558-91aae5bcfa23/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/7ecb169f-c5e3-4e88-9a86-86111050798b/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/13f3b580-8436-4e0b-94fa-216957cff4a3/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/7fb771a0-3a7c-4cbc-b2a6-d470fa54af3d/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[02_Arduino]]></title>
            <link>https://velog.io/@imyour_juu/02Arduino</link>
            <guid>https://velog.io/@imyour_juu/02Arduino</guid>
            <pubDate>Fri, 06 May 2022 07:36:01 GMT</pubDate>
            <description><![CDATA[<p>수정예쩡</p>
<p> INPUT예제</p>
<p> digitalRead 예제</p>
<p> analogRead 예제</p>
<p> OUTPUT예제</p>
<p> digitalWrite 예제
 analogWrite 예제</p>
<p>~ 아날로그</p>
<p>  <strong>가변저항 예제</strong></p>
<pre><code>  void setup() {

  pinMode(9, OUTPUT);

}

void loop() {

  int sensorValue =analogRead(A0);

  int s = sensorValue/4;
  analogWrite(9,s);

}
sensorValue 의 최대값은 1023이고
analogWrite의 최대값은 255이므로,

범위를 맞춰주기 위해 변수 s에 sensorValue를 4로 나눈 값을 담아서
 analogWrite의 최댓값과 유사하게 맞춰준다!

 또는 sensorValue를 1023.0으로 나누고 *255를 해주면 좀 더 정확한 값을 얻을 수 있다.

 int s = sensorValue/1023.0*255;</code></pre><p>  method map을 이용하면 더 정확하게 가능하다.</p>
<p>  map (sensorValue, 0, 1023, 0, 255);</p>
<p>  map 안에 들어갈 값은 순서대로,</p>
<p>  변환해야하는 센서의 값
  변환해야하는 센서의 최소값
  변환해야하는 센서의 최대값
  표현해야하는 센서의 최소값
  표현해야하는 센서의 최대값</p>
<p>  piezo buzzer :  ?</p>
<p> ** 피에조부저 예제**</p>
<p> <img src="https://velog.velcdn.com/images/imyour_juu/post/95ecedee-ab21-491a-b931-0c84f0977b78/image.png" alt=""></p>
<p> <img src="https://velog.velcdn.com/images/imyour_juu/post/706cee0e-97d5-4a98-b10e-2cadf6cacf25/image.png" alt=""></p>
<pre><code>void setup() {

Serial.begin(9600);

}

void loop() {

int buttonState1 = digitalRead(4);
int buttonState2 = digitalRead(5);
int buttonState3 = digitalRead(6);

if ( buttonState1 == 1) {

 tone (13, 262, 300);
 delay (300);

  } else if ( buttonState2 == 1) {

 tone (13, 294, 300);
 delay (300);

  }  else if ( buttonState3 == 1) {

 tone (13, 330, 300);
 delay (300);


  }

}

피에조부저와 버튼을 이용해서 피아노 만들기
위 표를 보고 4번 선과 연결된 버튼을 눌렀을 때 도, 순서대로 레, 미 소리가 나오게 되는 코드</code></pre><p> Servo Motor : ?</p>
<p>  Servo Motor 예제</p>
<p>  servo Motor를 사용하기 위한 라이브러리!</p>
<pre><code>#include&lt;Servo.h&gt; -&gt; 라이브러리를 사용하기 위해 선언
Servo myServo; -&gt; Servo 타입의 변수 선언 (setup, loop 둘다 사용을 위해 전역변수로 선언)
myServo.attach(pin번호);  servoMotor와 연결 돼 있는
myServo.write(각도); -&gt; 각도는 1 - 179 범ㅋ위</code></pre><p>   <img src="https://velog.velcdn.com/images/imyour_juu/post/2c647840-c82e-4944-84f7-8aded5f1b50f/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/50598990-03c4-460c-9787-86869c7377f1/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/1a605950-407f-4b3d-86bf-5875db02c6eb/image.png" alt=""></p>
<p>릴레이모듈</p>
<p>dc+ dc- in =&gt; 아두이노 연결</p>
<p>//릴레이 모듈</p>
<pre><code>void setup() {
  pinMode(13,OUTPUT);

}

int cnt = 0;
boolean check = false;

void loop() {
  int btnState = digitalRead(11);

  if (btnState == 1) {

    if (check) {
        cnt++;
        check= false;

      if (cnt == 1) {

        digitalWrite(13,1);

        } else if (cnt == 2) {

          digitalWrite(13,0);
          cnt =0;
        }
    }

  } else {

    check = true;


  }

}</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[01_Arduino]]></title>
            <link>https://velog.io/@imyour_juu/1</link>
            <guid>https://velog.io/@imyour_juu/1</guid>
            <pubDate>Mon, 02 May 2022 05:37:28 GMT</pubDate>
            <description><![CDATA[<h4 id="arduino란">Arduino란?</h4>
<p>아두이노란 오픈소스를 기반으로 한 대표적인 하드웨어이다. 2000년대 초반 IDII라는 교육기관의 Massimo 교수가 쉽고 저렴하게 피지컬 컴퓨팅을 가르치기 위해 만들었다. 즉 쉽고 저렴하며, 오픈소스 기반이기 때문에 접근성이 높다는 장점을 가지고 있다.</p>
<h4 id="arduin의-종류">Arduin의 종류</h4>
<p>간단히 책에 나와있는 여섯가지 종류만 나열 해 보겠다.</p>
<ol>
<li><p>uno
현재 내가 사용하고 있는 보드로 가장 표준적인 모델이다.
아두이노를 접하는 사람들에게 추천하는 보드로 아주 기본적인 성능을 갖추고 있다.</p>
</li>
<li><p>mega
우노보드로는 아주 기본적 기능만을 이용할 수 있기에, 복잡한 것을 만들 때 부족함을 느끼게 될 것 이다. 이때 이용하는것이 메가보드이다. 우노보드에 비해 크기가 크고 부품도 더 많이 연결할 수 있으며 용량도 더 크기 때문에 우노보드보다 좀 더 전문적인 프로젝트 분야에서 사용한다.</p>
</li>
<li><p>esplora
탐험이란 뜻을 가진 esplora보드는 하드웨어를 잘 다루지 못하고, 부품을 연결하는 것 조차도 어려워 하는 사람들을 위한 보드이다. rgb led나 마이크 등이 기본적으로 연결 돼 있다.</p>
</li>
<li><p>lilypad
옷이나 신발처럼 착용 가능한 웨어러블 기능을 가진 보드로, 옷이나 천에 릴리패드를 바느질 해 사용할 수 있다. 또 전기가 통하는 실을 이용해 원하는 부품을 연결 해 사용할 수 있다.</p>
</li>
<li><p>mini/ nano
부피가 작은 물건에 넣고 사용할 수 있도록 만든 보드이다. 성능은 우노보드와 비슷하며 mini보드에 부품을 연결하기 위해선 납땜을 할 줄 알아야 하며, 9v이상의 전원이 연결되지 않도록 해야한다.</p>
</li>
<li><p>yun
구름이란 뜻을 가진 yun은 사물인터넷을 위한 보드이다. 인터넷에 구름으로 많이 비유되기 때문에 이와같은 이름이 지어졌다. 이더넷과 wifi가 있어 랜선을 꼽거나 무선인터넷을 통해 쉽게 인터넷에 연결이 가능하다.</p>
</li>
</ol>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/b2b7ae72-0162-4af2-b921-f2a5f23774ad/image.png" alt=""></p>
<p>이것은 내가 사용하는 우노보드이다. 우노보드는 전기를 이용해 동작한다. 기본적으로 유에스비선을 이용해 우노보드와 컴퓨터를 연결하지만 건전지로 연결도 가능하다.</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/f67ad049-a914-47d4-b218-062c8bf46931/image.png" alt="">
출처 : <a href="https://roots2019.tistory.com/336">https://roots2019.tistory.com/336</a></p>
<p>우노보드의 구성은 위의 그림으로 대체하겠다.</p>
<p>아두이노 보드와 컴퓨터를 연결하면 코드를 업로드 하여 보드를 원하는대로 작동하게 할 수 있는데, 그러하기 위해서 아두이노 IDE를 다운받아야 한다.</p>
<p><a href="https://www.arduino.cc/en/software">아두이노 IDE 다운받기!</a></p>
<p>위 링크로 접속 후 본인 컴퓨터의 운영체제에 맞는 설치 파일을 다운받으면 된다.</p>
<p>아두이노는 c언어를 기반으로 하고 있으며, 우리가 보드에 여러 부품을 연결했을 때 코드를 작성하기 위해서는 sensor와 actuator를 구분할 수 있어야 한다.</p>
<p>*<em>Sensor *</em>
감각하여 알아내는 장치
말 그대로 센서는 외부의 반응을 읽어오는 부품들을 말한다. 버튼을 눌렀는지 안눌렀는지, 빛이 들어오고 있는지 아님 어두운지 등 정보를 확인 후 컴퓨터에게 정보를 제공하는 역할을 한다.
ex) button, 조도센서, 온도센서, 거리센서</p>
<p><strong>Actuator</strong>
시스템을 움직이거나 제어하는 기계 장치
센서와는 반대로 내가 원하는 신호를 주어 원하는 활동을 할 수 있도록 만들어주는 부품이다. 일정 조건을 충족하면 빛을 내게 해준다거나, 소리를 나게 한다거나, 모터가 돌아가게 한다거나 등 외부의 반응을 읽어오는 것이 아닌 내가 컴퓨터에 명령을 하는 것이라고 생각하면 쉬울 것 같다.
ex) led, 모터</p>
<p>sensor와 actuator을 기준으로 작성되는 코드가 나뉜다.</p>
<html>
 <body>
  <table border ="1px solid black">
      <tr  >
        <td></td>
          <td>Sensor</td>
          <td>Actuator</td>
    </tr>

<pre><code> &lt;tr &gt;
    &lt;td&gt;PinMode&lt;/td&gt;
      &lt;td&gt;Input&lt;/td&gt;
      &lt;td&gt;Output&lt;/td&gt;
&lt;/tr&gt;

 &lt;tr &gt;
    &lt;td&gt;Digital&lt;/td&gt;
      &lt;td&gt;DigitalRead&lt;/td&gt;
      &lt;td&gt;DigitalWrite&lt;/td&gt;
&lt;/tr&gt;
 &lt;tr&gt;
    &lt;td&gt;Analog&lt;/td&gt;
      &lt;td&gt;AnalogRead&lt;/td&gt;
      &lt;td&gt;AnalogWrite&lt;/td&gt;
&lt;/tr&gt;</code></pre>  </table>
 </body>   
</html>

<p>sensor와 actuator을 기준으로 코드가 나뉘는데,
pinmode는 신호를 읽어오는지 밖으로 내보내는지의 차이,
digital신호 analog신호는 전등으로 비교해보자면 digital은 껐다, 켰다 기능만 있는 전등이고, analog는 빛의 밝기를 조절할 수 있는 전등이라고 생각하면 쉽다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[01_HTML 개요]]></title>
            <link>https://velog.io/@imyour_juu/01HTML-%EA%B0%9C%EC%9A%94</link>
            <guid>https://velog.io/@imyour_juu/01HTML-%EA%B0%9C%EC%9A%94</guid>
            <pubDate>Thu, 28 Apr 2022 08:41:46 GMT</pubDate>
            <description><![CDATA[<h3 id="20220425">#20220425</h3>
<p>#Web</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/639270b0-f2b0-4939-a0b3-68e93fec6f3b/image.png" alt=""></p>
<p><strong>WWW (World Wide Web)</strong></p>
<p>인터넷에 연결된 컴퓨터들을 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간</p>
<ol>
<li><p>웹 브라우저 (Web Browser)</p>
<p>웹 서버에서 이동하여 쌍방향으로 통신하고 HTML문서나 파일을 출력하는 프로그램!</p>
</li>
</ol>
<ol start="2">
<li><p>HTTP (Hyper Text Transfer Protocol) ?!</p>
<p>-&gt; 월드 와이드 웹 (World Wide Web)을위한 데이터 통신수단
텍스트 기반의 통신 규약으로 인터넷에서 하이퍼텍스트 (Hypertext) 문서를 주고받을 수 있음</p>
<p>요청 : Client → Server
응답 : Client ← Server</p>
<p>Client 클릭한 페이지를 요청하는 pc</p>
</li>
</ol>
<p>-&gt; 네트워크로 연결된 서버로부터 정보를 제공받는 컴퓨터</p>
<p> Server 클릭된 페이지를 제공하는 pc
-&gt; 클라이언트에게 네트워크를 통해 서비스를 제공하는 컴퓨터</p>
<p> https는 HTTP + Security =&gt; 좀 더 보안이 강화된 것,,?!</p>
<h4 id="html-hyper-text-markup-language">HTML (Hyper Text Markup Language)</h4>
<p>팀 버너스리가 창시한 웹페이지에 정보를 담아 표시하기 위한 마크업 언어 </p>
<p><strong>- Hyper Text</strong></p>
<p> 현재 문서에서 다른 문서로 즉시 접근할 수 있는 텍스트</p>
<p><img src="https://velog.velcdn.com/images/imyour_juu/post/adbb076a-aaba-4b4c-a2ed-be5ee0fa18a0/image.png" alt=""></p>
<p><strong>- Markup</strong></p>
<p> 어딘가에 Mark, 즉 표시를 해두는 것</p>
<p>** html의 구성요소**</p>
<pre><code>&lt;!DOCTYPE html&gt; -&gt; html문서형식정의
    &lt;head&gt; -&gt; html문서의 머릿글
        &lt;meta&gt; -&gt;html문서의 정보정의
        &lt;title&gt;&lt;/title&gt; -&gt; html문서 제목 정의
    &lt;/head&gt;
    &lt;body&gt; -&gt; html문서의 본문 정의
        환영합니다
    &lt;/body&gt;
&lt;/html&gt;

&lt;p aligh = &quot;center&quot;&gt;안녕하세요&lt;/p&gt;  
=======&gt; Element (요소) &lt;========

시작태그 &lt;p&gt;
컨텐츠  안녕하세요
끝태그 &lt;/p&gt;
속성(attribute) align 
값(value) center</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[01_JSP/Servlet]]></title>
            <link>https://velog.io/@imyour_juu/01JSPServlet</link>
            <guid>https://velog.io/@imyour_juu/01JSPServlet</guid>
            <pubDate>Thu, 28 Apr 2022 03:52:58 GMT</pubDate>
            <description><![CDATA[<h1 id="수정중">#수정중</h1>
<p>node</p>
<p>중간노드 (host) : 노드 중에서 애플리케이션을 실행할 수 있는 컴퓨팅 시스템을 갖춘 기기</p>
<p>client와 server
=&gt; 호스트 사이에 제공되는 서비스를 기준으로 호스트를 세분화
임의의 호스트가 클라이언트나 서버로 고정되지 않고 이용하는 서비스의 종류에 따라 클라이언트가 될 수도 있고 서버가 될수도 있음</p>
<p>client : 서비스를 요청하고 사용하는 호스트
=&gt; web browser
↓ 요청        　　　　　　　↑ 응답
server : 서비스를 제공하는 호스트
=&gt; web server</p>
<h4 id="대표적인-web-server의-종류">대표적인 web server의 종류</h4>
<ol>
<li><p>Microsoft IIS</p>
</li>
<li><p>APACHE HTTP SERVER</p>
</li>
</ol>
<p>1). 오픈소스
2). 다양한 모듈 제공
3). 강력한 커뮤니티, 다양한자료
4). 확장성 좋음
5). 보안 수준 높음</p>
<ol start="3">
<li>NGINX</li>
</ol>
<p><strong>정적 페이지 (Static Web Page)</strong></p>
<ul>
<li><p>서버에 미리 저장된 파일(HTML, 이미지, JavaScript)이 그대로 전달되는 웹페이지</p>
</li>
<li><p>사용자는 서버에 저장된 데이터가 변경되지 않는 한 고정된 웹 페이지를 보게됨</p>
</li>
</ul>
<h4 id="동적페이지-dynamic-web-page">동적페이지 (Dynamic Web Page)</h4>
<p>서버사이드 스크립트 언어</p>
<p>프로그램이 동작되기 위한 작업을 서버에서 제공</p>
<p>서버측에서 내부로직을 </p>
<p>php</p>
<p>JSP</p>
<p>ASP.NET</p>
<p>Servlet</p>
<p>Server +Applet
서버상에서 작동하는 응용프로그램</p>
<p>java를 기반으로 하는 web application programming 기술
client 요청에 동적으로 작동, 응답은 html 형식으로 제공</p>
<p>Web Server 
: 정적인 컨텐츠를 제공하는 서버
: 요청을 컨테이너로 전달하고 결과를 넘겨주는 역할</p>
<p>WAS (웹서버 + 웹컨테이너)
: 동적인 컨텐츠를 제공하는 서버</p>
<p>Web Container
: JSP와 Servlet을 실행할 수 있는 SW</p>
<p><strong>Client Tier(Presentation Layer)</strong>
사용자 인터페이스 지원
주로 웹서버를 뜻함
ex) HTML, JavaScript,CSS,image
**
Application Tier(Business Layer)**
정보처리의 규칙을 가짐(동적 데이터 제공
주로 어플리케이션을 뜻함(was 서버)
ex) java EE, ASP.NET, PHP</p>
<p><strong>Data Tier(Data Layer)</strong>
DB또는 File System을 접근 및 관리
주로 DB서버를 뜻함 (DB서버)
ex) MYSQL DB, Oracle DB</p>
<br>

<h4 id="servlet이란">Servlet이란?</h4>
<p>✔.java 확장자를 가짐</p>
<p>✔java Multi Thread를 이용하여 동작함 
-&gt; 속도와 메모리 면에서 효율적임</p>
<p>✔객체지향적
-&gt; 대규모 Application 개발에 적합함</p>
<p>✔HttpServlet 클래스를 상속받음</p>
<p>Java Multi Thread</p>
<p>CGI프로그램은 프로세스 단위로 실행
사용자의 요청이 많을 땨는 서버에 바하가 크게감</p>
<p>프로세스 하나당 자원을 할당</p>
<p>Servlet은 스레드 단위로 실행
서버의 부하를 줄일 수 있음
(자바 기반이며 ,자바가 다중 스레드를 지원)</p>
<p>객체생성
↓
init() : 초기화 
↓
service()　 　doget 　　ㅡ　로직 
↓　　　　　dopost()　　／
destory() :파괴</p>
<p>URL Mapping 방법1 : annotation 사용</p>
<p>클라이언트 -&gt; server
서버 servletResponse interface</p>
<p>request 클라이언ㅇ트의 요청정보를 서블릿으로 넘겨주기 위한 객체ㅔ ( 요청에 대한 정보를 가진 객체)</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[01_CSS 선택자]]></title>
            <link>https://velog.io/@imyour_juu/CSS</link>
            <guid>https://velog.io/@imyour_juu/CSS</guid>
            <pubDate>Wed, 27 Apr 2022 07:14:02 GMT</pubDate>
            <description><![CDATA[<p>#20220426</p>
<h3 id="선택자의-종류"><strong>선택자의 종류</strong></h3>
<p>예시! 아래 코드를 기준으로 설명 해 보겠다.</p>
<pre><code>&lt;div class=&quot;div&quot;&gt;
    &lt;p&gt;&lt;/p&gt;
    &lt;ol&gt;
        &lt;li id=&quot;li_1&quot;&gt;&lt;/li&gt;
        &lt;li id=&quot;li_2&quot;&gt;&lt;/li&gt;
        &lt;li id=&quot;li_3&quot;&gt;&gt;&lt;/li&gt;
    &lt;ol&gt;
&lt;/div&gt;</code></pre><p><strong>1. 전체선택자</strong>
=&gt; 위 코드 전체에 적용된다.</p>
<pre><code>* { }</code></pre><p><strong>2. 태그선택자 (타입선택자)</strong>
태그명 { }</p>
<pre><code>p { }
li { }</code></pre><p><strong>3. 클래스선택자</strong>
=&gt; 중복, 재사용이 가능하다
.클래스명 { }</p>
<pre><code>.div { }</code></pre><p><strong>4. 아이디선택자</strong> 
=&gt; 한개의 html문서 내에서 동일한 id는 중복사용이 불가능하다.
#아이디명 { }</p>
<pre><code>#li_1 { }</code></pre><p><strong>5. 계층선택자</strong></p>
<p>✔ 얘는 처음보는 선택자였다..!  이 친구는 계층선택자와 클래스선택자 사이정도의 순위가 적용된다.</p>
<p>위의 코드를 기준으로, 
div가 제일 큰 상위태그이고 
그 하위로 p태그와 ol태그,
ol태그 하위로 li태그가 세개 존재한다.</p>
<p>계층선택자에는 이렇게 네가지가 있다.</p>
<p><strong>5-1. 자식 선택자 &gt;</strong>
=&gt; 말 그대로 하위의 태그를 의미!
div를 기준으로 p와 ol태그가 자식 선택자이다.</p>
<pre><code>div&gt;p
div&gt;ol</code></pre><p><strong>5-2. 자손 선택자 블링크</strong>
=&gt; 한 태그를 기준으로 하위태그의 하위태그를 의미!
div를 기준으로 li태그 세개가 자손 선택자 이다.</p>
<pre><code>div li</code></pre><p><strong>5-3. 후행선택자 ~</strong>
=&gt; 하위, 상위 태그가 아닌 동등한 태그들 
li태그가 세개기 때문에 id로 값을 줬다.</p>
<p>id값이 #li_1을 기준으로 순서에 상관 없이 아래에 있는 #li_2, #li_3 태그들이 후행 선택자 이다! 형제 개념으로 생각하면 될 것 같다.</p>
<pre><code>#li_1~#li_2
#li_1~#li_3</code></pre><p><strong>5-4. 근접후행선택자 +</strong>
=&gt; 후행선택자와 비슷한 개념이나 바로 근접해있는 태그!</p>
<p>#li_1을 기준으로 #li_2가 근접후행 선택자이다.</p>
<pre><code>#li-1+#li_2</code></pre><p><strong>+ nth:child(순위)</strong>
이거는 바로 예시로 들어보자면
li:nth-child(2) =&gt; 는 아이디가 li_2인 li태그를 의미한다..</p>
<p> 이건 내가 보려고 정리한,,짱구가족으로 비유한 계층선택자</p>
<pre><code>Ex 짱구가족 : 
신조상,
신용달 
신형만
신짱구 신짱아 신흰둥 
= 짱구를 기준으로 짱아는 후행이자 근접후행 흰둥이는 후행 

  1-1. 자식선택자 &gt;
   신형만 &gt; 신짱구 
   신용달 &gt; 신형만 

   1-2. 자손 선택자 -&gt; 띄어쓰기
    신용달 신짱구
    신조상 신짱구

   1-3. 후행선택자 -&gt; ~
      신짱구 ~ 신흰둥 
      신짱구 ~ 신짱아 =&gt; 짱아는 후행이면서 근접후행선택자 */

   1-4. 근접후행선택자 -&gt; + 
       신짱구 + 신흰둥 
       신짱아 + 신흰둥 </code></pre><p>*<em>6. 그룹선택자 *</em>
=&gt;선택자들을 중복으로 묶어서 같은 스타일을 적용할 수 있다.
태그 , 태그 { } </p>
<pre><code>p, li { }
#li_1, #li_2 { }</code></pre><p>style 시트 내 코드는 위에서 아래로 흐르지만, </p>
<p><strong>전체선택자 0 &lt; 타입선택자 1 = 그룹선택자 1 &lt; 계층선택자 3 &lt; 클래스선택자 10 &lt; 아이디선택자 100</strong>
순으로 가중치가 적용 된다 (우선순위)</p>
<p>!important &gt; 인라인 &gt; 내부 &gt; 외부 &gt; id &gt; class &gt; type &gt; 전체</p>
<p>다 같을때 나중에 선언 &gt; 먼저선언</p>
<style> 
#h:hover {
color : yellow;
 }

#a:active {
color : pink;
}

#v:visited {
 color : orange;
}

#l:link {
 color : skyblue;
}

.h>p:not(#n2) {
color : deeppink;
}

.p {

font-weight: bold;
 }

</style>

  <p style="font-size : 25px; font-weight : bold;">반응선택자</p>


  <p class="p">1. hover : 마우스를 올려놓으면 스타일 적용</p>

<p>  선택자:hover { }</p>
<pre><code> #h:hover {
  color : yellow;
  }</code></pre>  <p id="h"> 안녕 나는 hover야~ 마우스를 올려봐</p>
  <br>

  <p class="p">2. active : 마우스로 클릭시 스타일 적용</p>

<p>  선택자:active { }</p>
<pre><code> #a:active {
  color : pink;
  }</code></pre>  <p id ="a"> 안녕 나는 active야~ 눌러봐</p>
  <br>

  <p class="p">3. visited :  1번이상 방문한 링크에 대해서 적용</p>
  선택자:visited { }

<pre><code> #v:visited {
  color : orange;
  }</code></pre>  <p>
    <a id ="v" href="https://velog.io/@imyour_juu"> 안녕 나는 visited야~</a></p>

  <br>
     <p class="p">4. link : 방문을 하지 않은 링크에다가 스타일 적용</p>
    선택자 : link { }

<pre><code>#l:link {
  color : skyblue;
  }</code></pre>  <p>
    <a id="l" href="https://velog.io/@imyour_juu"> 안녕 나는 link야~</a>
  </p>

  <Br>
  <p class="p">5. not : ()내 선택자를 제외하고 스타일 적용</p>

<pre><code>선택자 : not() {}








.h&gt;p:not(#n2) {
color : deeppink;
} </code></pre> <div class="h">
     <p id="n1">안녕 나는 not1이야~ </p>
     <p id="n2">안녕 나는 not2이야~ </p>
     <p id="n3">안녕 나는 not3이야~ </p>
 </div>

<p>💨 div내에 not1, not2, not3 중에 
  not2에만 style을 미적용!! </p>
<pre><code>&lt;p&gt;// 엥,,? 왜css가 안먹지 .. 미리보기로는 먹히는데 ㅠ&lt;/p&gt;</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[01_JAVA_기본자료형]]></title>
            <link>https://velog.io/@imyour_juu/01JAVA</link>
            <guid>https://velog.io/@imyour_juu/01JAVA</guid>
            <pubDate>Tue, 26 Apr 2022 13:40:48 GMT</pubDate>
            <description><![CDATA[<p>두달만에,, 올리는 Velog! 
2월에 인강을 듣다가,, ㅎㅎ 3월에 퇴사 후에 현재 스마트인재개발원에서 IoT과정을 수료중이다!
처음 접해보는 지식들이 휘몰아쳐서 벨로그는 거의 잊고있다가.. css랑 html 배우면서 숨돌리는 틈에 그동안 배웠던 것을 정리해보려고 한다!</p>
<h3 id="20220315">#20220315</h3>
<blockquote>
<h4 id="자바의-기본-자료형-primitive-data-type"><strong>자바의 기본 자료형 (Primitive Data Type)</strong></h4>
</blockquote>
<ol>
<li><p>논리형 - boolean : 참과 거짓 / 1byte</p>
<pre><code> boolean a = true;
 boolean b = false;</code></pre></li>
<li><p>문자형 - char : character를 의미하며 유니코드 문자를 표현 / 2byte</p>
<pre><code> char c = &#39;a&#39;;</code></pre></li>
<li><p>정수형 - byte, short, int, long</p>
<pre><code> byte : -128~127 / 1byte
 short : -32,768 ~ 32,767 / 2byte    
  int : -2,147,483,648 ~ 2,147,483,647 / 4byte
  long: -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 /8byte

 =&gt; 보편적으로 integer을 의미하는 int를 많이 쓴다.

   int d = 8;</code></pre></li>
</ol>
<ol start="4">
<li><p>실수형 </p>
<pre><code> float : +-(1.40x10^-45 ~ 3.40x10^38)    / 4byte
 double : +-(4.94x10^-324 ~ 1.79x10^308) / 8byte

 =&gt; 크기의 차이로 정밀도를 기준으로 선택하면 된다. double이 손실값이 더 적다!

  double e = 3.14;

  // 강제형변환 (명시적형변환)
  =&gt; 큰 자료형에서 작은 자료형으로 이동할 때 오류가 발생하는것을 막기위해서 강제적으로 형변환 해주는 것!

  float h = (float) 3.14
  float f = 1.5f;

 // 묵시적형변환(자동형변환) 
 =&gt; 작은자료형에서 작은자료형으로 이동할때 자동으로 형변환을 시켜줌!

   double g = e;</code></pre></li>
</ol>
<p>   ✔ 레퍼런스형인 String : 기본 데이터타입은 아니지만 자주쓰기 때문에 미리 적어놓겠다! </p>
<pre><code>   char은 한글자밖에 표현을 못하기 때문에 String을 사용한다

    String name7 = &quot;abc&quot;;</code></pre><p>위 예시들은 기본데이터형을 사용하여 변수를 선언한 것이다.</p>
<p><strong>변수 : variable</strong>
변할 수 있는 수로 프로그래밍에서는 데이터를 저장하는 공간을 의미한다.</p>
<p>변수를 선언할 때는 
<strong>자료형 변수명 = 값;</strong> 
ex) int a = 0;</p>
<p>형태를 띈다. 현재 a에는 0이라는 값이 할당 돼 있다.</p>
<p>a의 값을 재할당할때는
자료형 없이</p>
<p><strong>변수명 = 값;</strong>
ex) a = 1;
이렇게 작성하면 된다. </p>
<p>그와 반대되는 개념으로 상수가 있다.</p>
<p><strong>상수 :  constant</strong>
변하지 않는 수이고, 데이터를 담을 수는 있지만 한번 넣으면 변하지 않는다.</p>
<p>즉 절때 변하면 안되는 중요한 데이터는 상수로 표현한다!</p>
<p>final 자료형 변수명 = 값; 
ex) final b = 10;</p>
<h4 id="변수명을-지정해줄때는-규칙이-존재한다"><strong>변수명을 지정해줄때는 규칙이 존재한다.</strong></h4>
<ol>
<li>예약어 사용 불가능
<img src="https://velog.velcdn.com/images/imyour_juu/post/a6dfeeae-d1cb-4037-be5f-1ea3640af478/image.png" alt=""></li>
</ol>
<p>java내에서 사용되고 있는 키워드들은 사용이 불가능 하다. (위 표 참조)</p>
<ol start="2">
<li><p>대소문자가 구분되며 길이제한이 없다 .
(int true; != int TRUE;)</p>
</li>
<li><p>숫자로 시작할 수 없다.</p>
</li>
<li><p>특수문자는 _와$만 허용된다.</p>
</li>
</ol>
<h4 id="그-외에도-필수는-아니지만-프로그래머들간의-규칙이-있다"><strong>그 외에도 필수는 아니지만 프로그래머들간의 규칙이 있다.</strong></h4>
<ol>
<li>변수 이름의 첫 글자는 항상 소문자 
ex) int sum = 0;</li>
<li>변수 이름이 여러단어로 구성 돼 있을 시 단어의 첫글자를 대문자 
ex) int maxValue = 0;</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[08_JQuery]]></title>
            <link>https://velog.io/@imyour_juu/08JQuery</link>
            <guid>https://velog.io/@imyour_juu/08JQuery</guid>
            <pubDate>Sun, 20 Feb 2022 18:13:24 GMT</pubDate>
            <description><![CDATA[<p>새로 배우는거,, 이제 인강 선생님은 재밌다고 하시는데
일단 시작도 전에 전태휘가 겁줘서 무섭다 갑자기 왜 벌써 이거 배우냐고,,,</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/4490a037-8622-4fdf-8a98-8c3439a6ae49/111.jpg" alt=""></p>
<p>이렇다는데..? ㅋㅋㅋㅋㅋㅋㅋㅋ 
아무튼 사실 아직 배우기도 전에 작성한거라 이제 공부하고 다시 작성하러 오겠습니다...</p>
<h3 id="1-jquery-란">1. JQuery 란?!</h3>
<p>Javascript로도 모든 기능(예 - 버튼 글씨 바꾸기 등)을 구현할 수는 있지만,</p>
<p>1) 코드가 복잡하고, 
2) 브라우저 간 호환성 문제도 고려</p>
<p>jQuery는 Javascript와 다른 특별한 소프트웨어가 아니라 미리 작성된 Javascript 코드, 전문 개발자들이 짜둔 코드를 잘 가져와서 사용하는 것 (그렇게 때문에, 쓰기 전에 &quot;임포트&quot;를 해야함)</p>
<p>css의 부트스트랩과 유사하다고 생각하면 되겠다!</p>
<p>부트스트랩을 사용하기 위해 부트스트랩 템플릿을 사용했던 것처럼</p>
<p>JQuery 도 <a href="https://www.w3schools.com/jquery/jquery_get_started.asp">w3schools</a> 여기서 가지고 왔고, 출처 쓰는 나 제법 젠틀해요..</p>
<pre><code>&lt;head&gt;
&lt;script src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;</code></pre><p>이걸 넣어줘야 한다. (부트스트랩 템플릿 사용 시 이미 있으므로 안넣어줘도 됨)</p>
<h3 id="2-input-박스-값-가져오기">2. input 박스 값 가져오기</h3>
<p><img src="https://images.velog.io/images/imyour_juu/post/c4a3d39e-576c-48d7-a0a1-aff54bd6c2e9/image.png" alt=""></p>
<p>그때 만든 나홀로메모장에서 콘솔창을 열어봅시다</p>
<p>아 파이참에서</p>
<pre><code>&lt;div class=&quot;box&quot;&gt;
             &lt;div class=&quot;form-group&quot;&gt;
                 &lt;label&gt;아티클 URL&lt;/label&gt;
                 &lt;input type=&quot;TEXT&quot; class=&quot;form-control&quot; id=&quot;article-url&quot; &gt;
             &lt;/div&gt;</code></pre><p>요 친구들 원래 id 이름이 다른거였는데 article-url 로 바꿔줬음</p>
<p>현재 박스의 상태는</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/6ad1ce4a-ab96-437c-bd0d-8f00649bbe40/image.png" alt=""></p>
<p>요롷고</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/9576f031-b426-4e78-92f3-2840b9c777ab/image.png" alt=""></p>
<pre><code> $(&#39;article-url&#39;).val()</code></pre><p> 를 입력했을때 저 input 박스 안의 세종대왕이 출력된걸 보니</p>
<p> 대충 기능이 유추 가능함, 
 val()안에 다른 글자를 넣으면 그 글자가 input 박스 안에 출력된다.</p>
<p>간단코멘트에도 똑같이</p>
<pre><code>$(&#39;#simple-comment&#39;).val(&#39;이단추는 짱기여워&#39;);</code></pre><p><img src="https://images.velog.io/images/imyour_juu/post/8d59bbdc-c204-4ff6-b94f-6453e7c5c3bd/image.png" alt=""></p>
<p>하면 됨!</p>
<h3 id="3-div-보이기숨기기">3. div 보이기/숨기기</h3>
<p>별거 없다. 예를 들어 box를 없애고 싶으면</p>
<pre><code>&lt;div class=&quot;box&quot; id=&quot;postbox&quot;&gt;</code></pre><p>  div에 이름을 주고, 콘솔창에</p>
<pre><code>$(&#39;#postbox&#39;).hide()
</code></pre><p>입력해주면</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/2df4d01a-4a25-4c7c-b889-f7cf97708b8c/image.png" alt=""></p>
<p>짠 사라졌다.</p>
<p>보이게 하려면 .hide() 대신에</p>
<pre><code>$(&#39;#postbox&#39;).show()</code></pre><p>를 입력하면 된다</p>
<pre><code>(&#39;#postbox&#39;).css (&#39;width&#39;,&#39;700px&#39;)
S.fn.init [div#postbox.box]

$(&#39;#postbox&#39;).css (&#39;display&#39;)
&#39;block&#39;

$(&#39;#postbox&#39;).hide()
S.fn.init [div#postbox.box]

$(&#39;#postbox&#39;).css (&#39;display&#39;)
&#39;none&#39;
</code></pre><p>이거는 뭐,, postbox 의 width 를 700px 로 조정
postbox의 display 값은 block 이고
postbox를 숨겼을때 display 값은 none!</p>
<h3 id="4-태그-내-텍스트-입력하기">4. 태그 내 텍스트 입력하기</h3>
<p>위에서 배웠던거 응용 버젼인듯,,?</p>
<p>포스팅박스에 id 값을 주고</p>
<pre><code>$(&#39;#btn-posting-box&#39;).text(&#39;hi&#39;)</code></pre><p>이렇게 하면</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/e50adfa7-1cd7-4fb6-b706-f063804e98a6/image.png" alt=""></p>
<p>하이로 바뀜!</p>
<p>.text()는 글씨를 바꾸는 것,,</p>
<h3 id="5-태그-내-html-입력하기">5. 태그 내 html 입력하기</h3>
<p> &#39;`&#39; 이 친구의 이름은 백틱</p>
<p>그 일단.. 선생님이 재밌다고 하는거는 어려운거라고 생각하면 될 것 같다.
ㅇㅅㅇ 이 표정으로 봤음</p>
<p>일단.. 저 card columns 친구에게 id 값을 주고,,</p>
<pre><code>let temp_html = `&lt;button&gt;나는 버튼이다&lt;/button&gt;`
undefined

$(&#39;#card-columns&#39;).append(temp_html)
S.fn.init [div#card-columns.card-columns]

</code></pre><p>저렇게 하면 card-columns 에 button 이 생긴다.</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/41097954-2098-4914-9195-caf4b59b6f7b/image.png" alt=""></p>
<pre><code>$(&#39;#card-columns&#39;).append(temp_html)</code></pre><p>많이 하면</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/c4e9fa43-4cf4-4496-9855-011302bbca1c/image.png" alt=""></p>
<p>많이 생김 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ</p>
<p>응용하기!!!</p>
<p>button 태그는 짧아서 쉬우니까 card-columns 안에 있는
<img src="https://images.velog.io/images/imyour_juu/post/3399be99-5479-4e72-8c10-7694f9fc3a4c/image.png" alt=""></p>
<p>요 친구를 복사해 보자</p>
<p>똑같이 let temp_html 에 저 코드를 복사해서 넣자</p>
<pre><code>let temp_html = `&lt;div class=&quot;card&quot;&gt;
                &lt;img class=&quot;card-img-top&quot; src=&quot;https://scontent-ssn1-1.xx.fbcdn.net/v/t1.18169-9/20139904_1742040382755064_8285488068505922055_n.jpg?_nc_cat=105&amp;ccb=1-5&amp;_nc_sid=174925&amp;_nc_ohc=WaG-NNPHY8MAX9ue1bw&amp;_nc_ht=scontent-ssn1-1.xx&amp;oh=00_AT8dOTd8TPDsrb84nX8FprEC3fxDBMO93fFRMBQdvSKlow&amp;oe=622E82C1&quot; alt=&quot;Card image cap&quot;&gt;
                &lt;div class=&quot;card-body&quot;&gt;
                    &lt;a class=&quot;card-title&quot; href=&quot;https://www.instagram.com/imyour_juu/&quot;&gt;여기 기사 제목이 들어가죠&lt;/a&gt;
                    &lt;p class=&quot;card-text&quot;&gt;기사의 요약 내용이 들어갑니다. 동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라만세 무궁화 삼천리 화려강산...&lt;/p&gt;
                    &lt;h6 class=&quot;comment&quot;&gt;여기에 코멘트가 들어갑니다.&lt;/h6&gt;
                &lt;/div&gt;
            &lt;/div&gt;`</code></pre><p>고 담에 똑같이</p>
<pre><code>$(&#39;#card-columns&#39;).append(temp_html)</code></pre><p>애를 입력해주면</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/7516d9d7-0ead-4bf8-b5c8-533fe325be3b/image.png" alt=""></p>
<p>짠짠 복사 됨!</p>
<p>이건 ,, 좀 심화버전인데</p>
<p>변수 넣기!</p>
<pre><code>let tittle =&#39;아무거나 제목&#39;

let temp_html = `&lt;div class=&quot;card&quot;&gt;
                &lt;img class=&quot;card-img-top&quot; src=&quot;https://scontent-ssn1-1.xx.fbcdn.net/v/t1.18169-9/20139904_1742040382755064_8285488068505922055_n.jpg?_nc_cat=105&amp;ccb=1-5&amp;_nc_sid=174925&amp;_nc_ohc=WaG-NNPHY8MAX9ue1bw&amp;_nc_ht=scontent-ssn1-1.xx&amp;oh=00_AT8dOTd8TPDsrb84nX8FprEC3fxDBMO93fFRMBQdvSKlow&amp;oe=622E82C1&quot; alt=&quot;Card image cap&quot;&gt;
                &lt;div class=&quot;card-body&quot;&gt;
                    &lt;a class=&quot;card-title&quot; href=&quot;https://www.instagram.com/imyour_juu/&quot;&gt;${tittle}&lt;/a&gt;
                    &lt;p class=&quot;card-text&quot;&gt;기사의 요약 내용이 들어갑니다. 동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라만세 무궁화 삼천리 화려강산...&lt;/p&gt;
                    &lt;h6 class=&quot;comment&quot;&gt;여기에 코멘트가 들어갑니다.&lt;/h6&gt;
                &lt;/div&gt;
            &lt;/div&gt;`
</code></pre><p>저기 달라진 부분이</p>
<pre><code>&lt;a class=&quot;card-title&quot; href=&quot;https://www.instagram.com/imyour_juu/&quot;&gt;${tittle}&lt;/a&gt;</code></pre><p>card-tittle 옆에 ${tittle} 변수를 집어 넣어 주고 원제목을 삭제했다</p>
<p>고 다음에 똑같이</p>
<pre><code>$(&#39;#card-columns&#39;).append(temp_html)</code></pre><p>이거 입력해주믄</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/a97d60a9-3e35-49a1-8687-121746e051b7/image.png" alt=""></p>
<p>왜 난 오른쪽으로 생기는지 의문이긴 한데 아무튼 되긴한다... ㅋㅋㅋㅋㅋㅋ</p>
<p>이제 실습! 기능 구현하기</p>
<blockquote>
<h3 id="포스팅박스-열고-닫기">포스팅박스 열고 닫기</h3>
</blockquote>
<p><del>는 졸려서,, 내일 수정하도록 하겠습니다.....</del></p>
<p>&#39;포스팅박스 열기&#39;를 누르면 포스팅박스가 나타나면서 버튼이 &#39;포스팅박스 닫기&#39;로 바뀌면서 포스팅박스가 사라지는 기능을 넣어 보겠다!</p>
<p>여기서 잠시,, 주석처리 하는 방법!</p>
<pre><code>JS랑 CSS

// 는 한줄
/* */은 여러줄!

HTML은
&lt;!-- --&gt;</code></pre><p>복습이기 때문에.. 주석처리 해놓고</p>
<p>onclick=&quot;hi&quot; 이름을 openclose 로 바꿔주겠따!</p>
<pre><code>function openclose() {
            alert (&#39;되나?&#39;)
        }</code></pre><p>잘되나 한번 확인해보기...</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/c0bc8747-8005-4483-8659-f3e4a0d72488/image.png" alt=""></p>
<p>잘되네욤</p>
<p>콘솔창 열어서 </p>
<p>$(&#39;#postbox&#39;).css(&#39;display&#39;) 상태 확인해보기</p>
<p>근데 나는 왜 block 이라고 안뜨고 none 이라고 뜨지 ,,? 당황스럽다... </p>
<p>아무튼</p>
<p>let status = $(&#39;#postbox&#39;).css(&#39;display&#39;)
애를 function 안에 집어 넣어주고,</p>
<p>이제 만약에 postbox 의 상태가 block 이면, postbox를 hide 하고 아니면 show 하게 만들어 보겠다.</p>
<pre><code> if (status == &#39;block&#39;){
                $(&#39;#postbox&#39;).hide();
            } else {
                $(&#39;#postbox&#39;).show();
            }</code></pre><p><img src="https://images.velog.io/images/imyour_juu/post/dae0ad1a-f866-4265-a588-4167bdc127d7/%EC%9B%80%EC%A7%A4%201.gif" alt=""></p>
<p>짠 이렇게 열고 닫기 완성</p>
<p>왜 none 인데 되는지는 모르겠지만 ^^,,ㅋㅋㅋㅋㅋㅋㅋ</p>
<p><del>보니까 내가 display none 설정해놓고 왜 안되냐고 찡찡대고있었네..</del></p>
<p>이제 포스팅박스가 열렸을 때 박스가 닫기로 바뀌게 만들어 보겠다.</p>
<p>$(&#39;#btn-posting-box&#39;).text(&#39;&#39;);</p>
<p>를 사용해서 postbox 가 hide 상태일때는 당연히 포스팅박스 열기 를/ show 일때는 포스팅박스 닫기가 나타나야 하기때문에</p>
<pre><code> function openclose() {
            let status = $(&#39;#postbox&#39;).css(&#39;display&#39;)
            if (status == &#39;block&#39;) {
                $(&#39;#postbox&#39;).hide()
                $(&#39;#btn-posting-box&#39;).text(&#39;포스팅박스 열기&#39;);
            } else {
                $(&#39;#postbox&#39;).show()
                $(&#39;#btn-posting-box&#39;).text(&#39;포스팅박스 닫기&#39;);
            }</code></pre><pre><code>    }</code></pre><p>요로케!</p>
<p>처음부터 posting box가 닫혀있는게 깔끔하므로</p>
<p>postbox 안에 display : none 설정 해주면 끝!!</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/8ca24f9f-822b-40e4-96c0-3756bb676e1f/Honeycam%202022-02-23%2002-14-55.gif" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[07_자바스크립트 3]]></title>
            <link>https://velog.io/@imyour_juu/07%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-3</link>
            <guid>https://velog.io/@imyour_juu/07%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-3</guid>
            <pubDate>Sun, 20 Feb 2022 16:48:48 GMT</pubDate>
            <description><![CDATA[<p>지금까지 배운거 복습!</p>
<h3 id="1-서울시내-미세먼지-리스트">1. 서울시내 미세먼지 리스트</h3>
<p>너무 길기 때문에</p>
<p>﻿</p>
<pre><code>mise_list
(25) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
0: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;도심권&#39;, MSRSTE_NM: &#39;중구&#39;, PM10: 22, PM25: 14, …}
1: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;도심권&#39;, MSRSTE_NM: &#39;종로구&#39;, PM10: 24, PM25: 18, …}
2: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;도심권&#39;, MSRSTE_NM: &#39;용산구&#39;, PM10: 0, PM25: 15, …}
3: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;서북권&#39;, MSRSTE_NM: &#39;은평구&#39;, PM10: 36, PM25: 14, …}
4: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;서북권&#39;, MSRSTE_NM: &#39;서대문구&#39;, PM10: 28, PM25: 9, …}
5: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;서북권&#39;, MSRSTE_NM: &#39;마포구&#39;, PM10: 26, PM25: 8, …}
6: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;동북권&#39;, MSRSTE_NM: &#39;광진구&#39;, PM10: 17, PM25: 9, …}
7: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;동북권&#39;, MSRSTE_NM: &#39;성동구&#39;, PM10: 21, PM25: 12, …}
8: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;동북권&#39;, MSRSTE_NM: &#39;중랑구&#39;, PM10: 27, PM25: 10, …}
9: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;동북권&#39;, MSRSTE_NM: &#39;동대문구&#39;, PM10: 26, PM25: 9, …}
10: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;동북권&#39;, MSRSTE_NM: &#39;성북구&#39;, PM10: 27, PM25: 8, …}
11: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;동북권&#39;, MSRSTE_NM: &#39;도봉구&#39;, PM10: 25, PM25: 12, …}
12: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;동북권&#39;, MSRSTE_NM: &#39;강북구&#39;, PM10: 30, PM25: 15, …}
13: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;동북권&#39;, MSRSTE_NM: &#39;노원구&#39;, PM10: 21, PM25: 14, …}
14: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;서남권&#39;, MSRSTE_NM: &#39;강서구&#39;, PM10: 36, PM25: 16, …}
15: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;서남권&#39;, MSRSTE_NM: &#39;구로구&#39;, PM10: 23, PM25: 10, …}
16: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;서남권&#39;, MSRSTE_NM: &#39;영등포구&#39;, PM10: 29, PM25: 15, …}
17: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;서남권&#39;, MSRSTE_NM: &#39;동작구&#39;, PM10: 29, PM25: 15, …}
18: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;서남권&#39;, MSRSTE_NM: &#39;관악구&#39;, PM10: 27, PM25: 12, …}
19: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;서남권&#39;, MSRSTE_NM: &#39;금천구&#39;, PM10: 25, PM25: 15, …}
20: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;서남권&#39;, MSRSTE_NM: &#39;양천구&#39;, PM10: 0, PM25: 14, …}
21: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;동남권&#39;, MSRSTE_NM: &#39;강남구&#39;, PM10: 31, PM25: 16, …}
22: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;동남권&#39;, MSRSTE_NM: &#39;서초구&#39;, PM10: 34, PM25: 13, …}
23: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;동남권&#39;, MSRSTE_NM: &#39;송파구&#39;, PM10: 25, PM25: 6, …}
24: {MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;동남권&#39;, MSRSTE_NM: &#39;강동구&#39;, PM10: 24, PM25: 14, …}
length: 25
[[Prototype]]: Array(0)</code></pre><p>고냥 이 mise_list 로 대체하겠다</p>
<p>for (let i =0; i &lt;mise_list.length; i++) {
    console.log (mise_list[i])
}</p>
<p>아까 했던것처럼, 숫자 대신 mise_list의 length 를 넣으면 </p>
<p><img src="https://images.velog.io/images/imyour_juu/post/6ec5cc07-b9fb-47f0-bbab-cd7d1df4d580/image.png" alt=""></p>
<p>이런식으로 불러오는데 너무 길어서 짤렸다..
내가 원하는 정보만 보고싶을땐,</p>
<p>화살표를 열어서</p>
<p>{MSRDT: &#39;201912052100&#39;, MSRRGN_NM: &#39;동남권&#39;, MSRSTE_NM: &#39;강동구&#39;, PM10: 24, PM25: 14, …}
ARPLT_MAIN: &quot;PM25&quot;
CO: 0.4
IDEX_MVL: 39
IDEX_NM: &quot;좋음&quot;
MSRDT: &quot;201912052100&quot;
MSRRGN_NM: &quot;동남권&quot;
MSRSTE_NM: &quot;강동구&quot;
NO2: 0.02
O3: 0.016
PM10: 24
PM25: 14
SO2: 0.002
[[Prototype]]: Object</p>
<p>확인 해 볼수 있다.</p>
<p>예를들어, 구와 미세먼지 수치를 보고싶다면</p>
<pre><code>for (let i =0; i &lt;mise_list.length; i++) {
    let gu_name = mise_list[i][&#39;MSRSTE_NM&#39;]
    let gu_mise = mise_list[i][&#39;IDEX_MVL&#39;]
    if (gu_mise &lt; 40) {
    console.log(gu_name,gu_mise)
    }
}
VM6916:5 중구 31
VM6916:5 종로구 39
VM6916:5 용산구 -99
VM6916:5 서대문구 37
VM6916:5 마포구 36
VM6916:5 광진구 31
VM6916:5 성동구 33
VM6916:5 중랑구 34
VM6916:5 동대문구 34
VM6916:5 성북구 37
VM6916:5 강북구 39
VM6916:5 노원구 36
VM6916:5 구로구 37
VM6916:5 관악구 37
VM6916:5 양천구 -99
VM6916:5 강남구 39
VM6916:5 강동구 39</code></pre><p>이렇게 입력하면 짜라란 ,,,</p>
<p>if를 이용해 40보다 수치가 작은 구만 보고싶을 때는</p>
<pre><code>for (let i =0; i &lt;mise_list.length; i++){
    let gu_name = mise_list[i][&#39;MSRSTE_NM&#39;]
    let gu_mise = mise_list[i][&#39;IDEX_MVL&#39;]
    if (gu_mise &lt; 40) {
    console.log(gu_name,gu_mise)
    }
}
</code></pre><p>이렇게 입력해주면 된다.</p>
<h3 id="2서울시-따릉이-현황">2.서울시 따릉이 현황</h3>
<p>얘는 ,, 길어도 넘 길어서 그냥 캡쳐로 생략,,^^</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/ec6e1094-9ef9-45a9-acaf-d4dd61b69411/image.png" alt=""></p>
<p>for (let i =0; i &lt;bikes.length; i++){
    console.log (bikes[i])
}
를 입력해주면 bikes 의 list 가 나온다. 위랑 형식이 똑같아서 생략</p>
<p>parkingBikeTotCnt: &quot;9&quot;
rackTotCnt: &quot;37&quot;
shared: &quot;0&quot;
stationId: &quot;ST-58&quot;
stationLatitude: &quot;37.52136230&quot;
stationLongitude: &quot;126.92346191&quot;
stationName: &quot;212. 여의도역 1번출구 옆&quot;
[[Prototype]]: Object</p>
<p>dict 구성은 이렇다.</p>
<p>parkingBikeTotCnt 이게 bike 의 수량이고
stationName 이게해당 역 이름</p>
<p>for (let i =0; i &lt;bikes.length; i++){
    let name = bikes[i][&#39;stationName&#39;]
    let bike = bikes[i][&#39;parkingBikeTotCnt&#39;] 
    console.log (name,bike)
}</p>
<p>이걸 입력해주면 역 이름과 자전거의 수량이 나온다.</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/6d0a7fcb-d004-4940-810f-cf4447be932a/image.png" alt=""></p>
<p>이런식으로!</p>
<p>만약 bike 가 5개 미만인 곳을 알고 싶으면 
if (bike &lt;5) 만 넣어주면 된다.</p>
<p>for (let i =0; i &lt;bikes.length; i++){
    let name = bikes[i][&#39;stationName&#39;]
    let bike = bikes[i][&#39;parkingBikeTotCnt&#39;] 
    if (bike &lt;5) {
    console.log (name,bike)
    }
}
VM8086:5 101. (구)합정동 주민센터 4
VM8086:5 105. 합정역 5번출구 앞 1
VM8086:5 115. 사루비아 빌딩 앞 1
VM8086:5 116. 일진아이윌아파트 옆 1
VM8086:5 120. 신수동 사거리 3
VM8086:5 136. 대흥동 주민센터 1
VM8086:5 137. NH농협 신촌지점 앞 4
VM8086:5 142. 아현역 4번출구 앞 1
VM8086:5 147. 마포역 4번출구 뒤 4
VM8086:5 157. 애오개역 4번출구 앞 1
VM8086:5 158. 독립문 어린이 공원 1
VM8086:5 159. 이대역 4번 출구 1
VM8086:5 161. 무악재역1번 출구 0
VM8086:5 163. 명지전문대학교 정문 앞 0
VM8086:5 173. 서대문역 8번출구 앞 4
VM8086:5 176. 명지대학교 도서관 0
VM8086:5 177. 북가좌 초등학교 1
VM8086:5 178. 증산3교 앞 0
VM8086:5 184. SK망원동주유소 건너편 4
VM8086:5 188. 홍은동 정원여중 입구 2
VM8086:5 192. 연서어린이공원 0
VM8086:5 194. 증산교 앞 2
VM8086:5 196. 연희교차로 인근 1
VM8086:5 211. 여의도역 4번출구 옆 2</p>
<h3 id="3-파이참에서-사용해보기">3. 파이참에서 사용해보기</h3>
<p>그때 만든 나홀로링크 메모장에서
포스팅 박스열기를 눌렀을때,</p>
<p>홀수로 클릭시 &#39;홀수입니다&#39;
짝수로 클릭시 &#39;짝수입니다&#39;
팝업 뜨게하기</p>
<p>전에 사용했던 
funtion hey() {
    alert(&#39;안녕&#39;);
}
바꿔보자</p>
<p>홀수랑 짝수는,, 오 신박하게
나눴을 때 나머지가 있는지 없는지로 판단한다.</p>
<pre><code>function hey() {
           if (count % 2 == 0) {
               alert(&#39;짝수입니다&#39;)
           } else {
               alert(&#39;홀수입니다&#39;)
           }          </code></pre><p>요롷게! 이제 버튼 누를때마다 count 를 1 씩 늘려야 하기때문에
count += 1;
이걸 이용해 준다</p>
<p>count = count + 1;
이거랑 같다. count에 1씩 더해준다는 뜻</p>
<pre><code>
       function hey() {
               let count = 1;
           if (count % 2 == 0) {
               alert(&#39;짝수입니다&#39;)
           } else {
               alert(&#39;홀수입니다&#39;)
           }
           count +=1;
       }</code></pre><p>이렇게 하면</p>
<p>홀수입니다. 팝업이 뜨기는 하는데 count가 +1이 되지 않는다!</p>
<p>왜냐?! 함수가 한번 작동할때마다 count 가 초기화 돼서 새로운 count 가 생긴다고,, 이해 했다. 
그렇기 때문에 let count = 1;를 function 밖으로 보내줘야 한다.</p>
<pre><code>let count = 1;
       function hey() {

           if (count % 2 == 0) {
               alert(&#39;짝수입니다&#39;)
           } else {
               alert(&#39;홀수입니다&#39;)
           }
           count +=1;
</code></pre><p> 요로케</p>
<p> 그러면 누르는 횟수가 증가할때마다</p>
<p> <img src="https://images.velog.io/images/imyour_juu/post/9871319f-d3d9-4eaf-894c-2da388181c8b/image.png" alt=""></p>
<p><img src="https://images.velog.io/images/imyour_juu/post/d420a0fd-fa60-49e9-89f1-e66312fbe0e9/image.png" alt=""></p>
<p>팝업이 뜬다.</p>
<p>아무튼 function 밖으로 보내면 script 전체에 적용이 된다! 라고 이해하면 될듯 싶다.</p>
<p>요로케 js 끗<del>~</del></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[06_자바스크립트 2]]></title>
            <link>https://velog.io/@imyour_juu/05-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-2</link>
            <guid>https://velog.io/@imyour_juu/05-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-2</guid>
            <pubDate>Sun, 20 Feb 2022 15:07:52 GMT</pubDate>
            <description><![CDATA[<p>놀다가... 이제왔다.. 이번주 내내 이벤트가 넘 많았어..</p>
<p>오늘도 인강을 안들으면 너무 쓰레기 같기 때문에 꾸역꾸역 들으러 왔다.</p>
<p>자바스크립트는 왜이렇게 어렵지,,,? 함수는 진짜 도라버릴것같다</p>
<pre><code>function sum(num1,num2){
    return num1+num2
}</code></pre><p>오늘 함수를 배웠는데 ,, 이게 그래도 전에 숙제할 때 한번 해봤던 기억이 있어서 어찌저찌 이해는 갔지만 &#39;return&#39;의 쓰임은 진짜 봐도 모르겠다. 블로그를 읽어봐도 return 뒤에 따라오는 값을 함수의 결과로 반환한다. 함수를 종료한다. 주어진 값을 함수 호출 지점으로 반환한다. 이러는데 진짜 무슨말인지 1도 이해가 안간다</p>
<p>하.. 아무튼</p>
<p>이제 뭐.. </p>
<p>let result sum(2,3)</p>
<p>을 입력하면 저 식 안에 2,3 이 대입되는 것 까지는 이해 간다.
result를 입력하면 당연히 5가 나오겠ㅈㅣ</p>
<pre><code>function mysum(num1,num2){
    alert(&#39;안녕!&#39;)
    return num1+num2
}</code></pre><p>이제 뭐 그다음으로 전에 사용했던 alert ! 넘 반갑다 갑자기.. 쫘식...</p>
<p>아무튼 result 는 이미 사용했으니 result2를 사용해
let result2 sum (2,3)</p>
<p>을 입력하면</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/91d6ec57-09aa-4d75-ae7b-ac4e5d733d50/image.png" alt=""></p>
<p>짜란 팝업이 생긴다.</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/24949cc8-5393-43cc-a7b6-388575c4a880/image.png" alt=""></p>
<p>모르고 밀어서 새로 만들었는데, 확인을 해야 result 에 8이 들어간다.</p>
<p>그러니까 순서대로 5,3을 넣고/alert로 알람을 띄우고/return 을 하라는 의미 란다... 
언젠간 이해가겠지 return..?</p>
<pre><code>아무것도 안받을때는

funtion mysum(){
    alert(&#39;hi&#39;)
}
</code></pre><p>저번에 했던것처럼 하면 된다!</p>
<pre><code>let age = 24

if (age &gt; 20){
    console.log(&#39;성인입니다&#39;)
} else {
    console.log (&#39;청소년입니다&#39;)
}</code></pre><p>이거는 이제 조건문!</p>
<p>age 가 24살 이기 때문에
성인입니다. 라고 뜨겠죠?</p>
<p>이번에는 성별도 같이!</p>
<pre><code>let age = &#39;24&#39;
let sex = &#39;남성&#39;

if (age &gt; 20&amp;&amp; sex == &#39;남성&#39;){
    console.log(&#39;성인 남성입니다&#39;)
} else {
    console.log (&#39;청소년입니다&#39;)
}</code></pre><p>24살 남성이기 때문에 당연히 &#39;성인 남성입니다&#39;가 뜨겠죠?</p>
<p>or은 || &lt;백스페이스바 하단에 있는것 을 사용한다.</p>
<p>응용해서</p>
<pre><code>if age = 20
if sex = &#39;남성&#39;

if (age &gt; 20&amp;&amp; sex == &#39;남성&#39;){
    alert(&#39;성인 남성입니다&#39;)
} else {
    alert (&#39;청소년입니다&#39;)
}</code></pre><p><img src="https://images.velog.io/images/imyour_juu/post/9e081d1a-0760-4daf-b050-6521b210e4e5/image.png" alt=""></p>
<p>짠 이렇게 팝업 띄우기</p>
<p>이거는 else if 문인데</p>
<pre><code>let age = 5

if (age &gt; 20){
    console.log(&#39;성인입니다&#39;)
} else if (age &gt; 7) {
    console.log (&#39;청소년입니다&#39;)
} else {
    console.log (&#39;아동입니다&#39;)
}</code></pre><p>5살이기 때문에 &#39;아동입니다&#39; 
여기까지는 할 만 하다.</p>
<p>이제 쫌 어려운 반복문 ,,,,,</p>
<p>0부터 99까지 출력을 원할때 
console.log(0)
console.log(1)
console.log(2)
console.log(3)
console.log(4)
console.log(5)
...
console.log(99)</p>
<p>이렇게 써도 되지만,, 우리는 컴퓨터를 이용하기 때문에</p>
<p>for (let i = 0; i &lt; 10; i++){
    console.log(i)
}</p>
<p>i가 0부터, 10보다 작을때, i가 1개씩 커진다 라는 뜻</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/5511029b-db11-4cf0-826a-af75d332e9a9/image.png" alt=""></p>
<p>자 이제 응용해서</p>
<pre><code>let people = [&#39;철수&#39;,&#39;영희&#39;,&#39;민수&#39;,&#39;형준&#39;,&#39;기남&#39;,&#39;동희&#39;]
people.length</code></pre><p>사람들 리스트를 불러와보자
people이라는 list의 길이는 6이다. 6명이니깐..</p>
<p>아까 i 대신 peolpe.length를 대입해보면</p>
<p>for (let i=0; i &lt; people.length; i++){
    console.log(people[i])
}
i가 0보다 크고, people.length 보다 작을때 i 가 1씩 커진다.</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/f97f6c44-16e7-4807-868d-344e9ad855b7/image.png" alt="">
짠 리스트가 나온다</p>
<p>따라해보기!</p>
<p>let pet = [&#39;단추&#39;,&#39;몽이&#39;,&#39;둥둥&#39;,&#39;나리&#39;,&#39;미미&#39;,&#39;살구&#39;,&#39;보루&#39;,&#39;푸리&#39;,&#39;설탕&#39;,&#39;치즈&#39;]</p>
<p>pet의 length는 10이다 10마리기때문에... 생각나는 동물칭구칭긔들 다넣었음,,</p>
<p>i대신 pet.length를 넣어주면</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/5a78db5a-6dfe-489c-a336-f46db2b21752/image.png" alt="">
짠 pet의 리스트가 나온다</p>
<p>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},
]</p>
<p>자 다음은 애네,,,</p>
<p>사실 방금 return에 대ㅐ해 물어보고 왔는데 더 복잡해졌다 흑흑... 그래서 기운이 없을 예정..</p>
<p>아무튼 scores라는 이름의 list 인데,
scores 의 list의 length는 6이죠,,?</p>
<p>scores[0]번째는 {&#39;name&#39;:&#39;철수&#39;, &#39;score&#39;:90} 당연히 이 친구들이다.
scores[0][&#39;name&#39;] 은 철수! </p>
<p>for (let i = 0; i &lt; scores.length; i++){
    console.log(scores[i])
}</p>
<p>이걸 이용하면 scores의 list가 뜬다</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/2e201412-d3b6-4e8e-94c1-73a71587e706/image.png" alt="">
이로케!</p>
<p>for (let i = 0; i &lt; scores.length; i++){
    console.log(scores[i])
}
를 응용하면 scores의 name 이나 score 만 볼수도있다.</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/89918bdd-797b-4cdd-9fcd-d57d9126201f/image.png" alt=""></p>
<p>이런식으로!</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/cc6db179-0319-4059-aa84-6a5210b72e92/image.png" alt=""></p>
<p>name 에 scores의 name을 정의해주고
score에 scores의 score을 정의 해준 뒤에
console.log(name,score) 을 입력해주면
저렇게 이름과 스코어 갖고오기도 가능!</p>
<p>if문도 </p>
<p>for (let i = 0; i &lt; scores.length; i++){
    let name = scores[i][&#39;name&#39;]
    let score = scores[i][&#39;score&#39;]</p>
<p>   요친구들 뒤에 만약 50점이 넘는 친구들과 점수만 불러와줘~ 
   if (score &gt; 50) {
    console.log(name,score)
}</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/45f97bfe-331c-4693-a132-1eb03fb924e8/image.png" alt=""></p>
<p>이렇게 50점이 넘는 친구들만 불러온다. 
같거나 크다, 같거나 작다를 입력하고 싶으면 부등호 뒤에 =을 붙여주면 됨
&lt;= 같거나 작다/&gt;= 같거나 크다</p>
<p>다음편엔,,, 이제 정말 본편으루</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[05_자바스크립트]]></title>
            <link>https://velog.io/@imyour_juu/05-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8</link>
            <guid>https://velog.io/@imyour_juu/05-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8</guid>
            <pubDate>Wed, 16 Feb 2022 15:36:06 GMT</pubDate>
            <description><![CDATA[<p>ha... 자바스크립트.. 이름만 봐도 갑자기 눈물이 줄줄 나온다.. 왜이렇게 어렵지</p>
<p>분명히 그때는 이해했는데 시간지나면 1도 모르겠음</p>
<p>내가 이해한 유일한 하나</p>
<p>script 안에 java script를 넣는다. 
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ</p>
<p>아 팝업창 띄우기랑 하이퍼링크도 생각은 난다.
alert 랑 location
자고 일어나면 까먹었을지도 ...</p>
<p>근데 이제 콘솔창으로 가면 갑자기 머리가 하얘짐..</p>
<p>하 얘는 따라하기도 벅차서 대충 기억나는것만 적어보자면 ..</p>
<p>//변수, 자료형, 함수, 조건문, 반복문</p>
<p>일단 이정도만 ..</p>
<h3 id="변수">변수</h3>
<p>let a=1</p>
<p>a+3 = 4</p>
<p>숫자가 아닌 문자열도 가능하다.</p>
<p>let first_name =&#39;wonju&#39;
let last_name =&#39;lee&#39;</p>
<p>first_name + last_name =wonjulee</p>
<p>문자열은 &#39;&#39;가 붙어야 함!</p>
<p><del>근데 의문인거 a=1 을 해도 사칙연산 사용할때는 문제가 없던데 뭔차인지 ?</del></p>
<p><del>일단 a=1은 그냥 단순히 a에 1을 대입해라 라는것까지는 이해갔음</del></p>
<p><del>근데 let a=1 은 이해가 안감 ..</del></p>
<p><del>암튼 내생각에 오류창 보고 느낀건데 let a=1은 a를 1로 정의해라 정도의.. 차이가 아닐까 싶다</del></p>
<p><del>아직까지는 큰 차이는 모르겠다.</del></p>
<h3 id="자료형">자료형</h3>
<p>let a_list = [&#39;수박&#39;,&#39;참외&#39;,&#39;배&#39;]
라고 정의했을때</p>
<p>이제 컴퓨터는 0부터 인식을 하기 때문에</p>
<p>a_list[0] = 수박
a_list[1] = 참외
a_list[2] = 배</p>
<p>이렇게 된다.</p>
<p>추가를 윈할때는</p>
<p>a_list.push(&#39;감&#39;)</p>
<p>이렇게 .push를 이용! 
&#39;동적으로 추가된다&#39;라고 이야기 한다고 함</p>
<p>dictionary 형은</p>
<p>let a_dict = {&#39;name&#39;:&#39;juju&#39;,&#39;age&#39;:&#39;26&#39;}</p>
<p>이렇게..</p>
<p>a_dict[&#39;name&#39;] = juju
a_dict[&#39;age&#39;] = 26</p>
<p>이렇게 되는 것이다 </p>
<p><img src="https://images.velog.io/images/imyour_juu/post/f04b37dd-8102-47ee-95a6-5242a38c88cb/image.png" alt=""></p>
<p>고쥐몽한테 이거 보여줬더니 몽이가 왜 고양이냐고 혼났다. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/dc8e8b95-1109-4682-9182-f32686756f2b/image.png" alt=""></p>
<p>그러더니 이거 해달라고 조름...</p>
<p>나도 웃겨서ㅋㅋㅋㅋㅋㅋㅋㅋㅋ</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/2cf11cc1-e578-48ce-9a01-b695d21bcd05/image.png" alt=""></p>
<p>일단 리스트로 각각 구분주고</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/e3fd5137-841e-431e-850a-3ff1189a6f6d/image.png" alt=""></p>
<p>혼자 오류나서 승질냈는데 보니까 a랑dict사이에 언더바 빼먹었네.. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ</p>
<p>암튼 부끄러우니까..^^ 중간오류 좀 빼먹고</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/ecfaec33-5169-4c95-88f3-ce30f354bfd0/image.png" alt=""></p>
<p>짜라란 ,,, 실력 점점 늘어~</p>
<p>보여줬더니 더 어려운거 해주란다</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/fb69a211-cbfd-47fe-9fc7-f7f10a0f683d/image.png" alt=""></p>
<p>연습할겸 둥둥이도 추가해봤다... 정둥둥 기여워</p>
<p>머 이제 그 외에도</p>
<ul>
<li>%는 나머지구하기</li>
<li><ul>
<li>곱하기</li>
</ul>
</li>
<li>/ 나누기</li>
</ul>
<p>부등호도 가능하다.</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/5c23c6d8-9d9d-495b-97f3-25a15af1485e/image.png" alt=""></p>
<ul>
<li>==은 같다</li>
<li>!= 다르다</li>
</ul>
<p>마지막으로 분리하기!</p>
<p>split(&#39;&#39;) &#39;&#39; 안의 문자를 기준으로 나눠짐</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/38783616-c11c-416c-883a-514085304403/image.png" alt=""></p>
<p>짠 이런식으로!</p>
<p>그나마 한번 더 복습했더니 저번보다는 할만하다 ㅠ.. 하 자바스크립트 너무 어려워
근데 이게 쉬운거고.. js2편이 정말 어려웠다.... </p>
<p>오늘은 좀 쉬고 내일 다시 복습하고 강의들어야지!!!!</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[04_부트스트랩2]]></title>
            <link>https://velog.io/@imyour_juu/04.-%EB%B6%80%ED%8A%B8%EC%8A%A4%ED%8A%B8%EB%9E%A92</link>
            <guid>https://velog.io/@imyour_juu/04.-%EB%B6%80%ED%8A%B8%EC%8A%A4%ED%8A%B8%EB%9E%A92</guid>
            <pubDate>Wed, 16 Feb 2022 13:38:55 GMT</pubDate>
            <description><![CDATA[<p>어제는 너무 피곤해서.. 암것도 안하구 그냥 8시에 잠들었다. 그랬더니 애매하게 깨서 잠을 더 못잠 ....</p>
<p>아무튼 전 포스팅에서  </p>
<p><img src="https://images.velog.io/images/imyour_juu/post/61fd882f-692d-4878-a4e8-e770a7394127/image.png" alt=""></p>
<p>이렇게 메모장을 완성했는데,</p>
<p>이번에는 추가로 가운데에 추가로 박스를 만들어 볼 예정이다.</p>
<ul>
<li>예시!</li>
</ul>
<p><img src="https://images.velog.io/images/imyour_juu/post/984977dd-7952-406d-9111-f31624f008dc/image.png" alt=""></p>
<p>자 부트스트랩에 들어가서</p>
<blockquote>
<p><a href="https://getbootstrap.com/docs/4.0/components/forms/">https://getbootstrap.com/docs/4.0/components/forms/</a></p>
</blockquote>
<p>forms 탭을 열어보면</p>
<p>유사한 형식을 찾을 수 있다. </p>
<p><img src="https://images.velog.io/images/imyour_juu/post/3077fff5-d62c-4b0f-b5e2-71a823fa39d1/image.png" alt=""></p>
<p>&#39;간단 코멘트&#39;는 네모박스 모양이 좀 달라서</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/d4fb40aa-99f1-434b-a5cc-5c9241c5edeb/image.png" alt=""></p>
<p>맨 하단 example textarea 를 이용하겠다.</p>
<pre><code>&lt;form&gt;
  &lt;div class=&quot;form-group&quot;&gt;
    &lt;label for=&quot;exampleInputEmail1&quot;&gt;Email address&lt;/label&gt;
    &lt;input type=&quot;email&quot; class=&quot;form-control&quot; id=&quot;exampleInputEmail1&quot; aria-describedby=&quot;emailHelp&quot; placeholder=&quot;Enter email&quot;&gt;
    &lt;small id=&quot;emailHelp&quot; class=&quot;form-text text-muted&quot;&gt;We&#39;ll never share your email with anyone else.&lt;/small&gt;
  &lt;/div&gt;
  &lt;div class=&quot;form-group&quot;&gt;
    &lt;label for=&quot;exampleInputPassword1&quot;&gt;Password&lt;/label&gt;
    &lt;input type=&quot;password&quot; class=&quot;form-control&quot; id=&quot;exampleInputPassword1&quot; placeholder=&quot;Password&quot;&gt;
  &lt;/div&gt;
  &lt;div class=&quot;form-check&quot;&gt;
    &lt;input type=&quot;checkbox&quot; class=&quot;form-check-input&quot; id=&quot;exampleCheck1&quot;&gt;
    &lt;label class=&quot;form-check-label&quot; for=&quot;exampleCheck1&quot;&gt;Check me out&lt;/label&gt;
  &lt;/div&gt;
  &lt;button type=&quot;submit&quot; class=&quot;btn btn-primary&quot;&gt;Submit&lt;/button&gt;
&lt;/form&gt;</code></pre><p>일단 비밀번호 태그랑 체크박스 태그는 쓸모가 없기 때문에 잘 지워주고, 아까 example textarea 태그를 비밀번호 태그 자리에 넣어준다.</p>
<pre><code>&lt;div class=&quot;form-group&quot;&gt;
    &lt;label for=&quot;exampleFormControlTextarea1&quot;&gt;Example textarea&lt;/label&gt;
    &lt;textarea class=&quot;form-control&quot; id=&quot;exampleFormControlTextarea1&quot; rows=&quot;3&quot;&gt;&lt;/textarea&gt;
  &lt;/div&gt;</code></pre><p>그 후에 각 태그에 맞게 아티클 url/ 간단코멘트/ 기사저장을 넣어주면</p>
<pre><code>&lt;div&gt;
             &lt;div class=&quot;form-group&quot;&gt;
                 &lt;label for=&quot;exampleInputEmail1&quot;&gt;아티클 URL&lt;/label&gt;
                 &lt;input type=&quot;TEXT&quot; class=&quot;form-control&quot; id=&quot;exampleInputEmail1&quot; &gt;
             &lt;/div&gt;

             &lt;div class=&quot;form-group&quot;&gt;
                 &lt;label for=&quot;exampleFormControlTextarea1&quot;&gt;간단 코멘트&lt;/label&gt;
                 &lt;textarea class=&quot;form-control&quot; id=&quot;exampleFormControlTextarea1&quot; rows=&quot;3&quot;&gt;&lt;/textarea&gt;
             &lt;/div&gt;

             &lt;button type=&quot;submit&quot; class=&quot;btn btn-primary&quot;&gt;기사저장&lt;/button&gt;
         &lt;/div&gt;</code></pre><p><img src="https://images.velog.io/images/imyour_juu/post/60a821ad-28ab-438c-8f38-ff60b5e777df/image.png" alt=""></p>
<p>대충 비슷한 형식이 나온다.</p>
<p>이제 테두리를 만들어 줘야하는데,,,</p>
<p>div로 쟤들을 묶어주고,</p>
<p>border-style로 꾸며주면</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/1a20f30a-3f4f-4bac-95c6-db48c3b27421/image.png" alt=""></p>
<p>허접하게 테두리가 생긴다 ㅋㅋㅋㅋㅋㅋㅋ</p>
<p>그러면 이제 </p>
<pre><code>    .box {
        border-style: solid;
        border-radius: 5px;

        width: 500px;
        padding: 50px;

        margin: auto;
        margin-bottom: 50px;
    }</code></pre><p>border-radius 로 태두리를 둥글게 만들어주고
width로 크기를 준 후 padding으로 내부 여백을 만들어 준다.</p>
<p>margin을 두번 쓴 이유는 </p>
<p>margin 10px 10px 10px 10px;</p>
<p>이렇게 입력하면 순서대로 위 오른쪽 아래 왼쪽 이렇게 적용된다는게 기억은 나는데,,,</p>
<p>문제는 다른데는 auto로 두고 하단만 띄우고 싶은데 그게 기억이 안난다....</p>
<p>내 코딩선생님은 아파서 물어보기 쩜 미안;; 네이버도 안알랴줌 ,,, </p>
<p>그래서 그냥 margin-bottom 으로 여백을 줬다.. 되기만 하면 되지 뭐..</p>
<h3 id="-ㅇ-ㅓ-인강-듣고-왔는데-그냥-auto-주면-되네"><strong>+ ㅇ ㅓ.. 인강 듣고 왔는데 그냥 auto 주면 되네</strong></h3>
<p><strong>margin 0px auto 50px auto;</strong></p>
<p><strong>아무래도 위 아래/ 오른쪽 왼쪽은 맞춰줘야 돼서 오 왼은 오토를 주고 하단은 0px 50px로 맞추지 않았나 싶다.</strong></p>
<p>*<em>그리고 border 도 *</em></p>
<p><strong>borer: 3px solid black</strong></p>
<p>*<em>이렇게 순서대로 두께, 선스타일, 컬러를 입력해줘도 된다. *</em></p>
<p><img src="https://images.velog.io/images/imyour_juu/post/a7ec49d1-560e-4e4d-b31d-9c4fe28e6353/image.png" alt=""></p>
<p>아무튼 짠 완성~</p>
<p>잊지말자.. border-style</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[03_부트스트랩 ]]></title>
            <link>https://velog.io/@imyour_juu/03-%EB%B6%80%ED%8A%B8%EC%8A%A4%ED%8A%B8%EB%9E%A9</link>
            <guid>https://velog.io/@imyour_juu/03-%EB%B6%80%ED%8A%B8%EC%8A%A4%ED%8A%B8%EB%9E%A9</guid>
            <pubDate>Mon, 14 Feb 2022 15:42:17 GMT</pubDate>
            <description><![CDATA[<p>복습을 내일 하려고 했는데 ,, 자바스크립트 복습을 안하면 도저히 못할 것 같아서..
울면서 복습을 하러 왔다.</p>
<p>하 오늘 복습할 내용은 부트스트랩 이용해서 </p>
<p><img src="https://images.velog.io/images/imyour_juu/post/b7ad1f0d-ad54-4d0e-84bf-5710555af2f9/image.png" alt=""></p>
<p>짠 이걸 만드는건데 ...</p>
<p>사실 자바스크립트가 너무너무 어려워서 내가 멍청한가..? 라는 마음을 갖고 지금 복습을 하는중이라 기운이 없다..
그래서 이왕 하는거 저기에 쓸 사진에 울 댕댕 사진을 너무 넣고싶은데, 네이버 블로그 사진주소 복사는 계속 오류가 나고.. 인스타그램은 주소복사가 안되고~! 
근데 또 내가 이상하게 집요한 부분이 있어서 죽어도 댕댕사진 안되면 내사진이라도 넣어야겠다 싶어서 구글에 내인스타그램 아이디 검색하고 블로그 해시태그, 제목 아이디 다검색해도 안되더니 ㅋㅋㅋㅋㅋㅋ 호호,,, 페북은 또 되네,, 그래서 얼레벌레 내사진을 넣었다.</p>
<p>암튼 이게 중요한게 아닌데, !! 아무튼 부트스트랩 가장 기본적인 걸 이용해서 만들거다.</p>
<p>사실 요정도는 이제 혼자서 만들 수 있을 것 같은 자만도 든다 킥킥 (방금까지 자바스크립트때문에 울었음 ,,)</p>
<blockquote>
<p>부트스트랩 홈페이지
<a href="https://getbootstrap.com/docs/4.0/components/jumbotron/">https://getbootstrap.com/docs/4.0/components/jumbotron/</a></p>
</blockquote>
<p>맨 위 틀은 jumbotron 항목에서 찾았다.</p>
<pre><code>&lt;div class=&quot;jumbotron&quot;&gt;
  &lt;h1 class=&quot;display-4&quot;&gt;Hello, world!&lt;/h1&gt;
  &lt;p class=&quot;lead&quot;&gt;This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.&lt;/p&gt;
  &lt;hr class=&quot;my-4&quot;&gt;
  &lt;p&gt;It uses utility classes for typography and spacing to space content out within the larger container.&lt;/p&gt;
  &lt;p class=&quot;lead&quot;&gt;
    &lt;a class=&quot;btn btn-primary btn-lg&quot; href=&quot;#&quot; role=&quot;button&quot;&gt;Learn more&lt;/a&gt;
  &lt;/p&gt;
&lt;/div&gt;</code></pre><p>이걸 붙여넣으면</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/e588527f-c000-4b50-bc02-47db9260c1af/image.png" alt=""></p>
<p>짜잔 아무것도 안했는데 그럴싸한게 나온다.</p>
<p>이제 하단의 카드를 만들어야하는데</p>
<p>card 항목에서</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/3b8f0c26-75e6-4425-879a-ebd8c4ca858c/image.png" alt=""></p>
<p>요로코롬 뭉탱이로 있는 친구들을 복사해준다</p>
<pre><code>&lt;div class=&quot;card-deck&quot;&gt;
  &lt;div class=&quot;card&quot;&gt;
    &lt;img class=&quot;card-img-top&quot; src=&quot;...&quot; alt=&quot;Card image cap&quot;&gt;
    &lt;div class=&quot;card-body&quot;&gt;
      &lt;h5 class=&quot;card-title&quot;&gt;Card title&lt;/h5&gt;
      &lt;p class=&quot;card-text&quot;&gt;This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.&lt;/p&gt;
    &lt;/div&gt;
    &lt;div class=&quot;card-footer&quot;&gt;
      &lt;small class=&quot;text-muted&quot;&gt;Last updated 3 mins ago&lt;/small&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;card&quot;&gt;
    &lt;img class=&quot;card-img-top&quot; src=&quot;...&quot; alt=&quot;Card image cap&quot;&gt;
    &lt;div class=&quot;card-body&quot;&gt;
      &lt;h5 class=&quot;card-title&quot;&gt;Card title&lt;/h5&gt;
      &lt;p class=&quot;card-text&quot;&gt;This card has supporting text below as a natural lead-in to additional content.&lt;/p&gt;
    &lt;/div&gt;
    &lt;div class=&quot;card-footer&quot;&gt;
      &lt;small class=&quot;text-muted&quot;&gt;Last updated 3 mins ago&lt;/small&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;card&quot;&gt;
    &lt;img class=&quot;card-img-top&quot; src=&quot;...&quot; alt=&quot;Card image cap&quot;&gt;
    &lt;div class=&quot;card-body&quot;&gt;
      &lt;h5 class=&quot;card-title&quot;&gt;Card title&lt;/h5&gt;
      &lt;p class=&quot;card-text&quot;&gt;This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action.&lt;/p&gt;
    &lt;/div&gt;
    &lt;div class=&quot;card-footer&quot;&gt;
      &lt;small class=&quot;text-muted&quot;&gt;Last updated 3 mins ago&lt;/small&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;</code></pre><p>이제 내가 필요한 카드는 상단 맨 왼쪽카드기 때문에 불필요한 카드들을 지워줘야 하는데,</p>
<p>콘솔창을 켜서 태그들에 가져다 대면</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/ab682ded-c20b-42aa-bf51-2f160418e8e2/image.png" alt=""></p>
<p>마우스를 대고있는 태그에 해당하는 항목을 알 수가 있다!</p>
<p>해당하는 태그는</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/fa92a94b-b20a-4ba1-8f84-3aeee51e3a81/image.png" alt=""></p>
<p>맨 윗줄 태그였고 나머지는 지우면 되겠다.</p>
<p>저렇게 접고 지우는게 좋은게... 저번에 모르고 div 태그까지 같이 지워서 혼자 당황했었던 기억이 있다 ...</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/8bc1de53-69b1-49e0-bba4-7d1943428efb/image.png" alt=""></p>
<p>아무튼 그럼 이렇게 카드가 남는다.</p>
<pre><code> &lt;div class=&quot;card-columns&quot;&gt;
        &lt;div class=&quot;card&quot;&gt;
            &lt;img class=&quot;card-img-top&quot; src=&quot;https://scontent-ssn1-1.xx.fbcdn.net/v/t1.18169-9/20139904_1742040382755064_8285488068505922055_n.jpg?_nc_cat=105&amp;ccb=1-5&amp;_nc_sid=174925&amp;_nc_ohc=WaG-NNPHY8MAX9ue1bw&amp;_nc_ht=scontent-ssn1-1.xx&amp;oh=00_AT8dOTd8TPDsrb84nX8FprEC3fxDBMO93fFRMBQdvSKlow&amp;oe=622E82C1&quot; alt=&quot;Card image cap&quot;&gt;
            &lt;div class=&quot;card-body&quot;&gt;
                &lt;h5 class=&quot;card-title&quot;&gt;Card title that wraps to a new line&lt;/h5&gt;
                &lt;p class=&quot;card-text&quot;&gt;This is a longer card with supporting text below as a natural lead-in to additional
                    content. This content is a little bit longer.&lt;/p&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;</code></pre><p>이미지 링크를 넣으면</p>
 <div class="card-columns">
        <div class="card">
            <img class="card-img-top" src="https://scontent-ssn1-1.xx.fbcdn.net/v/t1.18169-9/20139904_1742040382755064_8285488068505922055_n.jpg?_nc_cat=105&ccb=1-5&_nc_sid=174925&_nc_ohc=WaG-NNPHY8MAX9ue1bw&_nc_ht=scontent-ssn1-1.xx&oh=00_AT8dOTd8TPDsrb84nX8FprEC3fxDBMO93fFRMBQdvSKlow&oe=622E82C1" alt="Card image cap">
            <div class="card-body">
                <h5 class="card-title">Card title that wraps to a new line</h5>
                <p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional
                    content. This content is a little bit longer.</p>
            </div>
        </div>
    </div>

<p>짜라란~ 내사진이 나온다 ㅋㅋㅋㅋㅋㅋㅋㅋ
스물한살때 도쿄 디즈니랜드에서 찍은 사진이다.</p>
<p>아무튼 처음 형식에 맞추려면 카드가 여섯개가 필요하기 때문에 그대로 ctrl+c/ctrl+v 해주면 되겠다.</p>
<p>완전 커서 가독성이 떨어지게 보이는데,
div로 jumbotron이랑 card-columns 를 묶어주자</p>
<pre><code>&lt;div class=&quot;wrap&quot;&gt;</code></pre><p>.wrap {
            width: 1000px;
            height: 300px;
            margin: auto;</p>
<pre><code>    }</code></pre><p>나는 일단 강의 안보고 내마음대로 이렇게 했는데 완성작 보니까 뭐 얼추된거같다.</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/4bf625bd-f211-4e46-97d1-e9b281eececb/image.png" alt=""></p>
<p>비슷 하네용 선생님은 height 는 안주셨다.</p>
<blockquote>
<p>나홀로 링크 메모장 만들기!</p>
</blockquote>
<p>자 방금 틀을 이용해서</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/369d2db7-2bc2-4b36-b8cb-a685c5e1c946/image.png" alt=""></p>
<p>이렇게 만들어주면 되겠다</p>
<p>뭐 크게 보면 버튼이랑 제목에 하이퍼링크 들어갔고, 코멘트 단락이 추가됐다.</p>
<p>뭐 전체적으로 영어 지우고, 한글로 바꿔줬다.
하이퍼링크가 약간 헷갈려서,, </p>
<p><strong>하이퍼링크 넣는 방법!</strong></p>
<ol>
<li>기존에 배웠던
하이퍼링크는 href=&quot;&quot;</li>
</ol>
<p>내가 h 태그 안에 1번 방법으로 하이퍼링크를 넣으려니까 안되길래 물어본 방법</p>
<ol start="2">
<li>태휘가 알려준건</li>
</ol>
<pre><code>&lt;h1 onclick=location.href=&quot;https://www.naver.com&quot;&gt;&lt;/h1&gt;</code></pre><p>이제 이거였는데</p>
<p>나 혼자 script 안에 넣으라고 하는 줄 알고</p>
<p>3.</p>
<pre><code>&gt; &lt;h1 onclick=&quot;hi()&quot;&gt;&lt;/h1&gt;

h1에 onclick을 붙여서

script에

 function hi() {
            location.href=&quot;http://www.naver.com&quot;
        }
 이걸 넣어줬다.</code></pre><p>naver.com 을 넣으라고 하셨지만 나는 이왕 내사진 넣은김에 내 인스타그램을 연결했다 </p>
<p>아래 코멘트 단락이 추가돼서 h6 태그로 코멘트 단락을 만들어줬다.</p>
<pre><code>&lt;div class=&quot;wrap&quot;&gt;
         &lt;div class=&quot;jumbotron&quot;&gt;
            &lt;h1 class=&quot;display-4&quot;&gt;나홀로 링크 메모장!&lt;/h1&gt;
            &lt;p class=&quot;lead&quot;&gt;중요한 링크를 저장해두고, 나중에 볼 수 있는 공간입니다&lt;/p&gt;
            &lt;hr class=&quot;my-4&quot;&gt;
            &lt;p class=&quot;lead&quot;&gt;
                &lt;a class=&quot;btn btn-primary btn-lg&quot; href=&quot;https://www.instagram.com/imyour_juu/&quot; role=&quot;button&quot;&gt;포스팅박스 열기&lt;/a&gt;
            &lt;/p&gt;
         &lt;/div&gt;
            &lt;div class=&quot;card-columns&quot;&gt;
                &lt;div class=&quot;card&quot;&gt;
                &lt;img class=&quot;card-img-top&quot; src=&quot;https://scontent-ssn1-1.xx.fbcdn.net/v/t1.18169-9/20139904_1742040382755064_8285488068505922055_n.jpg?_nc_cat=105&amp;ccb=1-5&amp;_nc_sid=174925&amp;_nc_ohc=WaG-NNPHY8MAX9ue1bw&amp;_nc_ht=scontent-ssn1-1.xx&amp;oh=00_AT8dOTd8TPDsrb84nX8FprEC3fxDBMO93fFRMBQdvSKlow&amp;oe=622E82C1&quot; alt=&quot;Card image cap&quot;&gt;
                &lt;div class=&quot;card-body&quot;&gt;
                    &lt;a class=&quot;card-title&quot; href=&quot;https://www.instagram.com/imyour_juu/&quot;&gt;여기 기사 제목이 들어가죠&lt;/a&gt;
                    &lt;p class=&quot;card-text&quot;&gt;기사의 요약 내용이 들어갑니다. 동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라만세 무궁화 삼천리 화려강산...&lt;/p&gt;
                    &lt;h6 class=&quot;comment&quot;&gt;여기에 코멘트가 들어갑니다.&lt;/h6&gt;
                &lt;/div&gt;
            &lt;/div&gt;
                &lt;div class=&quot;card&quot;&gt;
                &lt;img class=&quot;card-img-top&quot; src=&quot;https://scontent-ssn1-1.xx.fbcdn.net/v/t1.18169-9/20139904_1742040382755064_8285488068505922055_n.jpg?_nc_cat=105&amp;ccb=1-5&amp;_nc_sid=174925&amp;_nc_ohc=WaG-NNPHY8MAX9ue1bw&amp;_nc_ht=scontent-ssn1-1.xx&amp;oh=00_AT8dOTd8TPDsrb84nX8FprEC3fxDBMO93fFRMBQdvSKlow&amp;oe=622E82C1&quot; alt=&quot;Card image cap&quot;&gt;
                &lt;div class=&quot;card-body&quot;&gt;
                    &lt;a class=&quot;card-title&quot; href=&quot;https://www.instagram.com/imyour_juu/&quot;&gt;여기 기사 제목이 들어가죠&lt;/a&gt;
                    &lt;p class=&quot;card-text&quot;&gt;기사의 요약 내용이 들어갑니다. 동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라만세 무궁화 삼천리 화려강산...&lt;/p&gt;
                    &lt;h6 class=&quot;comment&quot;&gt;여기에 코멘트가 들어갑니다.&lt;/h6&gt;
                &lt;/div&gt;
            &lt;/div&gt;
                &lt;div class=&quot;card&quot;&gt;
                &lt;img class=&quot;card-img-top&quot; src=&quot;https://scontent-ssn1-1.xx.fbcdn.net/v/t1.18169-9/20139904_1742040382755064_8285488068505922055_n.jpg?_nc_cat=105&amp;ccb=1-5&amp;_nc_sid=174925&amp;_nc_ohc=WaG-NNPHY8MAX9ue1bw&amp;_nc_ht=scontent-ssn1-1.xx&amp;oh=00_AT8dOTd8TPDsrb84nX8FprEC3fxDBMO93fFRMBQdvSKlow&amp;oe=622E82C1&quot; alt=&quot;Card image cap&quot;&gt;
                &lt;div class=&quot;card-body&quot;&gt;
                    &lt;a class=&quot;card-title&quot; href=&quot;https://www.instagram.com/imyour_juu/&quot;&gt;여기 기사 제목이 들어가죠&lt;/a&gt;
                    &lt;p class=&quot;card-text&quot;&gt;기사의 요약 내용이 들어갑니다. 동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라만세 무궁화 삼천리 화려강산...&lt;/p&gt;
                    &lt;h6 class=&quot;comment&quot;&gt;여기에 코멘트가 들어갑니다.&lt;/h6&gt;
                &lt;/div&gt;
            &lt;/div&gt;
                &lt;div class=&quot;card&quot;&gt;
                &lt;img class=&quot;card-img-top&quot; src=&quot;https://scontent-ssn1-1.xx.fbcdn.net/v/t1.18169-9/20139904_1742040382755064_8285488068505922055_n.jpg?_nc_cat=105&amp;ccb=1-5&amp;_nc_sid=174925&amp;_nc_ohc=WaG-NNPHY8MAX9ue1bw&amp;_nc_ht=scontent-ssn1-1.xx&amp;oh=00_AT8dOTd8TPDsrb84nX8FprEC3fxDBMO93fFRMBQdvSKlow&amp;oe=622E82C1&quot; alt=&quot;Card image cap&quot;&gt;
                &lt;div class=&quot;card-body&quot;&gt;
                    &lt;a class=&quot;card-title&quot; href=&quot;https://www.instagram.com/imyour_juu/&quot;&gt;여기 기사 제목이 들어가죠&lt;/a&gt;
                    &lt;p class=&quot;card-text&quot;&gt;기사의 요약 내용이 들어갑니다. 동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라만세 무궁화 삼천리 화려강산...&lt;/p&gt;
                    &lt;h6 class=&quot;comment&quot;&gt;여기에 코멘트가 들어갑니다.&lt;/h6&gt;
                &lt;/div&gt;
            &lt;/div&gt;
                &lt;div class=&quot;card&quot;&gt;
                &lt;img class=&quot;card-img-top&quot; src=&quot;https://scontent-ssn1-1.xx.fbcdn.net/v/t1.18169-9/20139904_1742040382755064_8285488068505922055_n.jpg?_nc_cat=105&amp;ccb=1-5&amp;_nc_sid=174925&amp;_nc_ohc=WaG-NNPHY8MAX9ue1bw&amp;_nc_ht=scontent-ssn1-1.xx&amp;oh=00_AT8dOTd8TPDsrb84nX8FprEC3fxDBMO93fFRMBQdvSKlow&amp;oe=622E82C1&quot; alt=&quot;Card image cap&quot;&gt;
                &lt;div class=&quot;card-body&quot;&gt;
                    &lt;a class=&quot;card-title&quot; href=&quot;https://www.instagram.com/imyour_juu/&quot;&gt;여기 기사 제목이 들어가죠&lt;/a&gt;
                    &lt;p class=&quot;card-text&quot;&gt;기사의 요약 내용이 들어갑니다. 동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라만세 무궁화 삼천리 화려강산...&lt;/p&gt;
                    &lt;h6 class=&quot;comment&quot;&gt;여기에 코멘트가 들어갑니다.&lt;/h6&gt;
                &lt;/div&gt;
            &lt;/div&gt;
                &lt;div class=&quot;card&quot;&gt;
                &lt;img class=&quot;card-img-top&quot; src=&quot;https://scontent-ssn1-1.xx.fbcdn.net/v/t1.18169-9/20139904_1742040382755064_8285488068505922055_n.jpg?_nc_cat=105&amp;ccb=1-5&amp;_nc_sid=174925&amp;_nc_ohc=WaG-NNPHY8MAX9ue1bw&amp;_nc_ht=scontent-ssn1-1.xx&amp;oh=00_AT8dOTd8TPDsrb84nX8FprEC3fxDBMO93fFRMBQdvSKlow&amp;oe=622E82C1&quot; alt=&quot;Card image cap&quot;&gt;
                &lt;div class=&quot;card-body&quot;&gt;
                    &lt;a class=&quot;card-title&quot; href=&quot;https://www.instagram.com/imyour_juu/&quot;&gt;여기 기사 제목이 들어가죠&lt;/a&gt;
                    &lt;p class=&quot;card-text&quot;&gt;기사의 요약 내용이 들어갑니다. 동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라만세 무궁화 삼천리 화려강산...&lt;/p&gt;
                    &lt;h6 class=&quot;comment&quot;&gt;여기에 코멘트가 들어갑니다.&lt;/h6&gt;
                &lt;/div&gt;
            &lt;/div&gt;

            &lt;/div&gt;
    &lt;/div&gt;</code></pre><p>body 안에 들어가는 전체적인 태그!</p>
<p>이제 코멘트 색 변경하기, 굵기!</p>
<p>나는 따로 comment에 class를 줘서 style 태그에 따로 꾸며줬는데</p>
<pre><code>.comment {
            color: blue;
            font-weight: bold;
        }
</code></pre><p>인강쌤은 중첩을 사용하셨다.</p>
<pre><code>&lt;p class=&quot;card-text&quot;&gt;안녕하세요&lt;/p&gt;
</code></pre><p>이걸 예시로 들면 저 card-text 옆에 comment만 넣어주면</p>
<pre><code>&lt;p class=&quot;card-text comment&quot;&gt;안녕하세요&lt;/p&gt;</code></pre><p>comment의 style이 같이 적용이 되는 방식이다.</p>
<p>아무튼 그렇게 해서</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/66cf9117-ab82-4ca3-bd38-373641b28e46/image.png" alt=""></p>
<p>짠 완성~!</p>
<p>내가 원래 개발일지를 썼는데 아무리 읽어봐도 이거는.. 일지가 아니라 사담 반 복습 반 인 것 같아서.. 그냥 일기로 부르기로 했다..^^ 내일도 화이팅
내일은 자바스크립트 복습하고 새로운 강의 들어야겠음!</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[02_첫 주차 복습하기]]></title>
            <link>https://velog.io/@imyour_juu/02-%EC%B2%AB-%EC%A3%BC%EC%B0%A8-%EB%B3%B5%EC%8A%B5%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@imyour_juu/02-%EC%B2%AB-%EC%A3%BC%EC%B0%A8-%EB%B3%B5%EC%8A%B5%ED%95%98%EA%B8%B0</guid>
            <pubDate>Mon, 14 Feb 2022 10:04:28 GMT</pubDate>
            <description><![CDATA[<p>두번째 개발일지..! 
사실 개발일지를 숙제하고 나서 일주일에 한번 정도만 작성하려고 했었다.
근데 생각보다 너무 재밌는것,, 그래서 이왕 복습 겸사겸사 배웠던 걸 작성해 놓으려고 한다!</p>
<p>html은 뼈대 css는 꾸미기 자바스크립트는 움직이는것!</p>
<p>전에 덕담만들기는 vs를 사용했고, 이번에는 파이참을 사용했다!
다음에 시간나면 덕담만들기 과정도 올려봐야겠다.강의 기간이 지나서 콘솔창 열어서 확인해봐야될듯 ,, ㅠㅠ</p>
<blockquote>
<pre><code>태그의 종류</code></pre></blockquote>
<pre><code>&lt;!-- 구역을 나누는 태그들 --&gt;
&lt;div&gt;나는 구역을 나누죠 division의 약자&lt;/div&gt; 
&lt;p&gt;나는 문단이에요 paragraph의 약자&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;</code></pre><p>오 이거 어떻게 한거지?? 창으로 만들어졌네 넘좋다.
코드 정리할때는 ctrl+alt+l!
근데 나는 이거 쓰면 안예쁘게 정리돼서 내가 따로 탭쳐서 정리하는게 좋다.
태그 구분이 잘 안가게 정리됨 ㅠㅠ</p>
<blockquote>
<p>첫번째 실습! 로그인 페이지 만들기</p>
</blockquote>
<p><img src="https://images.velog.io/images/imyour_juu/post/28281f5d-41f1-4aa0-9b1a-91ce84995f93/image.png" alt=""></p>
<pre><code>    &lt;h1&gt;로그인 페이지&lt;/h1&gt;
    &lt;p&gt;ID:&lt;input type=&quot;text&quot;&gt;&lt;/p&gt;
    &lt;p&gt;PW:&lt;input type=&quot;text&quot;&gt;&lt;/p&gt;
    &lt;button&gt;로그인하기&lt;/button&gt;</code></pre><p><img src="https://images.velog.io/images/imyour_juu/post/0a3f9117-f11d-49ef-b5f3-59066689c68e/image.png" alt=""></p>
<p>짠~! 순간 input 태그 안에 타입 넣는게 헷갈렸는데 아무튼 성공!</p>
<p>꾸며줄때는 태그 안에 class=&quot;&quot; 로 명찰 달아주기
헤드 태그 안에 스타일 태그 만들어서!
.클래스 이름 {} 이렇게!</p>
<head> 
    <style>
          .tittle {

<pre><code>      }
&lt;/style&gt;</code></pre></head>

<blockquote>
<p>두번째 실습! 발전한 로그인 페이지 만들기...</p>
</blockquote>
<p><img src="https://images.velog.io/images/imyour_juu/post/c7d01d3a-78c4-4fee-8031-0600e9f25c86/image.png" alt=""></p>
<p>원래는 같이 해보는데 복습이니깐 혼자 시도해보았다!</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/f73e6786-46f0-4e70-ab2c-a513a6244e0d/image.png" alt=""></p>
<p>짜잔~!</p>
<p>일단 가운데 정렬을 위해서 모든 태그를 디브로 한번 묶고,</p>
<p>맨 위 사진 안에 글이 들어가 있어서
div 태그로 글씨들을 </p>
<pre><code>&lt;body&gt;
    &lt;div class=&quot;wrap&quot;&gt;

        &lt;div class=&quot;box&quot;&gt;
           &lt;h1&gt;로그인 페이지&lt;/h1&gt;
            &lt;h5&gt;아이디, 비밀번호를 입력하세요.&lt;/h5&gt;
        &lt;/div&gt;

        &lt;p&gt;ID: &lt;input type=&quot;text&quot;&gt;&lt;/p&gt;
        &lt;p&gt;PW: &lt;input type=&quot;text&quot;&gt;&lt;/p&gt;
        &lt;button&gt;로그인하기&lt;/button&gt;

    &lt;/div&gt;

</code></pre><p>이렇게 묶어줬다.</p>
<p>앗쉬 이거 ㅠㅠ 형식 적용 안되게 어떻게 하는거지 ? 벨로그부터 공부해야겠다..
헐 찾았다 다 눌러봤더니 상단 맨 위 &lt;&gt; 이거 누르면 됩니다...</p>
<pre><code>.box {
            background-image: url(&quot;https://www.ancient-origins.net/sites/default/files/field/image/Agesilaus-II-cover.jpg&quot;) ;
            background-size: cover;
            background-position: center;
            width: 300px;
            height: 200px;
            color: white;

            text-align: center;
            border-radius: 10px;

            padding-top: 20px;
            margin-top: 50px;
        }
</code></pre><p>이렇게 꾸며줬고!! </p>
<p>background-image
background-size
background-position
늘 세트로!</p>
<p>높이(height)랑 너비(width) 조정 해 주고, 글씨가 위로 치우쳐져 있어서 padding 으로 상단 여백을 줬다. 
text-align 으로 문자를 가운데로 정렬해주고, border-radius 는 끝을 둥글게! 
margin-top 은 위에 여백이 없는게 보기싫어서 추가해줬다.</p>
<p>전체적으로</p>
<pre><code>.wrap {
            margin: auto;
            width: 300px;

        }</code></pre><p>margin으로 전체적인 틀을 가운데로 가지고 오기 앞서,, width를 안줘서 왜안오지?!!!!! 하다가
아차 싶어서 width로 너비 조정을 해줬더니 되더라 맨날 까먹는다..</p>
<p>뭐 다음은 글씨체 넣어주기!! 별거없다</p>
<p><a href="https://fonts.google.com/?subset=korean">https://fonts.google.com/?subset=korean</a></p>
<p>여기 들어가서 head 안에</p>
<pre><code>&lt;link href=&quot;https://fonts.googleapis.com/css2?family=Dongle:wght@700&amp;family=Gaegu:wght@300&amp;family=Gowun+Batang&amp;family=Stylish&amp;display=swap&quot; rel=&quot;stylesheet&quot;&gt;</code></pre><p>요고 복사해주고 스타일 안에</p>
<ul>
<li>(전체 꾸며주기) 를 사용해서</li>
</ul>
<pre><code> *{font-family: &#39;Stylish&#39;, sans-serif;}</code></pre><p> 이렇게 넣어주면 끗!</p>
<p> 일단 너무 힘들어서.. 여기까지만 복습하고 내일 부트스트랩이랑 자바스크립트 복습 정리해서 올려야겠다~
 조금만 쉬다가 오늘 강의 들어야지!</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[01_첫개발일기]]></title>
            <link>https://velog.io/@imyour_juu/01%EC%B2%AB%EA%B0%9C%EB%B0%9C%EC%9D%BC%EC%A7%80</link>
            <guid>https://velog.io/@imyour_juu/01%EC%B2%AB%EA%B0%9C%EB%B0%9C%EC%9D%BC%EC%A7%80</guid>
            <pubDate>Sun, 13 Feb 2022 16:21:03 GMT</pubDate>
            <description><![CDATA[<p>코딩을 시작한지 딱 일주일째, 나는 아직도 코린이다..
뭐가 뭔지 아직은 모르겠는데 그래도 html이랑 css는 좀 재밌는 것 같다.
근데.. 자바스크립트는 진짜 1도 모르겠다.
흠흠,, 개발일지를 어떻게 쓰는지 아직 잘 모르겠어서 일단은 의식의 흐름대로 써봐야겠다.
일주일 간 퇴근하고 와서 강의듣는게 생각보다 너무 힘들더라 ㅠ.. 일주일에 두시간 강의쯤이야 싶었는데 피곤해가지고 미루고,, 술마신다고 미루고 또 말이 두시간이지 ㅠ 정지해놓고 따라한다고 시간 엄청 보냈던 것 같다.</p>
<p>아무튼 오늘은 숙제를 했는데,</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/f56613d0-8c93-42d2-b304-4768ced34f41/image.png" alt=""></p>
<p>짜잔 내가 만들었다.</p>
<p>지금까지 배운것을 응용해서 한건데</p>
<p>사실 html이랑 css 하면서 나는 천재인가 싶었는데.. 자바스크립트 기능 넣는순간 엥 이걸 내가 배웠다고 ??? 안배운거같은데 ??? 진짜? 이러면서 강의를 다시 들어봤더니 배웠던거네..^^</p>
<p>아무튼! 이미지는 그냥 이미지 태그를 썼다. 사실 백그라운드 이미지 적용하는게 생각안나서 이미지 태그 썼는데 생각난김에 백그라운드 이미지 넣는걸로 만들어봤다가</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/669ca3c9-4b7e-4e4c-b910-3cad18d2481a/image.png" alt=""></p>
<p>!!..?? 왜이러는거야 ㅠㅠ.... 
알고보니까 내가 따옴표를 같이 복사해서 오류가 났네..
정상적으로 했더니</p>
<p><img src="https://images.velog.io/images/imyour_juu/post/33d966a8-ad53-46bb-bffb-ce3d3fd41fc8/image.png" alt=""></p>
<p>이미지가 사라졌다... </p>
<p>어떻게 해결했냐면!</p>
<p>   div class=&quot;img&quot;
            <p></p> </p>
<p>  p태그를 넣어줬고, 원래는 내가 백그라운드 이미지만 입력했었는데 전에 했던거 보니까 아래애들을 세트로 같이 넣어줘야 되더라,,
  background-image : url(&quot;<a href="https://blog.kakaocdn.net/dn/btsP6T/btqOS8g3zAi/QnjJk5sg54siVqij9MAh61/img.png&quot;">https://blog.kakaocdn.net/dn/btsP6T/btqOS8g3zAi/QnjJk5sg54siVqij9MAh61/img.png&quot;</a>);
  background-size: cover;
  background-position: center;</p>
<p>  아무튼! 이거보다는 이미지 태그 쓰는게 훨 쉽다
   img class=&quot;image&quot; src=&quot;<a href="https://blog.kakaocdn.net/dn/btsP6T/btqOS8g3zAi/QnjJk5sg54siVqij9MAh61/img.png&quot;">https://blog.kakaocdn.net/dn/btsP6T/btqOS8g3zAi/QnjJk5sg54siVqij9MAh61/img.png&quot;</a>
  이걸 이용했어용 
  아무튼 처음 기준으로 일지를 작성하겠다!</p>
<p>  아! 이미지태그랑 뭐 제목 아래 박스들은 다 div로 하나로 묶어서 가운데정렬 시켜줬다. 위에가 너무 붙어있는게 답답해서
    box {
        margin: 100px auto 100px auto;
        display: block;
        width: 500px;
    }</p>
<p>  약간 위 아래 여백을 줬고, 맨날 마진 헷갈리는데 시계방향 순서대로 위 오른쪽 아래 왼쪽!! 기억하기!! 아 첨에 이미지랑 글씨가 너무 딱붙어있어가지고 이미지에 마진을 줬다 글씨에 마진을 줬다 난리를 쳤는데 잘 안되가지고 ㅠ 어찌저찌 성공했다...
  내 코딩선생림이,, 게임을 하고계셔가지고 ㅋㅋㅋㅋ 물어볼 수가없었음</p>
<p>  그다음으론 이미지태그를 넣고! 아래 큰제목은
   p style=&quot;margin-top: 10px&quot; h1양초를 팝니다 span style=&quot;font-size: 20px&quot; 가격:3000원/개</span></h1>/p
요로케 span 태그를 적용해서 옆에 가격:3000원/개 를 작게 만들어줬다.</p>
<p>아래 설명글도 뭐 p태그에
p style=&quot;font-size: 15px&quot;  양초는 사실 특별한 힘을 가지고 있어요. 양초를 켜고 소원을 빌면 짜자잔 뭐든지 이뤄지게 된답니다. 하나 사가세요! 대나무 향이 아주 좋아요/p</p>
<p>따로 꾸미진 않았다!</p>
<p>아래 박스들은 부트스트랩을 이용했는데!
input group에서
div class=&quot;input-group input-group-sm mb-3&quot;&gt;
  div class=&quot;input-group-prepend&quot;&gt;
    span class=&quot;input-group-text&quot; id=&quot;inputGroup-sizing-sm&quot;&gt;Small</span>
  /div&gt;
  input type=&quot;text&quot; class=&quot;form-control&quot; aria-label=&quot;Small&quot; aria-describedby=&quot;inputGroup-sizing-sm&quot;&gt;
/div
이걸 이용했다. </p>
<p>수량은
div class=&quot;input-group mb-3&quot;&gt;
  div class=&quot;input-group-prepend&quot;&gt;
    label class=&quot;input-group-text&quot; for=&quot;inputGroupSelect01&quot;&gt;Options</label>
  /div&gt;
  select class=&quot;custom-select&quot; id=&quot;inputGroupSelect01&quot;&gt;
    option selected&gt;Choose...</option>
    option value=&quot;1&quot;&gt;One</option>
    option value=&quot;2&quot;&gt;Two</option>
    option value=&quot;3&quot;&gt;Three</option>
  /select&gt;
/div&gt;
이거! 내용만 바꿔서 이용했음</p>
<p>아래 버튼은 처음에 부트스트랩 이용했는데 자꾸 가운데 정렬이 안되는거... 
marginL: auto 도 해보고 display:block 도 해봐도 안되길래 그냥 승질나서
지워버리고 내가 만들어서 썼다. ㅋㅋㅋㅋ 그래서 예시랑 색이 좀 다름...</p>
<p>button onclick=&quot;hey()&quot; type=&quot;button&quot; class=&quot;btn&quot;&gt;주문하기&lt;/button</p>
<p>.btn {
        width: 100px;
        margin: auto;
        display: block;
        background-color: royalblue;
        color: white;
        }</p>
<p> 이렇게 꾸며줬음! 저 부트스트랩 버튼 가운데정렬 저번에도 안되더니 내가 뭘 못하는건가 ;;?? 왜그러지 ㅠ</p>
<p> 아무튼 제일제일 어려웠던 자바스크립트..! 사실 기억안나가지구 베꼈다...</p>
<p> 스크립트 태그 만들어서! 
 function hey(){
             alert (&#39;주문이 완료되었습니다.&#39;);
        }
이거 넣어주기! </p>
<p>아직도 전체적인 구성이 헷갈린다 </p>
<p>head 안에 style 태그를 넣어야하는데 첨에 바보같이 헤드 태그 아래에다가 스타일 태그 만들어놓고 ??? 적용은되는데 색이 왜이래 이러고 있었다 </p>
<p><img src="https://images.velog.io/images/imyour_juu/post/20a84d1a-ba38-42a3-a771-65e43cbcc97f/22.png" alt="">
  이게 정상...</p>
<p>  <img src="https://images.velog.io/images/imyour_juu/post/0f2d2b0b-10b3-43c8-abe6-753dc99dad1a/11.png" alt="">
   이게 나혼자 왜이래 하면서 원인 찾던거...</p>
<p>  하 아무튼 갈길이 멀지만..</p>
<p>  이게 예신데
  <img src="https://images.velog.io/images/imyour_juu/post/b8b37e73-2916-4999-8595-56673b83f0df/image.png" alt=""></p>
<p>  내가만든거!
  <img src="https://images.velog.io/images/imyour_juu/post/68bf4fb3-62d6-4f43-9f8a-0997b7200c65/image.png" alt="">
  이만하면 코린이 치고는 짱 잘하는듯...!
  내일부터는 게임 조금만 하고 또 열심히,, 인강듣구 c언어 콘서트 책도 공부해야함</p>
<p>  <img src="https://images.velog.io/images/imyour_juu/post/5b50294b-c35e-43ea-afc1-394a93d0ef69/KakaoTalk_20220214_012624690.jpg" alt=""></p>
<p> 마지막은 내 코딩센세으ㅣ 칭찬으로,,^^</p>
<p> 아 근데 인강선생님이 하신 코드에 비해 왜 내껀 짧고 단조롭지,,? ㅠㅠ 내일 퇴근하고 한번 다시 확인해봐야겠다</p>
<p>  이번주 개발일지 끗-! </p>
<p>  아 이사이트 첨써봐서 태그넣고 하면 그대로 입력되는지 몰라가지구 다 수정했다 ㅠ.... 아무튼 진짜 끗</p>
]]></description>
        </item>
    </channel>
</rss>