<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>front-ant.log</title>
        <link>https://velog.io/</link>
        <description>개미처럼 꾸준히 공부하는 개발자입니다.</description>
        <lastBuildDate>Thu, 28 Apr 2022 15:21:40 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>front-ant.log</title>
            <url>https://velog.velcdn.com/images/front-ant/profile/1c57c027-851e-4b17-83f2-48788167027f/image.png</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. front-ant.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/front-ant" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[[JS] 가져오기 / 내보내기 정리]]></title>
            <link>https://velog.io/@front-ant/JS-%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0-%EB%82%B4%EB%B3%B4%EB%82%B4%EA%B8%B0-%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@front-ant/JS-%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0-%EB%82%B4%EB%B3%B4%EB%82%B4%EA%B8%B0-%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Thu, 28 Apr 2022 15:21:40 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/front-ant/post/eb82f94f-a1cb-41c1-bc47-fed4a0bb85cf/image.png" alt=""></p>
<h1 id="가져오기--내보내기">가져오기 / 내보내기</h1>
<blockquote>
<p><code>import</code> : 외부에 있는 다른 자바스크립트 파일을 가져올 수 있다.
<code>export</code> : 내부에 있는 다른 자바스크립트 파일을 내보낼 수 있다.</p>
</blockquote>
<br>

<h2 id="--export-내보내기">- export (내보내기)</h2>
<h3 id="1-default-export">1. default export</h3>
<blockquote>
<p>파일을 내보낼 때 이름을 지정하지 않아도 되는 내보내기 방식이다.
단점으로 하나의 파일에서 한 개의 함수,변수등을 내보낼 수 있다.</p>
</blockquote>
<h3 id="default-export-사용법">default export 사용법</h3>
<pre><code class="language-js">export default function () {

};</code></pre>
<br>

<h3 id="2-named-export">2. named export</h3>
<blockquote>
<p>파일을 내보낼 때 이름을 지정해줘서 내보내는 방식이다.
이렇게 이름만 지정되어 있다면, 하나의 파일에서 몇개의 함수,변수등을 내보내던지 상관이 없다.</p>
</blockquote>
<h3 id="named-export-사용법">named export 사용법</h3>
<pre><code class="language-js">export function name1(){

};

export const name2 = { };</code></pre>
<br>

<h2 id="--import-가져오기">- import (가져오기)</h2>
<h3 id="1-import-default-export에서-나오는-파일-가져오기">1. import (default export에서 나오는 파일 가져오기)</h3>
<blockquote>
<p><code>import</code>에 아무 이름을 입력해도 상관이 없다.</p>
</blockquote>
<h3 id="import-사용법-default-export">import 사용법 (default export)</h3>
<pre><code class="language-js">import name from &#39;가져올 js파일 위치&#39;</code></pre>
<br>

<h3 id="2-import-named-export에서-나오는-파일-가져오기">2. import (named export에서 나오는 파일 가져오기)</h3>
<blockquote>
<p><code>import</code>에 이름을 입력해 줄 때 이름을 <code>{ }</code>로 꼭 감싸줘야 한다.
<code>{ }</code>안에 데이터를 변경하고 싶다면 <code>:</code>가 아닌 <code>as</code>를 사용하여 <code>{name as firstName}</code> 이런식으로 사용하여 변경할 수 있다.</p>
</blockquote>
<h3 id="import-사용법-named-export">import 사용법 (named export)</h3>
<pre><code class="language-js">import {name} from &#39;가져올 js파일 위치&#39;

import {name as firstName} from &#39;가져올 js파일 위치&#39;</code></pre>
<p>💡 한 번에 파일안에 모든 <code>named export</code>로 내보낸 내용을 가져오고 싶다면,
<code>import * as name from &#39;가져올 js파일 위치&#39;</code>로 <code>*</code>을 사용해 모든 내용을 할당해서 가져올 수 있다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[구조 분해 할당]]></title>
            <link>https://velog.io/@front-ant/%EA%B5%AC%EC%A1%B0-%EB%B6%84%ED%95%B4-%ED%95%A0%EB%8B%B9</link>
            <guid>https://velog.io/@front-ant/%EA%B5%AC%EC%A1%B0-%EB%B6%84%ED%95%B4-%ED%95%A0%EB%8B%B9</guid>
            <pubDate>Thu, 28 Apr 2022 08:45:39 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/front-ant/post/5a93f84b-ca27-4fae-a4d2-cd623e69e3b7/image.png" alt=""></p>
<h1 id="구조-분해-할당">구조 분해 할당</h1>
<blockquote>
<p>구조 분해 할당이란 배열이나 객체의 속성을 분해해서 변수에 할당하는 방법이다.</p>
</blockquote>
<h3 id="구조-분해-할당-방법">구조 분해 할당 방법</h3>
<pre><code class="language-js">const user = {
    name: &#39;Kim&#39;,
    age: 27,
    address: &#39;Korea&#39;
}

const {name,age,address} = user;

console.log(name);
// Kim</code></pre>
<p><code>user</code> 객체에서 <code>name, age, address</code>를 변수 이름으로 할당했고, 이 변수를 각각 호출하게 되면 <code>user</code> 객체 안에 있는 <code>name</code>의 value를 출력한다.</p>
<br>

<p>💡 만약에 아래의 예시처럼 <code>address</code>가 <code>user</code> 객체 안에 없다면 기본값을 지정해줘서 사용이 가능하다.
기본값을 지정해줘도 <code>user</code>안에 <code>key</code>값이 있다면 <code>user</code>안에 있는 값이 우선순위로 적용이 된다.</p>
<pre><code class="language-js">const user = {
    name: &#39;Kim&#39;,
    age: 27,
}

