<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>mouse_hui729.log</title>
        <link>https://velog.io/</link>
        <description>프론트엔드 개발자로 취업한 인턴</description>
        <lastBuildDate>Thu, 31 Aug 2023 08:21:44 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>mouse_hui729.log</title>
            <url>https://velog.velcdn.com/images/mouse_hui729/profile/39360fad-e4f5-4cdf-93a7-9271afe6a28f/image.jpeg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. mouse_hui729.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/mouse_hui729" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[[프론트 기록2]]]></title>
            <link>https://velog.io/@mouse_hui729/%ED%94%84%EB%A1%A0%ED%8A%B8-%EA%B8%B0%EB%A1%9D2</link>
            <guid>https://velog.io/@mouse_hui729/%ED%94%84%EB%A1%A0%ED%8A%B8-%EA%B8%B0%EB%A1%9D2</guid>
            <pubDate>Thu, 31 Aug 2023 08:21:44 GMT</pubDate>
            <description><![CDATA[<p>이번엔 다른 페이지도
보여드리기 위해서
연달아서 쓰는 벨로그</p>
<p>블로그를 주로 더 쓰다보니까
벨로그가 어색하지만
그래도 써놔야지..ㅎ</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/14cb483e-3dee-4973-a5b6-6c3290341a19/image.png" alt=""></p>
<p>이 페이지 바꾸기
이것도 또한 오잉?했지만
아예 변형시키진 않고
추가만 해서
바꾸기로 다짐했다..</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/901ffe81-e81a-497c-9e74-b51a1b75b9ca/image.png" alt=""></p>
<p>또 사진들을 찾아서
저작권 없는 것들만
가져와서
삽입했지만
그럼 글씨가 잘 보이지 않는 느낌이다..</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/fd66628e-25aa-4107-8e6f-616286cdbb08/image.png" alt=""></p>
<p>내가 직접 배경색 입히고
거기에 아이콘 추가해서
길이 맞추고
크기 맞춰서 넣었다..</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/0c290bd9-ade1-40b6-ac69-73c5c12d6b73/image.png" alt=""></p>
<p>다시 또 수정했지만
또 마음에 들지 않았다..</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/ff25a5b5-0b63-4121-8060-2be1193bb85d/image.png" alt=""></p>
<p>아마 이게 찐 최종..
아마도..</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/e41a2671-e58a-45b3-82b5-3a55281a8fc4/image.png" alt=""></p>
<p>하지만 한가지 또 있어서
올린다 또..
이게 진짜 마지막이었다..</p>
<p>아, 이거 하면서 어려웠던 점은
반응형으로 만들어야 하다보니까
앱으로 전환했을 때
휴대폰 pixel이 다 다르기 때문에
틀어지고, 안보이고 하는 부분들인 문제가 있기 때문에
반응형 처음에 모르고 막 했다가
다시 다 수정했었다..</p>
<p>끝..!</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[프론트 기록]]]></title>
            <link>https://velog.io/@mouse_hui729/%ED%94%84%EB%A1%A0%ED%8A%B8-%EA%B8%B0%EB%A1%9D</link>
            <guid>https://velog.io/@mouse_hui729/%ED%94%84%EB%A1%A0%ED%8A%B8-%EA%B8%B0%EB%A1%9D</guid>
            <pubDate>Thu, 31 Aug 2023 08:14:54 GMT</pubDate>
            <description><![CDATA[<p>프론트 열심히 배우는 중
아니 하는 중..</p>
<p>내가 내 스타일대로 꾸미는 웹..
웹을 만들면 자동으로 앱으로 바꿔주는 것도 신기했다
어쨋든 웹 생성이라기보다
기존 웹 디자인이 너무 허술해서 그 부분들 수정해달라고 하셨다</p>
<p>딱 처음 받았던 웹의 모습은
헉!!!
이정도로 놀랄정도였다
시간이 없어서(?)
대충 만들었다고 하셨었는데
증말 대충이었기 때문..</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/cd5d6e2f-6189-47b8-ae13-f8fd0059f55c/image.png" alt=""></p>
<p>보여드리자면 이정도..
그래서 내가 바꾸고 싶은대로 막 바꿨다</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/1036e83c-15d2-421e-9ede-8bce23c9c231/image.png" alt=""></p>
<p>처음에 바꾸던게 이런 모습..
하지만 너무너무 마음에 들지 않았기 때문에
수정하고 또 수정하고
반복에 반복을 했었다..</p>
<p>한 페이지를 하루 질질 끌고 있다가,
이제 하루마다 몇 페이지씩을 수정하고, 
그것도 마음에 들 때까지 수정을 했다..</p>
<p>저 페이지만 보여드리자면
그 후에는..</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/e5b9a14a-1566-45cd-8fa2-81560766cf4f/image.png" alt=""></p>
<p>이랬지만,
실제 사진이 왜이리 마음에 들지 않는건지..
실제 이미지보단 아이콘이 주로 들어갔기 때문에
아이콘으로 통일하고자
또 변경했다..</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/f959bef1-f1ad-4d4f-bff8-fd1a863ab95f/image.png" alt=""></p>
<p>아마도 최최최종..
아직도 손보고 싶지만
다른 페이지들을 하느라 그냥 뒀다</p>
<p>레이아웃 자꾸 틀어지고,
크기가 안맞고
위치가 마음에 들지 않아서
수정을 엄청하고 또 했다..</p>
<p>끝!</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[일상]]]></title>
            <link>https://velog.io/@mouse_hui729/%EC%9D%BC%EC%83%81</link>
            <guid>https://velog.io/@mouse_hui729/%EC%9D%BC%EC%83%81</guid>
            <pubDate>Fri, 25 Aug 2023 07:42:46 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>그냥 일상 이야기..
저번주에 일하다가 MySQL 글 작성하고,
데이터 관련 쪽 업무를 계속하는데
역시 난 이 길이 아닌 것 같아서
고민이 많았다.. </br>
회사 분과 이야기 하고,
멘토링 받다가
데이터 사이언티스트로 왔는데
어떠냐 등등.. </br>
원하던 직무는 프론트였지만
프론트보다 AI쪽으로 전망을 정하는게 어떠냐라는
대표님 말씀..
어느분야든지 전공만 살리면 된다는 생각이었지만
데이터 분석 관련된 건 증말..
자격증도 땄지만 그건 별개다</br>
그래서 회사 분이 잘 말씀해주신 덕분에
프론트로 직무를 옮겨서
웹 페이지 제작을 하고 있다!</br>
첫 직장이자 인턴 생활이 어렵긴하다
낯선 환경과 낯선 사람들 속에서
생활하는게 쉽지만은 않다.
사람들이 다 좋으신 분들이라
그건 걱정 없긴하지만
맞겨진 프론트를 잘해나갈 수 있을지도,
걱정은 넘치고도 넘친다!</br>
조금 더 대학 생활 때 열심히 할 걸
그랬나보다..ㅎ</p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[[MySQL] Table 추가하기]]></title>
            <link>https://velog.io/@mouse_hui729/MySQL-Table-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@mouse_hui729/MySQL-Table-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B0</guid>
            <pubDate>Fri, 18 Aug 2023 05:15:20 GMT</pubDate>
            <description><![CDATA[<p>하고있던 업무 끝내고 쓰는 Velog...
MySQL에 DB 만들기</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/00432f42-f491-4cc6-8e61-4847114d4130/image.png" alt="">
회사 스키마 말고, 내가 Test 해보려고 만든 스키마 가져오기</p>
<p>Table 추가하는 방법을 설명해야겠다.
<img src="https://velog.velcdn.com/images/mouse_hui729/post/9d833089-197e-4227-a008-a3309a8f8bf4/image.png" alt="">
Create Table..</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/92fdf549-56ab-4dd8-abda-8f9b286accd8/image.png" alt="">
Table name은 테이블명 뭐라고 할 지 정하는고..
이미 같은 스키마에 test Table이 있어서 &#39;test_table&#39;라고 해야겠다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/c5a96919-3049-49c8-8690-b6b9b69914cf/image.png" alt="">
이건 Column Name, Datatype 설정할 수 있는고
아니, 설정도 맞지만 정할 수 있는고(?)</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/aba9b494-5a72-4b03-bae8-c84212dfbd94/image.png" alt="">
대충 만들거기 때문에
Column Name을 c1, c2, c3,c4라고 임의로 설정해줬다.</p>
<p>여기서 Datatype을 설명하자면..
일단 INT는 정수, VARCHAR(10)은 가변길이 문자형 10까지 한다는고, 
DOUBLE은 실수 값도 입력 가능한고, DATE는 날짜 형식 예.
 +업무하면서 알게된거지만 DATE랑 DATETIME은 다르다..
  DATE는 년월일(YYYY-MM-DD)지만, DATETIME은 시간까지 나온다.(YYYY-MM-DD HH:MM:SS)</p>
<p>그 옆.. PK NN 어쩌구..
PK는 Primary key 기본키 설정해주기
NN은 Not null 빈 값을 가지지 않는다는고
UQ는 Unique 특별한, 한 로우에 같은 것을 포함할 수 없다는고
B는 BINARY 얘는 텍스트가 아니라 바이너리 데이터를 나타낸다는고
UN은 Unsigned 정수를 출력하는고 INT와 비슷
ZF는 ZoroFill 0으로 채우는고
G는 생성된 열을 뜻한다는데 왜 G인지 나는 모름..</p>
<p>그냥 대충 이렇게 생성한다고 하고 Apply 누르면,
<img src="https://velog.velcdn.com/images/mouse_hui729/post/dfcc8d60-1f88-4837-8d77-0eb21ef90011/image.png" alt="">
맞는지 뜨는고다..
여기서 사실 코드로 작성해도 가능
난 NULL값을 안주려고 다 NOT NULL..</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/f9b90196-c5fb-45bc-9870-bce26e6cf0d0/image.png" alt="">
만들어졌다는겨</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/6d6c413d-6add-4f91-8e7f-7c11699c8fe5/image.png" alt="">
테이블 이름 옆에 세개 동글동그라미
처음꺼 누르면 정보 같은거 확인할 수 있다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/8f2a4742-502a-4ad2-ad5a-3bc8b1037579/image.png" alt="">
전 이런거..
컬럼갯수 등등..</p>
<p>두번째는 입력하던 그 설정창과 동일하고</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/6452b908-d645-43b1-b705-3099e093532f/image.png" alt="">
세번째는 Query창..
그건 뭐 차차 설명하고..
뭐 테이블 안에 들어갈 Data 바로 넣을 수도 있다..
아직 테이블 안에 아무것도 없으니
그것도 앞으로 추가해서 보여주는걸로..</p>
<p>여기까지!</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[로그인7]clock 생성 intervals 배우기]]></title>
            <link>https://velog.io/@mouse_hui729/%EB%A1%9C%EA%B7%B8%EC%9D%B87clock-%EC%83%9D%EC%84%B1-intervals-%EB%B0%B0%EC%9A%B0%EA%B8%B0</link>
            <guid>https://velog.io/@mouse_hui729/%EB%A1%9C%EA%B7%B8%EC%9D%B87clock-%EC%83%9D%EC%84%B1-intervals-%EB%B0%B0%EC%9A%B0%EA%B8%B0</guid>
            <pubDate>Fri, 28 Apr 2023 06:42:18 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/2d6774b5-969c-434c-827a-0f48d0a9d323/image.png" alt="">
