<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>ryan-kim-dev.log</title>
        <link>https://velog.io/</link>
        <description>블로그 이사갔어요~ https://ryan-kim-dev.tistory.com/</description>
        <lastBuildDate>Fri, 13 Aug 2021 11:54:23 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <copyright>Copyright (C) 2019. ryan-kim-dev.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/ryan-kim-dev" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[21.08.13 TIL / 깃 - 브랜치(3-3)]]></title>
            <link>https://velog.io/@ryan-kim-dev/21.08.13-TIL-%EA%B9%83-%EB%B8%8C%EB%9E%9C%EC%B9%983-3</link>
            <guid>https://velog.io/@ryan-kim-dev/21.08.13-TIL-%EA%B9%83-%EB%B8%8C%EB%9E%9C%EC%B9%983-3</guid>
            <pubDate>Fri, 13 Aug 2021 11:54:23 GMT</pubDate>
            <description><![CDATA[<ul>
<li>git stash : 커밋하지 않은 수정 내용 보관하기/ 최소한 한번 이상 커밋한 파일들(tracked 상태)에 한해 가능한 기능<pre><code class="language-bash">$ git stash #또는# $ git stash save #으로 사용#
$ git stash list #stash해둔 파일들의 목록 확인하기#
#stash list는 &#39;선입후출&#39;(가장 먼저 감춘 파일은 stash@{0}에 들어가는데 그 다음에 파일이 추가되면 기존 파일은 stash@{1}로 옮겨지고 새로 추가된 파일이 stash{0}에 들어감)#</code></pre>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[21.08.12 TIL / 깃 - 브랜치(3-2)]]></title>
            <link>https://velog.io/@ryan-kim-dev/21.08.12-TIL-%EA%B9%83-%EB%B8%8C%EB%9E%9C%EC%B9%982-2</link>
            <guid>https://velog.io/@ryan-kim-dev/21.08.12-TIL-%EA%B9%83-%EB%B8%8C%EB%9E%9C%EC%B9%982-2</guid>
            <pubDate>Thu, 12 Aug 2021 13:01:38 GMT</pubDate>
            <description><![CDATA[<h2 id="14-브랜치-병합하기">1.4 브랜치 병합하기</h2>
<p>생성한 각 브랜치에서 작업을 하다가 마무리하고 기존 브랜치와 합치는 것을 병합(Merge)라고 한다.</p>
<h3 id="141-서로-다른-파일-병합하기">1.4.1 서로 다른 파일 병합하기</h3>
<pre><code class="language-bash">$ git merge &lt;생성한 브랜치명&gt; #master브랜치와 겹치지 않는 부분을 수정하고 병합하면 커밋 메세지 입력 후 자동으로 병합(automatic merge)이 되나 서로 같은 부분을 수정할 경우 충돌(Conflict)이 일어난다. 이럴 경우 수정 후 커밋해야 함.#</code></pre>
<ul>
<li>병합 시 충돌 예시
<img src="https://images.velog.io/images/ryan-kim-dev/post/1419249f-5bce-4585-9eb6-46ac5e070d29/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-12%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%207.35.47.png" alt="">
master 브랜치에서 수정한 부분과 같은 부분을 o2 브랜치에서 수정 후 병합한 경우이다. 자동 병합이 실패하였으니 수정하고 커밋해야 한다고 메세지가 나온다.</li>
</ul>
<p><img src="https://images.velog.io/images/ryan-kim-dev/post/b80bc372-54f9-4e55-83a0-c6eadbae8b5d/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-12%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%207.39.58.png" alt="">
충돌 상황에서 vim으로 해당 파일을 열면 위와 같이 나온다. 하단 설명 참조</p>
<pre><code class="language-bash">&lt;&lt;&lt;&lt;&lt;&lt;&lt; HEAD
#이 부분은 master 브랜치에서 수정한 부분#
=======
#이 부분은 o2 브랜치에서 수정한 부분#
&gt;&gt;&gt;&gt;&gt;&gt;&gt; o2</code></pre>
<p>이 경우 서로 겹치는 부분을 하나의 수정사항으로 만들고 &lt;&lt;&lt;&lt;&lt;&lt;<HEAD>&gt;&gt;&gt;&gt;&gt;&gt;o2, =======은 삭제하고 저장 후 커밋하면 정상적으로 커밋된다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[21.08.11 TIL / 깃 - 브랜치(3-1)]]></title>
            <link>https://velog.io/@ryan-kim-dev/21.08.11-TIL-%EA%B9%83-%EB%B8%8C%EB%9E%9C%EC%B9%982-1</link>
            <guid>https://velog.io/@ryan-kim-dev/21.08.11-TIL-%EA%B9%83-%EB%B8%8C%EB%9E%9C%EC%B9%982-1</guid>
            <pubDate>Tue, 10 Aug 2021 22:50:43 GMT</pubDate>
            <description><![CDATA[<h1 id="1-브랜치">1. 브랜치</h1>
<h2 id="11-브랜치란">1.1 브랜치란?</h2>
<ul>
<li>버젼 관리 시스템에서 브랜치란 나무가 가지에서 새 줄기를 뻗듯이 여러 갈래로 퍼지는 데이터 흐름을 가리키는 말이다.</li>
<li>브랜치가 필요한 이유: 원래 버젼을 보존한 상태에서 새로운 버젼을 추가해야 할 경우에 원래 버젼에 영향 없이 새로운 버젼을 만들고(분기) 새로운 버젼을 따로 버젼관리 및 추후 원본에 병합(Merge) 하기 위해 새로운 브랜치를 만든다.</li>
</ul>
<h2 id="12-브랜치-만들기--git-branch">1.2 브랜치 만들기- git branch</h2>
<pre><code class="language-bash">$ git branch &lt;브랜치명&gt; #새로운 브랜치 생성#</code></pre>
<h2 id="13-브랜치-정보-확인하기">1.3 브랜치 정보 확인하기</h2>
<pre><code class="language-bash">$ git checkout &lt;브랜치명&gt; #해당 브랜치로 이동#</code></pre>
<h3 id="131-git-log-옵션들">1.3.1 git log 옵션들</h3>
<pre><code class="language-bash">$ git log --oneline #한줄에 한 커밋만 보기#
$ git log --branches #각 브랜치의 커밋을 로그와 함께 보기#
$ git log --graph #브랜치와 커밋의 관계를 더 알아보기 쉽게 그래프 형태로 보기#
#셋이 붙여서 써도 됨.#</code></pre>
<h3 id="132-브랜치-사이의-차이점-알아보기">1.3.2 브랜치 사이의 차이점 알아보기</h3>
<pre><code class="language-bash">$ git log &lt;기준 브랜치명&gt;..&lt;비교할 브랜치명&gt;
#아래 예시#
$ git log master..apple #master 브랜치에는 없고 apple 브랜치에만 있는 커밋을 보여준다.#</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[21.08.10 TIL]]></title>
            <link>https://velog.io/@ryan-kim-dev/21.08.10-TIL</link>
            <guid>https://velog.io/@ryan-kim-dev/21.08.10-TIL</guid>
            <pubDate>Mon, 09 Aug 2021 23:10:21 GMT</pubDate>
            <description><![CDATA[<p>책 &#39;지옥에서 온 문서 관리자 깃&amp;깃허브 입문&#39; 읽고 정리</p>
<ul>
<li>git log 뒤에 --stat을 붙이면 log화면에서 각각의 해당 커밋에 관련된 파일들까지 볼 수 있다.</li>
<li>git checkout은 git switch와 git restore로 새버젼에서 대체되었다. <a href="https://blog.outsider.ne.kr/1505">참조</a><pre><code class="language-bash">$ git switch &lt;브랜치명&gt; #해당 브랜치로 변경#
$ git restore &lt;파일명&gt; #워킹 트리의 해당 파일을 복원(수정하기 전으로)#
$ git restore --staged &lt;파일명&gt; #이미 스테이징한 변경사항을 되돌리기#</code></pre>
</li>
<li>최신 커밋을 되돌리려면 git reset 명령 다음에 HEAD^(현재 HEAD가 가리키는 브랜치의 최신 커밋)를 붙인다.
이렇게 되면 커밋도 취소되고 스테이지에서도 내려져, 취소한 파일이 작업 트리에만 남는다.<pre><code class="language-bash">$ git reset HEAD^ #가장 최근에 커밋한 내용 다시 되돌리기#</code></pre>
</li>
<li>git reset 명령의 옵션 살펴보기
<del>~</del>bash</li>
<li>-soft HEAD^ #최근 커밋을 하기 전 상태로 작업 트리를 되돌리기#</li>
<li>-mixed HEAD^ #최근 커밋과 스테이징을 하기 전 상태로 작업 트리를 되돌리기/ 옵션 없이 git reset 명령을 사용할 경우 이 옵션이 기본값#</li>
<li>-hard HEAD^ #최근 커밋과 스테이징, 파일 수정을 하기 전 상태로 작업 트리를 되돌리기/ 되돌린 내용 복구불가#
<del>~</del></li>
<li>git reset은 선택한 커밋 해시 이후의 커밋들이 전부 삭제되므로, 커밋을 삭제하지 않고 변경사항을 되돌릴 경우 git revert를 사용한다.<pre><code class="language-bash">git revert &lt;커밋 해시&gt; #되돌릴 커밋 해시값을 붙여넣기 한다.#</code></pre>
</li>
<li>스테이징한 내용을 취소하고 싶은 경우에는 (구버젼)git reset HEAD &lt;파일명&gt; 또는 (최신)git restore --staged &lt;파일명&gt; 입력./ git reset HEAD 뒤에 파일명 미입력시 스테이징한 모든 파일을 되돌린다.<pre><code class="language-bash">#둘 다 같은 기능: 해당 파일 스테이징 취소#
#git reset HEAD &lt;파일명&gt;은 스테이징 되돌리기/ git reset HEAD^는 커밋 되돌리기 이므로 헷갈리지 말기!#
$ git reset HEAD &lt;파일명&gt;
$ git restore --staged &lt;파일명&gt;</code></pre>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[21.08.09 TIL]]></title>
            <link>https://velog.io/@ryan-kim-dev/21.08.09-TIL</link>
            <guid>https://velog.io/@ryan-kim-dev/21.08.09-TIL</guid>
            <pubDate>Mon, 09 Aug 2021 13:07:08 GMT</pubDate>
            <description><![CDATA[<p>책 &#39;지옥에서 온 문서 관리자 깃&amp;깃허브 입문&#39; 읽고 정리</p>
<ul>
<li><p>깃이 다른 저장소들과 차별화되는 점은 파일을 수정할 때마다 다른 이름으로 일일히 새로 저장하는 대신, 동일한 파일명으로 모든 수정사항 및 만든 시간을 기록하고 과거 어떤 시점이든 다시 되돌아갈수 있고 새로운 브랜치로 원본에 영향이 가지 않는 다른 버젼을 만들수 있다는 점이다.
(깃에서 버젼이란 문서를 수정하고 저장할 때마다 생기는 것)</p>
</li>
<li><p>.git은 숨겨진 디렉터리이며, 스테이지와 저장소 등 버젼 관리 정보가 담겨있다. 따라서 지울 경우 마지막 저장된 소스코드를 제외한 과거의 버젼 이력들이 날아간다.</p>
</li>
<li><p>untracked files: 아직 한번도 버젼관리를 하지 않은 파일</p>
</li>
<li><p>작업 트리(working tree, working directory): 파일 수정, 저장 등의 작업을 하는 디렉터리</p>
</li>
<li><p>스테이지(stage, staging): 버젼으로 만들 파일이 대기하는 곳.</p>
</li>
<li><p>저장소: 스테이지에서 대기하고 있던 파일들을 버젼으로 만들어 저장하는 곳</p>
</li>
<li><p>원격 저장소와 연결하지 않고 파일을 만들고 git add로 스테이징 후 git commit으로 커밋 할 경우 로컬 저장소(내 컴퓨터)에만 저장됨.
원격 저장소에 올리고 싶은 경우</p>
<pre><code class="language-bash">$git remote add &lt;name&gt; &lt;url&gt;
$git push &lt;name&gt;</code></pre>
<p>해주어야 원격 저장소와 연동됨. 다음 글들에서 다시 설명 예정!</p>
</li>
<li><p>.gitignore 파일을 생성하여 버젼관리에서 제외할 파일, 디렉터리, 확장자를 지정할수 있다.</p>
</li>
</ul>
<pre><code class="language-bash">$ git init #깃 초기화 : 깃을 사용할 수 있도록 디렉터리를 초기화(initialize)/ 뒤에 디렉터리명을 붙여 입력할 경우 해당 디렉터리를 생성함과 동시에 깃을 사용가능한 상태로 만듬#
$ git add #새로 만들거나 수정한 파일을 스테이징하기#
$ git commit -am #한번이라도 커밋한 적이 있는 파일에 대해서 스테이징과 커밋 메세지(1줄짜리)를 한번에 처리.#
$ git commit --amend #방금 커밋 위에 덮어쓰기(커밋 메세지 수정 용도로 사용시 옵션없이 사용한다.)#</code></pre>
<ul>
<li>git diff 는 저장소에 있는 최신 버젼의 파일과 작업 트리 안에서 수정하고 아직 스테이징 하지 않은 파일의 차이점을 보고자 할 때 사용한다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[21.08.08 TIL]]></title>
            <link>https://velog.io/@ryan-kim-dev/21.08.08-TIL</link>
            <guid>https://velog.io/@ryan-kim-dev/21.08.08-TIL</guid>
            <pubDate>Sun, 08 Aug 2021 12:18:39 GMT</pubDate>
            <description><![CDATA[<p><a href="https://book.naver.com/bookdb/book_detail.nhn?bid=15910099">&#39;지옥에서 온 문서 관리자 깃&amp;깃허브 입문&#39;</a> 책 읽고 배운 내용 정리</p>
<pre><code class="language-bash">$ git config --global user.name &quot;깃허브 닉네임&quot;
$ git config --global user.email &quot;메일주소&quot;</code></pre>
<p>깃 설치 후 내 깃허브 계정을 연동시키기 위해 이름과 메일주소를 입력한다.</p>
<pre><code class="language-bash">$ cd~</code></pre>
<p>홈 디렉터리로 이동</p>
<pre><code class="language-bash">$ cd ..</code></pre>
<p>부모 디렉터리로 이동</p>
<pre><code class="language-bash">$ cd kim</code></pre>
<p>kim 디렉터리로 이동(해당 디렉터리의 부모 디렉터리에 있을 때에만 가능)</p>
<pre><code class="language-bash">$ pwd</code></pre>
<p>현재 경로 나타내기</p>
<pre><code class="language-bash">$ mkdir</code></pre>
<p>디렉터리 생성</p>
<pre><code class="language-bash">$ ls</code></pre>
<p>디렉터리 내용 보기</p>
<pre><code class="language-bash">$ ls -l</code></pre>
<p>옵션을 사용해 디렉터리의 폴더 상세정보까지 보기</p>
<pre><code class="language-bash">$ ls -a</code></pre>
<p>옵션을 사용해 디렉터리의 숨김 파일과 디렉터리까지 보기</p>
<pre><code class="language-bash">vim test.txt</code></pre>
<p>vim에디터를 사용해 test.txt 파일을 작성</p>
<pre><code class="language-bash">rm -r kim</code></pre>
<p>kim 디렉터리와 kim 디렉터리 안의 하위 디렉터리, 파일까지 전부 삭제(-r 옵션사용)</p>
<pre><code class="language-bash">exit</code></pre>
<p>터미널 창 종료</p>
<pre><code class="language-bash">cat kims.txt</code></pre>
<p>kims.txt 파일의 내용을 터미널창에 보이기</p>
<pre><code>&lt;!--vim에디터 명령어--&gt;
:e 파일명.txt &lt;!-- 불러오기--&gt;
:w &lt;!--저장--&gt;
:q &lt;!--종료--&gt;
:wq &lt;!--저장하고 종료/ 파일명 입력시 해당 이름으로 저장--&gt;
:q! &lt;!--저장하지 않고 종료하기/ .swp 확장자의 임시파일이 생성됨.--&gt;</code></pre><p>vim 에디터는 ex 모드와 입력 모드 두가지의 모드가 있다.
최초 vim 실행시 에디터는 ex모드로 실행되어 텍스트 입력이 되지 않으므로 i(insert) 또는 a(add) 버튼을 눌러 입력 모드로 들어가 입력을 한 후, esc를 눌러 다시 ex모드로 나와서 저장 또는 종료를 한다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[자바스크립트]]></title>
            <link>https://velog.io/@ryan-kim-dev/%ED%81%B4%EB%A1%A0%EC%BD%94%EB%94%A9%EC%9D%84-%EC%9C%84%ED%95%9C-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%B4%88%EA%B0%84%EB%8B%A8-%EC%A0%95%EB%A6%AC%EC%9E%91%EC%84%B1%EC%A4%91</link>
            <guid>https://velog.io/@ryan-kim-dev/%ED%81%B4%EB%A1%A0%EC%BD%94%EB%94%A9%EC%9D%84-%EC%9C%84%ED%95%9C-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%B4%88%EA%B0%84%EB%8B%A8-%EC%A0%95%EB%A6%AC%EC%9E%91%EC%84%B1%EC%A4%91</guid>
            <pubDate>Sat, 17 Jul 2021 13:36:12 GMT</pubDate>
            <description><![CDATA[<h1 id="1-표기법"><strong>1. 표기법</strong></h1>
<ul>
<li>dash-case(kebab-case)</li>
<li>snake_case</li>
<li>camelCase</li>
<li>ParcelCase</li>
</ul>
<h2 id="11-dash-casekebab-case"><strong>1.1 dash-case(kebab-case)</strong></h2>
<p>띄어쓰기를 -로 나타냄.</p>
<pre><code class="language-form-follows-function"></code></pre>
<p>컴퓨터는 form부터 function까지 하나의 단어로 인식하지만 우리는 각각 단어별로 띄어서 인식.
html과 css에서 주로 단어를 표기하는 방법으로 사용된다.</p>
<h2 id="12-snake_case"><strong>1.2 snake_case</strong></h2>
<p>띄어쓰기를_언더바로_나타냄.
html과 css에서 주로 사용.</p>
<h2 id="13-camelcase"><strong>1.3 camelCase</strong></h2>
<p>theQuickBrownFoxJumpsOverTheLazyDog
첫 글자는 소문자로, 나머지 단어는 대문자로 시작하며 이 모양새가 낙타의 혹처럼 보인다고 하여 카멜 케이스라 불림.
우리가 알고있는 단어들을 조합해서 하나로 컴퓨터에게 인식시키고자 할 때 사용한다.
dash-case, snake_case, camelCase, PascalCase 모두 자바스크립트에서 사용 가능 하지만 거의 대부분 camelCase를 주로 사용한다.</p>
<h2 id="14-pascalcase"><strong>1.4 PascalCase</strong></h2>
<p>TheQuickBrownFoxJumpsOverTheLazyDog
첫 글자부터 단어를 대문자로 시작한다.
생성자 함수 사용시 PascalCase를 통해 함수의 이름을 명시한다.</p>
<h2 id="15-zero-based-numbering"><strong>1.5 Zero-based Numbering</strong></h2>
<p>다른 개발 언어들처럼 자바스크립트도 특수한 몇가지 경우를 제외하면 0부터 숫자를 시작한다.</p>
<pre><code class="language-js">let fruits = [&#39;Orange&#39;, &#39;Strawberry&#39;, &#39;Apple&#39;]
console.log(fruits[0]); // &#39;Orange&#39;
console.log(fruits[1]); // &#39;Strawberry&#39;
console.log(fruits[2]); // &#39;Apple&#39;</code></pre>
<p>Orange는 첫번째가 아니라 0번째 이다.</p>
<h2 id="16-주석comments"><strong>1.6 주석(Comments)</strong></h2>
<p>html, css와 다르게 주석처리의 종류가 여러가지이다.</p>
<pre><code class="language-js">//한줄짜리 주석 처리 첫번째 방법
/*한줄짜리 주석 처리 두번째 방법*/

/**
여러 줄의 주석
처리 방법은
이렇게.
*/</code></pre>
<h1 id="2-자료형data-type">2. 자료형(Data Type)</h1>
<ul>
<li>String</li>
<li>Number</li>
<li>Boolean</li>
<li>Undefined</li>
<li>Null</li>
<li>Object</li>
<li>Array</li>
</ul>
<h2 id="21-string문자열">2.1 String(문자열)</h2>
<pre><code class="language-js">// String(문자열)
// 큰따옴표나 작은따옴표 사용.
// let 변수명 = &#39;문자열&#39;; 형식으로 변수를 선언한다.
let myName = &quot;RYANKIM&quot;;
let email = &#39;blabla@gmail.com&#39;;
let hello = `Hello ${myName}?!`
//`(백틱) 기호를 사용하여 보간법으로 ${myName} 즉 myname 변수의 값인 RYANKIM 도 끼워넣음.

console.log(myName); // RYANKIM
console.log(email); // blabla@gmail.com
console.log(hello); // Hello RYANKIM?!</code></pre>
<h2 id="22-number숫자-데이터">2.2 Number(숫자 데이터)</h2>
<pre><code class="language-js">//Number(숫자 데이터)
// 정수 및 부동소수점 숫자를 나타낸다.
// 변수에 할당한 값이 숫자이더라도 따옴표로 감싸게 되면 넘버 타입이 아닌 스트링 타입으로 문자로 인식됨!
let number = 365;
let opacity = 3.54;

console.log(number); // 365
console.log(opacity); // 3.54</code></pre>
<h2 id="23-boolean불린-데이터">2.3 Boolean(불린 데이터)</h2>
<pre><code class="language-js">// Boolean(불린 데이터)
// true, false 두 가지 값밖에 없는 논리 데이터이다.
let checked = true;
let isShow = false;

console.log(checked); // true
console.log(isShow); // false</code></pre>
<h2 id="24-undefined">2.4 Undefined</h2>
<pre><code class="language-js">// Undefined
// 값이 할당되지 않은 상태를 나타낸다.

let undef; // 변수에 값을 할당하지 않은 상태를 자바스크립트에서는 undefined라는 하나의 데이터 타입으로 인식한다.
let obj = { abc: 123 }; // 변수 obj에 객체 데이터(object)를 할당함.

console.log(undef); // undefined
console.log(obj.abc); // 123
console.log(obj.xyz); // undefined</code></pre>
<h2 id="25-null">2.5 Null</h2>
<pre><code class="language-js">// Null
/** 어떤 값이 &#39;의도적으로&#39; 비어있음을 의미한다. Undefined랑 헷갈리지 말기!
undefined와 null 둘다 비어있음은 동일하나 undefined는 의도적으로 비운게 아님.
let empty = null; // let 변수명 = null; 으로 명시적으로 값이 비어있는 상태(null)임을 선언함.

console.log(empty); // null</code></pre>
<h2 id="26-object객체-데이터">2.6 Object(객체 데이터)</h2>
<pre><code class="language-js">// Object(객체 데이터)
// 여러 데이터를 Key: Value 형태로 저장한다. {}
let user = {
  // Key: Value
  name: &quot;KIM&quot;,
  age: 88,
  isValid: true
};

console.log(user.name); // KIM
console.log(user.age); // 85
console.log(user.isValid); // true</code></pre>
<h2 id="27-array배열-데이터">2.7 Array(배열 데이터)</h2>
<pre><code class="language-js">// Array(배열 데이터)
// 여러 데이터를 순차적으로 저장한다.

let fruits = [&#39;apple&#39;, &#39;Banana&#39;, &#39;Cherry&#39;];

console.log(fruits[0]); // &#39;Apple&#39;
console.log(fruits[1]); // &#39;Banana&#39;
console.log(fruits[2]); // &#39;Cherry&#39;</code></pre>
<h1 id="3-변수">3. 변수</h1>
<p>데이터를 저장하고 참조(사용)하는 데이터의 이름이며 var, let, const 를 사용하여 변수를 선언하는데 최근에는 var를 가급적 사용하지 않는것을 권장.
let으로 선언시 재사용 가능
let 사용시 재할당 가능, const(상수: 변하지 않는 값) 사용시 재할당 불가능
변수를 만들때 값이 계속 바뀔 수 있는 상태로 두기 보다는 재할당이 불가능한 const 키워드로 사용하고 재할당이 필요한 경우에만 let 키워드를 사용하는게 좋다.</p>
<h2 id="31-예약어">3.1 예약어</h2>
<p>특별한 의미를 가지고 있어 변수나 함수 이름 등으로 사용할 수 없는 단어를 말한다.
(ex: this, if, break 등등..)</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Block, Inline, Inline-block 특징 간단 정리]]></title>
            <link>https://velog.io/@ryan-kim-dev/Block-Inline-Inline-block-%ED%8A%B9%EC%A7%95-%EA%B0%84%EB%8B%A8-%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@ryan-kim-dev/Block-Inline-Inline-block-%ED%8A%B9%EC%A7%95-%EA%B0%84%EB%8B%A8-%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Fri, 16 Jul 2021 15:59:23 GMT</pubDate>
            <description><![CDATA[<p>block</p>
<ol>
<li>한줄을 무조건 차지하는 길막하는 성질</li>
<li>width, height, padding, border, margin 다 적용 가능</li>
<li>따로 width를 선언하지 않은 경우 width = 부모의 content - box의 100% / 따로 width를 선언한 경우 남은 공간은 margin으로 채움.</li>
<li>따로 부모의 height를 선언하지 않을 경우 자식 요소의 height의 합 = 부모의 height</li>
</ol>
<p>inline (흐름)</p>
<ol>
<li>block(면 - 영역) vs inline(선 - 흐름)</li>
<li>텍스트처럼 영역이 모자라면 자동으로 줄바꿈</li>
<li>width, height, padding-top, padding-bottom, border-top, border-bottom, margin-top, margin-bottom 사용불가 = padding, border, margin 좌,우는 적용가능</li>
</ol>
<p>inline-block</p>
<ol>
<li>block처럼 영역을 잡을수 있으면서도 inline처럼 흐름 안에 있다.</li>
<li>width, height, padding-top, padding-bottom, border-top, border-bottom, margin-top, margin-bottom 사용가능</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[21.07.16 TIL]]></title>
            <link>https://velog.io/@ryan-kim-dev/21.07.16-TIL</link>
            <guid>https://velog.io/@ryan-kim-dev/21.07.16-TIL</guid>
            <pubDate>Fri, 16 Jul 2021 13:54:31 GMT</pubDate>
            <description><![CDATA[<p><a href="https://material.io"><strong>Google Material icons</strong></a>
자주 사용하는 아이콘들을 매번 디자이너에게 요구할 수 없기 때문에 구글에서 제공하는 아이콘들을 코드로 사용가능</p>
<ol>
<li><p><a href="https://material.io/develop/web/getting-started">이곳에서</a> 하단 코드를 프로젝트의 <head> 태그 내에 삽입한다.</p>
<pre><code class="language-html">&lt;link rel=&quot;stylesheet&quot; href=&quot;https://fonts.googleapis.com/icon?family=Material+Icons&quot;&gt;</code></pre>
</li>
<li><p><a href="https://fonts.google.com/icons?selected=Material+Icons">구글 폰트에서</a> 원하는 아이콘을 선택하면 나오는 메뉴에서 class명이 &quot;material-icons&quot; 인 span 태그를 내 프로젝트에 삽입한다.
<img src="https://images.velog.io/images/ryan-kim-dev/post/62bbe5a5-f8cb-49cc-b769-8f71d0a28cf5/image.png" alt=""></p>
</li>
<li><p>해당 아이콘 크기를 키우려면 css에서 width나 height 가 아니라 font-size를 조정한다.</p>
</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[21.07.15 TIL]]></title>
            <link>https://velog.io/@ryan-kim-dev/21.07.15-TIL</link>
            <guid>https://velog.io/@ryan-kim-dev/21.07.15-TIL</guid>
            <pubDate>Thu, 15 Jul 2021 14:13:22 GMT</pubDate>
            <description><![CDATA[<p>폰트 적용시 용량이 큰편이므로 하나의 페이지에서 너무 폰트를 남발하지 않도록 주의해야 한다.
폰트 사용시 무료이용, 상업적 이용이 가능한 폰트인지 반드시 확인하기.</p>
]]></description>
        </item>
    </channel>
</rss>