const {name,age,address = &#39;Korea&#39;} = user;

console.log(address);
// Korea</code></pre>
<br>

<p>💡 객체를 구조 분해 할당으로 지정해준 값의 변수 이름을 따로 바꾸고 싶다면 변수명을 <code>:</code>을 사용하여 변경해주면, 호출할 때 변경된 변수의 이름으로 호출할 수 있고 출력되는 값은 변수의 내용이 아닌 이름만 바뀌었기 때문에 <code>user</code>의 <code>address</code>에 있는 부분이 호출되게 된다.</p>
<pre><code class="language-js">const user = {
    name: &#39;Kim&#39;,
    age: 27,
    address: &#39;Korea&#39;
}

const {name,age,address:country} = user;

console.log(country);
// Korea</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[object.assign( ) 정리]]></title>
            <link>https://velog.io/@front-ant/object.assign-%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@front-ant/object.assign-%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Thu, 28 Apr 2022 08:21:47 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/front-ant/post/5ea288b7-b15c-4b6c-a2b2-f8d748197d28/image.png" alt=""></p>
<h1 id="objectassign-이란">object.assign( )이란?</h1>
<blockquote>
<p>대상 객체에 출처 객체의 데이터를 덮어 씌우는 메서드이다.</p>
</blockquote>
<pre><code class="language-js">const user1 = {
    name: &#39;Kim&#39;,
    age: 27
}

const user2 = {
    name: &#39;Park&#39;,
    age: 30
}

Object.assign(user1,user2);
// user1 = {
//    name: &#39;Park&#39;,
//    age: 30
// }</code></pre>
<p><code>assign(대상 객체,출처 객체1,출처 객체2...)</code> 이렇게 출처 객체는 한개가 아닌 여러개를 사용할 수가 있다.
여러개의 데이터를 겹칠 때 같은 <code>key</code>값이 있다면 뒤에 오는 순서가 덮어 씌워지게 된다.</p>
<p>💡 만약 출처 객체들을 모아 새로운 대상 객체를 생성하고 싶다면 빈 중괄호를 사용하면 아예 새로운 객체가 생성이 된다. 이 방법은 객체의 복사본을 만들 때도 사용할 수 있다.</p>
<pre><code class="language-js">const user1 = {
    name: &#39;Kim&#39;,
    age: 27,
    job: &#39;student&#39;
}

const user2 = {
    name: &#39;Park&#39;,
    age: 30
}
const user3 = Object.assign({},user1,user2);
// user3 = {
//    name: &#39;Park&#39;,
//  age: 30,
//  job: &#39;student&#39;
// }</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[배열 API 정리]]></title>
            <link>https://velog.io/@front-ant/%EB%B0%B0%EC%97%B4-API-%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@front-ant/%EB%B0%B0%EC%97%B4-API-%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Thu, 28 Apr 2022 08:05:33 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/front-ant/post/b2dd2228-6796-4a67-9b5a-b7346aaf6b82/image.png" alt=""></p>
<h3 id="1-concat-">1. concat( )</h3>
<pre><code class="language-js">const user1 = [&#39;1&#39;,&#39;2&#39;,&#39;3&#39;]
const user2 = [&#39;3&#39;,&#39;4&#39;,&#39;5&#39;]

const result = user1.concat(user2);
// &#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;3&#39;,&#39;4&#39;,&#39;5&#39;</code></pre>
<p><code>concat</code>은 배열에 다른 배열을 덮어씌울 수 있는 메서드입니다.
대신 두 개의 배열이 같은 내용을 가지고 있어도 중복으로 출력이 된다는 점이 있습다.</p>
<p>💡 메서드에 인수로 함수를 사용할 때 그 함수를 콜백함수라고 부릅니다.</p>
<br>

<h3 id="2-foreach-">2. forEach( )</h3>
<pre><code class="language-js">const user1 = [&#39;1&#39;,&#39;2&#39;,&#39;3&#39;]

user1.forEach(function(element,index){
    console.log(element,index);
});
// 1 0 
// 2 1
// 3 2</code></pre>
<p><code>forEach</code>는 콜백함수를 배열 요소 각각에 대해 실행할 수 있습니다.
위 식은 배열의 요소와 그 요소에 대한 인덱스 번호를 차례대로 끝까지 호출을 한 식입니다.</p>
<br>

<h3 id="3-map-">3. map( )</h3>
<pre><code class="language-js">const user1 = [&#39;1&#39;,&#39;2&#39;,&#39;3&#39;]

const result = user1.map(function(item,index){
    return `${item}-${index}`
});
// 1-0
// 2-1
// 3-2</code></pre>
<p><code>map</code>은 콜백함수의 값을 반환하여 변수에 저장할 수 있습니다.
그리고 새로운 배열로 묶어서 출력이 됩니다.</p>
<br>

<h3 id="4-push-">4. push( )</h3>
<pre><code class="language-js">const user1 = [&#39;1&#39;,&#39;2&#39;,&#39;3&#39;]

user1.push(&#39;맨 뒤에 추가&#39;);
// [&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;맨 뒤에 추가&#39;]</code></pre>
<p>배열에 추가할 값을 맨 뒤에 추가시켜주는 메서드입니다.</p>
<br>

<h3 id="5-unshift-">5. unshift( )</h3>
<pre><code class="language-js">const user1 = [&#39;1&#39;,&#39;2&#39;,&#39;3&#39;]

user1.unshift(&#39;맨 앞에 추가&#39;);
// [&#39;맨 앞에 추가&#39;,&#39;1&#39;,&#39;2&#39;,&#39;3&#39;]</code></pre>
<p>배열에 추가할 값을 맨 앞에 추가 시켜주는 메세드입니다.</p>
<br>

<h3 id="6-reverse-">6. reverse( )</h3>
<pre><code class="language-js">const user1 = [&#39;1&#39;,&#39;2&#39;,&#39;3&#39;]

user1.reverse();
// [&#39;3&#39;,&#39;2&#39;,&#39;1&#39;]</code></pre>
<p>배열의 순서를 거꾸로 뒤바꾸는 메서드입니다.</p>
<br>

<h3 id="7-splice-">7. splice( )</h3>
<pre><code class="language-js">const user1 = [&#39;1&#39;,&#39;2&#39;,&#39;3&#39;]

user1.splice(0,1);
// [&#39;2&#39;,&#39;3&#39;]</code></pre>
<p><code>splice</code>는 ( )안에 <code>(지울 index번호, 지울 index번호부터 몇개를 지울지)</code>를 입력해주면 선택한 index번호 부터 지정한 개수만큼 배열안에 요소를 삭제해준다.</p>
<br>

<pre><code class="language-js">const user1 = [&#39;1&#39;,&#39;2&#39;,&#39;3&#39;]

user1.splice(3,0,&#39;4&#39;);
// [&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;4&#39;]</code></pre>
<p><code>splice</code>는 삭제뿐만 아니라 지운 위치에 새로운 데이터를 끼워 넣을 수도 있고 <code>(지울 index번호, 지울 index번호부터 몇개를 지울지,&#39;그 자리에 넣을 데이터&#39;)</code>, 지울 개수를 0으로 설정하여 아무 데이터도 지우지 않고 선택한 위치에 새로운 데이터를 넣을 수도 있다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[npm으로 개발 서버 여는 법]]></title>
            <link>https://velog.io/@front-ant/npm%EC%9C%BC%EB%A1%9C-%EA%B0%9C%EB%B0%9C-%EC%84%9C%EB%B2%84-%EC%97%AC%EB%8A%94-%EB%B2%95</link>
            <guid>https://velog.io/@front-ant/npm%EC%9C%BC%EB%A1%9C-%EA%B0%9C%EB%B0%9C-%EC%84%9C%EB%B2%84-%EC%97%AC%EB%8A%94-%EB%B2%95</guid>
            <pubDate>Thu, 28 Apr 2022 02:35:01 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/front-ant/post/2399fa1b-0249-4b57-b937-a331b1e5d05c/image.png" alt=""></p>
<h1 id="npm이란">npm이란?</h1>
<p>npm은 Node Package Manager로 전 세계 노드 개발자들이 만든 기능(패키지, 모듈)을 사용할 수 있습니다.
npm은 node.js를 설치할 때 자동으로 설치가 됩니다.</p>
<br>

<h3 id="--packagejson">- package.json</h3>
<blockquote>
<p>vscode 터미널에서 <code>npm init -y</code>라는 명령어를 사용하면 <code>package.json</code>이라는 파일이 폴더에 생성된다. 이 파일은 사용자의 정보나 라이센스, 버전을 수정할 수 있습니다.</p>
</blockquote>
<br>

<h3 id="--npm-install">- npm install</h3>
<blockquote>
<p><code>npm install</code>+<code>설치할 패키지</code>를 통해서 npm 생태계 안에서 다양한 패키지,모듈을 설치할 수 있다.</p>
</blockquote>
<br>

<h3 id="--parcel-bundler">- parcel bundler</h3>
<blockquote>
<p>먼저 <code>npm install parcel-bundler -D</code>라는 명령어를 터미널에 입력하면 parcel bundler라는 패키지를 설치할 수 있습니다. 같이 설치되는 node_modules에 있는 폴들은 parcel bundler를 사용할 때 같이 필요한 패키지들이고, 자동으로 같이 설치가 됩니다.</p>
</blockquote>
<p>💡 <code>package.json</code> 에 <code>devDepndencies</code>, <code>Depndencies</code>를 보면 설치된 패키지들을 볼 수 있습니다.
이렇게 설치된 파일을 볼 수 있을 때 장점은 node_modules 폴더가 삭제되어도 <code>package.json</code>에 있는 설치된 패키지 내역을 보고 <code>npm install</code>을 해주면 내역에 있는 모든 패키지들이 다시 설치가 됩니다. <br><code>npm i</code> 로 작성해도 됩니다. (install의 약어)
추가로 설치된 따로 설정을 하지 않아도 <code>package-lock.json</code>은 자동으로 관리됩니다.</p>
<br>

<h3 id="--lodash">- lodash</h3>
<blockquote>
<p><code>npm install lodash</code>를 통해서 설치할 수 있습니다.</p>
</blockquote>
<p>💡 여기서 parcel bundler를 설치할 때와 다르게 <code>-D</code>를 붙이지 않은 이유는?</p>
<ul>
<li>-D 가 붙어서 설치하는 패키지는 개발용 의존성 패키지입니다. 개발할 때만 필요하고 웹브라우저에서 동작할 때 필요하지 않습니다.</li>
<li>-D 가 없이 설치하는 패키지는 일반 의존성 패키지입니다. 웹브라우저에 동작할 때 필요하다 라고 표시해주는 것 입니다.</li>
</ul>
<br>

<h3 id="--서버-연결">- 서버 연결</h3>
<h4 id="1dev">1.&quot;dev&quot;</h4>
<blockquote>
<p>이렇게 필요한 패키지들을 설치하고 나서 <code>package.json</code>안에 <code>&quot;script&quot;</code>라는 항목이 있습니다. 여기에 있는 <code>&quot;test&quot;</code>은 필요가 없으니 지워주시고, <code>&quot;dev&quot;: &quot;parcel index.html&quot;</code>를 작성해 줍니다. 이렇게 작성해주면 우리 프로젝트 내부에서 이 명령이 동작하게 설정된다는 의미를 가지고 있고, 로컬 환경에서 개발용으로 프로젝트를 확인할 수 있습니다.</p>
</blockquote>
<h4 id="2build">2.&quot;build&quot;</h4>
<blockquote>
<p><code>package.json</code>안에 있는 <code>&quot;script&quot;</code>에  <code>&quot;build&quot;: &quot;parcel build index.html&quot;</code>를 작성해 주면, 사용자가 실제로 보는 용도로 출력을 할 수 있습니다.</p>
</blockquote>
<p>💡 <code>npm run build</code>를 하면 코드파일들을 난독화로 만들어 줍니다. 왜냐하면 사용자에게 보여주는 용도라서 웹브라우저만 읽으면 되기 때문입니다.</p>
<h4 id="3-로컬-개발-서버">3. 로컬 개발 서버</h4>
<blockquote>
<p>이렇게 모든 세팅이 완료가 된다면, 터미널을 통해서 <code>npm run dev</code>를 통해 실시간으로 프로젝트를 개발하면서 볼 수 있는 로컬 개발 서버를 열 수 있습니다.</p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[css display : flex 완벽 정리]]></title>
            <link>https://velog.io/@front-ant/css-display-flex-%EC%99%84%EB%B2%BD-%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@front-ant/css-display-flex-%EC%99%84%EB%B2%BD-%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Thu, 21 Apr 2022 07:49:53 GMT</pubDate>
            <description><![CDATA[<h1 id="display--flex">display : flex</h1>
<pre><code class="language-css">선택자 {display: flex;}</code></pre>
<p><code>display</code>에 <code>flex</code>를 설정해 주면 코드의 자식 요소가 가로 정렬로 바뀌게 됩니다.
정확히 말하자면 수평된 주축을 기점으로 시작점에서 끝점 방향으로 자식 요소들이 정렬하게 됩니다.
<img src="https://velog.velcdn.com/images/front-ant/post/b98ba153-3c96-4c15-98b6-0ab1c9c63f5d/image.png" alt=""></p>
<p>여기서 flex를 설정해준 코드는 <code>flex container</code>, 설정해준 코드의 자식 요소는 <code>flex items</code>로 불립니다.</p>
<br>

<h3 id="--display--inline-flex">- display : inline-flex</h3>
<p><code>inline-flex</code>는 <code>flex container</code>를 block요소 처럼 세로로 쌓이는게 아닌 inline 요소의 특징처럼 가로로 쌓이게 만들 수 있습니다.
<code>display:flex</code>와의 차이점은 이러한 정렬 요소가 있습니다.</p>
<p>💡 <code>flex container</code>가 inline 요소처럼 정렬되는 것이지 그 안에 자식 요소인 <code>flex items</code>는 관계가 없다.</p>
<h3 id="--flex-container-flex-items에-적용-가능한-속성">- flex container, flex items에 적용 가능한 속성</h3>
<table>
<thead>
<tr>
<th align="center">종류</th>
<th align="center">사용 가능한 속성</th>
</tr>
</thead>
<tbody><tr>
<td align="center">flex container</td>
<td align="center">flex-flow</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">flex-direction</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">flex-wrap</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">justify-content</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">align-content</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">align-items</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center"><br></td>
</tr>
<tr>
<td align="center">flex items</td>
<td align="center">order</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">flex</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">flex-grow</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">flex-shrink</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">flex-basis</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">align-self</td>
</tr>
</tbody></table>
<br>

<h3 id="--flex-direction-flex-container">- flex-direction (flex container)</h3>
<blockquote>
<p>주 축을 설정해 줍니다.
기본 속성값은 <code>row</code> 입니다.</p>
</blockquote>
<h4 id="flex-direction-속성">flex-direction 속성</h4>
<table>
<thead>
<tr>
<th align="center">row</th>
<th align="center">row-reverse</th>
<th align="center">colum</th>
<th align="center">column-reverse</th>
</tr>
</thead>
<tbody><tr>
<td align="center">좌측 &gt; 우측</td>
<td align="center">우측 &gt; 좌측</td>
<td align="center">위 &gt; 아래</td>
<td align="center">아래 &gt; 위</td>
</tr>
<tr>
<td align="center">행(수평 정렬)</td>
<td align="center">행(수평 정렬)</td>
<td align="center">열(수직 정렬)</td>
<td align="center">열(수직 정렬)</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">시작점과 끝점이 반대로 바뀜</td>
<td align="center"><br></td>
<td align="center">시작점과 끝점이 반대로 바뀜</td>
</tr>
</tbody></table>
<p>💡 reverse로 시작점과 끝점이 반대로 바뀌면 <code>flex items</code>의 정렬 순서도 1, 2, 3이 아닌 3, 2, 1순으로 정렬이 된다.</p>
<br>

<h3 id="--flex-wrap-flex-container">- flex-wrap (flex container)</h3>
<blockquote>
<p><code>flex items</code>의 줄 바꿈 여부를 결정해 줍니다.
기본 속성값은 <code>nowrap</code> 입니다.
그냥 <code>display:flex</code>를 적용하면 기본값인 <code>nowrap</code> 때문에 <code>items</code>들의 가로사이즈가 부모 사이즈를 초과해도 화면에 줄 바꿈 없이 구겨지면서 꽉 채워진다.
하지만 <code>wrap</code>으로 설정을 해주면 부모 사이즈에 <code>items</code>들이 다다랐을 때 아래로 줄 바꿈이 된다.</p>
</blockquote>
<h4 id="flex-wrap-속성">flex-wrap 속성</h4>
<table>
<thead>
<tr>
<th align="center">nowrap</th>
<th align="center">wrap</th>
</tr>
</thead>
<tbody><tr>
<td align="center">줄 바꿈 없음</td>
<td align="center">여러 줄로 바꿔줌</td>
</tr>
</tbody></table>
<br>

<p><code>nowrap</code> 적용 화면 (<code>items</code>가 구겨진다.)
<img src="https://velog.velcdn.com/images/front-ant/post/2be8d8c8-1c53-495c-9cc3-3b9ff38945b8/image.png" alt=""></p>
<p><code>wrap</code> 적용 화면 (줄 바꿈이 되었다.)
<img src="https://velog.velcdn.com/images/front-ant/post/db85f6d6-4c96-47ea-85dd-917f067a3ba5/image.png" alt=""></p>
<br>

<h3 id="--justify-content-flex-container">- justify-content (flex container)</h3>
<blockquote>
<p>주 축의 정렬 방법입니다.
기본 속성값은 <code>flex-start</code> 입니다.</p>
</blockquote>
<p>💡 주 축이 바뀌는게 아니기 때문에 <code>itmes</code>들의 순서는 바뀌지 않는다!</p>
<h4 id="justify-content-속성">justify-content 속성</h4>
<table>
<thead>
<tr>
<th align="center">flex-start</th>
<th align="center">flex-end</th>
<th align="center">center</th>
<th align="center">space-between</th>
<th align="center">space-around</th>
</tr>
</thead>
<tbody><tr>
<td align="center">items를 시작점으로 정렬</td>
<td align="center">items를 끝점으로 정렬</td>
<td align="center">items를 가운데 정렬</td>
<td align="center">각 items 사이를 균등하게 정렬</td>
<td align="center">각 items의 외부 여백을 균등하게 정렬</td>
</tr>
</tbody></table>
<br>

<h3 id="--align-content-flex-container">- align-content (flex container)</h3>
<blockquote>
<p>교차 축(수직)의 <strong>여러 줄 정렬 방법</strong>입니다.
기본 속성값은 <code>stretch</code> 입니다.</p>
</blockquote>
<p>💡 </p>
<ol>
<li><code>stretch</code>에서 <code>items</code>의 <code>height</code>값이 없다면 <code>items</code>들이 화면의 세로값을(height:auto) 꽉 채워서 출력이 됩니다.</li>
<li><code>align-content</code>는 <code>items</code>가 <code>flex-wrap:wrap</code>을 통해서 두 줄 이상일 때 작동을 합니다.
그리고 <code>flex container</code>안에 빈 여백이 있어야 작동합니다.</li>
<li>여러 줄을 한 번에 정렬 시키기 용이합니다.</li>
</ol>
<h4 id="align-content-속성">align-content 속성</h4>
<table>
<thead>
<tr>
<th align="center">stretch</th>
<th align="center">flex-star</th>
<th align="center">flex-end</th>
<th align="center">center</th>
<th align="center">space-between</th>
<th align="center">space-around</th>
</tr>
</thead>
<tbody><tr>
<td align="center">items를 시작점으로 정렬</td>
<td align="center">items를 시작점으로 정렬</td>
<td align="center">items를 끝점으로 정렬</td>
<td align="center">items를 가운데 정렬</td>
<td align="center">각 items 사이를 균등하게 정렬</td>
<td align="center">각 items의 외부 여백을 균등하게 정렬</td>
</tr>
</tbody></table>
<br>

<h3 id="--align-items-flex-container">- align-items (flex container)</h3>
<blockquote>
<p>교차 축(수직)의 <strong>한 줄 정렬 방법</strong>입니다.
기본 속성값은 <code>stretch</code> 입니다.</p>
</blockquote>
<p>💡
한 줄씩 정렬하는 방법이기 때문에 <code>flex-wrap:wrap</code>을 통하여 <code>items</code>가 여러 줄로 구성되었다면, 각 줄마다 시작점과 끝점이 존재하고 그 점을 기준으로 속성을 넣을 수 있습니다.</p>
<p><code>wrap</code> 적용 후 <code>align-items</code>를 사용했을 때 시작점과 끝점이 한 줄마다 생기는 화면
<img src="https://velog.velcdn.com/images/front-ant/post/42b4b6bc-3d9e-45e0-b8be-3c7ae89810b2/image.png" alt=""></p>
<h4 id="align-items-속성">align-items 속성</h4>
<table>
<thead>
<tr>
<th align="center">stretch</th>
<th align="center">flex-star</th>
<th align="center">flex-end</th>
<th align="center">center</th>
<th align="center">baseline</th>
</tr>
</thead>
<tbody><tr>
<td align="center">items를 시작점으로 정렬</td>
<td align="center">items를 시작점으로 정렬</td>
<td align="center">items를 끝점으로 정렬</td>
<td align="center">items를 가운데 정렬</td>
<td align="center">각 items 사이를 각 줄의 문자 기준선(baseline)에 정렬</td>
</tr>
</tbody></table>
<br>

<h3 id="--order-flex-items">- order (flex items)</h3>
<blockquote>
<p><code>flex items</code>의 정렬 순서를 정해줍니다.
기본 속성값은 <code>0</code> 입니다.</p>
</blockquote>
<p>💡 <code>HTML</code>구조를 바꾸지 않고 <code>items</code>들의 순서를 그때그때 바꿀 수 있다는 장점이 있습니다.</p>
<h4 id="order-속성">order 속성</h4>
<table>
<thead>
<tr>
<th align="center">0</th>
<th align="center">숫자</th>
</tr>
</thead>
<tbody><tr>
<td align="center">정렬 순서가 정해지지 않음</td>
<td align="center">숫자가 작을 수록 먼저 정렬(음수도 가능합니다.)</td>
</tr>
</tbody></table>
<br>

<h3 id="--flex-grow-flex-items">- flex-grow (flex items)</h3>
<blockquote>
<p><code>flex items</code>의 증가 너비 비율을 설정해 줍니다.
기본 속성값은 <code>0</code> 입니다.</p>
</blockquote>
<p>💡 </p>
<ol>
<li><code>flex-grow</code>를 <code>items</code>들 중 한개에만 값을 주게 된다면 <code>flex container</code>를 차치하는 너비값에서 다른 <code>items</code>들의 너비값을 제외한 여백을 해당 비율로 채우게 됩니다.</li>
<li>비율은 <code>items</code>안에 있는 내용들의 너비를 포함하지 않고 계산이 되기 때문에, 내용들의 너비를 무시하기 위해서 아래에 나올 <code>flex-basis: 0 ;</code>을 사용해줘야 한다.</li>
</ol>
<p>첫 번째 <code>items</code>에만 <code>flex-grow: 1 ;</code>로 값을 할당한 화면.
<img src="https://velog.velcdn.com/images/front-ant/post/553810c1-cd59-446e-a29e-2428becd7fab/image.png" alt=""></p>
<h4 id="flex-grow-속성">flex-grow 속성</h4>
<table>
<thead>
<tr>
<th align="center">0</th>
<th align="center">숫자</th>
</tr>
</thead>
<tbody><tr>
<td align="center">증가하는 비율이 정해지지 않음(없음)</td>
<td align="center">증가 비율을 정해줌</td>
</tr>
</tbody></table>
<br>

<h3 id="--flex-shrink-flex-items">- flex-shrink (flex items)</h3>
<blockquote>
<p><code>flex items</code>의 감소 너비 비율을 설정해 줍니다.
기본 속성값은 <code>1</code> 입니다.</p>
</blockquote>
<p>💡 <code>flex-shrink: 0 ;</code>을 입력해 주면, 감소하는 비율이 없기 때문에 <code>flex container</code>가 줄어도 <code>items</code>의 너비는 줄지 않기 때문에 <code>items</code>가 구겨지지 않고 화면에 짤리는 듯이 보인다. 
웹사이트 반응형을 개발할 때 유용한 코드가 될 것 같습니다.</p>
<h4 id="flex-shrink-속성">flex-shrink 속성</h4>
<table>
<thead>
<tr>
<th align="center">1</th>
<th align="center">숫자</th>
</tr>
</thead>
<tbody><tr>
<td align="center"><code>flex container</code> 너비가 줄여지면 <code>items</code>의 너비가 구겨지면서 감소</td>
<td align="center">감소 비율을 정해줌</td>
</tr>
</tbody></table>
<br>

<h3 id="--flex-basis-flex-items">- flex-basis (flex items)</h3>
<blockquote>
<p><code>flex-items</code>의 공간 배분 전 기본 너비를 말합니다.
기본 속성갑은 <code>auto</code> 입니다.</p>
</blockquote>
<p>💡 <code>items</code>의 비율을 일정하게 사용하기 위해서 <code>flex-basis</code>를 그냥 사용하게 되면 <code>items</code>에 들어있는 내용들, 즉 텍스트나 이미지 등의 너비 영향을 받아서 비율이 망가지게 된다.
이러한 현상에는 <code>flex-basis</code>의 값을 <code>0</code> 으로 설정해준다면 내용의 너비는 무시한 체 <code>items</code>가 각각 일정한 비율을 가질 수 있다. </p>
<h4 id="flex-basis-속성">flex-basis 속성</h4>
<table>
<thead>
<tr>
<th align="center">auto</th>
<th align="center">단위</th>
</tr>
</thead>
<tbody><tr>
<td align="center">요소의 내용(content) 너비</td>
<td align="center">px, em, rem 등 단위로 지정해줌</td>
</tr>
</tbody></table>
]]></description>
        </item>
        <item>
            <title><![CDATA[css background 정리]]></title>
            <link>https://velog.io/@front-ant/css-background-%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@front-ant/css-background-%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Tue, 19 Apr 2022 14:01:12 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/front-ant/post/b7c1eee4-4ded-4318-a20b-d8353b3c25d2/image.png" alt=""></p>
<h1 id="background">background</h1>
<pre><code class="language-css">선택자 {background: }</code></pre>
<p>background 태그는 태그에 배경을 만들어 주는 태그입니다.
사용자에게 보여주긴 하지만 css이기 때문에 이미지의 의미가 리더기에 읽히지는 않습니다.</p>
<br>

<h3 id="정리-내용">정리 내용</h3>
<p><code>background-image</code>는 태그에 이미지를 불러와 배경으로 넣어주는 코드입니다.
url( )을 사용하여 이미지가 있는 경로를 불러와 출력합니다.</p>
<blockquote>
<pre><code class="language-css">선택자 {background-image: url(./images/logo.png);}</code></pre>
</blockquote>
<pre><code>
&lt;br&gt;

`bacground-size`는 background에 넣은 이미지의 사이즈를 조정해 줍니다.
이미지 사이즈는 태그의 `width` 값을 기준으로 크다면 이미지가 잘려서 보이고, 작다면 이미지가 반복되어 보이는 현상이 생깁니다.

속성 값은 단위를 사용하여 출력을 하거나 `cover`, `contain`이 있습니다.
`cover`는 태그의 width와 height중 &lt;span style=&quot;text-decoration:underline;&quot;&gt;더 넓은 값에&lt;/span&gt; 맞춰 비율을 유지합니다.
`contain`은 태그의 width와 height중 &lt;span style=&quot;text-decoration:underline;&quot;&gt;더 짧은 값에&lt;/span&gt; 맞춰 비율을 유지합니다.

&gt;```css
선택자 {background-size:100px;}</code></pre><br>

<p><code>background-repeat</code>은 위에 설명한 <code>background-size</code>가 태그의 <code>width</code> 값보다 작을 때 이미지가 반복되어 보이는 현상을 고치기에 적절한 태그입니다.
<code>background-repeat</code>의 속성값으로 아래와 같이 4개가 있습니다.</p>
<table>
<thead>
<tr>
<th align="center">코드</th>
<th align="center">의미</th>
</tr>
</thead>
<tbody><tr>
<td align="center">repeat</td>
<td align="center">이미지를 수직, 수평 반복</td>
</tr>
<tr>
<td align="center">repeat-x</td>
<td align="center">이미지를 수평 반복</td>
</tr>
<tr>
<td align="center">repeat-y</td>
<td align="center">이미지를 수직 반복</td>
</tr>
<tr>
<td align="center">no-repeat</td>
<td align="center">이미지 반복 없음</td>
</tr>
</tbody></table>
<blockquote>
<pre><code class="language-css">선택자 {background-repeat: no-repeat;}</code></pre>
</blockquote>
<pre><code>
&lt;br&gt;

`background-position`은 배경 이미지의 위치를 조정해주는 코드입니다.

&gt;```css
선택자 {background-position:center;}</code></pre><p>속성값으로 이미지가 위치할 방향을 적어주는 <code>top</code>, <code>bottom</code>, <code>left</code>, <code>right</code>, <code>center</code>가 있습니다.</p>
<p>방향에 대한 속성값은 2가지를 혼합하여 사용이 가능합니다.
예를 들어 아래의 코드는 오른쪽 위에 이미지를 배치시키는 속성값입니다.</p>
<blockquote>
<pre><code class="language-css">선택자 {background-position:top right;}</code></pre>
</blockquote>
<pre><code>
또한 방향에 대한 속성값을 혼합한 방식처럼 x축과 y축의 값을 입력해줘서 원하는 곳에 이미지를 위치시킬 수 있습니다.

&lt;br&gt;

`background-attachment`는 스크롤을 했을 때 배경 이미지가 어떻게 보일지 설정을 해주는 코드입니다.
속성값은 `scroll`, `fixed` 가 있습니다.
아무 설정도 하지 않으면 기본값으로 `scroll`이 설정되어 있습니다.

`scroll`은 이미지가 스크롤을 했을 때 같이 스크롤이 되어 화면에 출력되는 방식입니다.
`fixed`는 스크롤을 했을 때 이미지는 고정되어 있는 방식입니다.
❕ `fixed`를 사용하여 웹을 표현하는 방식중에 _Parallax Scrolling_이라는 기법이 있습니다.
&gt;```css
선택자 {background-attachment:fixed;}</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[vim 기본 사용법]]></title>
            <link>https://velog.io/@front-ant/vim-%EA%B8%B0%EB%B3%B8-%EC%82%AC%EC%9A%A9%EB%B2%95</link>
            <guid>https://velog.io/@front-ant/vim-%EA%B8%B0%EB%B3%B8-%EC%82%AC%EC%9A%A9%EB%B2%95</guid>
            <pubDate>Thu, 14 Apr 2022 12:50:05 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/front-ant/post/3637ed88-c5fd-4987-8cf0-699aae948763/image.png" alt=""></p>
<h1 id="vim">vim</h1>
<blockquote>
<p>vim이란 git에서 사용이 가능한 에디터의 종류로 CLI(Command-Line Interface)방식으로 <br>사용할 수 있다.</p>
</blockquote>
<br>

<h3 id="cli">CLI</h3>
<blockquote>
<p>마우스가 사용 불가능하고 키보드만으로 출력하는 방식을 가지고 있는 환경이다.</p>
</blockquote>
<br>

<h3 id="vim-기본-사용법">vim 기본 사용법</h3>
<p>vim에 들어가게 되면 기본적으로 normal mode인 상태이다. 이 상태에서는 입력이 불가능하기 때문에 mode를 바꿔줘야 한다.</p>
<p><code>i</code>버튼을 누르게 되면 insert mode로 전환이 되는데, 이 insert mode가 되면 파일 안에 내용을 수정하거나 입력을 할 수 있다.
<img src="https://velog.velcdn.com/images/front-ant/post/987bb477-6c20-4d75-a314-66613ca885e2/image.png" alt=""></p>
<br>

<p>이제 vim에 입력을 할 수 있는데, 모든 입력을 끝내고 다시 git화면으로 돌아가고 싶다면, 다시 normal mode로 돌아가야 한다. 키보드에 있는 <code>esc</code>버튼을 눌러주면 normal mode로 전환이 된다. 왼쪽 하단에 아무것도 써있지 않아야 normal mode이다.
<img src="https://velog.velcdn.com/images/front-ant/post/d3189a57-7cc6-462d-b61d-a119ba04bb37/image.png" alt=""></p>
<br>

<p>그리고 키보드에 있는 <code>shift</code>+<code>;</code>를 눌러주게 되면 command mode로 전환이 된다.
아까 insert mode가 써있는 부분에 <code>:</code>가 생기고 커서가 깜빡여야 command mode로 전환이 된 것이다.
<img src="https://velog.velcdn.com/images/front-ant/post/33c08c7b-5560-4a72-861e-fef116b9555f/image.png" alt=""></p>
<br>

<p>이 command mode로 전환을 시켰다면, 2가지 방법을 사용하여 저장할 수 있고 다른 2가지 방법을 사용하여 vim에서 나갈 수 있다.</p>
<table>
<thead>
<tr>
<th align="center">명령어</th>
<th align="center">의미</th>
</tr>
</thead>
<tbody><tr>
<td align="center">w</td>
<td align="center">저장한다</td>
</tr>
<tr>
<td align="center">wq</td>
<td align="center">저장하고 나간다</td>
</tr>
<tr>
<td align="center">q</td>
<td align="center">나간다</td>
</tr>
<tr>
<td align="center">q!</td>
<td align="center">저장 안하고 나간다</td>
</tr>
</tbody></table>
]]></description>
        </item>
        <item>
            <title><![CDATA[GIT 기본 명령어 사용법2]]></title>
            <link>https://velog.io/@front-ant/GIT-%EA%B8%B0%EB%B3%B8-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%82%AC%EC%9A%A9%EB%B2%952</link>
            <guid>https://velog.io/@front-ant/GIT-%EA%B8%B0%EB%B3%B8-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%82%AC%EC%9A%A9%EB%B2%952</guid>
            <pubDate>Thu, 14 Apr 2022 12:22:24 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/front-ant/post/63c23509-9e7f-47fc-8219-344c98f46b98/image.png" alt=""></p>
<h3 id="기본-명령어2">기본 명령어2</h3>
<table>
<thead>
<tr>
<th align="center">분류</th>
<th align="center">명령어</th>
<th align="center">의미</th>
</tr>
</thead>
<tbody><tr>
<td align="center">git 환경설정</td>
<td align="center">git config --global user.name</td>
<td align="center">나의 유저이름을 git에 저장(가급적 github계정 이름과 똑같이 설정)</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">git config --global user.email</td>
<td align="center">나의 이메일을 git에 저장(가급적 github계정 이름과 똑같이 설정)</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">git config --global core.editor &quot;(에디터 이름)&quot;</td>
<td align="center">에디터를 실행할 때 사용할 에디터를 설정한다.</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">git config --global core.pager &quot;(설정)&quot;</td>
<td align="center">호출기 사용자 정의 설정</td>
</tr>
<tr>
<td align="center">git</td>
<td align="center">git clone (github주소)</td>
<td align="center">github주소를 가져와서 클론 디렉토리를 생성</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">git status</td>
<td align="center">git 상태 보기 (현재 내가 무슨 행동을 취해야 하는지 알려줌)</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">git add (파일명.확장자)</td>
<td align="center">파일을 스테이지에 올림</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">git commit</td>
<td align="center">스테이지에 올라온 파일을 commit함 (push할 수 있는 상태)</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">git remote add (별칭) (github주소)</td>
<td align="center">github주소를 원격저장소로 추가</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">git pull (별칭) (브랜치명)</td>
<td align="center">연결된 github주소의 브랜치에 있는 파일 및 디렉토리를 로컬 저장소로 가져옴</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">git restore (파일명.확장자)</td>
<td align="center">가장 최근에 했던 commit상태로 돌아감</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">git reset HEAD (파일명.확장자)</td>
<td align="center">add로 스테이지에 올렸던 파일을 스테이지에서 내림</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">git commit --amend</td>
<td align="center">commit했던 파일을 수정할 수 있음</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">git revert --no-commit HEAD~(횟수)..</td>
<td align="center">횟수는 commit했던 만큼의 횟수고 그만큼 과거로 돌아가 commit을 취소시켜준다.</td>
</tr>
<tr>
<td align="center">branch</td>
<td align="center">git branch</td>
<td align="center">현재 선택된 브랜치 보기</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">git branch (브랜치명)</td>
<td align="center">해당 이름으로 된 브랜치 생성</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">git branch -D (브랜치명)</td>
<td align="center">해당 브랜치 삭제</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">git switch (브랜치명)</td>
<td align="center">해당 브랜치로 이동</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">git merge (브랜치명)</td>
<td align="center">현재 있는 디렉토리에 해당 브랜치를 땡겨와 병합</td>
</tr>
</tbody></table>
]]></description>
        </item>
        <item>
            <title><![CDATA[GIT 기본 명령어 사용법1]]></title>
            <link>https://velog.io/@front-ant/GIT-%EA%B8%B0%EB%B3%B8-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%82%AC%EC%9A%A9%EB%B2%95</link>
            <guid>https://velog.io/@front-ant/GIT-%EA%B8%B0%EB%B3%B8-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%82%AC%EC%9A%A9%EB%B2%95</guid>
            <pubDate>Thu, 14 Apr 2022 11:48:57 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/front-ant/post/6b57912f-1d6d-4155-a13a-c1bffc69091b/image.png" alt=""></p>
<h1 id="git">GIT</h1>
<blockquote>
<p>GIT이란 파일의 버전관리를 위해서 저장해두는 저장소를 의미합니다.</p>
</blockquote>
<br>

<h3 id="기본-설명">기본 설명</h3>
<p>windows 사용자 기준 git bash를 사용하여 git을 키게 되면 처음 화면은 각자 컴퓨터의 사용자 디렉토리에 위치하게 됩니다. 여기서 <code>$</code>표시가 보이게 되는데 이 표시는 &quot;현재 사용자의 명령을 받을 준비가 되었다.&quot; 라는 뜻 입니다. 그리고 다양한 명령어를 입력하고 <code>Enter</code>를 누르면 해당 명령어를 실행합니다.</p>
<br>

<h3 id="기본-명령어">기본 명령어</h3>
<table>
<thead>
<tr>
<th align="center">분류</th>
<th align="center">명령어</th>
<th align="center">의미</th>
</tr>
</thead>
<tbody><tr>
<td align="center">ls</td>
<td align="center">ls</td>
<td align="center">현재 디렉토리에 있는 파일 및 디렉토리를 리스트로 보여줌</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">ls -a</td>
<td align="center">현재 디렉토리에 있는 파일 및 디렉토리를 보여주는데 숨겨져 있는 파일과 디렉토리도 보여줌</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">ls -l</td>
<td align="center">한 줄 한 줄 상세 정보를 보여줌</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">ls -al</td>
<td align="center">숨겨져 있는 파일과 디렉토리까지 한 줄 한 줄 상세 정보를 보여줌</td>
</tr>
<tr>
<td align="center">cd</td>
<td align="center">cd</td>
<td align="center">어느 디렉토리에 있던 최상단 디렉토리로 이동 가능</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">cd (디렉토리명)</td>
<td align="center">입력한 디렉토리로 이동하기</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">cd ..</td>
<td align="center">상위 디렉토리로 이동하기(나가기)</td>
</tr>
<tr>
<td align="center">mkdir</td>
<td align="center">mkdir (폴더명)</td>
<td align="center">새로운 디렉토리 만들기</td>
</tr>
<tr>
<td align="center">clear</td>
<td align="center">clear</td>
<td align="center">CLI화면에 출력된 기록 지우기</td>
</tr>
<tr>
<td align="center">touch</td>
<td align="center">touch (파일명.확장자)</td>
<td align="center">새로운 파일 만들기</td>
</tr>
<tr>
<td align="center">mv</td>
<td align="center">mv (파일명.확장자) (디렉토리명)</td>
<td align="center">선택한 파일을 해당 디렉토리로 위치를 이동</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">mv (파일명.확장자 및 디렉토리명) (파일명.확장자 및 디렉토리명)</td>
<td align="center">파일 및 디렉토리 이름 변경</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">mv ../(파일명.확장자) ./</td>
<td align="center">해당 명령어는 예시로 다른 디렉토리에 있는 파일을 현재 디렉토리로 가져오는 방법</td>
</tr>
<tr>
<td align="center">cp</td>
<td align="center">cp</td>
<td align="center">파일을 복사</td>
</tr>
<tr>
<td align="center">rm</td>
<td align="center">rm (파일명.확장자)</td>
<td align="center">파일을 삭제</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">rm -r (디렉토리명)</td>
<td align="center">디렉토리를 삭제</td>
</tr>
<tr>
<td align="center"><br></td>
<td align="center">rm -rf (디렉토리명)</td>
<td align="center">권한으로 막혀있는 디렉토리를 강제로 삭제</td>
</tr>
<tr>
<td align="center">sudo</td>
<td align="center">sudo (파일명.확장자)</td>
<td align="center">관리자 권한으로 실행</td>
</tr>
</tbody></table>
]]></description>
        </item>
        <item>
            <title><![CDATA[마크다운(markdown)으로 글 작성하는 방법]]></title>
            <link>https://velog.io/@front-ant/%EB%A7%88%ED%81%AC%EB%8B%A4%EC%9A%B4markdown%EC%9C%BC%EB%A1%9C-%EA%B8%80-%EC%9E%91%EC%84%B1%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95</link>
            <guid>https://velog.io/@front-ant/%EB%A7%88%ED%81%AC%EB%8B%A4%EC%9A%B4markdown%EC%9C%BC%EB%A1%9C-%EA%B8%80-%EC%9E%91%EC%84%B1%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95</guid>
            <pubDate>Wed, 13 Apr 2022 14:15:16 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/front-ant/post/37f1f659-e2e2-461c-a16e-c34cb10bc084/image.png" alt=""></p>
<h1 id="마크다운">마크다운</h1>
<blockquote>
<p>마크다운이란 웹상에서 글을 쓸 수 있는 도구 중 하나입니다.<br>문법이 쉽고, 관리가 쉽다는 장점이 있습니다. 또한 지원 가능한 플랫폼과 프로그램이 다양하게 존재합니다.</p>
</blockquote>
<br>

<h1 id="마크다운-작성법">마크다운 작성법</h1>
<h3 id="1-제목">1. 제목</h3>
<p>제목은 HTML의 H1 ~ H6 처럼 사용을 할 수 있습니다.</p>
<pre><code class="language-plaintext"># 제목 (H1)
## 제목 (H2)
### 제목 (H3)
#### 제목 (H4)
##### 제목 (H5)
###### 제목 (H6)</code></pre>
<blockquote>
<h3 id="출력화면-⬇">출력화면 ⬇</h3>
</blockquote>
<h1 id="제목-h1">제목 (H1)</h1>
<h2 id="제목-h2">제목 (H2)</h2>
<h3 id="제목-h3">제목 (H3)</h3>
<h4 id="제목-h4">제목 (H4)</h4>
<h5 id="제목-h5">제목 (H5)</h5>
<h6 id="제목-h6">제목 (H6)</h6>
<br>

<h3 id="2-문장과-줄바꿈">2. 문장과 줄바꿈</h3>
<p>문장은 HTML의 <code>&lt;p&gt;</code>태그와 마찬가지로 조건 없이 적을 수 있습니다.
하지만 여기서 엔터를 눌러도 줄바꿈이 되지 않을 수 있는데, 그때는 줄바꿈을 하고 싶은 위치에 띄어쓰기를 2번 하거나, HTML처럼 <code>&lt;br/&gt;</code>태그를 사용하면 줄바꿈을 할 수 있습니다.</p>
<pre><code class="language-plaintext">동해물과 백두산이 마르고 닳도록  
하느님이 보우하사 우리나라 만세  
무궁화 삼천리 화려 강산&lt;br&gt;
대한 사람 대한으로 길이 보전하세</code></pre>
<blockquote>
<h3 id="출력화면-⬇-1">출력화면 ⬇</h3>
<p>동해물과 백두산이 마르고 닳도록<br>하느님이 보우하사 우리나라 만세<br>무궁화 삼천리 화려 강산<br>대한 사람 대한으로 길이 보전하세</p>
</blockquote>
<br>

<h3 id="3-강조">3. 강조</h3>
<p>강조에는 총 4가지 방식이 있습니다.
이 강조 방법은 서로 혼합을 하여 사용할 수도 있습니다.</p>
<pre><code class="language-plaintext">_이텔릭_  
**두껍게**  
~~취소선~~  
&lt;u&gt;밑줄&lt;/u&gt;</code></pre>
<blockquote>
<h3 id="출력화면-⬇-2">출력화면 ⬇</h3>
<p><em>이텔릭</em><br><strong>두껍게</strong><br><del>취소선</del><br><u>밑줄</u></p>
</blockquote>
<br>

<h3 id="4-목록">4. 목록</h3>
<p>목록에는 순서가 필요한 목록과 순서가 필요하지 않은 목록으로 나눠서 작성할 수 있습니다.</p>
<p>먼저 순서가 필요한 목록은 숫자 1. 을 사용하여 작성을 해주면 됩니다.
여기서 하위 뎁스를 표현하고 싶으면, 표현하고 싶은 부분 앞에 띄어쓰기 4번(들여쓰기 2번)을 해주시면 됩니다.</p>
<pre><code class="language-plaintext">1. 순서가 필요한 목록
1. 순서가 필요한 목록
1. 순서가 필요한 목록
    1. 순서가 필요한 목록
    1. 순서가 필요한 목록
1. 순서가 필요한 목록</code></pre>
<blockquote>
<h3 id="출력화면-⬇-3">출력화면 ⬇</h3>
</blockquote>
<ol>
<li>순서가 필요한 목록</li>
<li>순서가 필요한 목록</li>
<li>순서가 필요한 목록<ol>
<li>순서가 필요한 목록</li>
<li>순서가 필요한 목록</li>
</ol>
</li>
<li>순서가 필요한 목록</li>
</ol>
<p>그리고 순서가 필요하지 않은 목록은 -를 사용하여 작성해주면 됩니다.
하위 뎁스를 표현하고 싶다면, 위에 내용과 마찬가지로 띄어쓰기 4번(들여쓰기 2번)을 해주시면 됩니다.</p>
<pre><code class="language-plaintext">- 순서가 필요하지 않은 목록
- 순서가 필요하지 않은 목록
- 순서가 필요하지 않은 목록
    - 순서가 필요하지 않은 목록
    - 순서가 필요하지 않은 목록
    - 순서가 필요하지 않은 목록
- 순서가 필요하지 않은 목록</code></pre>
<blockquote>
<h3 id="출력화면-⬇-4">출력화면 ⬇</h3>
</blockquote>
<ul>
<li>순서가 필요하지 않은 목록</li>
<li>순서가 필요하지 않은 목록</li>
<li>순서가 필요하지 않은 목록<ul>
<li>순서가 필요하지 않은 목록</li>
<li>순서가 필요하지 않은 목록</li>
<li>순서가 필요하지 않은 목록</li>
</ul>
</li>
<li>순서가 필요하지 않은 목록</li>
</ul>
<br>

<h3 id="5-링크">5. 링크</h3>
<p>링크는 HTML에서 사용하는 것 처럼 <code>&lt;a&gt;</code>로 사용할 수 있는 방법과 <code>[ ]( )</code>를 사용할 수 있는 방법 2가지가 있습니다.
그리고 title과 같은 태그의 옵션도 사용할 수 있습니다. 
<em>*target은 제외. <code>&lt;a&gt;</code>에서만 사용 가능합니다.</em></p>
<pre><code class="language-plaintext">&lt;a href=&quot;https://google.com&quot;&gt;GOOGLE&lt;/a&gt;
[GOOGLE](https://google.com)

&lt;a href=&quot;https://naver.com&quot; title=&quot;네이버로 이동!&quot; target=&quot;_blank&quot;&gt;GOOGLE&lt;/a&gt; 
[NAVER](https://naver.com &quot;네이버로 이동!&quot;)</code></pre>
<p><code>[ ]( )</code> 이 방법은 <code>[ ]</code>안에 링크를 걸어줄 텍스트를 넣어주고, <code>( )</code>안에 연결되는 링크를 적어주면 됩니다.</p>
<blockquote>
<h3 id="출력화면-⬇-5">출력화면 ⬇</h3>
<p><a href="https://google.com">GOOGLE</a>
<a href="https://google.com">GOOGLE</a>
<a href="https://naver.com" title="네이버로 이동!">NAVER</a>
<a href="https://naver.com" title="네이버로 이동!" target="_blank">GOOGLE</a>  </p>
</blockquote>
<br>

<h3 id="6-이미지">6. 이미지</h3>
<p>이미지는 <code>![ ]( )</code>를 사용하여 출력할 수 있습니다.
그리고 이미지에 링크를 걸고 싶다면 위에 링크에서 사용한 방식으로 이미지를 감싸주면 됩니다.</p>
<pre><code class="language-plaintext">![이미지 설명](이미지 링크)
[![이미지 설명](이미지 링크)](연결될 링크)</code></pre>
<br>

<h3 id="7-인용문">7. 인용문</h3>
<p>인용문은 남의 말이나 글에서 직접 또는 간접으로 따온 문장으로 <code>&gt;</code>를 사용하여 출력할 수 있습니다.</p>
<pre><code class="language-plaintext">&gt;출력화면 자체가 인용문 입니다.</code></pre>
<blockquote>
<h3 id="출력화면-⬇-6">출력화면 ⬇</h3>
<p>출력화면 자체가 인용문 입니다.</p>
</blockquote>
<p>그리고 인용문은 서로 중첩이 가능합니다.</p>
<pre><code class="language-plaintext">&gt; 중중첩된 인용문 1
&gt;&gt; 중중첩된 인용문 2
&gt;&gt;&gt; 중중첩된 인용문 3</code></pre>
<blockquote>
<h3 id="출력화면-⬇-7">출력화면 ⬇</h3>
<p>중중첩된 인용문 1</p>
<blockquote>
<p>중중첩된 인용문 2</p>
<blockquote>
<p>중중첩된 인용문 3</p>
</blockquote>
</blockquote>
</blockquote>
<br>

<h3 id="8-인라인-코드-강조-블록-코드-강조">8. 인라인 코드 강조, 블록 코드 강조</h3>
<p>먼저 인라인 코드 강조 방법은 단어를 코드로 표현하고 싶을 때 사용할 수 있습니다.
사용법으론 ``(backtick)안에 출력할 내용을 넣어주면 됩니다.</p>
<pre><code class="language-plaintext">`margin`</code></pre>
<blockquote>
<h3 id="출력화면-⬇-8">출력화면 ⬇</h3>
<p><code>margin</code></p>
</blockquote>
<p>블록 코드 강조 방법은 인라인 코드 강조 방법에서 사용한 ```(backtick)을 3번 연속으로 찍어주고 HTML, CSS 등을 써주면 됩니다. 텍스트만 블록 코드 강조 방법으로 출력하고 싶다면 plaintext를 사용해주면 됩니다.</p>
<blockquote>
<h3 id="출력화면-⬇-9">출력화면 ⬇</h3>
</blockquote>
<pre><code class="language-html">&lt;a href=&quot;https://google.com&quot; target=&quot;_blank&quot;&gt;GOOGLE&lt;/a&gt;</code></pre>
<pre><code class="language-css">li{
    positon:absolute;
    margin-left:40px;
}</code></pre>
<pre><code class="language-plaintext">텍스트만 블록 코드 강조 방법으로 출력하고 싶을 때 이렇게 출력합니다.</code></pre>
<br>

<h3 id="9-표">9. 표</h3>
<p>표는 바로 예시를 보여드리겠습니다.</p>
<pre><code class="language-plaintext">값 | 의미 | 기본값
--|:--:|:--:
static | 기준 없음 | O
relative | 요소 자신 | X
absolute | 위치 상 부모 요소 | X
fixed | 뷰포트 | X</code></pre>
<blockquote>
<h3 id="출력화면-⬇-10">출력화면 ⬇</h3>
<table>
<thead>
<tr>
<th>값</th>
<th align="center">의미</th>
<th align="center">기본값</th>
</tr>
</thead>
<tbody><tr>
<td>static</td>
<td align="center">기준 없음</td>
<td align="center">O</td>
</tr>
<tr>
<td>relative</td>
<td align="center">요소 자신</td>
<td align="center">X</td>
</tr>
<tr>
<td>absolute</td>
<td align="center">위치 상 부모 요소</td>
<td align="center">X</td>
</tr>
<tr>
<td>fixed</td>
<td align="center">뷰포트</td>
<td align="center">X</td>
</tr>
</tbody></table>
</blockquote>
<p>제일 위에 값은 | 를 사용하여 표의 분류를 나눠주고
그 안에 열의 개수만큼 --|--|-- 영역을 표시해주면서 | 를 사용해 행의 값들을 입력합니다.</p>
<p><em>*열의 개수를 나눠줄 때 : 을 사용하면 정렬방향을 정할 수 있습니다.
:-- 왼쪽 정렬
:--: 가운데 정렬
--: 오른쪽 정렬</em></p>
<br>

<h3 id="10-원시-html">10. 원시 HTML</h3>
<p>HTML에서 사용했던 코드들과 HTML코드 안에 style 코드를 넣어서 출력하는 방식이 사용 가능합니다.</p>
<pre><code class="language-plaintext">동해물과 &lt;span style=&quot;text-decoration: underline;&quot;&gt;백두산&lt;/span&gt;이 마르고 닳도록&lt;br&gt;
하느님이 보우하사 우리나라 만세</code></pre>
<blockquote>
<h3 id="출력화면-⬇-11">출력화면 ⬇</h3>
<p>동해물과 <span style="text-decoration: underline;">백두산</span>이 마르고 닳도록<br>
하느님이 보우하사 우리나라 만세</p>
</blockquote>
<br>

<h3 id="11-수평선">11. 수평선</h3>
<p>수평선을 출력할 수 있는 방법은 총 3가지가 있습니다.</p>
<pre><code class="language-plaintext">---

***

___</code></pre>
<blockquote>
<h3 id="출력화면-⬇-12">출력화면 ⬇</h3>
</blockquote>
<hr>
<hr>
<hr>
]]></description>
        </item>
    </channel>
</rss>