시작 전, 폴더와 파일을 정리해주도록 합니다.
서로 다른 기능들에 대해서 하나씩 다른 파일로 분리 시켜줍니다.
이렇게하면 코드가 더 짧아지게 됩니다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/f3e19dee-7d10-45e8-8b6a-2b065a81e58d/image.png" alt="">
html파일을 보면 greetings.js와 clock.js를 import하고 있습니다.
파일 하나로 해도 상관은 없습니다!</p>
<h4 id="시계를-넣기-위한-h2를-새로-만들기">시계를 넣기 위한 h2를 새로 만들기</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/48e53e94-d281-40d2-96c9-604e36647102/image.png" alt=""></p>
</br>
</br>

<ul>
<li><h4 id="이제-시계를-만들어-봅시다">이제 시계를 만들어 봅시다.</h4>
<img src="https://velog.velcdn.com/images/mouse_hui729/post/c0b25a05-e089-466b-ad90-f2fba1e60ffb/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/98dbeebf-8596-43b6-8f88-d3407dd77239/image.png" alt="">
먼저 Text로 넣어보니 잘 동작하고 있습니다!</li>
</ul>
<p>그렇다면 clock은 default로 00시 00분을 나타내도록 해봅시다.</p>
<ul>
<li><h4 id="html-부분-변경">html 부분 변경</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/9033b955-1878-4841-b9a5-067b82a93d9d/image.png" alt=""></p>
</li>
<li><h4 id="js-부분-변경">js 부분 변경</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/04d1e57e-434a-4cdf-938d-32d8909c51d1/image.png" alt="">
드래그 부분을 삭제해주도록 합니다.</p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/7a43b5bc-cb9d-4424-a091-39dea1244d07/image.png" alt="">
Javascript이벤트가 시작하기 전에는 시계가 이런식으로 등장하게 됩니다!</p>
</br>
</br>

<h3 id="이제부터-intervals와-timeout에-대해-이야기-해봅시다">이제부터 intervals와 timeout에 대해 이야기 해봅시다.</h3>
<p>그리고나서 clock를 만든다면, 두가지의 개념이 왜 정말 멋있는지 알 수 있을 것입니다.</p>
<ul>
<li><h3 id="span-stylecolorredintervalspan--매번-일어나야-하는-무언가를-말합니다"><span style="color:red">interval</span> : &#39;매번&#39; 일어나야 하는 무언가를 말합니다.</h3>
예를 들어 &#39;매 2초&#39;라고 하면 이게 interval이라는 것입니다. 
즉, 매 2초마다 우리가 무슨 일이 일어나게 하고 싶을 때 쓰는게 interval입니다.</li>
</ul>
<h4 id="함수를-만들어-보도록-하겠습니다">함수를 만들어 보도록 하겠습니다.</h4>
<p>기본적으로 기능을 제공하고 있는데 그 tool이 바로 <span style="color:blue">setInterval()</span>입니다.</p>
<h4 id="setinterval은-두개의-argument를-받는데-첫번째-argument는-우리가-실행하고자-하는-function입니다">setInterval은 두개의 argument를 받는데. 첫번째 argument는 우리가 실행하고자 하는 function입니다.</h4>
<h4 id="두번째-argument는-호출되는-function-간격을-몇-msmilliseconds로-할건지-쓰면-됩니다">두번째 argument는 호출되는 function 간격을 몇 ms(milliseconds)로 할건지 쓰면 됩니다.</h4>
</br>
</br>

