<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>nian-3889.log</title>
        <link>https://velog.io/</link>
        <description>무언가를 하고 있지만, 잘 안될 수 있습니다.</description>
        <lastBuildDate>Fri, 06 May 2022 07:03:18 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>nian-3889.log</title>
            <url>https://velog.velcdn.com/cloudflare/nian-3889/9376f52b-86d5-4043-937b-56701d7d4c65/social_profile.png</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. nian-3889.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/nian-3889" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[word-relay 예제 따라하기 - 함수 편]]></title>
            <link>https://velog.io/@nian-3889/word-relay-%EC%98%88%EC%A0%9C-%EB%94%B0%EB%9D%BC%ED%95%98%EA%B8%B0-%ED%95%A8%EC%88%98-%ED%8E%B8</link>
            <guid>https://velog.io/@nian-3889/word-relay-%EC%98%88%EC%A0%9C-%EB%94%B0%EB%9D%BC%ED%95%98%EA%B8%B0-%ED%95%A8%EC%88%98-%ED%8E%B8</guid>
            <pubDate>Fri, 06 May 2022 07:03:18 GMT</pubDate>
            <description><![CDATA[<h2 id="참조">참조</h2>
<p>이 글은 <strong>Let&#39;s Get IT 자바스크립트 프로그래밍</strong>이라는 책의 예제를 따라하며 자습하는 글입니다.</p>
<hr>
<h2 id="이번에-본-예제">이번에 본 예제</h2>
<pre><code>&lt;script&gt;
const number = Number(prompt(&#39;몇 명이 참가하나요?&#39;));
const $button = document.querySelector(&#39;button&#39;);
const $input = document.querySelector(&#39;input&#39;);
const $word = document.querySelector(&#39;#word&#39;);

let word;
let newWord;

const onClickButton = () =&gt; {
    if (!word) {
        word = newWord;
        $word.textContent = word;
    } else {

    }
};

const onInput = (event) =&gt; {
    newWord = event.target.value;
};

$button.addEventListener(&#39;click&#39;, onClickButton);
$input.addEventListener(&#39;input&#39;, onInput);

&lt;/script&gt;</code></pre><p>...  저번과 같은 예제를 보고 있는 것 같으나, 공부할 부분이 좀 있어 같이 봐야만 했다.</p>
<h2 id="자바스크립트-함수">자바스크립트 함수</h2>
<p><img src="https://velog.velcdn.com/images/nian-3889/post/91e7304e-a1e8-4901-a55a-b6f660d42e21/image.png" alt=""></p>
<blockquote>
<p>특별한 목적의 작업을 수행하도록 설계된 독립적인 블록</p>
</blockquote>
<h3 id="함수-선언">함수 선언</h3>
<pre><code>function 함수명 (매개변수, 매개변수, ...) {
    실행문;
    반환문; (옵션)
}</code></pre><h3 id="예시">예시</h3>
<pre><code>function showMessage() {
    alert(&#39;안녕하세요!&#39;);
}</code></pre><h3 id="자바스크립트-함수의-특징">자바스크립트 함수의 특징</h3>
<ol>
<li>값처럼 할당 및 대입할 수 있음.</li>
<li>변수에 할당할 수 있음 (함수명과 변수명의 경계가 모호함)</li>
<li>객체의 프로퍼티에 함수를 할당할 수 있음.</li>
<li>배열 내 원소에도 함수를 할당(정의 및 저장)할 수 있음.</li>
</ol>
<h3 id="작성-예시">작성 예시</h3>
<h4 id="선언식혹은-선언문">선언식(혹은 선언문)</h4>
<ul>
<li><p>일반적인 함수 선언 방식</p>
<p>  funtion sayHi() {</p>
<pre><code>  console.log(&#39;Hi!&#39;);</code></pre><p>  }</p>
<p>  sayHi();</p>
</li>
</ul>
<h4 id="표현식">표현식</h4>
<ul>
<li><p>익명 함수를 값으로써 변수에 할당한 것</p>
<p>  let sayHello = function () {</p>
<pre><code>  console.log(&#39;Hello!&#39;);</code></pre><p>  }</p>
</li>
</ul>
<h4 id="화살표-함수">화살표 함수</h4>
<ul>
<li><p><code>function</code> 키워드 대신 화살표(=&gt;)를 사용하여 간략하게 선언하는 방법
위의 예제에선 화살표함수로 표현함</p>
</li>
<li><p>예시</p>
<p>  let sayHello = () =&gt; {</p>
<pre><code>  console.log(&#39;Hi!&#39;);</code></pre><p>  }</p>
</li>
</ul>
<hr>
<h3 id="참조-1">참조</h3>
<p><a href="https://bigtop.tistory.com/40">https://bigtop.tistory.com/40</a>
<a href="https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/Arrow_functions">https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/Arrow_functions</a>
<a href="https://poiemaweb.com/es6-arrow-function">https://poiemaweb.com/es6-arrow-function</a>
<a href="https://whales.tistory.com/37">https://whales.tistory.com/37</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[word-relay 예제 따라하기 - if편]]></title>
            <link>https://velog.io/@nian-3889/word-relay-%EC%98%88%EC%A0%9C-%EB%94%B0%EB%9D%BC%ED%95%98%EA%B8%B0-if-%ED%95%A8%EC%88%98%ED%8E%B8</link>
            <guid>https://velog.io/@nian-3889/word-relay-%EC%98%88%EC%A0%9C-%EB%94%B0%EB%9D%BC%ED%95%98%EA%B8%B0-if-%ED%95%A8%EC%88%98%ED%8E%B8</guid>
            <pubDate>Thu, 05 May 2022 09:58:45 GMT</pubDate>
            <description><![CDATA[<h2 id="참조">참조</h2>
<p>이 글은 <strong>Let&#39;s Get IT 자바스크립트 프로그래밍</strong>이라는 책의 예제를 따라하며 자습하는 글입니다.</p>
<h2 id="이번-페이지에-본-예제">이번 페이지에 본 예제</h2>
<pre><code>&lt;script&gt;
    const number = Number(prompt(&#39;몇 명이 참가하나요?&#39;));
    const $button = document.querySelector(&#39;button&#39;);
    const $input = document.querySelector(&#39;input&#39;);
    const $word = document.querySeclector(&#39;#word&#39;);

    //제시어
    let word;

    //현재 단어
    let newWord;

    const onClickButton = () =&gt; {
        if (!word) { //제시어가 비었는가
            word = newWord; //입력한 단어가 제시어가 된다
            $word.textContent = word;
        } else {
            //비어있지 않다.
        }
    };

    const onInput = (event) =&gt; {
        newWord = event.target.value; //입력하는 단어를 현재 단어로
    };

    $button.addEventListener(&#39;click&#39;, onClickButton);
    $input.addEventListener(&#39;input&#39;, onInput);
&lt;/script&gt;</code></pre><hr>
<h2 id="공부해야-할-파트">공부해야 할 파트</h2>
<pre><code>if (!word) {
    word = newWord;
    $word.text.Content = word
    } else {

    }</code></pre><h3 id="if문">if문</h3>
<h4 id="출처">출처</h4>
<pre><code> https://goddaehee.tistory.com/225
자바스크립트 코드레시피 278</code></pre><blockquote>
<p>특정 조건을 만족 시 실행하는 명령의 집합.</p>
</blockquote>
<h4 id="문법-">문법 :</h4>
<pre><code>if (조건식) {
    조건문
} else if (조건식) {
    조건문
} else {
    조건문
}</code></pre><h4 id="예시문">예시문</h4>
<pre><code>const myPrice = 100;

if (myPrice &gt;= 50) {
    alert(&#39;myPrice는 50 이상입니다.&#39;);
} else if (myPrice &gt;= 10) {
    alert(&#39;myPrice는 10 이상 50 미만입니다.&#39;);
} else {
    alery(&#39;myPrice는 10 미만입니다.&#39;);
}</code></pre><h4 id="참조--거짓으로-취급하는-값">참조 : 거짓으로 취급하는 값</h4>
<ol>
<li>false</li>
<li>undefined</li>
<li>null</li>
<li>0</li>
<li>NaN</li>
<li>the empty string(&quot;&quot;)</li>
</ol>
<hr>
<h3 id="후일담">후일담</h3>
<p>if를 처음 본 것은 엑셀이었다.
그 당시의 나는 사무직이었고, 사무직의 필수불가결인 프로그램인 엑셀을 어느정도 다뤄야 하는 신분이었다.</p>
<p>외형이 달라 아직도 햇갈리지만, 기본 원리는 같아서 이해가 쉬웠다.</p>
<blockquote>
<p><strong>=if(C2=&quot;YES&quot;, 1, 2)</strong></p>
</blockquote>
<pre><code>&lt;script&gt;
let C2 = &quot;YES&quot;

if (let === &quot;YES&quot;) {
    console.log(1)
} else {
    console.log(2)
}
&lt;/script&gt;</code></pre><p>그 당시엔 몰랐지만 돌이켜 생각해보면 이렇게 써볼 수 있는 날이 올 줄은 몰랐다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[word-relay 예제 따라하기 - 콜백함수 편]]></title>
            <link>https://velog.io/@nian-3889/word-relay-%EC%98%88%EC%A0%9C-%EB%94%B0%EB%9D%BC%ED%95%98%EA%B8%B0-%EC%BD%9C%EB%B0%B1%ED%95%A8%EC%88%98-%ED%8E%B8</link>
            <guid>https://velog.io/@nian-3889/word-relay-%EC%98%88%EC%A0%9C-%EB%94%B0%EB%9D%BC%ED%95%98%EA%B8%B0-%EC%BD%9C%EB%B0%B1%ED%95%A8%EC%88%98-%ED%8E%B8</guid>
            <pubDate>Mon, 02 May 2022 10:45:17 GMT</pubDate>
            <description><![CDATA[<h3 id="참조">참조</h3>
<ul>
<li>이 글은 Let&#39;s Get IT 자바스크립트 스크립트 편의 예제를 따라하고 자습하는 페이지이며, 언급한 책 이외에도 다른 홈페이지를 참고하여 예제를 작성한 것도 있습니다.</li>
</ul>
<h3 id="콜백함수">콜백함수</h3>
<p>*여기서는 콜백함수의 개념만 작성했습니다.</p>
<ul>
<li>정의</li>
</ul>
<blockquote>
<p>특정 작업이 실행되고 난 뒤에 추가로 실행되는 함수
출처 : Let&#39;s Get IT 자바스크립트 프로그래밍</p>
</blockquote>
<blockquote>
<p>다른 코드 (함수 또는 메서드)에게 인자로 넘겨줌으로써 그 제어권도 함께 위임하는 함수
출처 : <a href="https://rypro.tistory.com/153">https://rypro.tistory.com/153</a></p>
</blockquote>
<blockquote>
<p>어떤 이벤트가 발생했거나 특정 시점에 도달했을 때 시스템에서 호출하는 함수
출처 : <a href="https://www.hanumoka.net/2018/10/24/javascript-20181024-javascript-callback/">https://www.hanumoka.net/2018/10/24/javascript-20181024-javascript-callback/</a></p>
</blockquote>
<h4 id="예시">예시</h4>
<ul>
<li>addEventListener()와 함께 쓴 경우</li>
<li>출처 : Let&#39;s Get IT 자바스크립트 프로그래밍<pre><code>&lt;script&gt;
const onClickButton = () =&gt; {
   console.log(&#39;버튼 클릭&#39;);
};
const $button = document.querySelector(&#39;button&#39;);
$button.addEventListener(&#39;click&#39;, onClickButton)
&lt;/script&gt;</code></pre></li>
</ul>
<pre><code>&lt;script&gt;
document.querySelector(&#39;button&#39;).addEventListener(&#39;click, () =&gt; {
    console.log(&#39;버튼 클릭&#39;);
});
&lt;/script&gt;</code></pre><ul>
<li>함수의 이름을 넘긴 경우</li>
<li>출처 : <a href="https://rypro.tistory.com/153">https://rypro.tistory.com/153</a></li>
</ul>
<pre><code>function whatYourName(name, callback) {
    console.log(&#39;name: &#39;, name);
    callback();
}

function finishFunc() {
    console.log(&#39;finish funchtion&#39;);
}

whatYourName(&#39;miniddo&#39;, finishFunc);</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[word-relay 예제 따라하기 - 이벤트 편]]></title>
            <link>https://velog.io/@nian-3889/word-relay-%EC%98%88%EC%A0%9C-%EB%94%B0%EB%9D%BC%ED%95%98%EA%B8%B0-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%ED%8E%B8</link>
            <guid>https://velog.io/@nian-3889/word-relay-%EC%98%88%EC%A0%9C-%EB%94%B0%EB%9D%BC%ED%95%98%EA%B8%B0-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%ED%8E%B8</guid>
            <pubDate>Mon, 02 May 2022 02:22:37 GMT</pubDate>
            <description><![CDATA[<h3 id="참조">참조</h3>
<ol>
<li>이 글은 &quot;Let&#39;s Get IT 자바스크립트 프로그래밍&quot;의 예제를 따라면서 자습하는 글입니다.</li>
<li>별도로 인터넷에서 찾아 작성한 예제도 포함될 수 있습니다. (출처 명시)</li>
</ol>
<hr>
<h3 id="1-확인할-코드">1. 확인할 코드</h3>
<pre><code>&lt;script&gt;
    const onClickButton = () =&gt; {
        console.log(&#39;버튼 클릭&#39;);
    };
    const $button = document.querySelector(&#39;button&#39;)
    $button.addEventListener(&#39;click&#39;, onClickButton)
&lt;/script&gt;</code></pre><h3 id="2-공부한-부분">2. 공부한 부분</h3>
<h4 id="addeventlistener">addEventListener()</h4>
<ul>
<li><p>참조 : <a href="https://ordinary-code.tistory.com/64">https://ordinary-code.tistory.com/64</a></p>
</li>
<li><p>지정한 유형의 이벤트를 대상이 수신할 때마다 호출할 함수 설정하는 매서드.</p>
</li>
<li><p>구문</p>
<p>  addEventListener(이벤트명, 실행할 함수명, 옵션)</p>
</li>
</ul>
<p><strong>이벤트명</strong> : Javascript에서 발생할 수 있는 이벤트명 
<strong>함수명</strong> : 해당 이벤트가 발생할 때 실행할 함수명. 생략가능.
<strong>옵션</strong> : 이벤트 수신기의 특징을 지정할 수 있는 객체.
*옵션에 대한 내용은 이 사이트(<a href="https://developer.mozilla.org/ko/docs/Web/API/Event/preventDefault)%EB%A5%BC">https://developer.mozilla.org/ko/docs/Web/API/Event/preventDefault)를</a> 참조</p>
<ul>
<li>예문</li>
<li>참조 : <a href="https://developer.mozilla.org/ko/docs/Web/API/EventTarget/addEventListener">https://developer.mozilla.org/ko/docs/Web/API/EventTarget/addEventListener</a></li>
</ul>
<pre><code>&lt;!doctype html&gt;
&lt;head&gt;
&lt;body&gt;
    &lt;table id=&quot;outside&quot;&gt;
        &lt;tr&gt;&lt;td id=&quot;t1&quot;&gt;one&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td id=&quot;t2&quot;&gt;two&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;
&lt;script&gt;
    // t2의 콘텐츠를 바꾸는 함수
    function modifyText() {
        const t2 = document.getElementById(&quot;t2&quot;);
        if (t2.firstChild.nodeValue == &quot;three&quot;) {
            t2.firstChild.nodeValue = &quot;two&quot;;
        } else {
            t2.firstChild.nodeValue = &quot;three&quot;;
        }
    }
    // 표에 이벤트 수신기 추가
    const el = document.getElementById(&quot;outside&quot;);
    el.addEventListener(&quot;click&quot;, mdoifyText, false);
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre><h4 id="참고사항--removeeventlistener">참고사항 : removeEventListener()</h4>
<ul>
<li>참조 : <a href="https://ordinary-code.tistory.com/64">https://ordinary-code.tistory.com/64</a></li>
</ul>
<p>해당 이벤트 리스너를 제거하는 기능</p>
<ul>
<li><p>구문</p>
<p>  romeve.EventListener(이벤트명, 함수, 옵션)</p>
</li>
<li><p>예시</p>
</li>
<li><p>출처 : <a href="https://developer.mozilla.org/ko/docs/Web/API/EventTarget/removeEventListener">https://developer.mozilla.org/ko/docs/Web/API/EventTarget/removeEventListener</a></p>
</li>
</ul>
<p>```
const body = document.querySelector(&#39;body&#39;)
const clickTarget = document.getElementById(&#39;click-target&#39;)
const mouseOverTarget = document.getElementById(&#39;mouse-over0target&#39;)</p>
<p>let toggle = false;
function makeBackgroundYellow() {
    if (toggle) {
        body.style.backgroundcolor = &#39;white&#39;;
    } else {
        body.style.backgroundColor = &#39;yellow&#39;;
    }</p>
<pre><code>toggle = !toggle;</code></pre><p>}</p>
<p>clickTarget.addEventListener(&#39;click&#39;, makeBackgroundYellow, false);</p>
<p>mouseOverTarget.addEventListener(&#39;mouseover&#39;, function() {
    clickTarget.removeEventListener(&#39;click&#39;, makeBackgroundYellow, false);
});</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[word-relay 예제 따라하기 - html 태그 선택하기 편]]></title>
            <link>https://velog.io/@nian-3889/word-relay-%EC%98%88%EC%A0%9C-%EB%94%B0%EB%9D%BC%ED%95%98%EA%B8%B0-html-%ED%83%9C%EA%B7%B8-%EC%84%A0%ED%83%9D%ED%95%98%EA%B8%B0-%ED%8E%B8</link>
            <guid>https://velog.io/@nian-3889/word-relay-%EC%98%88%EC%A0%9C-%EB%94%B0%EB%9D%BC%ED%95%98%EA%B8%B0-html-%ED%83%9C%EA%B7%B8-%EC%84%A0%ED%83%9D%ED%95%98%EA%B8%B0-%ED%8E%B8</guid>
            <pubDate>Sun, 01 May 2022 01:33:17 GMT</pubDate>
            <description><![CDATA[<h3 id="참조">참조</h3>
<ol>
<li>이 글은 &quot;Let&#39;s Get IT 자바스크립트 프로그래밍&quot;의 예제를 따라면서 자습하는 글입니다.</li>
<li>별도로 인터넷에서 찾아 작성한 예제도 포함될 수 있습니다. (출처 명시)</li>
</ol>
<hr>
<h3 id="자바스크립트로-html-태그를-가져오기">자바스크립트로 HTML 태그를 가져오기</h3>
<p>책에 따르면 보통 자바스크립트에서 HTML 태그, class, id를 가져오는 것을 <strong>선택</strong> 한다고 표현함.
이에 해당되는 함수는</p>
<ul>
<li>document.querySelector</li>
<li>document.querySelectorAll</li>
<li>document.getElementById</li>
<li>document.getElementByClass</li>
</ul>
<p>등이 있다.
현재 보고 있는 페이지에서는 docuement.querySelector만 있기 때문에 나머지는 다른 책과 인터넷에서 찾기로 했다.</p>
<h4 id="1-documentqueryselector">1. document.querySelector()</h4>
<ul>
<li><p>형식 : <code>document.querySelector(&#39;선택자&#39;)</code>
  선택에 대한 예시는 다음과 같다.</p>
<ul>
<li>HTML태그 : document.querySelector(<code>&#39;HTML태그&#39;</code>)</li>
<li>class명 : document.querySelector(<code>&#39;.class명&#39;</code>)</li>
<li>id명 : document.querySelector(<code>&#39;#id명&#39;</code>)<br></li>
</ul>
</li>
<li><p>예시 1</p>
<ul>
<li>출처 : Let&#39;s Get IT 자바스크립트 프로그래밍<pre><code>&lt;body&gt;
&lt;div&gt;&lt;span id=&quot;order&quot;&gt;1&lt;/span&gt;번째 참가자&lt;/div&gt;
&lt;div&gt;제시어: &lt;span id=&quot;word&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;input type=&quot;text&quot;&gt;
&lt;button&gt;입력&lt;/button&gt;
&lt;button&gt;버튼 2&lt;/button&gt;
&lt;button&gt;버튼 3&lt;/button&gt;
&lt;script&gt;
  const $input = document.querySelector(&#39;input&#39;);
  console.log($input);
&lt;/script&gt;
&lt;/body&gt;</code></pre></li>
</ul>
</li>
<li><p>예시 2</p>
<ul>
<li>출처 : 자바스크립트 코드레시피 278<pre><code>&lt;div id=&quot;foo&quot;&gt;&lt;/div&gt;
&lt;ul class=&quot;list&quot;&gt;
&lt;li class=&quot;item&quot;&gt;&lt;/li&gt;
&lt;li class=&quot;item&quot;&gt;&lt;/li&gt;
&lt;li class=&quot;item&quot;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;script&gt;
document.querySelector(&#39;#foo&#39;)
&lt;/script&gt;</code></pre></li>
</ul>
</li>
<li><p>특정 name, id, class를 제한하지 않고 css 선택자를 사용이 가능.</p>
</li>
<li><p>같은 id와 class인 경우, 최상단 요소만 포함함.</p>
</li>
<li><p>list 클래스 내 두번째 item 클래스를 선택하고 싶다면 아래처럼 가능
  <code>document.quertSelector(&#39;.item .item:nth-child(2))</code></p>
</li>
</ul>
<br>

<h4 id="2-documentqeuryselectorall">2. document.qeurySelectorAll()</h4>
<ul>
<li><p>형식 : <code>document.querySelectorAll(&#39;선택자&#39;)</code></p>
</li>
<li><p>주의 : <code>document.querySelector()</code>와 달리 선택자를 가진 모든 요소를 가져와 적용시킨다.</p>
</li>
<li><p>예시 1</p>
<ul>
<li>출처 : <a href="https://www.codingfactory.net/10413">https://www.codingfactory.net/10413</a></li>
<li>이 예시는 변수 선언으로 <code>var</code>를 씀. </li>
</ul>
</li>
</ul>
<pre><code>&lt;!doctype html&gt;
&lt;html lang=&quot;ko&quot;&gt;
    &lt;head&gt;
        &lt;meta charset=&quot;utf-8&quot;&gt;
        &lt;title&gt;Javascript&lt;/title&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;p class=&quot;abc&quot;&gt;Lorem Ipsum Dolor&lt;/p&gt;
        &lt;p class=&quot;abc&quot;&gt;Lorem Ipsum Dolor&lt;/p&gt;
        &lt;p class=&quot;abc&quot;&gt;Lorem Ipsum Dolor&lt;/p&gt;
        &lt;script&gt;
            var jb = document.querySelectorAll(&#39;.abc&#39;);
            for (var i = 0; i &lt; jb.length; i++) {
                jb[i].style.color = &#39;red&#39;;
            }
        &lt;/script&gt;
    &lt;/body&gt;
&lt;/html&gt;</code></pre><br>

<h4 id="3-documentgetelementbyid">3. document.getElementById()</h4>
<ul>
<li>형식 : <code>document.getElementById(&#39;id명&#39;)</code></li>
<li>주의사항</li>
</ul>
<ol>
<li>셀렉터명이 아닌 ID명만 전달. #을 빼고 작성해야 함.</li>
<li>ID값은 문서 전체에서 유일해야 함.</li>
<li>대소문자를 구분함.<br>
</li>
</ol>
<ul>
<li><p>예시 :</p>
<ul>
<li>출처 : <a href="https://developer.mozilla.org/ko/docs/Web/API/Document/getElementById">https://developer.mozilla.org/ko/docs/Web/API/Document/getElementById</a></li>
</ul>
</li>
</ul>
<pre><code>&lt;html&gt;
&lt;head&gt;
    &lt;title&gt;getElementById 예제&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;p id=&quot;para&quot;&gt;어떤 글&lt;/p&gt;
    &lt;button onclick=&quot;changeColor(&#39;blue&#39;);&quot;&gt;blue&lt;/button&gt;
    &lt;button onclick=&quot;changeColor(&#39;red&#39;);&quot;&gt;red&lt;/button&gt;
&lt;/body&gt;
&lt;script&gt;
    function changeColor(newColor) {
        var elem = document.getElementById(&#39;para&#39;);
        elem.style.color = newColor;
    }
&lt;/script&gt;
&lt;/html&gt;</code></pre><br>

<h4 id="4-documentgetelementbyclassname">4. document.getElementByClassName()</h4>
<ul>
<li>형식 : `document.getElementByClassName(&#39;class명&#39;)</li>
<li>참조</li>
</ul>
<ol>
<li><code>getElementById</code>와 다르게 클래스명과 일치하는 요소 모두 가져온다.</li>
<li>class명만 전달. .를 빼고 작성해야 함.</li>
</ol>
<ul>
<li><p>예시 :</p>
<ul>
<li>출처 : <a href="http://www.w3bai.com/ko/jsref/met_document_getelementsbyclassname.html">http://www.w3bai.com/ko/jsref/met_document_getelementsbyclassname.html</a></li>
</ul>
</li>
</ul>
<p>```
<!doctype html></p>
<html>
<head>
<style>
div {
    border: 1px solid black;
    margin: 5px;
}
</style>
</head>
<body>

<div class="example">
    <p>P element in first div with class="example". Div's index is 0.</p>
</div>


<div class="example color">
    <p>P element in first div with class="example color". Div's index is 1.</p>
</div>

<div class="example color">
    <p>P element in second div with class="example color". Div's index is 1.</p>

<p>Click the button to change the background color of the first div element with the classes "example" and "color".</p>

<p><button onclick="myFunction()">Try it</button></p>
<p><strong>Note : </strong> The getElementsByClassName() methode is not supported in Internet Explorer 8 and earlier versions.</p>

<script>
function myFunction() {
    var x = document.getElementsByClassName("example color");
    x[0].style.backgroundColor = 'red';
}
</script>

</body>
</html>]]></description>
        </item>
        <item>
            <title><![CDATA[word-relay 예제 따라하기 : 변수 저장편]]></title>
            <link>https://velog.io/@nian-3889/word-relay-%EC%98%88%EC%A0%9C-%EB%94%B0%EB%9D%BC%ED%95%98%EA%B8%B0-%EB%B3%80%EC%88%98-%EC%A0%80%EC%9E%A5%ED%8E%B8</link>
            <guid>https://velog.io/@nian-3889/word-relay-%EC%98%88%EC%A0%9C-%EB%94%B0%EB%9D%BC%ED%95%98%EA%B8%B0-%EB%B3%80%EC%88%98-%EC%A0%80%EC%9E%A5%ED%8E%B8</guid>
            <pubDate>Fri, 29 Apr 2022 11:23:03 GMT</pubDate>
            <description><![CDATA[<h3 id="참조">참조</h3>
<ol>
<li>이 글은 &quot;Let&#39;s Get IT 자바스크립트 프로그래밍&quot;의 예제를 따라면서 자습하는 글입니다.</li>
<li>별도로 인터넷에서 찾아 작성한 예제도 포함될 수 있습니다.</li>
</ol>
<hr>
<h3 id="prompt-함수">prompt() 함수</h3>
<ul>
<li><p>기본 형태 : </p>
<pre><code>  &lt;script&gt;
      prompt();
  &lt;/script&gt;</code></pre></li>
<li><p>문자열을 입력할 때 사용</p>
</li>
<li><p>괄호에는 아래의 내용이 들어감</p>
<ul>
<li>(&quot;입력창 멘트&quot;, &quot;미리 삽입할 단어&quot;)</li>
<li>생략이 가능함</li>
</ul>
</li>
<li><p>호출되는 상자에 작성되는 모든 내용은 String 타입으로 나옴</p>
</li>
<li><p>호출되는 상자를 빈 공간으로 둔 채로 확인을 누를 경우 <code>&#39;&#39;</code>를 출력함.</p>
</li>
<li><p>상자 내 취소 버튼을 누르면 <code>null</code>  값이 나옴.</p>
<br>
### alert() 함수
</li>
<li><p>사용방법</p>
<pre><code>  &lt;script&gt;
      alert();
  &lt;/script&gt;</code></pre></li>
<li><p>괄호 안에는 메시지 문자열이 들어가며, 생략이 가능함.</p>
</li>
<li><p>사용자가 확인 버튼을 누를 때까지 메세지를 보여주는 창</p>
</li>
</ul>
<h3 id="confirm-함수">confirm() 함수</h3>
<ul>
<li><p>사용방법</p>
<pre><code>  &lt;script&gt;
      confirm();
  &lt;/script&gt;</code></pre></li>
<li><p>괄호 안에는 메시지 문자열이 들어가며, 생략이 가능함.</p>
</li>
<li><p>확인 또는 취소 버튼이 나온다.</p>
<ul>
<li>확인을 누르면 <code>true</code> 값이 반환된다.</li>
<li>취소를 누르면 <code>false</code> 값이 반환된다.</li>
</ul>
</li>
</ul>
<br>

<h3 id="책의-코드를-따라-해보자">책의 코드를 따라 해보자</h3>
<ul>
<li>prompt()<pre><code>&lt;script&gt;
  prompt(&#39;몇 명이 참가하나요?&#39;);
&lt;/script&gt;</code></pre></li>
</ul>
<pre><code>&lt;script&gt;
    const number = prompt(&#39;몇 명이 참가하나요?&#39;);
&lt;/script&gt;</code></pre><pre><code>&lt;script&gt;
    const number = prompt(&#39;몇 명이 참가하나요?&#39;);
    console.log(&#39;number&#39;, number)
&lt;/script&gt;</code></pre><ul>
<li>alert()</li>
</ul>
<pre><code>&lt;script&gt;
    const number = prompt(&#39;몇 명이 참가하나요?&#39;);
    alert(number);
&lt;/script&gt;</code></pre><ul>
<li>confirm()</li>
</ul>
<pre><code>&lt;script&gt;
    const yesOrNo = confirm(&#39;확인이나 취소 눌러보세요&#39;);
    const.log(yesOrNo);
&lt;script&gt;</code></pre><ul>
<li><p>typeof()</p>
<ul>
<li>변수의 타입을 반환하는 함수</li>
</ul>
</li>
</ul>
<pre><code>&lt;script&gt;
    const number = prompt(&#39;몇 명이 참가하나요?&#39;);
    console.log(typeof number);
&lt;/script&gt;</code></pre><pre><code>&lt;script&gt;
    const number = prompt(&#39;몇 명이 참가하나요?&#39;);
    const realNumber = Number(number);
    console.log(typeof realNumber);
&lt;/script&gt;</code></pre><ul>
<li>위의 코드는 아래와 같이 해도 된다고 명시되어 있음</li>
</ul>
<pre><code>&lt;script&gt;
    const number = Number(prompt(&#39;몇 명이 참가하나요?&#39;));
    console.log(typeof number);
&lt;/script&gt;
</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[word-relay 예제 따라하기 -html편]]></title>
            <link>https://velog.io/@nian-3889/word-relay-%EC%98%88%EC%A0%9C-%EB%94%B0%EB%9D%BC%ED%95%98%EA%B8%B0-html%ED%8E%B8</link>
            <guid>https://velog.io/@nian-3889/word-relay-%EC%98%88%EC%A0%9C-%EB%94%B0%EB%9D%BC%ED%95%98%EA%B8%B0-html%ED%8E%B8</guid>
            <pubDate>Fri, 29 Apr 2022 08:05:50 GMT</pubDate>
            <description><![CDATA[<h3 id="참조">참조</h3>
<p>이 코드는 Let&#39;s Get IT 자바스크립트 프로그래밍에 있는 예제로 공부하고 있습니다. </p>
<hr>
<h3 id="이-짓을-왜-하는-것일까">이 짓을 왜 하는 것일까.</h3>
<p>나는 그동안 html과 css를 대충 배우고 Javascript를 배우는 단계에 왔다. 이런저런 책을 사서 봤지만, 이해가 되지 않은 채로 넘어간 것 같다.</p>
<p>이에 복습 차원에서 태그부터 쭉 살펴보면서 내방식대로 이해를 하려고 한다.</p>
<p>하다보면 내가 하고 싶었던 목표에 닿지 않을까...?</p>
<hr>
<h3 id="코드">코드</h3>
<pre><code>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;끝말잇기&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div&gt;&lt;span id=&quot;order&quot;&gt;1&lt;/span&gt;번째 참가자&lt;/div&gt;
    &lt;div&gt;제시어 : &lt;span id=&quot;word&quot;&gt;&lt;/span&gt;&lt;/div&gt;
    &lt;input type=&quot;text&quot;&gt;
    &lt;button&gt;입력&lt;/button&gt;
    &lt;script&gt;

    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre><hr>
<h3 id="사용한-태그를-구글링을-통하여-내-방식대로-읽어보자">사용한 태그를 구글링을 통하여 내 방식대로 읽어보자</h3>
<ol>
<li><code>&lt;!DOCTYPE html&gt;</code> </li>
</ol>
<ul>
<li>어떤 버전으로 작성되었는지 브라우저에게 알려 내용을 올바르게 출력하도록 도와주는 역할을 한다.</li>
<li>HTML 문서 첫 부분에 기술하여야 하며, 작성하지 않을 땐 비표준모드로 랜더링이 된다.</li>
<li><code>DOCTYPE</code>은 태그가 아니기 때문에 문서 상단에 한 번만 기입해도 된다.</li>
<li>소문자로 작성해도 적용이 된다.<br>
</li>
</ul>
<ol start="2">
<li><code>&lt;html lang=&quot;en&quot;&gt;</code></li>
</ol>
<ul>
<li>언어를 지정하는 특성이며, 이것을 기준으로 스크린 리더기가 인식함.</li>
<li>문서가 있는 태그에도 지정할 수 있다.
  ex : <code>&lt;p lang=&quot;ko&quot;&gt;</code>
  각 나라의 언어 코드 사이트 : <a href="https://www.w3schools.com/tags/ref_language_codes.asp">https://www.w3schools.com/tags/ref_language_codes.asp</a><br>
</li>
</ul>
<ol start="3">
<li><code>&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;</code></li>
</ol>
<ul>
<li>문서 호환성 모드</li>
<li>인터넷 익스플로러(IE)의 버전에 따라 다르게 보여지지기에 &quot;호환성 보기&quot;라는 기능을 제공.</li>
<li>content 부분에 보여줄 IE 버전을 작성</li>
<li>인터넷 익스플로러의 사용을 중지하고 Edge로 전환됨에 따라 위 형태의 코드를 사용.</li>
<li>vscode에서는 !를 입력한 상태에서 Tab키를 누르면 기본 세팅이 나옴.<br>
</li>
</ul>
<ol start="4">
<li><code>&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;</code></li>
</ol>
<ul>
<li><p>출처 : <a href="https://aboooks.tistory.com/352">https://aboooks.tistory.com/352</a></p>
</li>
<li><p><code>Viewport</code>는 웹페이지를 렌더링 할 때 동작하는 방법을 알려주고 그 크기를 디바이스 별로 지정하는 것.</p>
</li>
<li><p><code>content=&quot;width=device-width</code>는 컨텐츠를 표현할 넓이를 사용자의 디바이스 크기에 맞춰 선언하겠다는 것.
아래와 같은 선언 형태가 있다.</p>
<p>  meta name=&quot;viewport&quot; content=&quot;width=400&quot;
  meta name=&quot;viewport&quot; content=&quot;width=device-width&quot;
  meta name=&quot;viewport&quot; content=&quot;width=device-height&quot;
  meta name=&quot;viewport&quot; content=&quot;width=device-width&quot;, initial-scale=1.0
  meta name=&quot;Viewport&quot; content=&quot;width=device-width, user-scalable=no&quot;</p>
<br></li>
</ul>
<ol start="5">
<li><code>&lt;title&gt;</code> 태그</li>
</ol>
<ul>
<li><code>&lt;head&gt;</code> 태그 내에서 사용해야 함</li>
<li>페이지 제목을 담당.</li>
<li>검색 엔진 등에서 가장 크게 보여지는 텍스트.<br></li>
</ul>
<ol start="6">
<li><code>&lt;div&gt;</code> 태그</li>
</ol>
<ul>
<li><strong>Div</strong>ision의 약자. 레이아웃을 나누는데 사용.</li>
<li>span 태그와의 차이점은<ol>
<li>줄바꿈이 된다. (기본적으로 Block 속성)</li>
<li>크기를 지정할 수 있다.</li>
</ol>
</li>
</ul>
<br>
7. span 태그

<ul>
<li>문장. 혹은 텍스트의 특정 부분을 묶는데 사용한다.</li>
<li>Inline 속성을 가진다.<br>
</li>
</ul>
<ol start="8">
<li><code>&lt;input type=&quot;text&quot;&gt;</code> 태그</li>
</ol>
<ul>
<li><p>글을 입력할 수 있는 창을 생성</p>
</li>
<li><p>속성은 다음과 같음</p>
<ul>
<li>value : 미리 문자를 입력할 수 있음. <em>단, 지워야하는 번거로움이 있음.</em></li>
<li>placeholder : 회색 글씨로 된 예시 글자</li>
<li>size : 입력 폼 가로 길이</li>
<li>maxlength : 글자 개수 제한</li>
</ul>
</li>
</ul>
<ol start="9">
<li><code>&lt;button&gt;</code> 태그
참고자료 : <a href="http://www.tcpschool.com/html-tags/button">http://www.tcpschool.com/html-tags/button</a></li>
</ol>
<ul>
<li>클릭이 가능한 버튼을 정의할 때 사용</li>
<li>input 요소를 사용한 버튼에는 이미지, 텍스트 등을 삽입이 제한이 됨</li>
<li>button별로 type를 명시하는 것이 좋음.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[3화. input 텍스트 창에도 색상을 반영할 수 있었구나!]]></title>
            <link>https://velog.io/@nian-3889/3%ED%99%94.-input-%ED%85%8D%EC%8A%A4%ED%8A%B8-%EC%B0%BD%EC%97%90%EB%8F%84-%EC%83%89%EC%83%81%EC%9D%84-%EB%B0%98%EC%98%81%ED%95%A0-%EC%88%98-%EC%9E%88%EC%97%88%EA%B5%AC%EB%82%98</link>
            <guid>https://velog.io/@nian-3889/3%ED%99%94.-input-%ED%85%8D%EC%8A%A4%ED%8A%B8-%EC%B0%BD%EC%97%90%EB%8F%84-%EC%83%89%EC%83%81%EC%9D%84-%EB%B0%98%EC%98%81%ED%95%A0-%EC%88%98-%EC%9E%88%EC%97%88%EA%B5%AC%EB%82%98</guid>
            <pubDate>Mon, 18 Apr 2022 08:15:50 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/nian-3889/post/7b6aad65-8860-4e6a-be4b-69195e8ddae3/image.png" alt=""></p>
<p>이 부분을 자연스럽게 하기 위해서 css 속성이 있는지 구글을 통해 찾았고,</p>
<p><a href="http://gnujava.com/board/article_view.jsp?article_no=341&amp;board_no=11&amp;table_cd=EPAR04&amp;table_no=04">http://gnujava.com/board/article_view.jsp?article_no=341&amp;board_no=11&amp;table_cd=EPAR04&amp;table_no=04</a></p>
<p>이 글을 통해서 해결을 했다.</p>
<p>그래서 이 부분은 이런 식으로 구현을 했다.</p>
<h3 id="html">html</h3>
<ul>
<li>이 <code>textarea</code>와 <code>input</code> 태그는 아쉽게도 내가 만든 것이 아니다. 남이 쓴 걸 그대로 베껴왔다.</li>
</ul>
<pre><code>        &lt;div class=&quot;mypost&quot;&gt;
            &lt;input type=&quot;text&quot; id=&quot;name&quot; class=&quot;form-control&quot; placeholder=&quot;닉네임&quot;&gt;
            &lt;textarea class=&quot;form-control&quot; id=&quot;&quot; cols=&quot;30&quot; rows=&quot;10&quot; placeholder=&quot;생일축하 멘트&quot; maxlength=&quot;400&quot;&gt;&lt;/textarea&gt;
            &lt;button&gt;메시지 남기기&lt;/button&gt;
        &lt;/div&gt;</code></pre><br>

<h3 id="css">css</h3>
<ul>
<li>남이 쓰던 코드 그대로 뜯어오고 난 다음에 자세히 봤는데 부트스트랩의 폼과 유사했다. 내가 할 수 있었던 건 다시 개별 지정을 해야하는 것?
현재 내 실력은 어느 코드가 어떤 식으로 중복이 되어 있는지 잘 몰라서 크롬이 알아서 잡아주기를 기도하는 것 뿐이다.
(링크 : <a href="https://getbootstrap.kr/docs/5.1/forms/overview/">https://getbootstrap.kr/docs/5.1/forms/overview/</a>)<pre><code>.mypost&gt;input {
  margin-bottom: 20px;
  background-color: transparent;
  color: white;
}
</code></pre></li>
</ul>
<p>.mypost&gt;textarea {
    height: 300px;
    resize: none;
    background-color: transparent;
    color: white;
}</p>
<p>.form-control {
    display: block;
    width: 100px;
    font-size: 1rem;
    --bs-blue: #0d6efd;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc107;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-primary: #0d6efd;
    --bs-secondary: #6c757d;
    --bs-success: #198754;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-font-sans-serif: system-ui,-apple-system,&quot;Segoe UI&quot;,Roboto,&quot;Helvetica Neue&quot;,Arial,&quot;Noto Sans&quot;,&quot;Liberation Sans&quot;,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;,&quot;Segoe UI Symbol&quot;,&quot;Noto Color Emoji&quot;;
    --bs-font-monospace: SFMono-Regular,Menlo,Monaco,Consolas,&quot;Liberation Mono&quot;,&quot;Courier New&quot;,monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    box-sizing: border-box;
    margin: 0;
    font-family: inherit;
    display: block;
    width: 100%;
    font-size: 1rem;
    font-weight: 400;
    color: #212529;
    /* background-color: #fff; */
    background-clip: padding-box;
    border: 1px solid #ced4da;
    appearance: none;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    height: calc(3.5rem + 2px);
    line-height: 1.25;
    padding: 1rem .75rem;
}</p>
<p>```</p>
<p><img src="https://velog.velcdn.com/images/nian-3889/post/c876b9a0-2a3c-41e9-a379-9c636b55f4b6/image.png" alt=""></p>
<h3 id="후기">후기</h3>
<p>왕뿌듯</p>
<p>이제 CRUD와 친해질 때가 되었다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[2화, 한땀 한땀 코드 작성중]]></title>
            <link>https://velog.io/@nian-3889/2%ED%99%94-%ED%95%9C%EB%95%80-%ED%95%9C%EB%95%80-%EC%BD%94%EB%93%9C-%EC%9E%91%EC%84%B1%EC%A4%91</link>
            <guid>https://velog.io/@nian-3889/2%ED%99%94-%ED%95%9C%EB%95%80-%ED%95%9C%EB%95%80-%EC%BD%94%EB%93%9C-%EC%9E%91%EC%84%B1%EC%A4%91</guid>
            <pubDate>Sun, 17 Apr 2022 05:04:04 GMT</pubDate>
            <description><![CDATA[<ul>
<li>HTML</li>
</ul>
<pre><code>&lt;!doctype html&gt;
&lt;html lang=&quot;ko&quot;&gt;

&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot;
        content=&quot;width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0&quot;&gt;
    &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;ie=edge&quot;&gt;
    &lt;title&gt;라이네라의 31번째 생일 메시지함&lt;/title&gt;
    &lt;link rel=&quot;stylesheet&quot; href=&quot;../static/style.css&quot;&gt;
    &lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.googleapis.com&quot;&gt;
    &lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.gstatic.com&quot; crossorigin&gt;
    &lt;link href=&quot;https://fonts.googleapis.com/css2?family=Hi+Melody&amp;display=swap&quot; rel=&quot;stylesheet&quot;&gt;

&lt;/head&gt;

&lt;body&gt;
    &lt;!----&gt;
    &lt;div class=&quot;wrap&quot;&gt;
        &lt;!--헤더--&gt;
        &lt;header class=&quot;header&quot;&gt;
            &lt;p&gt;거짓말 같은 환상 속에서 함께 해줘서 고마워, 라이네라!&lt;/p&gt;
        &lt;/header&gt;

        &lt;!--카운트다운--&gt;
        &lt;div&gt;
            &lt;p id=&quot;remain-text&quot;&gt;&lt;/p&gt;
            &lt;p id=&quot;remain-time&quot;&gt;&lt;/p&gt;
        &lt;/div&gt;

        &lt;hr&gt;

        &lt;p class=&quot;bando-message&quot;&gt;
            우리 일상에 거짓말같이 찾아와 준 라이네라.&lt;br&gt;
            너의 31번째 생일도 특별해지도록 우리의 작은 축전을 담았어.&lt;br&gt;
            거짓말 같은 매일이 평범한 일상으로 돌아가기 전까지 함께 나아가자.
        &lt;/p&gt;
        &lt;div class=&quot;mypost&quot;&gt;
            &lt;button&gt;메시지 남기기&lt;/button&gt;
        &lt;/div&gt;




        &lt;!--이미지 영상--&gt;


        &lt;hr&gt;

        &lt;!--축하메시지함--&gt;
        &lt;div id=&quot;order-text&quot;&gt;
            &lt;p id=&quot;user-message&quot;&gt;메시지내용&lt;/p&gt;
            &lt;p id=&quot;user-name&quot;&gt;이름&lt;/p&gt;
            &lt;hr&gt;
        &lt;/div&gt;

    &lt;/div&gt;

    &lt;!--제이쿼리 스크립트--&gt;
    &lt;script src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js&quot;&gt;&lt;/script&gt;
    &lt;!--자바스크립트--&gt;
    &lt;script src=&quot;../static/scripts.js&quot;&gt;&lt;/script&gt;
&lt;/body&gt;

&lt;/html&gt;</code></pre><ul>
<li><p>CSS</p>
<pre><code>@import url(&#39;https://fonts.googleapis.com/css2?family=Hi+Melody&amp;display=swap&#39;);</code></pre></li>
<li><p>{
  margin: 0;
  padding: 0;
  box-sizing: border-box;</p>
</li>
</ul>
<p>}</p>
<p>body {
    margin: 0 auto;
    max-width: 1920px;
    background-image: url(../static/img/header.jpg);
}</p>
<p>.wrap {
    max-width: 1200px;
    width: 80%;
    margin: 0 auto;
}</p>
<p>.header {
    margin-top: 50px;
    height: 300px;
    /* border: 1px solid black; <em>/
    /</em> background-image: url(../static/img/header.jpg); */
}</p>
<p>.header&gt; p {
    text-align: center;
    height: 300px;
    font-size: 2em;
    line-height: 300px;
    color: white;
}</p>
<p>/<em>카운트다운 css</em>/
.wrap&gt;div:nth-child(2) {
    margin-top: 50px;</p>
<pre><code>text-align: center;</code></pre><p>}</p>
<p>#remain-text {
    font-family: &#39;Hi Melody&#39;, cursive;
    font-size: 3em;
    color: white;
}</p>
<p>#remain-time {
    font-family: &#39;Hi Melody&#39;, cursive;
    font-size: 2em;
    color: white;
}</p>
<p>hr {
    margin-top: 30px;
    border: 0;
    height: 10px;
    box-shadow: 0 10px 10px -10px black inset;
}</p>
<p>hr::after {
    content: &quot;\00a0&quot;;
}</p>
<p>/<em>축하메시지함 css</em>/</p>
<p>.bando-message {
    padding-top: 20px;
    color: white;
    font-size: 1.8em;
    text-align: center;
    font-family: &#39;Hi Melody&#39;, cursive;
}
button {
    margin: 0 auto;
}</p>
<p>.mypost {</p>
<p>}</p>
<p>#order-text {
    margin-top: 100px;
    width: 1200px;
    /* border: 1px solid rgba(234, 247, 57, 0.836) */
}</p>
<p>#user-message {
    font-size: 2em;
    color: white;
    margin-bottom: 10px;
}</p>
<p>#user-name {
    font-size: 1em;
    color: white;
}</p>
<p>/* 우측 앵커 */</p>
<pre><code>*mypost가 비어있는 이유는 현재 작성중이여서다 

* 자바스크립트
</code></pre><p>// 자바스크립트로 작성. 카운트다운
const remainTime = document.querySelector(&quot;#remain-time&quot;);
const remainText = document.querySelector(&quot;#remain-text&quot;)</p>
<p>function diffDay() {
    const birthTime = new Date(&quot;2022-08-28&quot;);
    const todayTime = new Date();
    const diff = birthTime - todayTime;</p>
<pre><code>const diffDay = Math.floor(diff / (1000 * 60 * 60 * 24));
const diffHour = Math.floor((diff / (1000 * 60 * 60)) % 24);
const diffMin = Math.floor((diff / (1000 * 60)) % 60);
const diffSec = Math.floor(diff / 1000 % 60);

if (diff &lt;= 0 ) {
    remainText.style.display = &quot;none&quot;
    remainTime.innerHTML = &quot;생일 축하해, 라이네라&quot;
} else {
    remainText.innerHTML = &quot;라이네라 생일까지 앞으로&quot;
    remainTime.innerHTML = `${diffDay}일 ${diffHour}시간 ${diffMin}분 ${diffSec}초`;
}</code></pre><p>}</p>
<p>diffDay();
setInterval(diffDay, 1000);</p>
<p>```</p>
<p>이대로 고대로 돌리면 사진없이 될 예정이다.
사진은 비밀로 하자.</p>
<h4 id="현재-진행중인-부분">현재 진행중인 부분</h4>
<p>메시지를 남길 수 있는 <code>&lt;textarea&gt;</code>를 만들어야 했다.
처음에 어떤 방식으로 배치를 하면 좋을 지를 정했지만, 학원에서 제출하는 방식이 영 못미더워서 빼버리고 말았다.
<del>깃으로 받아줄까? 깃에 집어넣는 건 이제 잘하는데 말이다.</del></p>
<h4 id="417-야밤에-추가된-부분">4/17 야밤에 추가된 부분</h4>
<p><img src="https://velog.velcdn.com/images/nian-3889/post/2983e279-16bf-4913-bf52-7eb1fa185787/image.png" alt=""></p>
<p>아이고 얼마 없는 사진이 잘 생겼다.
아이고 얼마 없는 사진이 다 어두워서 색상을 하얀색으로 해야만 했다.</p>
<p>이제 get과 post를 연결하면 될 것 같다.
다시 학원 공부에 매진하도록 하겠습니다 (...)</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[1화, 숙제였던 게 생일 축하 홈페이지가 된 사연에 대하여]]></title>
            <link>https://velog.io/@nian-3889/1%ED%99%94-%EC%88%99%EC%A0%9C%EC%98%80%EB%8D%98-%EA%B2%8C-%EC%83%9D%EC%9D%BC-%EC%B6%95%ED%95%98-%ED%99%88%ED%8E%98%EC%9D%B4%EC%A7%80%EA%B0%80-%EB%90%9C-%EC%82%AC%EC%97%B0%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC</link>
            <guid>https://velog.io/@nian-3889/1%ED%99%94-%EC%88%99%EC%A0%9C%EC%98%80%EB%8D%98-%EA%B2%8C-%EC%83%9D%EC%9D%BC-%EC%B6%95%ED%95%98-%ED%99%88%ED%8E%98%EC%9D%B4%EC%A7%80%EA%B0%80-%EB%90%9C-%EC%82%AC%EC%97%B0%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC</guid>
            <pubDate>Sun, 17 Apr 2022 04:51:43 GMT</pubDate>
            <description><![CDATA[<p>스파르타코딩클럽에서 제출하라니 했던 숙제(혹은 미니 프로젝트)였으나, 곧있으면 생일이니 소소하지만 낭만을 담아 의사를 전했던 저였습니다.
물론 이것이 프로젝트가 되리라곤 상상을 못했습니다.</p>
<h4 id="운명의-4월-14일">운명의 4월 14일.</h4>
<p>_나 : 실장님 도와주세요<del>~</del>
실장님 : 일단 기획안 짜옵시다.
나 : ?????????
_</p>
<ol>
<li>참조할 수 있는 홈페이지라곤 유일하게 이거(<a href="http://spartacodingclub.shop/web/homework">http://spartacodingclub.shop/web/homework</a>
) 뿐이고</li>
<li>내가 할 줄 아는 디자인은 하나도 없었으며</li>
<li>그럼에도 일단 기획안을 짜오라고 했으니...</li>
<li>????</li>
<li>실제로 짜고 말았다.</li>
</ol>
<p><img src="https://velog.velcdn.com/images/nian-3889/post/8df0c79a-50d4-4628-af63-93e18c49185b/image.png" alt=""></p>
<p>그리하여 이 허접한 초안을 바탕으로 진행을 해야만 했다.
숙제 제출, 이대로 괜찮은 것일까?
<del>...깃으로 받아줄까?</del></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[스파르타코딩클럽 3주차]]></title>
            <link>https://velog.io/@nian-3889/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80%EC%BD%94%EB%94%A9%ED%81%B4%EB%9F%BD-3%EC%A3%BC%EC%B0%A8</link>
            <guid>https://velog.io/@nian-3889/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80%EC%BD%94%EB%94%A9%ED%81%B4%EB%9F%BD-3%EC%A3%BC%EC%B0%A8</guid>
            <pubDate>Wed, 13 Apr 2022 06:42:27 GMT</pubDate>
            <description><![CDATA[<h4 id="지니뮤직-21년의-월간차트를-크롤링하자">지니뮤직 21년의 월간차트를 크롤링하자.</h4>
<p>처음에 겁도 없이 최근 월간차트를 했더니 문자 투표 관련 메시지가 쭉 나와서 학원에서 제시한 21년의 월간차트를 이용하기로 했다.</p>
<p>근데... 나 잘 할 수 있을까?</p>
<h4 id="처음-코드를-뽑기로-했다">처음 코드를 뽑기로 했다.</h4>
<pre><code>import requests
from bs4 import BeautifulSoup

# 타겟 URL을 읽어서 HTML를 받아오고,
headers = {&#39;User-Agent&#39; : &#39;Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36&#39;}
data = requests.get(&#39;https://www.genie.co.kr/chart/top200?ditc=M&amp;rtm=N&amp;ymd=20210701&#39;,headers=headers)

soup = BeautifulSoup(data.text, &#39;html.parser&#39;)
title = soup.select_one(&#39;#body-content &gt; div.newest-list &gt; div &gt; table &gt; tbody &gt; tr:nth-child(1) &gt; td.info &gt; a.title.ellipsis&#39;)
rank = soup.select_one(&#39;#body-content &gt; div.newest-list &gt; div &gt; table &gt; tbody &gt; tr:nth-child(1) &gt; td.number&#39;).text
artist = soup.select_one(&#39;#body-content &gt; div.newest-list &gt; div &gt; table &gt; tbody &gt; tr:nth-child(1) &gt; td.info &gt; a.artist.ellipsis&#39;).text
print(title, rank, artist)</code></pre><p><img src="https://velog.velcdn.com/images/nian-3889/post/f76f7827-89ed-4aba-b403-deef546878e8/image.png" alt=""></p>
<p>처음 시도는 좋았다.</p>
<h4 id="나는-타이틀을-전부-뽑아보고-싶다">&quot;나는 타이틀을 전부 뽑아보고 싶다<del>~</del>&quot;</h4>
<pre><code>import requests
from bs4 import BeautifulSoup

# 타겟 URL을 읽어서 HTML를 받아오고,
headers = {&#39;User-Agent&#39; : &#39;Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36&#39;}
data = requests.get(&#39;https://www.genie.co.kr/chart/top200?ditc=M&amp;rtm=N&amp;ymd=20210701&#39;,headers=headers)

soup = BeautifulSoup(data.text, &#39;html.parser&#39;)

trs = soup.select(&#39;#body-content &gt; div.newest-list &gt; div &gt; table &gt; tbody &gt; tr&#39;)

for tr in trs:
    title = tr.select_one(&#39;td.info &gt; a.title.ellipsis&#39;).text.strip()
    print(title)
# rank = soup.select_one(&#39;#body-content &gt; div.newest-list &gt; div &gt; table &gt; tbody &gt; tr:nth-child(1) &gt; td.number&#39;).text.strip()
# artist = soup.select_one(&#39;#body-content &gt; div.newest-list &gt; div &gt; table &gt; tbody &gt; tr:nth-child(1) &gt; td.info &gt; a.artist.ellipsis&#39;).text.strip()
# print(title)</code></pre><p><img src="https://velog.velcdn.com/images/nian-3889/post/35cb93f2-c551-4956-860a-83b6e3f9736a/image.png" alt=""></p>
<p>물론, 중간에 <img src="https://velog.velcdn.com/images/nian-3889/post/8c2a0d21-c9f2-4ba4-8be4-e3362d932387/image.png" alt="">
이런 경우는 지워지지 못했다만, 대부분의 공백은 지워졌다.</p>
<p>strip()은 여기서 확인하기 : <a href="https://codechacha.com/ko/python-string-strip/">https://codechacha.com/ko/python-string-strip/</a></p>
<h4 id="나머지도-시도해버려">&quot;나머지도 시도해버려<del>~</del>&quot;</h4>
<pre><code>import requests
from bs4 import BeautifulSoup

# 타겟 URL을 읽어서 HTML를 받아오고,
headers = {&#39;User-Agent&#39; : &#39;Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36&#39;}
data = requests.get(&#39;https://www.genie.co.kr/chart/top200?ditc=M&amp;rtm=N&amp;ymd=20210701&#39;,headers=headers)

soup = BeautifulSoup(data.text, &#39;html.parser&#39;)

trs = soup.select(&#39;#body-content &gt; div.newest-list &gt; div &gt; table &gt; tbody &gt; tr&#39;)

for tr in trs:
    rank = tr.select_one(&#39;td.number&#39;).text.strip()
    title = tr.select_one(&#39;td.info &gt; a.title.ellipsis&#39;).text.strip()
    print(rank, title)
# rank = soup.select_one(&#39;#body-content &gt; div.newest-list &gt; div &gt; table &gt; tbody &gt; tr:nth-child(1) &gt; td.number&#39;).text.strip()
# artist = soup.select_one(&#39;#body-content &gt; div.newest-list &gt; div &gt; table &gt; tbody &gt; tr:nth-child(1) &gt; td.info &gt; a.artist.ellipsis&#39;).text.strip()
# print(title)</code></pre><p><img src="https://velog.velcdn.com/images/nian-3889/post/2a2c7df0-73e7-48d0-8e9e-02063042f55b/image.png" alt="">
오... 나름 재밌게 되었다.
<del>나는 이런 결괏값을 바라는 게 아니었다.</del>
찾아보니 텍스트 슬라이싱하면 된다고 하기에 그걸 쓰기로 했다.
참고링크 : <a href="https://wikidocs.net/2838">https://wikidocs.net/2838</a></p>
<pre><code>import requests
from bs4 import BeautifulSoup

# 타겟 URL을 읽어서 HTML를 받아오고,
headers = {&#39;User-Agent&#39; : &#39;Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36&#39;}
data = requests.get(&#39;https://www.genie.co.kr/chart/top200?ditc=M&amp;rtm=N&amp;ymd=20210701&#39;,headers=headers)

soup = BeautifulSoup(data.text, &#39;html.parser&#39;)

trs = soup.select(&#39;#body-content &gt; div.newest-list &gt; div &gt; table &gt; tbody &gt; tr&#39;)

for tr in trs:
    rank = tr.select_one(&#39;td.number&#39;).text[0:2].strip()
    title = tr.select_one(&#39;td.info &gt; a.title.ellipsis&#39;).text.strip()
    artist = tr.select_one(&#39;td.info &gt; a.artist.ellipsis&#39;).text.strip()
    print(rank, title, artist)
# rank = soup.select_one(&#39;#body-content &gt; div.newest-list &gt; div &gt; table &gt; tbody &gt; tr:nth-child(1) &gt; td.number&#39;).text.strip()
# artist = soup.select_one(&#39;#body-content &gt; div.newest-list &gt; div &gt; table &gt; tbody &gt; tr:nth-child(1) &gt; td.info &gt; a.artist.ellipsis&#39;).text.strip()</code></pre><p><img src="https://velog.velcdn.com/images/nian-3889/post/963d3ba9-155e-4465-aafe-a7dc340c87e2/image.png" alt=""></p>
<p>얼추 원하는 대로 된 것 같다. 중간에 15위에 랭크된 19금이란 곡은 제대로 안되어 어쩔 수 없지만, db에 넣게 된다면 별도로 수정을 하면 될 것 같다.</p>
<h4 id="후기">후기</h4>
<p>처음 크롤링이 어려웠는데, 구글링하면서 다시 해보고, 또 슬라이싱 등을 복습할 수 있는 시간이 되어 좋았다. 역시 여러번 하라는 계신가...</p>
<p>다만, 이번 주차에서 몽고 db 아틀라스 연결이 안 되어 로컬로 하는 법을 별도로 배웠다.
아틀라스 안 되는 사람은 로컬로 연결해서 하는걸 추천한다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[스파르타코딩클럽 웹개발 2주차 이야기]]></title>
            <link>https://velog.io/@nian-3889/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80%EC%BD%94%EB%94%A9%ED%81%B4%EB%9F%BD-%EC%9B%B9%EA%B0%9C%EB%B0%9C-2%EC%A3%BC%EC%B0%A8-%EC%9D%B4%EC%95%BC%EA%B8%B0</link>
            <guid>https://velog.io/@nian-3889/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80%EC%BD%94%EB%94%A9%ED%81%B4%EB%9F%BD-%EC%9B%B9%EA%B0%9C%EB%B0%9C-2%EC%A3%BC%EC%B0%A8-%EC%9D%B4%EC%95%BC%EA%B8%B0</guid>
            <pubDate>Fri, 08 Apr 2022 08:32:51 GMT</pubDate>
            <description><![CDATA[<h4 id="제이쿼리">제이쿼리?</h4>
<p>생전 처음으로 접하게 된 자바스크립트 라이브러리. 모 유튜버의 말에 따르면 리엑트를 제외하면 자주 쓰는 라이브러리라니 잘 배워두라고 하더라. 아직 익숙치도 않은 자바스크립트를 두고 갑자기 강의에서 제이쿼리 이야기가 나오니 &#39;이거 기초도 정리하고 나중에 보면서 해야하나&#39; 같은 생각이 들었다.
세상에, 맙소사. 그나마 위안인 건 자바스크립트랑 비슷하니까 복습하면서 해도 된다는 것이다.
*아주 슬프게도 언젠가 할 부분임을 인지했을 땐 숙제가 뭔지 확인하고 있었다.</p>
<h4 id="2주차-숙제">2주차 숙제</h4>
<p>날씨 정보를 반영하는 API를 사용하라는 말이 나왔지만, 사실 내가 구상한 웹페이지에는 날씨 정보를 넣고 싶지 않아 부득이하게 파일을 두개로 쪼개야만 했다.
또 css파일 링크를 지원하지 않기 때문에 한 파일에 작성해야 해서 가독성이 무지무지 떨어지겠지...?</p>
<p>사실 작성한 코드를 여기 벨로그에서 보여줄 수 있다 그래서 <code>&lt;details&gt;</code> 태그를 이용해서 하려 했지만 잘 안되었다.
그래서 특이사항만 부분부분 뜯어 올리기로 했다.</p>
<h4 id="신규코드-현재온도">신규코드, 현재온도</h4>
<pre><code>&lt;div class=&quot;title&quot;&gt;
        &lt;!-- &lt;img src=&quot;&quot; alt=&quot;라이네라 메인 타이틀&quot;&gt; --&gt;
        &lt;p&gt;주민들이 전하는 생일 축하 메시지&lt;/p&gt;
        &lt;p id=&quot;weatherText&quot;&gt;&lt;/p&gt;
    &lt;/div&gt;

</code></pre><pre><code>$.ajax({
            type: &quot;GET&quot;,
            url: &quot;http://spartacodingclub.shop/sparta_api/weather/seoul&quot;,
            data: {},
            success: function (response) {
                let city = response[&#39;city&#39;]
                let temp = response[&#39;temp&#39;]
                // console.log(city, temp)
                $(&#39;#weatherText&#39;).text(`현재 ${city} 온도 : ${temp}℃`)</code></pre><p><img src="https://velog.velcdn.com/cloudflare/nian-3889/2baf8ad7-98b0-43c4-8be7-7a11a6bff105/image.png" alt=""></p>
<p>서울 기온 open api를 받아 그걸 반영했다.
처음엔 이게 무어시야 했지만, 자세히보니 자바스크립트와 비슷한 면이 있어 천천히 할 수 있었던 것 같다.</p>
<h4 id="css는-물론-간단하게-해야지">CSS는? 물론 간단하게 해야지.</h4>
<pre><code>.title {
            height: 300px;
            background-color: skyblue;
        }</code></pre><p>이 부분은 나중에 이미지 파일을 제작하던, 받아오던 해서 할 예정이라 대충 색상만 둘렀다.</p>
<pre><code>.title &gt; p:nth-child(1) {
            font-size: 3em;
            text-align: center;
            height: 80%;
            line-height: 300px;
        }

        .title &gt; p:nth-child(2) {
            height: 20%;
            text-align: center;
            line-height: 10%;
        }</code></pre><p><img src="https://velog.velcdn.com/cloudflare/nian-3889/39fdf185-621a-477c-857b-53df619d0cbb/image.png" alt=""></p>
<p>현 스파르타코딩클럽에서 수강중인 강의에선 가르쳐주지 않은 부분을 반영했다.
<del>이 부분은 다른 경로를 통해 이미 독학을 했기 때문이다.</del>
** <code>nth-chile()</code>가 궁금하신 분은 구글에 검색하는 것을 추천한다. **</p>
<h4 id="나머지는-생략">나머지는 생략</h4>
<p>다음에 해도 될 것 같다.
실제로 완성하고 제출할 때는 무엇을 반영하고 싶은지 더 생각하고 반영하고 싶다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[220405 스파르타코딩클럽 웹개발 수업 1주차]]></title>
            <link>https://velog.io/@nian-3889/220405-%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80%EC%BD%94%EB%94%A9%ED%81%B4%EB%9F%BD-%EC%9B%B9%EA%B0%9C%EB%B0%9C-%EC%88%98%EC%97%85-1%EC%A3%BC%EC%B0%A8</link>
            <guid>https://velog.io/@nian-3889/220405-%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80%EC%BD%94%EB%94%A9%ED%81%B4%EB%9F%BD-%EC%9B%B9%EA%B0%9C%EB%B0%9C-%EC%88%98%EC%97%85-1%EC%A3%BC%EC%B0%A8</guid>
            <pubDate>Tue, 05 Apr 2022 08:43:43 GMT</pubDate>
            <description><![CDATA[<h4 id="학원-등록은-3월-초순-0주차-수업-시작은-4월-5일">학원 등록은 3월 초순, 0주차 수업 시작은 4월 5일?!</h4>
<p>등록하는 순간부터 처음 들었던 강의는 자바스크립트와 파이썬 기초문법.
처음에 나는 이거부터 시작하면 되는 줄 알고 한달 내내 그걸 듣고 책 몇권 사서 읽어가며 문법을 다지기 시작했다.</p>
<p>그런데 4월 1일에 받았던 문자를 보고 &#39;이거 말고 또 있단 말인가?&#39; 하는 생각을 들었다. 문제는 이걸 어디에 물어볼 길이 없었고, 대뜸 이 불길한 의문을 들었을 때는 4월 2일 저녁. 즉, 주말이었기 때문에 어딘가 물어볼 데가 없었기 때문이다.</p>
<p><del>그리고 대망의 4월 4일.</del>
<del>진짜로 한 달동안 못봤던 웹개발 강의가 떡하니 생긴 것이다. 기한은 4월 10일까지로 되어 있어 이 글을 쓰고 있는 4월 5일 기준으로 하루에 1단원씩 다 듣고 숙제를 제출해야 될까말까였다.
이건... 학원 측에 질의를 하여 시간을 연장받는 쪽으로 타협을 보기로 하고...</del></p>
<p>22.04.08 추가
다행인지 몰라도 수강 기한이랑 별도로 표기가 된 곳을 확인이 되어서 물어보지 않아도 될 것 같다. 다만 기한 내에 잘 들을 수 있을지...</p>
<h4 id="내-기준-인상깊은-연주자">내 기준 인상깊은 연주자</h4>
<p>아무튼 강의를 듣고 숙제를 하라고 하니 좋아하는 가수는 딱히 없고, 유튜버로 활동하는 연주자는 있으니 그 분을 타깃으로 하기로 결심했다.
마침 서비스를 개시한 이후에 생일이 도래할 것이고, 그 때의 나는 학원에 처박히느라 현생에 없기 때문에... 낭만을 꾹꾹 담아서 만들어보고자 한다.</p>
<h4 id="부트스트랩과의-첫-만남">부트스트랩과의 첫 만남</h4>
<p>들어는 봤다. 개인적으로 html과 css를 독학하고 있다보니 &#39;부트스트랩이란 사이트는 있다&#39;고만 인지했지, 사실 뭘 하는덴지 몰라서 강 건너 불구경 식으로만 봤던 곳이다. 몇몇 유튜버들이 &quot;이거 쓰면 웹사이트 1분만에 만들어요&quot; 라고 하지만, 기초만 겨우 뗀 내게 &#39;그게 뭔가요? 우걱우걱우걱&#39; 수준이라 쳐다보질 못했다.</p>
<h4 id="아무튼-진행상황">아무튼 진행상황</h4>
<p><img src="https://velog.velcdn.com/cloudflare/nian-3889/28fe1ced-871c-4846-a88e-1ae9dbc14c82/image.png" alt=""></p>
<p>기본틀만 짰다.
코드를 열면 80%는 부트스트랩이다.
css는 대충 이미지만 반영할 수 있는 곳만 처리했다.
학원 측에 제출할 코드가 .html 파일 안에 css까지 넣어야 한다는 사실을 뒤늦게 알아서 부랴부랴 제출 코드 안에 <code>&lt;style&gt;</code> 태그를 집어 넣었지만 말이다.</p>
<p>실제로 작업한 환경은 이랬다.
사용 중인 컴퓨터는 서피스 프로 5세대로, 파이참을 버티기 어려워 부득이하게 vscode로 진행중에 있다.
<img src="https://velog.velcdn.com/cloudflare/nian-3889/7c14eea0-aa71-4d68-804c-d9c116f2322b/image.png" alt="">
<img src="https://velog.velcdn.com/cloudflare/nian-3889/a2aebb69-5e7c-4782-b931-40528700b34f/image.png" alt="">
무려 보기 좋으라고 css파일까지 놔눠놨구만...</p>
<h4 id="그-다음엔-무엇일까">그 다음엔 무엇일까?</h4>
<p>잘 모르겠다.
사실 자바스크립트 기초 문법에 약해서 그걸 별도로 파일로 만들어 따라도 해보고, 정리도 하고, 그 다음 Git에 때려 박아 넣어 저장하는 짓을 하고 있었던 상황에서 이런 돌발상황은...</p>
<p><img src="https://velog.velcdn.com/cloudflare/nian-3889/3b070a93-50ba-4ad1-a5c4-9c904ee87b5a/image.png" alt="">
이젠 파이썬 기초 문법을 하면서 웹개발 수업도 들으라니... 맙소사.</p>
]]></description>
        </item>
    </channel>
</rss>