<p>여기서는 sayHello를 호출시키고, 매 5000ms 마다 즉, 5초마다 호출되도록 합니다.
<img src="https://velog.velcdn.com/images/mouse_hui729/post/b106d77c-e121-4c1a-9415-4ee34ab44e31/image.png" alt="">
저장하고 새로고침을 하면,
처음엔 console에서 아무것도 보지 못할 것입니다. 그리고 5초가 지나면 console에서 첫번째 hello를 볼 수 있습니다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/6acf96a9-b1e8-4ad6-a1bb-b4f0c0055378/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/a751132f-2b0e-4028-be09-9c5682fc0d35/image.png" alt="">
잘 실행되고 있습니다!</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/0fdf4b5c-dbfc-4fef-814e-c77b90c998ea/image.png" alt="">
숫자가 표시되는건 한 함수를 특정 시간마다 실행하고 있다는 것입니다.
<span style="color:blue">timeout</span>에 대해서는 다음 포스트에 살펴봅시다!</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[로그인6]local storage에 유저정보 유무 확인하기]]></title>
            <link>https://velog.io/@mouse_hui729/%EB%A1%9C%EA%B7%B8%EC%9D%B86local-storage%EC%97%90-%EC%9C%A0%EC%A0%80%EC%A0%95%EB%B3%B4-%EC%9C%A0%EB%AC%B4-%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@mouse_hui729/%EB%A1%9C%EA%B7%B8%EC%9D%B86local-storage%EC%97%90-%EC%9C%A0%EC%A0%80%EC%A0%95%EB%B3%B4-%EC%9C%A0%EB%AC%B4-%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0</guid>
            <pubDate>Wed, 26 Apr 2023 08:32:41 GMT</pubDate>
            <description><![CDATA[<ul>
<li><h4 id="form을-보여주기-전에-그리고-addeventlistener를-하기-전에-확인을-해주어야-합니다">form을 보여주기 전에, 그리고 addEventListener를 하기 전에, 확인을 해주어야 합니다.</h4>
</li>
<li><h4 id="이-때-local-storage가-비어-있으면-form부터-보여주면서-지금까지-해오던-것을-하면-됩니다">이 때, local storage가 비어 있으면 form부터 보여주면서 지금까지 해오던 것을 하면 됩니다.</h4>
</li>
<li><h4 id="하지만-local-storage에-유저-정보가-있으면-form을-보여주면-안됩니다-h1-요소를-보여주어야-합니다">하지만 local storage에 유저 정보가 있으면 form을 보여주면 안됩니다. h1 요소를 보여주어야 합니다.</h4>
</li>
</ul>
<h3 id="시작">시작!</h3>
<h4 id="local-storage에-유저정보-유무-확인하기">local storage에 유저정보 유무 확인하기</h4>
<h4 id="유저정보가-없다면-form을-보여주고-하던대로-하기">유저정보가 없다면 form을 보여주고 하던대로 하기</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/9025a3e1-287a-44e0-acae-2eb5dc744b27/image.png" alt="">
local storage에서 dukin을 지우고 다시 실행해보기</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/4400ac6f-edf9-41cb-acfb-eee869eba475/image.png" alt="">
보다시피 local storage에 username이 없으면 null 값을 결과로 받고 있습니다.
이게 우리가 원하는 local storage에 유저정보의 유무를 확인하는 것입니다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/1d5f4829-68ef-42ce-9591-748f3196412c/image.png" alt="">
코드를 작성하고 새로고침을 하면 null이 나옵니다.
만약 savedUsername의 값이 null인 경우에는 form을 보여주도록 합니다.
그 외의 경우에는 greeting 보여줄 것입니다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/9499fb17-392b-4db0-acdc-3f55583c5700/image.png" alt="">
하지만 &quot;username&quot;이 반복되고 있습니다. 
string을 반복해서 사용하는 경우에, 그리고 그것들이 무조건 같아야 할 때, 전처럼 여기에 변수로 고정을 시켜주도록 합니다.
<img src="https://velog.velcdn.com/images/mouse_hui729/post/fba447aa-afd6-49fb-ba9c-ab695266841d/image.png" alt=""></p>
<h4 id="이제-username이라고-작성한-부분을-username_key로-교체해주기">이제 username이라고 작성한 부분을 USERNAME_KEY로 교체해주기</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/dcf5ce5a-f5f8-4617-8111-f7575e2685a7/image.png" alt="">
이것은 매우 중요합니다. 왜냐하면 우리는 이 string을 한번만 작성하고 싶기 때문입니다.
만약 string을 작성하다가 오타 나면 자바스트립트는 이걸 지적하지 않을 것입니다.
하지만 변수명이 오타가 나면 지적해주기 때문입니다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/0fa01d38-d5ed-4fb4-bb57-aff50032c3da/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/341f5089-d68a-43b7-9202-71d6801efe7c/image.png" alt=""></p>
<h4 id="본인이-생성한-string을-반복해서-사용하게-될-경우에는-반복되는-string들을-대문자-변수로-저장해-놓는-것이-좋습니다">본인이 생성한 string을 반복해서 사용하게 될 경우에는 반복되는 string들을 대문자 변수로 저장해 놓는 것이 좋습니다!</h4>
<p>다시 코드로 돌아가서 방금 작성한 코드를 볼 때, 문제는 지금 이 if문과 상관없이 form이 표시된다는 것입니다.</p>
<h4 id="form과-greeting을-모두-숨긴채-다시-해보도록-합니다">form과 greeting을 모두 숨긴채 다시 해보도록 합니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/c948b9b2-094c-462c-8895-31c40029cac9/image.png" alt="">
이렇게 작성하면 둘 다 숨겨지게 됩니다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/eb148483-3fe6-4269-a9d9-659fd1313dd0/image.png" alt="">
html에는 있지만 화면에는 표시되지 않고 있는 것입니다.</p>
</br>
</br>

<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/0d1fe9fb-8e9f-4acc-ac20-c414d352f5b2/image.png" alt=""></p>
<ul>
<li><h4 id="만약-유저정보가-local-storage에-없다면-local-storage는-null-값을-반환합니다">만약 유저정보가 local storage에 없다면 local storage는 null 값을 반환합니다.</h4>
</li>
<li><h4 id="그래서-만약-savedusername-값이-null이라면-form의-hidden-class명을-지워줍니다">그래서 만약 savedUsername 값이 null이라면 form의 hidden class명을 지워줍니다.</h4>
</li>
<li><h4 id="왜냐하면-지금은-form이랑-h1-모두-hidden이라는-class를-가지고-시작하기-때문입니다">왜냐하면 지금은 form이랑 h1 모두 hidden이라는 class를 가지고 시작하기 때문입니다.</h4>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/4d2668a4-3afc-4945-bd49-f7a4319d3ff7/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/97eb4a1e-9b38-4082-b5c9-f75a3e6df1a0/image.png" alt="">
로그인을 클릭하면 이전이랑 똑같이 작동하고 있습니다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/47844e70-9ed2-424d-8276-73dcf97e095e/image.png" alt="">
차이점은 이제 local storage에 유저정보가 저장되어 있다는 것입니다.</p>
<h4 id="이제-우리가-할-일은-greeting을-보여주는-것입니다-greeting을-보여주기-위해서는-hidden-class명을-제거해줘야-합니다">이제 우리가 할 일은 greeting을 보여주는 것입니다. greeting을 보여주기 위해서는 hidden class명을 제거해줘야 합니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/e381bfd6-6c6f-466a-a277-bce340f6c0cb/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/58165398-aa86-4bed-8c55-e050c7a9f79d/image.png" alt="">
새로고침하면 제대로 작동은 되고 있습니다. 
greeting에 이제 hidden class명은 없습니다. 
하지만 greeting에 텍스트도 없습니다. 
왜냐하면 그 텍스트는 우리가 추가해줘야 하기 때문입니다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/568bc0cd-80b6-4967-bfe3-bc59fd8dc6cb/image.png" alt="">
위와 같이 작성해주고 실행해보도록 하겠습니다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/1a82582d-1d46-47d2-a3c6-01b4b806a4b9/image.png" alt="">
유저정보를 기억하고 있는 것을 볼 수 있습니다.
하지만 문제점이 있습니다. 그것은 똑같은 동작을 두번 반복하고 있다는 점입니다. </p>
<h4 id="paintgreeting이라는-함수를-만들도록-해보겠습니다">paintGreeting이라는 함수를 만들도록 해보겠습니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/14085741-3be8-49ec-ae32-2f799f6db843/image.png" alt="">
우리는 방금 username을 인자로 받는 함수를 만들었고 이건 우리가 해오던 일을 합니다.
하지만 우리가 함수를 호출하는 위치에 따라 유저정보는 다른 곳에서 오게 될 것입니다.</p>
<p>끝!</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[로그인5]Local Storage 배우기]]></title>
            <link>https://velog.io/@mouse_hui729/%EB%A1%9C%EA%B7%B8%EC%9D%B85Local-Storage-%EB%B0%B0%EC%9A%B0%EA%B8%B0</link>
            <guid>https://velog.io/@mouse_hui729/%EB%A1%9C%EA%B7%B8%EC%9D%B85Local-Storage-%EB%B0%B0%EC%9A%B0%EA%B8%B0</guid>
            <pubDate>Mon, 24 Apr 2023 07:42:15 GMT</pubDate>
            <description><![CDATA[<h3 id="span-stylecolorredlocalstorage--브라우저에-공짜로-뭔가를-기억할-수-있게-해주는-기능span"><span style="color:red">LocalStorage : 브라우저에 공짜로 뭔가를 기억할 수 있게 해주는 기능</span></h3>
<h4 id="localstorage를-콘솔에-입력하면-미리-정의되어있습니다">localStorage를 콘솔에 입력하면 미리 정의되어있습니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/9893f537-d8b5-446f-8e73-05e02be242ac/image.png" alt=""></p>
<h4 id="여기서-storage를-반환하고-있는데-중요한건-localstorage가-존재한다는-것입니다">여기서 Storage를 반환하고 있는데 중요한건 localStorage가 존재한다는 것입니다.</h4>
<h4 id="localstorage는-우리가-브라우저에-뭔가를-저장할-수-있게-해줍니다-그래서-나중에-가져다가-쓰기가-가능합니다">localStorage는 우리가 브라우저에 뭔가를 저장할 수 있게 해줍니다. 그래서 나중에 가져다가 쓰기가 가능합니다.</h4>
<p>localStorage에 뭐가 들어있는지 보고싶다면 개발자도구를 이용하면 됩니다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/33aa1acc-09fc-49aa-b67c-0d61a0579070/image.png" alt=""></p>
<p>사진 속에 &quot;응용 프로그램&quot;이 없다면 +버튼을 눌러 찾으면, LocalStorage가 나옵니다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/8b150fc9-0e48-4eaf-b232-87d51c01d510/image.png" alt=""></p>
<p>한국어라 로컬 저장소라고 뜨지만 그게 LocalStorage..</p>
<h4 id="여기-나와있는-여러-다양한-방법으로-유저-정보를-저장할-수-있지만-localstorage가-가장-다루기-쉽습니다">여기 나와있는 여러 다양한 방법으로 유저 정보를 저장할 수 있지만, LocalStorage가 가장 다루기 쉽습니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/7c0ebe89-bffd-4c4b-9701-af5893bc5136/image.png" alt=""></p>
<p>지금은 LocalStorage가 비어있지만, 추후에 여러가지를 저장하기 시작하면 여기가 바뀌는 것을 보게될 것입니다.</p>
<p><a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage">https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage</a></p>
<p>이제 local storage API를 살펴보면 다양한 메소드를 볼 수 있습니다.
그 중에 <span style="color:red">setItem</span>을 해볼 것입니다.
setItem을 활용하면 LocalStorage에 정보를 저장할 수 있게 됩니다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/9cb6c53f-249d-42b0-b734-19b8bdd8ae8e/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/fd7a3292-ca0a-4a4b-ada8-4c561fdf30cb/image.png" alt=""></p>
<h4 id="코드를-실행하면-db에-새로운-항목이-저장되게-됩니다-원하는-값을-저장할-수-있게-되었습니다">코드를 실행하면 DB에 새로운 항목이 저장되게 됩니다. 원하는 값을 저장할 수 있게 되었습니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/65a3c05d-ace6-4eaa-8bc2-b5c7c206a163/image.png" alt=""></p>
<h4 id="getitem을-입력하면-저장한-값을-불러낼-수도-있습니다">getItem을 입력하면 저장한 값을 불러낼 수도 있습니다.</h4>
<h4 id="필요한-경우에는-저장된-값을-지울-수도-있습니다">필요한 경우에는 저장된 값을 지울 수도 있습니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/fc6f5c74-ee85-42ed-973b-d322b81dace9/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/166f8879-474c-43b7-8c34-42b5a0e6566e/image.png" alt=""></p>
<p>사라진 것을 확인해볼 수 있습니다.
미니 DB 같은 것입니다.</p>
<h4 id="이제-우리가-할-일은-유저가-이름을-제출할-때-그걸-저장해주면-되는-것입니다">이제 우리가 할 일은 유저가 이름을 제출할 때 그걸 저장해주면 되는 것입니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/5267bacf-c8e3-4a9f-b2a2-4fafe9c4606c/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/0788c790-22a9-4d0d-9f22-32862ba8292d/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/9238e309-03ea-4b91-95fe-7cf53e82a636/image.png" alt=""></p>
<p>저장되는 것을 볼 수 있습니다. 하지만 새로고침을 하면 여전히 form이 표시되고 있습니다. </p>
<p>다음에는 우리의 LocalStorage에 username이 존재하는지 확인하고, form을 표시하지 않을 것입니다. h1 요소가 표시되도록 해봅시다..</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[로그인5]hidden 요소 배우기]]></title>
            <link>https://velog.io/@mouse_hui729/%EB%A1%9C%EA%B7%B8%EC%9D%B85hidden-%EC%9A%94%EC%86%8C-%EB%B0%B0%EC%9A%B0%EA%B8%B0</link>
            <guid>https://velog.io/@mouse_hui729/%EB%A1%9C%EA%B7%B8%EC%9D%B85hidden-%EC%9A%94%EC%86%8C-%EB%B0%B0%EC%9A%B0%EA%B8%B0</guid>
            <pubDate>Fri, 21 Apr 2023 08:16:37 GMT</pubDate>
            <description><![CDATA[<h3 id="유저가-이름을-제출하면-클릭하여-결과가-나올-때-form을-없애는-것을-구현해보겠습니다">유저가 이름을 제출하면 클릭하여 결과가 나올 때 form을 없애는 것을 구현해보겠습니다!</h3>
<h4 id="이걸-구현하는-방법은">이걸 구현하는 방법은</h4>
<ul>
<li>1.HTML 요소 자체를 없애는 것입니다.</li>
<li>2.CSS를 이용해서 숨기는 것입니다.</li>
</ul>
<h4 id="span-stylecolorbluecss-방법부터-해보겠습니다span"><span style="color:blue">CSS 방법부터 해보겠습니다.</span></h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/a61113f9-eccc-4b23-8e69-009798e2ca2a/image.png" alt="">
CSS에 어떤 요소에게든 이 classname을 주면, 그 요소를 숨기게 됩니다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/0f4be506-5acc-4204-b744-04174ffeb143/image.png" alt="">
form class에 hidden을 추가하고 새로고침을 하면,</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/0e26db39-5672-469d-af31-50d6047bd4a8/image.png" alt="">
완전히 사라지게 됩니다.</p>
<h4 id="span-stylecolorblue-두번째-방법을-해보겠습니다-span"><span style="color:blue"> 두번째 방법을 해보겠습니다. </span></h4>
<p>일단 나중에 하기위해 classname은 잠시 지워주고, 유저가 이름을 form을 통해 제출했을 때 기본 동작은 막아두고, 유저 이름은 const username = loginInput.value로 저장해주고, 확인하기 위해 console.log(username); 을 작성해주도록 하겠습니다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/dd74046f-f9fe-4eb5-84a2-62c9776e525c/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/f1724352-90e2-4f86-aef2-59f27a7aad5a/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/aba94da4-9d91-4ce2-a0ad-c11ad7dd6986/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/7823792f-ed31-435c-bff8-0e6e846459a5/image.png" alt="">
text 입력 후 Login 버튼을 누르면 form은 사라지고, 입력값은 console에 기록되게 됩니다.</p>
<h4 id="추가-단계">추가 단계</h4>
<p>여기에 다른 HTML 요소를 추가하는 것을 해보겠습니다.
h1 추가해주고, 이름을 hidden이라고 주도록 하겠습니다.
이제 할 일은 form은 숨기고 h1은 표시되도록 하는 것인데요, 하지만 h1에 표시할 텍스트가 있을 때만 표시되도록 해보겠습니다!</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/a095bb51-85a5-41f1-a72c-57896560077e/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/bd765655-22d6-4b38-82a3-04346b004bf9/image.png" alt=""></p>
<p>HTML과 JS에 각각 코드를 추가해주었습니다.
이제 h1 안에 greeting에 있는 텍스트를 추가해주고,
그리고 h1에 hidden을 빼주도록 하겠습니다!</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/c5494654-5f87-472f-b382-2d860a82d857/image.png" alt=""></p>
<p>실행해보겠습니다!</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/5107afbe-6931-4603-bdf1-56885a634cbb/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/a9db6e80-d1bc-451b-a037-5e115824c77f/image.png" alt=""></p>
<h4 id="짜잔-성공">짜잔! 성공!</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/dde8da9b-0ee9-4e38-949a-8258f7b4cbcc/image.png" alt=""></p>
<p>두개의 string을 합치고 있습니다. 즉 변수를 string 안에 포함시키는 방법입니다.
이걸 대체할 다른 방법을 알아보겠습니다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/3fea9a58-8642-486f-8f5d-fd4564bc0491/image.png" alt=""></p>
<p>두가지 방법 모두 똑같은 동작을 수행합니다.
여기서 쌍따옴표나 따옴표가 아닌 백틱이라고 하는 부호입니다.
<span style="color:red">
&#39;&#39; X
&quot;&quot; X
`` O
</span><br>둘 중에 편한 방법을 쓰시면 됩니다!
(전 전자요...)</p>
<p>오늘은 끝!</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[로그인4]링크 연결 anchor 요소]]></title>
            <link>https://velog.io/@mouse_hui729/%EB%A1%9C%EA%B7%B8%EC%9D%B84%EB%A7%81%ED%81%AC-%EC%97%B0%EA%B2%B0-anchor-%EC%9A%94%EC%86%8C</link>
            <guid>https://velog.io/@mouse_hui729/%EB%A1%9C%EA%B7%B8%EC%9D%B84%EB%A7%81%ED%81%AC-%EC%97%B0%EA%B2%B0-anchor-%EC%9A%94%EC%86%8C</guid>
            <pubDate>Thu, 20 Apr 2023 07:18:40 GMT</pubDate>
            <description><![CDATA[<h4 id="이번-시간에는-form-관련한-것은-쉬고-이번에는-링크로-연결되는-anchor-요소를-하나-만들어보도록-합시다">이번 시간에는 form 관련한 것은 쉬고, 이번에는 링크로 연결되는 anchor 요소를 하나 만들어보도록 합시다!</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/f41ffffb-d663-40eb-9ac5-4ee5133c9129/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/404da000-bcb3-4db5-b9f9-8d67e4d7cd4d/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/be7b867c-9e7c-487a-8de3-3da775031e0d/image.png" alt=""></p>
<h4 id="링크의-기본-동작은-클릭-시-다른-페이지로-이동하는-것입니다-위-코드에서-보시면-go-to-courses를-클릭하게-되면-제-블로그-링크로-이동한다는-것을-확인해-볼-수-있습니다">링크의 기본 동작은 클릭 시 다른 페이지로 이동하는 것입니다. 위 코드에서 보시면 Go to courses를 클릭하게 되면 제 블로그 링크로 이동한다는 것을 확인해 볼 수 있습니다.</h4>
<h4 id="이렇게-되는-것을-막아보도록-하겠습니다">이렇게 되는 것을 막아보도록 하겠습니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/14be790e-4b49-48d8-8287-d369452615c2/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/f117719d-f492-4220-985d-4c135ce078c2/image.png" alt=""></p>
<h4 id="js에-링크를-찾는-코드를-작성해주었습니다-결과를-보면">JS에 링크를 찾는 코드를 작성해주었습니다. 결과를 보면!</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/fa462b1e-5b23-4cd5-8b91-85e873c5801d/image.png" alt=""></p>
<h4 id="지금-이-alert가-이-page가-다른-동작을-하지-못하도록-막고-있습니다">지금 이 alert가 이 page가 다른 동작을 하지 못하도록 막고 있습니다.</h4>
<h4 id="그래서-아무-일도-일어나지-않고-있지만-내가-확인을-눌러서-alert가-없어지면-브라우저의-기본-동작이-실행되게-된다">그래서 아무 일도 일어나지 않고 있지만 내가 확인을 눌러서 alert가 없어지면 브라우저의 기본 동작이 실행되게 된다.</h4>
</br>

<ul>
<li>가끔은 뭐가 클릭되었는지, 어디가 클릭되었는지 등 정보를 알고 싶을 때가 있습니다. </li>
<li>그럴 때 JS는 단순히 함수를 실행시키기만 하는 것이 아니라, JS는 함수를 실행시키는 동시에 그 함수에 첫번째 인자로 object를 넣어줍니다. 그리고 이 object에는 방금 일어난 event에 대한 여러 정보가 담겨있는 것입니다.</li>
<li>방금 일어난 event에 대한 정보를 담은 이 object는 handleLinkClick을 위한 EventListener 함수의 첫번째 인자로 주어지게 될 것입니다.</li>
</ul>
<h4 id="우리는-자리만-제공해주면-됩니다-우리가-해야할-건-받는-것-뿐">우리는 자리만 제공해주면 됩니다. 우리가 해야할 건 받는 것 뿐!</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/884b96ff-8e23-473b-8446-4e9bf1adc7bf/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/69273879-11c9-4d00-ad2d-1be5b0a0b1ff/image.png" alt=""></p>
<h4 id="실행해보면-pointevent라고-뜹니다-많은-event들이-존재하는데-그-중에서-pointevent가-뜬-것이죠-예전엔-mouseevent라고-하여-클릭한-좌표가-나왔다고-하는데-지금은-pointevent로-바꼈다고-합니다">실행해보면 PointEvent라고 뜹니다. 많은 Event들이 존재하는데 그 중에서 PointEvent가 뜬 것이죠. 예전엔 MouseEvent라고 하여 클릭한 좌표가 나왔다고 하는데 지금은 PointEvent로 바꼈다고 합니다.</h4>
</br>

<h4 id="이번엔-alert에서-확인-버튼을-누르면-링크로-이동하게-되는-것을-막아보겠습니다">이번엔 alert에서 확인 버튼을 누르면 링크로 이동하게 되는 것을 막아보겠습니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/48539ff2-0a5e-42dd-918b-7523cb2682ae/image.png" alt=""></p>
<h4 id="먼저-event의-내부를-살펴보겠습니다">먼저 event의 내부를 살펴보겠습니다.</h4>
<p>(수강하는 강의와 내용이 조금 달라, 그 내용은 빼고 이어서 진행하겠습니다! 빼도 상관없는 내용입니다.)</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/62969f7b-369d-449f-950c-4e3696f41e5b/image.png" alt=""></p>
<h4 id="여러가지의-정보를-제공하고-있는데-그-중에서-defaultprevented-값이-true">여러가지의 정보를 제공하고 있는데, 그 중에서 defaultPrevented 값이 true!</h4>
<h4 id="우리가-브라우저가-하려고-하는-동작을-허용하지-않았다는-것입니다-허용하지-않고-막았죠">우리가 브라우저가 하려고 하는 동작을 허용하지 않았다는 것입니다. 허용하지 않고 막았죠.</h4>
<p></br></br></p>
<p>자! 이제 event.preventdefault를 이해했으니 링크들을 지우고 다시 우리의 form을 작성해보도록 합시다.
다음 시간에!</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[로그인3]브라우저의 기본동작 막기]]></title>
            <link>https://velog.io/@mouse_hui729/%EB%A1%9C%EA%B7%B8%EC%9D%B83%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%9D%98-%EA%B8%B0%EB%B3%B8%EB%8F%99%EC%9E%91-%EB%A7%89%EA%B8%B0</link>
            <guid>https://velog.io/@mouse_hui729/%EB%A1%9C%EA%B7%B8%EC%9D%B83%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%9D%98-%EA%B8%B0%EB%B3%B8%EB%8F%99%EC%9E%91-%EB%A7%89%EA%B8%B0</guid>
            <pubDate>Wed, 19 Apr 2023 06:54:14 GMT</pubDate>
            <description><![CDATA[<p>지난 시간에 이어서!</p>
<h4 id="loginbutton은-삭제하고-login-form-그-자체를-이용하도록-합니다">loginButton은 삭제하고 login-form 그 자체를 이용하도록 합니다.</h4>
<p>클릭이 아닌 submit 감지하도록 코드를 작성해보겠습니다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/65d7a650-8f30-4dcf-a848-8528d31b92a0/image.png" alt=""></p>
<h4 id="이제-form의-submit-event를-감지하고-있는데-submit은-엔터를-누르거나-버튼을-클릭할-때-발생한다는-사실을-기억하도록-합시다">이제 form의 submit event를 감지하고 있는데, submit은 엔터를 누르거나 버튼을 클릭할 때 발생한다는 사실을 기억하도록 합시다!</h4>
<p>결과를 보면 입력한 값이 콘솔창에 잠깐 떴다가 사라지는 것을 확인해볼 수 있습니다. 
이것은 우리가 목표한 것의 50%를 완료한 것입니다!</p>
<p><span style="color:red">미션1은 form을 submit할 때 입력값을 받아내는 것입니다.</span></p>
<h4 id="하지만-아직-새로고침을-못-막고-있습니다">하지만 아직 새로고침을 못 막고 있습니다.</h4>
<h4 id="여기서-새로고침이-일어나는-건-form-submit-기본-동작입니다">여기서 새로고침이 일어나는 건 form submit 기본 동작입니다.</h4>
<h4 id="브라우저가-그러도록-프로그래밍이-되어있습니다">브라우저가 그러도록 프로그래밍이 되어있습니다.</h4>
<p>우리가 해야할 일은 이 기본 동작이 발생하지 않도록 하는 것입니다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/6f0c2bd3-596a-41ef-9fa8-525823a9406a/image.png" alt=""></p>
<p><span style="color:blue"><strong>( ) 이것들을 더하면 브라우저가 보자마자 자동으로 이 function을 실행시켜버리게 됩니다.
하지만 addEventListener를 활용할 때는 function의 이름만 적어주고, 그럼 지정한 이벤트가 발생했을 때만 브라우저가 해당 function을 실행시키게 되는 것입니다.
그러니까 코드처럼 쓸 필요는 없습니다!</strong> </span>
</br>
<span style="color:black"><strong>브라우저가 정확히는 onLoginSubmit()을 하고 있는 것은 아닙니다. 
브라우저는 우선 onLoginSubmit function을 호출하고, 브라우저가 function을 실행하긴 하지만 () 여기 안에서 우리에게 정보를 주고 있는 것입니다.
브라우저는 브라우저 내에서 event로부터 정보를 잡아내서 onLoginSubmit function 실행 버튼을 누르고 있는 것입니다.</strong></span></p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/13fbefa1-f8f4-4006-91bf-f1e207fa19da/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/f55f8530-18c3-430f-ae5f-d2c366a6eaae/image.png" alt=""></p>
<h4 id="신기한-코드를-작성하여-보면-onloginsubmit-function에-대한-argument을-받고-보여주는-것을-확인해볼-수-있습니다">신기한 코드를 작성하여 보면 onLoginSubmit function에 대한 argument을 받고 보여주는 것을 확인해볼 수 있습니다.</h4>
<h4 id="즉-누군가-form을-submit하면-js가-이-function을-호출하도록-하고-있는-것입니다">즉, 누군가 form을 submit하면 JS가 이 function을 호출하도록 하고 있는 것입니다.</h4>
<h4 id="여기서-javascript가-하게-될-일은-onloginsubmit-함수의-첫번째-argument로-발생한-일에-대해-네가-필요로-할만한-정보를-주는-것입니다">여기서 JavaScript가 하게 될 일은 onLoginSubmit 함수의 첫번째 argument로 발생한 일에 대해 네가 필요로 할만한 정보를 주는 것입니다.</h4>
<p><span style="color:orange">** preventDefault는 어떤 event의 기본 행동이든지 발생되지 않도록 막는 것입니다. </span>**</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/02f4118e-9ecb-45eb-8433-45dcc2965308/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/e236a303-af62-4c82-8c83-8974cd9284dd/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/9d3c7b88-3b5e-47c5-ace1-ae92f8334576/image.png" alt=""></p>
<h4 id="이렇게-해주면-새로고침이-되지-않는다는-것을-확인해볼-수-있습니다">이렇게 해주면 새로고침이 되지 않는다는 것을 확인해볼 수 있습니다!</h4>
]]></description>
        </item>
        <item>
            <title><![CDATA[[로그인2]username 유효성 검사]]></title>
            <link>https://velog.io/@mouse_hui729/%EB%A1%9C%EA%B7%B8%EC%9D%B82username-%EC%9C%A0%ED%9A%A8%EC%84%B1-%EA%B2%80%EC%82%AC</link>
            <guid>https://velog.io/@mouse_hui729/%EB%A1%9C%EA%B7%B8%EC%9D%B82username-%EC%9C%A0%ED%9A%A8%EC%84%B1-%EA%B2%80%EC%82%AC</guid>
            <pubDate>Tue, 18 Apr 2023 06:55:16 GMT</pubDate>
            <description><![CDATA[<h3 id="font-colorred-username의-유효성-검사-font"><font color="red"> username의 유효성 검사 </font></h3>
<h4 id="우선-username이-비어있으면-안되고-너무-길어도-안된다">우선, username이 비어있으면 안되고, 너무 길어도 안된다.</h4>
<h4 id="코드-작성하기">코드 작성하기</h4>
<h4 id="value-값이-없을-경우는-if문을-이용하여-작성합니다">value 값이 없을 경우는 if문을 이용하여 작성합니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/2676396a-b826-4bd4-b79b-953fa00260e0/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/7401b890-3f67-41b5-bfd4-bcc72b095c4f/image.png" alt=""></p>
<h4 id="이제-이걸-user가-볼-수-있게-alert로-바꿔줍시다">이제 이걸 user가 볼 수 있게 alert로 바꿔줍시다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/c1fc1ebd-cba7-412f-bc1d-04878994a301/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/e928f6e7-f087-4fcc-bf07-c1e963a02529/image.png" alt=""></p>
<h4 id="이번에는-여기에-else-if를-해주고-value를-확인합니다">이번에는 여기에 else if를 해주고 value를 확인합니다.</h4>
<h4 id="여기서-username이-15글자를-초과하지-않는지-확인할-수-있습니다">여기서 username이 15글자를 초과하지 않는지 확인할 수 있습니다.</h4>
<h4 id="만약-15글자를-초과한다면-경고창을-보여주도록-합시다">만약 15글자를 초과한다면 경고창을 보여주도록 합시다.</h4>
<h3 id="font-colorblue-string의-길이를-구하는-방법-font"><font color="blue"> string의 길이를 구하는 방법 </font></h3>
<ul>
<li>username 뒤에 .length를 더해주는 것입니다.
<img src="https://velog.velcdn.com/images/mouse_hui729/post/3d121268-78ac-4787-b8c8-d61588733436/image.png" alt="">
콘솔에서도 확인해보도록 합시다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/eab2e504-f934-4f8e-974c-2fd5b4ad66f9/image.png" alt="">
string 다음에 .length만 입력해주면 되는 것입니다.</p>
<h4 id="우리가-작성하고-있는-코드에서도-마찬가지입니다">우리가 작성하고 있는 코드에서도 마찬가지입니다.</h4>
<h4 id="font-colorgreen단-확인할-조건을-추가해주어야-합니다-font"><font color="green">단, 확인할 조건을 추가해주어야 합니다. </font></h4>
<h4 id="font-colorred-만약-username의-길이가-15보다-길다면-이름이-너무-길다고-alert해줄-것입니다-font"><font color="red"> 만약 username의 길이가 15보다 길다면, 이름이 너무 길다고 alert해줄 것입니다. </font></h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/7a79cb4a-114e-4123-9038-d21d2b432c21/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/89ec917d-361a-427c-ab27-52b9d6e2d5f7/image.png" alt=""></p>
<h3 id="이미-가지고-있는-것을-사용하여-다른-방법">이미 가지고 있는 것을 사용하여 다른 방법</h3>
<h4 id="--예를-들면-input을-필수-입력-항목으로-만들어봅시다">- 예를 들면 input을 필수 입력 항목으로 만들어봅시다.</h4>
<h4 id="--또는-input-자체적으로-최대-글자수를-15로-조절할-수도-있습니다">- 또는 input 자체적으로 최대 글자수를 15로 조절할 수도 있습니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/f2b50087-7b13-4fdf-9ec5-ad5425f3abdf/image.png" alt=""></p>
<h4 id="이것은-html이-이미-우리를-위해-해주고-있습니다">이것은 HTML이 이미 우리를 위해 해주고 있습니다.</h4>
<h4 id="font-colorred-그런데-문제는-lon-in을-클릭할-때-html에서-확인-작업을-안하고-있는-것입니다"><font color="red"> 그런데 문제는 Lon In을 클릭할 때 HTML에서 확인 작업을 안하고 있는 것입니다.</h4>
<h4 id="그-이유는-이-부분이-form이-아니기-때문이다">그 이유는 이 부분이 form이 아니기 때문이다.</h4>
<h4 id="div부분을-form으로-변경해주고-이어서-해봅시다font">div부분을 form으로 변경해주고 이어서 해봅시다.</font></h4>
<p>(코드 수정..)</p>
<h4 id="username을-아직-받는다는-것을-확인하기-위해-아래의-코드만-남겨주고-그-전에-작성한-것은-지우도록-합니다">username을 아직 받는다는 것을 확인하기 위해 아래의 코드만 남겨주고 그 전에 작성한 것은 지우도록 합니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/e7d82ecf-0e71-4c77-bcf7-9ed4144fde0f/image.png" alt="">
실행해보겠습니다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/face45ee-ec11-4f90-b602-adf39d938914/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/2521e8bd-3f6a-4197-b2ad-b5e9ba4b44bc/image.png" alt=""></p>
<h4 id="브라우저-자체에서-도와주고-있는-것을-확인해볼-수-있습니다">브라우저 자체에서 도와주고 있는 것을 확인해볼 수 있습니다.</h4>
<h4 id="비어있는-칸을-알려주기도-하고-15자-이상으로-입력할-수-없게끔-되어있습니다">비어있는 칸을 알려주기도 하고, 15자 이상으로 입력할 수 없게끔 되어있습니다.</h4>
<h4 id="font-colorred-하지만-문제는-내가-log-in을-클릭하면-url에-이상한게-따라-붙고-있다는-것입니다-font"><font color="red"> 하지만 문제는 내가 Log In을 클릭하면 URL에 이상한게 따라 붙고 있다는 것입니다. </font></h4>
<p>그리고 페이지가 새로고침되고, 값이 사라지게 됩니다. 
<font color="orange"> 이렇게 되는 이유는 form이 submit되고 있기 때문입니다. </font> </p>
<font color="brown">
알고 있던 규칙으로는 우리가 form 안에서 엔터를 누를 때 input이 더 존재하지 않는다면 자동으로 submit된다는 규칙입니다. 
또는, form 안에 있는 버튼을 눌렀을 때, 이 때도 form이 자동으로 submit된다는 것입니다.
이 말은 더 이상 click에 신경 쓸 필요가 없다는 것입니다.</font>

<h4 id="이-순간에-우리는-브라우저가-새로고침을-하지-않고-user-정보를-저장하도록-하고-싶은-것입니다">이 순간에 우리는 브라우저가 새로고침을 하지 않고 user 정보를 저장하도록 하고 싶은 것입니다.</h4>
<p>이 부분은 다음 시간에 올리겠습니다!</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[로그인1]input과 value 값]]></title>
            <link>https://velog.io/@mouse_hui729/%EB%A1%9C%EA%B7%B8%EC%9D%B8-input%EA%B3%BC-value-%EA%B0%92</link>
            <guid>https://velog.io/@mouse_hui729/%EB%A1%9C%EA%B7%B8%EC%9D%B8-input%EA%B3%BC-value-%EA%B0%92</guid>
            <pubDate>Mon, 17 Apr 2023 07:33:01 GMT</pubDate>
            <description><![CDATA[<h3 id="앱-만들기-시작">앱 만들기 시작!</h3>
<h4 id="우선-우리는-user에게-당신은-누구인지-이름이-뭔지-질문을-하고-그-정보를-받는-법을-알아보고-화면에-표시하도록-해봅시다">우선 우리는 user에게 당신은 누구인지, 이름이 뭔지 질문을 하고, 그 정보를 받는 법을 알아보고, 화면에 표시하도록 해봅시다.</h4>
<ul>
<li>input 생성</li>
<li>button 생성
<img src="https://velog.velcdn.com/images/mouse_hui729/post/8a2f6953-94ab-49c6-93d0-5f0edaa76065/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/b9a7b3db-5c72-4c7e-87af-e4ef64f4a414/image.png" alt=""></li>
</ul>
<p>이 앱에는 input과 button이 매우 많을 것입니다. </p>
<h4 id="지금까지-만든-것들을-div안에-집어-넣습니다">지금까지 만든 것들을 div안에 집어 넣습니다.</h4>
<h4 id="그리고-이-div에-form이란-class를-추가해줍니다--div-classform">그리고 이 div에 &quot;form&quot;이란 class를 추가해줍니다. =&gt; div class=&quot;form&quot;</h4>
<h4 id="아니면-id를-입력해도-상관없습니다--div-idlogin-form">아니면 id를 입력해도 상관없습니다. =&gt; div id=&quot;login-form&quot;</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/e641a4bd-960f-4438-a50a-392eb829683d/image.png" alt=""></p>
<h3 id="js-작성하기">JS 작성하기</h3>
<ul>
<li>input과 button 끌어오기
<img src="https://velog.velcdn.com/images/mouse_hui729/post/816f98b8-2e3f-4029-84ff-862f0f0bb8c3/image.png" alt=""></li>
</ul>
<h4 id="더-짧게-코드를-작성할-수-있는-다른-방법도-있다">더 짧게 코드를 작성할 수 있는 다른 방법도 있다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/c1d9d231-81f2-4c09-b7b4-5e58a85ab516/image.png" alt="">
이렇듯 document 또는 하나의 element를 통해서 검색이 가능합니다.</p>
<h3 id="click-event-사용해보기">click event 사용해보기</h3>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/3a1d85aa-af96-473b-9e7b-bf871e46defe/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/de8ab599-a2cf-4089-b7f8-fce4e2470b46/image.png" alt=""></p>
<h4 id="이제는-우리는-여기-입력하는-이-value를-얻고-싶습니다">이제는 우리는 여기 입력하는 이 value를 얻고 싶습니다.</h4>
<h4 id="이-텍스트를-콘솔에-표시하는-법을-알아봅시다">이 텍스트를 콘솔에 표시하는 법을 알아봅시다!</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/84222da0-abe8-4f1a-b761-e171b4aa4932/image.png" alt="">
이 코드는 onLoginBtnClick()이 실행되면서 loginInput의 내부를 보여줍니다.
<img src="https://velog.velcdn.com/images/mouse_hui729/post/dab14dec-f46b-4611-b141-14dbadf42a3f/image.png" alt="">
value는 기본적으로 내 input 안에 있는 text를 나타내주는 것입니다.</p>
<ul>
<li>HTML에서 미리 value의 값을 입력해줄 수도 있습니다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/cae1924e-e08e-4ee0-a335-d57bca726a71/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/ac8073b1-37aa-4a70-ab4b-e0873ce52efd/image.png" alt="">
입력한 value의 값이 그대로 표시된 것을 확인해볼 수 있습니다.</p>
<h4 id="다음으로는-아까-작성한-기본-value는-지워주고-js에서-value를-consolelog-해주게-합니다">다음으로는 아까 작성한 기본 value는 지워주고, JS에서 value를 console.log 해주게 합니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/54e9acc2-99ec-493b-9c81-13f1740f6066/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/cfdba910-bdf1-4a1b-bc90-9e56abe8673d/image.png" alt=""></p>
<h4 id="값을-입력하고-클릭하면-입력한-값이-출력되는-것이-확인-가능합니다">값을 입력하고 클릭하면 입력한 값이 출력되는 것이 확인 가능합니다!</h4>
<h4 id="이런식으로-input의-value를-얻을-수-있다는-것을-알아보았습니다">이런식으로 input의 value를 얻을 수 있다는 것을 알아보았습니다!</h4>
]]></description>
        </item>
        <item>
            <title><![CDATA[[자바17]JavaScript와 HTML 9]]></title>
            <link>https://velog.io/@mouse_hui729/%EC%9E%90%EB%B0%9417JavaScript%EC%99%80-HTML-9</link>
            <guid>https://velog.io/@mouse_hui729/%EC%9E%90%EB%B0%9417JavaScript%EC%99%80-HTML-9</guid>
            <pubDate>Fri, 14 Apr 2023 05:42:06 GMT</pubDate>
            <description><![CDATA[<p>className을 바꾸는 다른 방법, 그 방법은 classList를 사용하는 방법이다.</p>
<h4 id="classlist는-두가지-옵션이-있습니다">classList는 두가지 옵션이 있습니다.</h4>
<h4 id="--classlist는-말-그대로-우리가-class들의-목록으로-작업할-수-있게끔-허용해줍니다-왜냐하면-classname은-그냥-모든-것을-교체해버리기-때문입니다-이전에-class들은-상관을-하지-않고-말이죠">- classList는 말 그대로, 우리가 class들의 목록으로 작업할 수 있게끔 허용해줍니다. 왜냐하면 className은 그냥 모든 것을 교체해버리기 때문입니다. 이전에 class들은 상관을 하지 않고 말이죠!</h4>
<p><font color = "blue">참고 사이트
<a href="https://developer.mozilla.org/en-US/docs/Web/API/DOMTokenList">https://developer.mozilla.org/en-US/docs/Web/API/DOMTokenList</a> 
</font></p>
<h4 id="예를-들어-contains은-이-function은-우리가-명시한-class가-html-element의-class에-포함되어-있는지-말해준다는-것입니다">예를 들어, contains은 이 function은 우리가 명시한 class가 HTML element의 class에 포함되어 있는지 말해준다는 것입니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/a7ee3c1a-131e-48ff-832e-5546796af63e/image.png" alt=""></p>
<p>이제 여기서 우리는 classList가 clicked를 포함하고 있는지만을 확인하게 됩니다.
동작은 똑같이 합니다!</p>
<h4 id="만약에-이-clickedclass가-h1의-classlist에-포함되어-있다면-우린-clickedclass를-제거합니다">만약에 이 clickedClass가 h1의 classList에 포함되어 있다면, 우린 clickedClass를 제거합니다.</h4>
<h4 id="반대로-만약에-clickedclass가-h1의-classlist에-포함되어-있지-않다면-우린-모든-classname을-교체하지-않습니다">반대로 만약에 clickedClass가 h1의 classList에 포함되어 있지 않다면, 우린 모든 className을 교체하지 않습니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/a86e384b-9cfa-453f-9c82-a69e15b25524/image.png" alt=""></p>
<p>우리는 JavaScript를 사용하여 JavaScript가 특정한 class name만 변경하도록 한 것입니다.</p>
<h3 id="다음으로-이-코드들을-지우고-function을-사용하도록-합니다">다음으로 이 코드들을 지우고, function을 사용하도록 합니다.</h3>
<h4 id="--toggle-function은-class-name이-존재하는지-확인하는-것입니다">- toggle function은 class name이 존재하는지 확인하는 것입니다.</h4>
<h4 id="만약-class-name이-존재한다면-toggle은-class-name을-제거합니다-그리고-만약-class-name이-존재하지-않는다면-toggle은-class-name을-추가합니다">만약 class name이 존재한다면 toggle은 class name을 제거합니다. 그리고 만약 class name이 존재하지 않는다면 toggle은 class name을 추가합니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/efd30e63-4711-4a7c-a486-9f8111526ba9/image.png" alt=""></p>
<p>이 한 줄이 방금 전 5줄의 코드와 동일하다는 것입니다!</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[자바16]JavaScript와 HTML 8]]></title>
            <link>https://velog.io/@mouse_hui729/%EC%9E%90%EB%B0%9416JavaScript%EC%99%80-HTML-8</link>
            <guid>https://velog.io/@mouse_hui729/%EC%9E%90%EB%B0%9416JavaScript%EC%99%80-HTML-8</guid>
            <pubDate>Thu, 13 Apr 2023 06:46:46 GMT</pubDate>
            <description><![CDATA[<p>style 작업에 적합한 도구는 CSS이다.
animation에 적합한 도구가 JavaScript이고,</p>
<h3 id="css-작성">CSS 작성</h3>
<ul>
<li>css에 h1의 기본색을 파란색으로 해줍니다.</li>
<li>active는 색을 토마토로 설정해줍니다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/8c88a913-a921-42b5-adeb-9a013cc035e0/image.png" alt=""></p>
<h4 id="이제-javascript에서-하고-싶은-건-이-h1에-active-class를-전달해주고-싶은-것입니다">이제 JavaScript에서 하고 싶은 건, 이 h1에 active class를 전달해주고 싶은 것입니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/746c3605-3fdf-48c4-a1a3-b199734d0fbd/image.png" alt=""></p>
<h3 id="다시한번-클릭하면-원래-상태로-돌아가는-법">다시한번 클릭하면 원래 상태로 돌아가는 법</h3>
<h4 id="이-h1classname은-getter이면서-setter입니다">이 h1.className은 getter이면서 setter입니다.</h4>
<h4 id="이-말의-뜻은-우리가-consolelog로-h1classname을-출력한다면-우리가-얻는-것은-classname의-현재값이라는-것입니다">이 말의 뜻은 우리가 console.log로 h1.className을 출력한다면 우리가 얻는 것은 className의 현재값이라는 것입니다.</h4>
<h4 id="이-경우에는-h1에-click하게-되면-아무것도-출력되지-않습니다-하지만-다시-classname을-입력하면-click할-때-classname을-얻어올-수-있습니다">이 경우에는 h1에 click하게 되면 아무것도 출력되지 않습니다. 하지만 다시 className을 입력하면 click할 때 className을 얻어올 수 있습니다.</h4>
<h4 id="만약-h1의-classname이-active라면-if문을-사용하고-그리고-만약-h1의-classname이-active가-아니라면-else문을-사용하여-작성합니다">만약 h1의 className이 active라면 if문을 사용하고, 그리고 만약 h1의 className이 active가 아니라면 else문을 사용하여 작성합니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/9f7076ba-f15a-4bed-ac65-dda6048eba6d/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/9f97c2c8-8944-4c0f-a04e-b008cbe060d0/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/5f45c04f-c1e8-4b2a-8d38-40c40cb65732/image.png" alt="">
결과는 어제와 동일하게 잘 작동되는 것을 확인해볼 수 있습니다.</p>
<h4 id="자-그런데-여기서-active는-우리가-지어낸-이름입니다-잘못하면-error가-날-수도-있기-때문에-이름을-clicked로-바꿔주겠습니다">자, 그런데 여기서 active는 우리가 지어낸 이름입니다. 잘못하면 error가 날 수도 있기 때문에 이름을 clicked로 바꿔주겠습니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/55d37e16-2853-4df1-91fb-eec33c5c89f9/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/feb29120-c121-437a-8bd7-ff5da5bd7c92/image.png" alt=""></p>
<h4 id="font-color--red하지만-이-모든게-제대로-동작하려면-clicked라는-단어가-정확하게-사용되어야합니다"><font color = "red">하지만 이 모든게 제대로 동작하려면 clicked라는 단어가 정확하게 사용되어야합니다.</h4>
<h4 id="이유는-그저-classname이기-때문입니다">이유는 그저 className이기 때문입니다.</h4>
<h4 id="그러나-javascript-코드-중에-만약-실수로-잘못-이름을-준다면-제대로-동작을-하지-않을-것입니다">그러나 JavaScript 코드 중에 만약 실수로 잘못 이름을 준다면, 제대로 동작을 하지 않을 것입니다.</h4>
</font>

<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/b7a27ee2-9f00-4f94-ad38-b2e2dcb248f9/image.png" alt=""></p>
<h4 id="이렇게-적음으로써-error가-발생할-수-있는-부분을-축소시킬-수-있습니다">이렇게 적음으로써 error가 발생할 수 있는 부분을 축소시킬 수 있습니다.</h4>
]]></description>
        </item>
        <item>
            <title><![CDATA[[자바15]JavaScript와 HTML 7]]></title>
            <link>https://velog.io/@mouse_hui729/%EC%9E%90%EB%B0%9415JavaScript%EC%99%80-HTML-7</link>
            <guid>https://velog.io/@mouse_hui729/%EC%9E%90%EB%B0%9415JavaScript%EC%99%80-HTML-7</guid>
            <pubDate>Wed, 12 Apr 2023 07:34:24 GMT</pubDate>
            <description><![CDATA[<h4 id="httpsdevelopermozillaorgen-usdocswebapiwindow"><a href="https://developer.mozilla.org/en-US/docs/Web/API/Window">https://developer.mozilla.org/en-US/docs/Web/API/Window</a></h4>
<p>참고하실 사이트를 이제 올려드리네요!!
위 사이트에는 많은 event들을 찾아볼 수 있고, 많은 정보를 제공하고 있습니다.</p>
<ul>
<li>event listener들을 지우겠습니다.</li>
<li>이제는 handle TitleClick function에 초점을 맞출 것이기 때문이죠</li>
</ul>
</br>

<h4 id="유저가-title을-click했을-때-title을-파란색으로-칠해주는-것을-해봅시다">유저가 title을 click했을 때 title을 파란색으로 칠해주는 것을 해봅시다.</h4>
<h4 id="하지만-한번-더-누르면-title의-색깔을-토마토색으로-변경하는-것">하지만 한번 더 누르면 title의 색깔을 토마토색으로 변경하는 것</h4>
<h4 id="그리고-다시-클릭하면-파란색으로-그-다음엔-토마토색으로-click할-때마다-색이-변하는-것을요">그리고 다시 클릭하면 파란색으로 그 다음엔 토마토색으로 click할 때마다 색이 변하는 것을요!</h4>
<ul>
<li>이 말은 무언가가 true인지를 확인해야 한다는 것입니다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/21a9b57f-e6ba-4958-be95-ba1511268b84/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/903fae84-e68b-44ba-9857-ec415e1dcb47/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/dedd821e-4197-4e15-a8b8-fc0bd6315b4d/image.png" alt=""></p>
<p>클릭하면 title이 파란색으로 변하고 console에 blue라고 클릭시마다 나타나는 것을 확인해볼 수 있습니다.</p>
<h4 id="여기서-원하는-것은-이-값을-검사해서-만약-h1stylecolor가-blue이면-이걸-tomato로-변경해주라고-하는-것입니다">여기서 원하는 것은 이 값을 검사해서 만약 h1.style.color가 blue이면 이걸 tomato로 변경해주라고 하는 것입니다.</h4>
<h4 id="그리고-만약-h1stylecolor가-blue가-아니라면-blue로-변경해주라고-하는-것입니다">그리고 만약 h1.style.color가 blue가 아니라면 blue로 변경해주라고 하는 것입니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/9598d3c6-63a8-4115-aa43-2105f5f88a3a/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/efb2ffe6-15f6-4154-af31-2a63ae98a842/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/0fd9abb3-f3d8-4b04-99c6-b8a1b65dd3ee/image.png" alt=""></p>
<h4 id="은-h1의-값이-blue와-일치하는지-확인하는-것입니다">===은 h1의 값이 blue와 일치하는지 확인하는 것입니다.</h4>
<h4 id="if의-다음은-else를-사용하는-것입니다-앞부분이-true라면-이걸-tomato-색으로-바꾸는-것이죠-그리고-이게-flase라면-이걸-blue로-바꾸는-것입니다">if의 다음은 else를 사용하는 것입니다. 앞부분이 true라면 이걸 tomato 색으로 바꾸는 것이죠, 그리고 이게 flase라면 이걸 blue로 바꾸는 것입니다.</h4>
<h3 id="코드를-개선해서-더-깔끔하게-만들어-봅시다">코드를 개선해서 더 깔끔하게 만들어 봅시다.</h3>
<ul>
<li><p>먼저 이 color 현재 상태를 저장하는 것을 해보죠
<img src="https://velog.velcdn.com/images/mouse_hui729/post/24c37abd-937a-4ee4-889a-afb70e350113/image.png" alt=""></p>
<h4 id="currentcolor가-blue인지-확인합니다">currentColor가 blue인지 확인합니다.</h4>
<h4 id="여기서-true-또는-false를-반환해줍니다">여기서 true 또는 false를 반환해줍니다.</h4>
<h4 id="그리고나서-이걸-두번씩-하는-것-대신에-여기에-let으로-변수를-하나-생성해도록-했죠">그리고나서 이걸 두번씩 하는 것 대신에 여기에 let으로 변수를 하나 생성해도록 했죠</h4>
</li>
<li><p>이제, 만약에 currentColor가 blue라면, newColor는 tomato로 변경해주도록 해보겠습니다.
<img src="https://velog.velcdn.com/images/mouse_hui729/post/a73e97ad-2308-4b4e-8717-c12f863dd8c7/image.png" alt="">
결과는 동일하게 나와서 결과는 생략했습니다!</p>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[자바14]JavaScript와 HTML 6]]></title>
            <link>https://velog.io/@mouse_hui729/%EC%9E%90%EB%B0%9414JavaScript%EC%99%80-HTML-6</link>
            <guid>https://velog.io/@mouse_hui729/%EC%9E%90%EB%B0%9414JavaScript%EC%99%80-HTML-6</guid>
            <pubDate>Fri, 31 Mar 2023 06:34:09 GMT</pubDate>
            <description><![CDATA[<h3 id="event-내부를-살펴보고-event를-listening하는-다른-방법-배우기">event 내부를 살펴보고, event를 listening하는 다른 방법 배우기</h3>
<ul>
<li>title.addEventListener()을 해주고, click을 넘겨주는 것, 하지만 이걸 title.onClick() 이런식으로 바꿀 수 있습니다.</li>
<li>addEventListener을 더 선호하는 이유는, 나중에 removeEventListener를 통해서 event listener를 제거할 수 있기 때문입니다.</li>
</ul>
<h4 id="window로-다시-돌아가서-window의-event를-listen해보도록-하겠습니다">Window로 다시 돌아가서 window의 event를 listen해보도록 하겠습니다!</h4>
<ul>
<li>devicemotion이란, 여러분의 모바일이 움직이거나 할 때 발생하는 event입니다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/7be2e8d7-e950-4843-a7a3-f0999d77cd8f/image.png" alt=""></p>
<h4 id="resize해보기">resize해보기</h4>
<ul>
<li>window.은 기본적으로 제공합니다. 마치 document가 JavaScript에서 기본적으로 제공되듯이.</li>
<li>여기서 body부분이 중요한데, html의 h1처럼 document를 밑으로 가져올 수는 없습니다. </li>
<li>우리가 만약 document.title을 호출하면 js의 title이 출력되는 것이 아니라 html의 title을 가져오는 것입니다.</li>
</ul>
<p>헷갈리는 것을 방지하기 위해서 const title 부분을 h1으로 바꾸도록 하겠습니다.(이미 바꿔서 코드 작성함)</p>
<ul>
<li>h1은 document.title이랑은 다르다!</li>
</ul>
<h4 id="우리는-window-element의-resize-event를-listen하고-있고-만약-이-event가-실행되면-handlewindowresize가-실행될거고-그리고-이-handlewindowresize-function은-body의-backgroundcolor를-변경할-것입니다">우리는 window element의 resize event를 listen하고 있고, 만약 이 event가 실행되면 handleWindowResize가 실행될거고, 그리고 이 handleWindowResize function은 body의 backgroundColor를 변경할 것입니다.</h4>
<p>실행 된 결과를 보시죠!
<img src="https://velog.velcdn.com/images/mouse_hui729/post/46f23814-67ff-4ffc-a9c2-57de84c25d8e/image.png" alt="">
토마토 색으로 변경 완료!</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/a86ecd90-e8ac-490f-80c7-2d6039e25710/image.png" alt="">
console창에 document.body를 입력하면 배경색도 tomato로 변경된 것이 확인 가능합니다.</p>
<h3 id="다른-event도-가져와-해보겠습니다">다른 Event도 가져와 해보겠습니다.</h3>
<ul>
<li>Clipboard event : 해당 event는 유저가 copy 행위를 했을 때 발생합니다.
<img src="https://velog.velcdn.com/images/mouse_hui729/post/3f0578c9-7c29-4278-80e5-48e18e7111b2/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/65d222c9-ffc7-4a06-801c-d3a6a4e94032/image.png" alt=""></li>
</ul>
<p>command+c 또는 ctrl+c를 했더니 동작한 것을 볼 수 있습니다.</p>
<ul>
<li>이처럼 우리가 원하는 어떤 event들을 다 가져와 할 수 있다는 것을 알 수 있죠!</li>
</ul>
<h3 id="wifi-event-해보기">wifi event 해보기</h3>
<ul>
<li>우리가 wiif에 연결되어 있는지 브라우저가 알 수 있는 것입니다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/0229353d-8e90-4171-8446-d9533e78f64a/image.png" alt="">
(사실 이건 귀찮은 코드라서 실행하기는 싫었지만.. 보여드리기 위해 해봤습니다..)
<img src="https://velog.velcdn.com/images/mouse_hui729/post/088ceb26-5876-430c-a047-66816af6670a/image.png" alt="">
노트북의 와이파이 연결을 끊으면 SOS no WIFI라는 alert창이 뜨고
<img src="https://velog.velcdn.com/images/mouse_hui729/post/3c1bb253-9bdb-4283-823e-9f2a12f893ae/image.png" alt="">
노트북의 와이파이 연결을 하면 ALL GOOD 이라는 alert창이 뜨게 됩니다.</p>
<p>다른 엄청난 많은 Event들도 적용할 수 있지만 극소수의 Event들을 해보았습니다! 끝!</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[자바13]JavaScript와 HTML 5]]></title>
            <link>https://velog.io/@mouse_hui729/%EC%9E%90%EB%B0%9413JavaScript%EC%99%80-HTML-4</link>
            <guid>https://velog.io/@mouse_hui729/%EC%9E%90%EB%B0%9413JavaScript%EC%99%80-HTML-4</guid>
            <pubDate>Thu, 30 Mar 2023 06:50:21 GMT</pubDate>
            <description><![CDATA[<h4 id="특정한-event를-listen해봅시다">특정한 event를 listen해봅시다.</h4>
<ul>
<li>마우스가 title 위에 올라갈 때, click은 하지 않고 그냥 위에 위치할 때의 event.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/d5f9d6d2-3bbc-43e2-9db2-1d035ee62f9e/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/c444632c-4a0d-488c-b8cf-c19476864cc0/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/4a288c8f-6c52-4885-ad4e-b1534b5200ad/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/eafd28a1-8bdf-4ea0-b525-08cc4348a304/image.png" alt=""></p>
<p>JavaScript가 두 event를 listen하고 있습니다.
하나는 click이고, 하나는 onmouse입니다.</p>
<ul>
<li>이번에는 onmouse를 onmouseleave로 바꿔보도록 하겠습니다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/426575d6-cdf5-4267-8f32-a2b1e8d146d7/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/7d9dedeb-e763-4588-a58d-d6b2f7edb6f9/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/8a0daa62-b637-4bad-8121-9c9582f75e3e/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/3bb15b59-9327-45e5-8383-83b87a08d9fd/image.png" alt=""></p>
<p>마우스를 title위에 올리면 Mouse is here!로 Text가 변경되며 마우스를 올려두지 않을 때에는 Mouse is gone!으로 Text가 뜨게 된다는 것을 알 수 있습니다.
또한, title을 click하면 title이 파란색 Text로 변경되게 됩니다.
이처럼 JavaScript가 3가지의 function을 잘 조작해주고 있습니다!</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[자바12]JavaScript와 HTML 4]]></title>
            <link>https://velog.io/@mouse_hui729/%EC%9E%90%EB%B0%9412JavaScript%EC%99%80-HTML-4</link>
            <guid>https://velog.io/@mouse_hui729/%EC%9E%90%EB%B0%9412JavaScript%EC%99%80-HTML-4</guid>
            <pubDate>Fri, 24 Mar 2023 05:20:17 GMT</pubDate>
            <description><![CDATA[<h4 id="꼭-기억해야-할-것은-여기에-scriptjs가-있기-때문에-javascript를-통해-html의-내용을-가져올-수-있는-것입니다">꼭 기억해야 할 것은, 여기에 script.js가 있기 때문에 javascript를 통해 HTML의 내용을 가져올 수 있는 것입니다.</h4>
<h4 id="우리가-scriptjs를-import하지-않았다면-당연히-document는-여기-존재할-수도-없었다죠">우리가 script.js를 import하지 않았다면, 당연히 document는 여기 존재할 수도 없었다죠.</h4>
<h4 id="포인트는-document가-html이-scriptjs를-load하기-때문에-존재하는-것입니다">포인트는, document가 HTML이 script.js를 load하기 때문에 존재하는 것입니다.</h4>
<h4 id="그-다음에-browser가-우리가-document에-접근할-수-있게-해줍니다">그 다음에 browser가 우리가 document에 접근할 수 있게 해줍니다.</h4>
<ul>
<li>CSS color를 바꾸기
h1의 style을 javascript에서 변경할 수 있습니다.
<img src="https://velog.velcdn.com/images/mouse_hui729/post/1528e742-d5fd-445a-ac04-81670b636cc4/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/17303a0f-cd81-483d-9a5b-b408b3a425f2/image.png" alt=""></li>
</ul>
<h2 id="event-배우기">Event 배우기</h2>
<ul>
<li>event : 예를 들어, 사용자가 click을 하면 그게 event입니다. h1 위로 마우스가 올라가도 event입니다. </br>

</li>
</ul>
<h4 id="event를-listen하는-방법">event를 listen하는 방법</h4>
<ul>
<li>eventListener은 말 그대로 event를 listen하는 것입니다. 하지만 JavaScript에 무슨 event를 listen하고 싶은지 알려줘야합니다.</li>
<li>왜냐하면 모든 event에 대해 알고 싶은 것이 아니라 하나의 event만 알고 싶기 때문입니다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/7cf8a736-719a-44d0-a989-9cbacf4bbd10/image.png" alt="">
위 내용은 click event에 대해서 listen하고 싶은 것입니다.
</br></p>
<p>유저가 title을 click할 경우에, Javascript가 나 대신 실행버튼을 눌러주게 하는 것이죠.
보여드리겠습니다!
<img src="https://velog.velcdn.com/images/mouse_hui729/post/2910dca8-26fc-4496-9238-5615be18a0d9/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/08e74dd9-f9e9-40cf-95a3-215bc0235151/image.png" alt="">
현재 콘솔에는 아무것도 뜨지 않고 있습니다.
<img src="https://velog.velcdn.com/images/mouse_hui729/post/3c30f650-8f5b-414f-82e0-63ac38fba220/image.png" alt="">
Grab me!를 클릭하면 어떻게 될까요?
<img src="https://velog.velcdn.com/images/mouse_hui729/post/b1fd5cba-d944-40c4-9cd2-bd7469220ccc/image.png" alt="">
콘솔 창에 title was clicked!이라는 문구가 뜨면서 click 횟수도 표시해주는 것을 확인해볼 수 있습니다.
신기하죠?
예를 들어 바깥쪽을 click한다면 작동하지 않습니다.
</br></p>
<ul>
<li><p>유저가 만약에 title을 click한다면 title.style.color=&quot;blue&quot;라고 하는 것을 한가지 더 보여드리겠습니다!
<img src="https://velog.velcdn.com/images/mouse_hui729/post/4b928f7f-2bff-4714-ac5e-fe8e71116dd3/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/b5ff92b4-4995-4d5b-9e55-699c723be9bf/image.png" alt="">
현재 아무 일도 일어나지 않고 있습니다.
하지만 클릭을 한다면?!
<img src="https://velog.velcdn.com/images/mouse_hui729/post/2afa658b-d932-4ed1-b41d-1ba4756bf500/image.png" alt="">
Blue~
완료!!</p>
</li>
<li><p>title object는 굉장히 많은 정보를 가져오고, 바꿀 수 있습니다.</p>
</li>
<li><p>유저들의 행동들을 listen할 수 있습니다. 그 중에 쉬운 것이 바로 click event였다는 것을 알아보았습니다.</p>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[자바11]JavaScript와 HTML 3]]></title>
            <link>https://velog.io/@mouse_hui729/%EC%9E%90%EB%B0%9411HTML%EA%B3%BC-JavaScript-3</link>
            <guid>https://velog.io/@mouse_hui729/%EC%9E%90%EB%B0%9411HTML%EA%B3%BC-JavaScript-3</guid>
            <pubDate>Thu, 23 Mar 2023 04:56:10 GMT</pubDate>
            <description><![CDATA[<h4 id="대부분의-경우에는-id를-추가하지-않습니다-id를-사용하기-편리하지만-보통-classname을-사용하거나-둘-다-사용하기-때문입니다">대부분의 경우에는 id를 추가하지 않습니다. id를 사용하기 편리하지만, 보통 className을 사용하거나 둘 다 사용하기 때문입니다.</h4>
<ul>
<li><p>className 사용하기
<img src="https://velog.velcdn.com/images/mouse_hui729/post/79a7e99b-1b0e-461b-a9f6-aa100a3f781b/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/c2b8440b-a855-4db8-8639-1222713935fd/image.png" alt="">
이것은 우리의 코드 내에 어떤 값이 null이라는 뜻입니다.
아무것도 없는 것(null)의 innerText를 접근하려고 한 것입니다. 이 title이 null이라는 말이죠.
이 null variable의 innerText property는 변경할 수 없다고 알려주는 것입니다. </p>
</li>
<li><p>hello class를 사용하는 방법
<img src="https://velog.velcdn.com/images/mouse_hui729/post/b4616be3-a447-444b-aaab-073dda072714/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/af2fa9be-8ac9-45b7-9197-f709f37b94d3/image.png" alt="">
이 class name은 당연히 js의 class name과 동일해야합니다.
<img src="https://velog.velcdn.com/images/mouse_hui729/post/d0245456-f981-4bd2-9d4e-bb20d7c0cc81/image.png" alt="">
출력이 완료되었죠!</p>
</li>
</ul>
<h4 id="그런데-대부분의-경우에는-class-name을-모든-곳에-추가하지는-않습니다">그런데 대부분의 경우에는 class name을 모든 곳에 추가하지는 않습니다.</h4>
<ul>
<li>예를 들어 div 생성
div 내부에 h1을 생성해주고, h1 안에 Grab me!라고 적어주겠습니다.
<img src="https://velog.velcdn.com/images/mouse_hui729/post/9a4b29be-837c-4346-801d-d9dfbb5ec638/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/9b99a64b-b27a-4759-a15d-c95151129900/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/90b5a14e-0610-4d5e-bac5-e5e389c71598/image.png" alt=""></li>
</ul>
<h4 id="tag는-anchor-div-section-button-같은-것들을-의미합니다">Tag는 anchor, div, section, button 같은 것들을 의미합니다.</h4>
<h4 id="element를-갖고오는-가장-멋진-방법은-queryselector와-queryselectorall입니다">element를 갖고오는 가장 멋진 방법은 querySelector와 querySelectorAll입니다.</h4>
<ul>
<li><p>querySelector는 element를 CSS방식으로 검색할 수 있습니다.
= hello란 class 내부에 있는 h1을 가지고 올 수 있다는 것이죠.
<img src="https://velog.velcdn.com/images/mouse_hui729/post/4b1fe2cf-ba38-4611-b860-2b04df2ed1bb/image.png" alt="">
그래서 우리는 CSS selector를 사용해서 class hello를 찾고, 그 안에 있는 h1을 가져와달라고 하는 것입니다.
<img src="https://velog.velcdn.com/images/mouse_hui729/post/fc706657-67fc-4806-acfe-a01b2b229d95/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/aaae307f-07f3-472d-bae9-a8148a67b18a/image.png" alt=""></p>
</li>
<li><p>이번에는 div가 똑같은 것을 3개 쓴다면?
<img src="https://velog.velcdn.com/images/mouse_hui729/post/95304a22-9f23-444a-aab2-77053e8ce54e/image.png" alt="">
title이 array일까요? element일까요?
<img src="https://velog.velcdn.com/images/mouse_hui729/post/8f23608c-9a13-4862-9f0c-141b32a26bff/image.png" alt="">
결과는 첫번째 것 하나만 나옵니다. h1이 많을 수도 있지만 첫번째 것만 가져온다고 정의가 되어있기 때문입니다.</p>
</li>
<li><p>querySelector는 단 하나의 element를  return해줍니다. 찾지 못했다면 null로 표시되는 것이죠.</p>
</li>
<li><p>모든 것을 가져오고 싶으면 querySelectorAll을 사용하면 됩니다.
<img src="https://velog.velcdn.com/images/mouse_hui729/post/837985ca-131f-4045-b339-67531b41529d/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/38e9fb3f-08c9-4c52-841f-9be7da5f8e47/image.png" alt="">
끝!</p>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[자바10]JavaScript와 HTML 2]]></title>
            <link>https://velog.io/@mouse_hui729/%EC%9E%90%EB%B0%9410JavaScript%EC%99%80-HTML-2</link>
            <guid>https://velog.io/@mouse_hui729/%EC%9E%90%EB%B0%9410JavaScript%EC%99%80-HTML-2</guid>
            <pubDate>Wed, 22 Mar 2023 05:22:39 GMT</pubDate>
            <description><![CDATA[<h4 id="documentgetelementbyid는-string을-전달받는-함수입니다">document.getElementById()는 string을 전달받는 함수입니다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/90ed3068-5c71-42f8-814e-36f3a8ac6cfd/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/f58839bb-d63d-4afd-bc5b-cbf1b7bdd9a4/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/64e36424-084b-4183-9e19-e6f53fc1527b/image.png" alt="">
보다시피 javascript로 id=&quot;title&quot;을 가진 h1 태그를 가져왔습니다.
이것을 콘솔에서 하지말고 js파일에서 해봅시다.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/92d83984-af69-4052-be5f-ca690da79748/image.png" alt="">
이렇게 js에서 하면 동일하게 나옵니다.</p>
<h4 id="하지만-consolelog대신-element를-더-자세하게-보여주는-consoledir을-사용해봅시다">하지만 console.log대신 element를 더 자세하게 보여주는 console.dir()을 사용해봅시다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/1d79c76f-fac5-4979-9fc8-0100b568d805/image.png" alt="">
앞으로 우리가 사용할 수 있는 많은 것들이 뜹니다.
이 모든 것들은 HTML에 포함되어 있는 것이죠.</p>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/a836f397-94d8-45e0-a7b0-356e1c073853/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/9fb03687-c2b9-483c-ad95-49a5e95e3f4a/image.png" alt="">
코드에 입력을 해주면 값이 바뀌는 것을 확인할 수 있습니다.
여기서는 autofocus와 className을 입력하였습니다.</p>
<h4 id="값을-바꾸는-것을-확인해봅시다">값을 바꾸는 것을 확인해봅시다.</h4>
<p><img src="https://velog.velcdn.com/images/mouse_hui729/post/40de436d-8825-4c18-82be-7c73cad0b3a9/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/a3f30733-40c2-4772-9505-b71d5f332673/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/11b3a654-751c-4bed-8116-3636b69ddf80/image.png" alt="">
HTML에 의해 변경된 것이 아니라 js에 의해 변경된 것이라는 것을 확인해볼 수 있습니다.</p>
<p>또한, console를 통해 원하는 것을 볼 수 있습니다.
<img src="https://velog.velcdn.com/images/mouse_hui729/post/faaea6e4-9014-43ac-863f-238f87c20586/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/51d10a71-3801-415b-94e8-a02558a70755/image.png" alt="">
<img src="https://velog.velcdn.com/images/mouse_hui729/post/5ce14a4d-0b75-4fa8-bf64-75260e290d54/image.png" alt="">
console.log 후 원하는 항목을 입력하면 페이지에 그 값이 출력되는 것을 확인해보았습니다.</p>
<ul>
<li>javascript는 이 HTML element를 가지고 오지만, HTML 자체를 보여주진 않습니다. </li>
<li>javascript는 object를 보여줍니다.</li>
<li>element를 찾고 나면 HTML에서 바꿀 수 있습니다.<h4 id="이게-어떻게-동작하는-것인지-아는-것이-매우-중요합니다">이게 어떻게 동작하는 것인지 아는 것이 매우 중요합니다!!</h4>
</li>
</ul>
]]></description>
        </item>
    </channel>
</rss>