<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>kimminji32_.log</title>
        <link>https://velog.io/</link>
        <description>프론트엔드개발자 지망생</description>
        <lastBuildDate>Mon, 06 Nov 2023 05:43:47 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <copyright>Copyright (C) 2019. kimminji32_.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/kimminji32_" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[프론트엔드 로드맵]]></title>
            <link>https://velog.io/@kimminji32_/%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C-%EB%A1%9C%EB%93%9C%EB%A7%B5</link>
            <guid>https://velog.io/@kimminji32_/%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C-%EB%A1%9C%EB%93%9C%EB%A7%B5</guid>
            <pubDate>Mon, 06 Nov 2023 05:43:47 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/kimminji32_/post/84652fa0-8931-4409-9198-ae064e07e44c/image.png" alt="">
<em>출처-YOUTUBE 드림코딩 2022 웹개발 로드맵 총정리</em></p>
<p>2,3년간 손놓고 있었던 프론트엔드공부를 다시 시작하려고한다.
무작정 시작하기보다는 로드맵을 참고하여 계획을 세우고 실천해보려고한다.</p>
<h3 id="front-end-roadmap">Front End Roadmap</h3>
<p> 1) Basic tools
 2) Front-end
 3) Tools
 4) Testing
 5) Publishing</p>
<hr>
<p><img src="https://velog.velcdn.com/images/kimminji32_/post/00f32fad-8130-445f-8b56-c342f8130959/image.png" alt=""></p>
<h4 id="1basic-tools-">1)Basic Tools :</h4>
<p>computer(Windows사용)/Text Editor(VS Code,Sublime Text사용)/Browser(Chrome사용)/Terminal(Powershell,Bash,zsh &lt;?? 공부요망)</p>
<hr>
<p><img src="https://velog.velcdn.com/images/kimminji32_/post/8a976790-9768-435e-97b1-b7e213021c1e/image.png" alt=""></p>
<h4 id="2front-end--html--css--javascript">2)Front-end : HTML / CSS / JavaScript</h4>
<ul>
<li><p>HTML : 
HTML Tags
Page Structure-페이지 구조를 어떻게 잡을것인가
Semantic Tags-조금 더 의미있는 tag를 사용
SEO-사용자가 검색시에 웹사이트가 잘 노출되는 것
Accessibility-접근성</p>
</li>
<li><p>CSS :
Styling
Layouts-float / flex / grid 
Responsive Design-반응형 속성, 미디어쿼리
Animation</p>
</li>
<li><p><strong>JavaScript</strong> :
어떻게 동작하는지 일일이 외우는것이 아니라
기본문법부터 탄탄히 해야 한다. 
ES6+Syntax-자바스크립트 문법
Browser APIS-브라우저에 사용되는 API들</p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/kimminji32_/post/f3fd92b8-a502-4ff3-9bff-5a9a5686f939/image.png" alt=""></p>
<p>-ES6+ Syntax
 Basic : let, const, if, for, switch, while, function, object
 Advanced: Prototype, Hoisting, Scope, Closure
-Browser APIS : DOM Manipulation, Events, Fetch API(Async)</p>
<p><img src="https://velog.velcdn.com/images/kimminji32_/post/69574a87-57d5-47fb-832c-cc80cfde1698/image.png" alt=""></p>
<p>-JavaScript 기본 문법공부를 다 마쳤다면 &gt; React, TypeScript, Next.js(React) </p>
<hr>
<p>3년전 프론트엔드 공부를 할때는,
웹브라우저 화면에 홈페이지 레이아웃 구현에 집중을 하고,
스타일링과 구조에만 신경썼는데,
이번 로드맵을 통하여 html과 css는 중요하지만 기본적인 것에 충실히 하도록하고
JavaScript공부 위주로 파고들어야겠다. </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[JAVA SCRIPT - 3]]></title>
            <link>https://velog.io/@kimminji32_/09.01-JAVA-SCRIPT-3</link>
            <guid>https://velog.io/@kimminji32_/09.01-JAVA-SCRIPT-3</guid>
            <pubDate>Thu, 02 Sep 2021 07:03:45 GMT</pubDate>
            <description><![CDATA[<h2 id="자바스크립트-실습-090103">자바스크립트 실습 09.01~03</h2>
<hr>
<h3 id="데이터의-종류-데이터-타입">데이터의 종류 (데이터 타입)</h3>
<h4 id="원시-타입">원시 타입</h4>
<ol>
<li><p>문자 (String)</p>
</li>
<li><p>숫자 (Number)</p>
</li>
<li><p>논리 (Boolean)</p>
</li>
<li><p>Null</p>
</li>
<li><p>Undefined</p>
</li>
</ol>
<ul>
<li>Null &amp; Undefined<pre><code>**Null** : 변수 초기화를 명시적으로 함 (빈 값을 변수안에 할당한 상태), 명시적으로 값이 비어있음 
**Undefined** : 변수를 선언만 한 상태 (데이터 타입이자 값을 나타냄)</code></pre></li>
</ul>
<blockquote>
<p><strong>null</strong>과 <strong>undefined</strong> 는 등록, 저장 여부입니다. 
<strong>null</strong> 은 값은 값이지만 값으로써 의미없는 특별한 값이 등록되어 있는 것이고, <strong>undefined</strong> 는 등록이 되어있지 않기 때문에 초기화도 정의되지도 않은 것입니다. 
<strong>undefined</strong> 는 미리 선언된 전역변수(전역 객체의 프로퍼티)이며, <strong>null</strong> 은 선언,등록을 하는 키워드인 것입니다.  <a href="https://webclub.tistory.com/1">출처 </a></p>
</blockquote>
<ul>
<li>부정 연산자 &quot;<strong>!</strong>&quot;</li>
</ul>
<p><img src="https://images.velog.io/images/kimminji32_/post/3a434c74-06b4-4fe0-83af-80d74ccc965b/image.png" alt=""></p>
<pre><code>!true : true의 부정 = false
!false : false의 부정 = true</code></pre><ul>
<li><strong>null</strong>과 <strong>undefined</strong>에 <strong>!</strong> 적용했을 경우</li>
</ul>
<p><img src="https://images.velog.io/images/kimminji32_/post/640577a1-88f8-4681-a14f-6747bb3198b6/image.png" alt=""></p>
<pre><code>!null : null을 부정한 값 = true
!!null : null을 부정한 값인 true를 부정 = false</code></pre><p><img src="https://images.velog.io/images/kimminji32_/post/cfc8d7ab-31a5-4915-8565-9da796d6c405/image.png" alt=""></p>
<ul>
<li><strong>null</strong>과 <strong>undefined</strong>의 연산 결과</li>
</ul>
<p><img src="https://images.velog.io/images/kimminji32_/post/5f5a1c87-7973-4985-ab1a-87be8f85198c/image.png" alt=""></p>
<pre><code>10 + null : null을 0으로 인식한다.
10 + undefined : NaN = Not a Number 숫자가 아닌걸로 인식한다.</code></pre><hr>
<h4 id="참조-타입">참조 타입</h4>
]]></description>
        </item>
        <item>
            <title><![CDATA[09.01 JAVA SCRIPT - 2]]></title>
            <link>https://velog.io/@kimminji32_/09.01.%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8</link>
            <guid>https://velog.io/@kimminji32_/09.01.%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8</guid>
            <pubDate>Wed, 01 Sep 2021 07:51:10 GMT</pubDate>
            <description><![CDATA[<h3 id="자바스크립트-실습">자바스크립트 실습</h3>
<hr>
<h4 id="--변수-동시-선언">- 변수 동시 선언</h4>
<pre><code> var a, b, c;</code></pre><h4 id="--변수-동시-초기화">- 변수 동시 초기화</h4>
<pre><code> var d = 10;
 var e = 20;
 var f = 30;</code></pre><pre><code>var d = 10, e = 20, f = 30;</code></pre><hr>
<h4 id="--변수-이름-작성-요령">- 변수 이름 작성 요령</h4>
<ul>
<li>두개 이상의 단어를 연달아서 짓는다. (안전하고 이해하기 쉽다)</li>
</ul>
<pre><code>var scroe = 10;  </code></pre><pre><code>캐멀 케이스 var mathScore = 10;
스네이크 케이스 var math_score = 10;</code></pre><hr>
<h4 id="--데이터의-종류-데이터-타입">- 데이터의 종류 (데이터 타입)</h4>
<h4 id="--원시타입">- 원시타입</h4>
<ol>
<li>문자열 (String)
<img src="https://images.velog.io/images/kimminji32_/post/e741800b-7f6e-4029-bd3b-8eaddea0c82e/image.png" alt="">
<img src="https://images.velog.io/images/kimminji32_/post/d3035e3b-9e78-4684-9c88-9d2bb8aca645/image.png" alt=""></li>
<li>숫자 (Number)
<img src="https://images.velog.io/images/kimminji32_/post/43e266b0-9f52-4be7-9e1f-efdbb9782f74/image.png" alt=""></li>
</ol>
<p> <strong>숫자와 문자 차이점</strong>
 <img src="https://images.velog.io/images/kimminji32_/post/fc2e6ae8-27a9-46e0-bf03-5a991b52054d/image.png" alt="">
<img src="https://images.velog.io/images/kimminji32_/post/188d895f-d266-402d-a148-f8a14c248eb5/image.png" alt=""></p>
<blockquote>
<p>숫자와 달리 <strong>문자</strong>는 덧셈을 뺀 나머지 연산 작업은 가능하다.
  (글자를 이어 붙이는 개념으로 사용됨)</p>
</blockquote>
<ol start="3">
<li>논리 (Boolean) - true/false</li>
<li>undefined</li>
<li>null</li>
</ol>
<h4 id="--참조타입">- 참조타입</h4>
<ol>
<li>배열 (Array)</li>
<li>함수 (Function)</li>
<li>객체 (Object)</li>
</ol>
<hr>
<h4 id="학습소감">학습소감</h4>
<p>변수의 선언 방법 및 이름 작성 요령, 데이터의 종류에 대하여 배웠다. html 문서에서 class이름을 짓고 css 문서에서 이 class를 사용하여 style값을 정하는것과 달리, java안에서 변수를 선언하고 이를 활용하여 작성한다는 점이 특이했다. 그리고 한가지 더 인상깊은 것은 데이터 타입중에서 숫자와 문자는 둘다 똑같이 연산 작업이 가능하지만, 한가지 다른점은 문자는 덧셈을 글자를 이어 붙인다는 개념으로 사용한다는 것이다. </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[08.31 JAVA SCRIPT - 1]]></title>
            <link>https://velog.io/@kimminji32_/08.31-JAVA-SCRIPT</link>
            <guid>https://velog.io/@kimminji32_/08.31-JAVA-SCRIPT</guid>
            <pubDate>Tue, 31 Aug 2021 11:06:49 GMT</pubDate>
            <description><![CDATA[<h4 id="java-script-실습">java script 실습</h4>
<hr>
<ul>
<li>입력한 자바스크립트 코드는 개발자도구 &#39;console&#39;탭에서 확인이 가능하다.<pre><code>&lt;script&gt;
      console.log(&quot;Hello&quot;); 
&lt;/script&gt;</code></pre></li>
</ul>
<p><img src="https://images.velog.io/images/kimminji32_/post/a774d079-e5a1-4021-a047-7cff95c9e407/image.png" alt=""></p>
<ul>
<li>몇번째 줄 어느 파일에서 작성되었는지도 확인할 수 있다.</li>
</ul>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/508f738d-7ac4-42c8-9b1a-01a386f64dbd/image.png" alt=""></p>
<ul>
<li>html문서 안에 script태그로 연동이 가능하나, 연동한 코드에 내용은 넣지 못한다.</li>
</ul>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/5afa124e-c705-46be-a0b7-4310e2b60964/image.png" alt=""></p>
<ul>
<li>변수를 박스에 비유하면 내용(데이터)는 변수명이라고 할 수 있다.</li>
</ul>
<p><img src="https://images.velog.io/images/kimminji32_/post/08e03b76-6d1e-4046-bd74-5d9fb53cd96c/image.png" alt=""></p>
<hr>
<ul>
<li>모든 변수는 선언과 동시에 &#39;undefined&#39; 자동으로 할당된다.</li>
</ul>
<pre><code>&lt;script&gt;
var house;
house = &quot;집&quot;;

console.log(house); 
&lt;/script&gt;</code></pre><p><img src="https://images.velog.io/images/kimminji32_/post/15b7d6a8-41ad-44be-a603-e22139e5c5c4/image.png" alt=""></p>
<pre><code>house= &quot;집&quot;
console.log(house);</code></pre><p><img src="https://images.velog.io/images/kimminji32_/post/3382d55a-177f-4eeb-8a36-13a2af43edf1/image.png" alt=""></p>
<ul>
<li>undefined에서 &#39;집&#39;으로 변경됨.</li>
</ul>
<hr>
<h4 id="학습소감">학습소감</h4>
<p>구조를 짜거나 디자인을 하는 html과 css와는 조금 다른 유형의 java script를 배웠다. 내가 어떻게 정의하느냐에 따라서 console에 다르게 정의할 수 있다는 점이 특이했다. 모든 변수는 처음에 &#39;undefined&#39;로 할당되고 나중에 내가 어떻게 정의하는지에 따라 변한다. 조금은 생소하지만 재미있는 공부였다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[08.30 유튜브 실습]]></title>
            <link>https://velog.io/@kimminji32_/08.30-%EC%9C%A0%ED%8A%9C%EB%B8%8C-%EC%8B%A4%EC%8A%B5</link>
            <guid>https://velog.io/@kimminji32_/08.30-%EC%9C%A0%ED%8A%9C%EB%B8%8C-%EC%8B%A4%EC%8A%B5</guid>
            <pubDate>Mon, 30 Aug 2021 12:44:57 GMT</pubDate>
            <description><![CDATA[<p>유튜브 메인페이지 영상 썸네일 </p>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/17db9a7c-b3e4-4d00-8b8a-bf4210d7c1ef/image.png" alt=""></p>
<p><img src="https://images.velog.io/images/kimminji32_/post/b9efc45f-2956-47c8-ab3e-39913671a156/image.png" alt=""></p>
<p><img src="https://images.velog.io/images/kimminji32_/post/a6db7709-5e17-49a9-a5dc-74c7d576cbe9/image.png" alt=""></p>
<ul>
<li>유튜브 영상 썸네일 부분은 크게 영상이미지(영상시간)과 타이틀(텍스트)로 나누어서 코딩하였다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[08.27 유튜브 상단영역]]></title>
            <link>https://velog.io/@kimminji32_/08.27-%EC%9C%A0%ED%8A%9C%EB%B8%8C-%EC%83%81%EB%8B%A8%EC%98%81%EC%97%AD</link>
            <guid>https://velog.io/@kimminji32_/08.27-%EC%9C%A0%ED%8A%9C%EB%B8%8C-%EC%83%81%EB%8B%A8%EC%98%81%EC%97%AD</guid>
            <pubDate>Fri, 27 Aug 2021 12:49:01 GMT</pubDate>
            <description><![CDATA[<p>유튜브 상단영역 실습</p>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/92ab45db-e242-4096-9410-587735bcede0/image.png" alt=""></p>
<p><img src="https://images.velog.io/images/kimminji32_/post/b5cd9e3f-af57-4971-bfb2-102ada568200/image.png" alt=""></p>
<ul>
<li>유튜브 상단영역 html구조 및 css 디자인</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[08.26 유튜브 ]]></title>
            <link>https://velog.io/@kimminji32_/08.26-%EC%9C%A0%ED%8A%9C%EB%B8%8C</link>
            <guid>https://velog.io/@kimminji32_/08.26-%EC%9C%A0%ED%8A%9C%EB%B8%8C</guid>
            <pubDate>Thu, 26 Aug 2021 08:57:16 GMT</pubDate>
            <description><![CDATA[<p>유튜브 상단영역 레이아웃 실습</p>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/60409356-b895-4f78-8b38-38dbeb87d9f0/image.png" alt=""></p>
<p><img src="https://images.velog.io/images/kimminji32_/post/2e7b8704-e221-4ae2-9f36-4e1cf6b619e5/image.png" alt=""></p>
<p><img src="https://images.velog.io/images/kimminji32_/post/fc1dc45e-69d3-4740-b226-1665a1d4fc58/image.png" alt=""></p>
<ul>
<li><p>유튜브의 전체적인 레이아웃 구조를 짰다.</p>
<ul>
<li>상단 / 왼쪽 / 오른쪽</li>
</ul>
<p><img src="https://images.velog.io/images/kimminji32_/post/4a5057a1-2f97-4407-81a3-b78e9ce79ac8/image.png" alt=""></p>
</li>
<li><p>body 컨텐츠를 감싸고 있는 wrapper는 최소 너비를 1320px로 지정하였다. </p>
</li>
<li><p>상단영역은 스크롤을 내려도 고정되어있기 때문에 position을 fixed로 지정함.</p>
</li>
</ul>
<p><img src="https://images.velog.io/images/kimminji32_/post/431d574c-9b65-4615-9900-71d7f8ca1c54/image.png" alt=""></p>
<ul>
<li><p>왼쪽 메뉴역시 고정이기때문에 fixed로 지정. </p>
<p><img src="https://images.velog.io/images/kimminji32_/post/ad6ead85-af9b-416e-a517-55053a6fa6d9/image.png" alt=""></p>
</li>
<li><p>메인영역은 left_content의 너비만큼 왼쪽으로 밀어냄 (left:240px)</p>
</li>
</ul>
<hr>
<h4 id="학습소감">학습소감</h4>
<p>매일 보는 유튜브 사이트이지만 이번기회를 통하여 레이아웃 구조를 자세히 볼 수 있었다. 의외로 간단한 구조로 구성되어있는 유튜브였다. 오늘 배운 내용은 아니지만, 웹사이트를 둘러보면서 유튜브 영상 썸네일에 마우스오버하면 소리없이 재생되는 것은 어떠한 방식으로 구현되는지 궁금해졌다. </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[08.25 CSS 추가 강의]]></title>
            <link>https://velog.io/@kimminji32_/08.25-CSS-%EC%B6%94%EA%B0%80-%EA%B0%95%EC%9D%98</link>
            <guid>https://velog.io/@kimminji32_/08.25-CSS-%EC%B6%94%EA%B0%80-%EA%B0%95%EC%9D%98</guid>
            <pubDate>Wed, 25 Aug 2021 07:11:02 GMT</pubDate>
            <description><![CDATA[<ul>
<li>같은 선택자에 대하여 css 적용할시<ul>
<li>h1 { color : blue; }<br>h1 { color : gray; } &gt; 나중에 작성된 css 적용됨</li>
<li>css link주소간에도 우선순위 적용됨.</li>
</ul>
</li>
</ul>
<hr>
<ul>
<li><strong>Reset CSS</strong> : 웹 브라우저마다 각기 다른 default 스타일이 지정되어 있어, 이를 초기화함으로써 다양한 웹브라우저에서도 동일한 스타일이 적용되도록 하는 설정</li>
</ul>
<pre><code>/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: &#39;&#39;;
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}</code></pre><hr>
<ul>
<li><p><strong>Nomalize CSS</strong> : reset css와는 다르게 디자인이 적용되어 있으며, 여러 브라우저에 가능한 오차를 줄이면서 디자인 적용되도록 함. (완전 초기화는 아님) 실제 실무에서 많이 쓰임.</p>
<p><a href="https://necolas.github.io/normalize.css/8.0.1/normalize.css">Nomalize  CSS</a></p>
<hr>
<ul>
<li><strong>CSS 변수</strong></li>
</ul>
</li>
</ul>
<pre><code>:root {
   --black: #18181a;
   --purple: #9147ff;
   --font-size-40 : 40px;
} 
h1 {
   background-color: var(--black);
   font-size: var(--font-size-40)
   color: var(--purple);
}
  --black,--purple,--font-size-40 : 변수
  #18181a, #9147ff, 40px : 데이터 </code></pre><pre><code>   * 일괄적인 디자인 수정작업을 할 때 변수를 사용하여 쉽게 수정할 수 있다. 
   * root안에 있는 데이터는 모든곳에서 사용가능하나, 선택자로 정할경우 그 선택자에만 적용됨.</code></pre><hr>
<p>  <strong>Root</strong>   </p>
<blockquote>
<p>:root 선택자는 문서의 최상위 요소를 가리킵니다. 
HTML 문서에서 최상위 요소라 함은 당연히 <html/>을 말하겠죠!
아니 그럼, :root{}랑 html{}이랑 같은 거 아닌가 싶은데요. 
:root는 가상 선택자이기 때문에, html 셀렉터보다도 우선순위가 높습니다. 
그래서 :root와 html에 대한 스타일을 동시에 선언하면, :root에 대한 스타일이 우선됩니다. 
<br>
흠... 그럼, 이 :root는 어디에다 써먹을 수 있을까요? 
바로 전역 스코프의 CSS 변수를 선언할 때 사용합니다. 
<br>
:root를 사용하여 선언한 사용자 정의 속성은 var( )를 통해 접근할 수 있습니다.
<a href="https://nykim.work/2">출처</a></p>
</blockquote>
<hr>
<h4 id="학습소감">학습소감</h4>
<p>CSS 변수라는 것을 배웠다. 함수처럼 CSS값을 먼저 정의해놓은 뒤 변수를 입력하면 되는것이다. 나중에 한 컨셉의 컬러라던지 디자인을 수정할 때, 일일이 css를 변경하는것이 아니라 이 변수값만 수정하면 아주 편리하게 바꿀 수 있을 것 같다. </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[08.24 트위치 실습]]></title>
            <link>https://velog.io/@kimminji32_/08.24-%ED%8A%B8%EC%9C%84%EC%B9%98-%EC%8B%A4%EC%8A%B5</link>
            <guid>https://velog.io/@kimminji32_/08.24-%ED%8A%B8%EC%9C%84%EC%B9%98-%EC%8B%A4%EC%8A%B5</guid>
            <pubDate>Tue, 24 Aug 2021 11:05:57 GMT</pubDate>
            <description><![CDATA[<h4 id="트위치-웹사이트-실습">트위치 웹사이트 실습</h4>
<p>(트위치 왼쪽영역)</p>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/0104855b-95b0-4557-870f-ccad536a6427/image.png" alt=""></p>
<ul>
<li>추천채널은 ul과 li를 사용하여 구조를 짰다. </li>
<li>li의 내용물은 a태그로 감쌌고, 그림과 텍스트, 시청자 수 등은 flex-strat로 정렬시켰다. </li>
<li>조회수는 count라는 class명의 span으로 작성했고, 아이콘은 before를 사용하였다.<pre><code>.count:before {
  content: &#39;&#39;;
  position: relative;
  display: inline-block; 
  top: 1px;
  width: 10px;
  height: 10px;
  background-color: red;
  border-radius: 50%; 
  margin-right: 5px;
}</code></pre></li>
</ul>
<p><img src="https://images.velog.io/images/kimminji32_/post/1b3740ae-02a9-4fb0-8155-2173024127e2/image.png" alt=""></p>
<ul>
<li>크게 h2, p, button 태그를 사용하였다. </li>
<li>h2부분에 &#39;Twitch&#39;는 font_purple이라는 class를 붙이고 따로 디자인해주었다. </li>
</ul>
<hr>
<h4 id="학습소감">학습소감</h4>
<p> 가끔씩 즐겨보는 트위치 웹사이트를 클론코딩해서 즐거웠다. 코딩을하면서 언제나 느끼는 거지만, 수 많은 컨텐츠들로 인해 복잡하고 어려워보일 수도 있지만, 자세히 보면 방대한 양의 컨텐츠들을 유저들이 어떻게 쉽게 받아들일 수 있을까 고민하여 짜여진 체계적인 레이아웃들이라는 것이다.  </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[08.23 트위치 실습]]></title>
            <link>https://velog.io/@kimminji32_/08.23-%ED%8A%B8%EC%9C%84%EC%B9%98-%EC%8B%A4%EC%8A%B5</link>
            <guid>https://velog.io/@kimminji32_/08.23-%ED%8A%B8%EC%9C%84%EC%B9%98-%EC%8B%A4%EC%8A%B5</guid>
            <pubDate>Mon, 23 Aug 2021 12:57:45 GMT</pubDate>
            <description><![CDATA[<p>트위치 웹사이트 실습</p>
<hr>
<p> <img src="https://images.velog.io/images/kimminji32_/post/924e0ecb-e285-422f-a2be-e9f2f19388bd/image.png" alt=""></p>
<p> <img src="https://images.velog.io/images/kimminji32_/post/bfd8df8c-4fb3-45bb-a1bf-86253fd7ae56/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[08.20 네이버 오디오]]></title>
            <link>https://velog.io/@kimminji32_/08.20-%EB%84%A4%EC%9D%B4%EB%B2%84-%EC%98%A4%EB%94%94%EC%98%A4</link>
            <guid>https://velog.io/@kimminji32_/08.20-%EB%84%A4%EC%9D%B4%EB%B2%84-%EC%98%A4%EB%94%94%EC%98%A4</guid>
            <pubDate>Fri, 20 Aug 2021 10:09:57 GMT</pubDate>
            <description><![CDATA[<p>네이버 오디오 실습 (오른쪽 영역 &amp; 하단)</p>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/9281253e-1d20-40ea-8c83-7e2eab8dce5d/image.png" alt="">
<img src="https://images.velog.io/images/kimminji32_/post/ed1be3a3-e706-4d78-9901-b8a396dad9a4/image.png" alt=""></p>
<ul>
<li>이전에 코딩했던 html코드를 참고하였다.</li>
<li>크게 header와 body로 구성되어있고 컨텐츠를 담고있는 body는 ul과 li 구조로 되어있다.</li>
<li></li>
</ul>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/b7209d0a-7620-4ce6-ae0a-1515906ecb4a/image.png" alt="">
<img src="https://images.velog.io/images/kimminji32_/post/1eaa7216-b77c-45b0-aafd-b65a6f9c872b/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[08.19 네이버 오디오]]></title>
            <link>https://velog.io/@kimminji32_/08.19-%EB%84%A4%EC%9D%B4%EB%B2%84-%EC%98%A4%EB%94%94%EC%98%A4</link>
            <guid>https://velog.io/@kimminji32_/08.19-%EB%84%A4%EC%9D%B4%EB%B2%84-%EC%98%A4%EB%94%94%EC%98%A4</guid>
            <pubDate>Thu, 19 Aug 2021 09:51:54 GMT</pubDate>
            <description><![CDATA[<p>네이버 오디오 실습 </p>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/c8feac16-aa0d-47e7-92f0-d12b73767410/image.png" alt="">
<img src="https://images.velog.io/images/kimminji32_/post/53768d3e-6700-40a9-b777-b5d1170430f3/image.png" alt=""></p>
<ul>
<li>ul과 li 태그를 사용하여 html구조를 짰다. </li>
<li>flex를 사용하여 x축으로 정렬한 뒤 세부 디자인을 적용시켰다.</li>
<li>live의 이미지에는 흰색선을 적용시켰고 live이미지를 감싸고 있는 div에는 회색선을 적용시켰다.</li>
</ul>
<pre><code>&lt;div class=&quot;live_state&quot;&gt;
 &lt;span class=&quot;live active&quot;&gt;LIVE&lt;/span&gt;
&lt;/div&gt;
#audio_live li a .image_wrap {
    position: relative;
    width: 120px;
    height: 120px;
    border: 2px solid gray;
    border-radius: 50%;
}

#audio_live li a .playlist_img {
    width: 100%;
    height: 100%;
    border: 2px solid #fff;
    border-radius: 50%;
}</code></pre><ul>
<li>live의 빨간색 강조색은 li에 active라는 class가 붙었을 경우로 설정하였다. <pre><code>&lt;li class=&quot;active&quot;&gt;
#audio_live li a .live_state span.live {
  display: block;
  padding: 4px 8px;
  color: red;
  border: 2px solid red;
  border-radius: 3px;
  font-size: 10px;
}
</code></pre></li>
</ul>
<p>#audio_live li.active a .live_state span.live {
    border: 2px solid red;
    background-color: red;
    color: #fff;
} ---&gt;li에 active가 올 경우의 css 디자인</p>
<pre><code>
---
![](https://images.velog.io/images/kimminji32_/post/16edb00e-8cc1-4443-80f8-4c1b38a734bd/image.png)
![](https://images.velog.io/images/kimminji32_/post/1d983a63-0338-4537-b3fa-e7c5cafa9ebe/image.png)

- 강의 내용과 기존사이트의 디자인이 조금 달라서 기존사이트를 기준으로 코딩해보았다. 
- 에세이 섹션에 나오는 시간은 time이라는 span태그를 만들어서 배치하였다. </code></pre><li>
 <a href="#">
  <div class="image_wrap">
     <div class="essay_img"></div>  
     <span class="time">1시간 43분</span> 
  </div> 
  <h3>2인조 (우리는 누구나 날 때부터 2인조다)</h3>
  <span class="author_1">이석원 저</span> 
  <span class="author_2">이석원 낭독</span> 
  <span class="price">대여 3,000원</span>
 </a>
</li> 
#audio_essay .image_wrap .time {
    position: absolute;
    right: 5px;
    bottom: 5px;
    padding: 2px 5px 0;
    background-color: rgba(17, 17, 17, .75);
    font-size: 11px;
    color: #fff;
}
```

<ul>
<li>&#39;새로나온 채널&#39; 섹션은 위에 반복되는 레이아웃을 참고하였고, 이미지 사이즈(120px,120px)와 border-radius값만 수정하였다. </li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[08.18 네이버 오디오]]></title>
            <link>https://velog.io/@kimminji32_/08.18-%EB%84%A4%EC%9D%B4%EB%B2%84-%EC%98%A4%EB%94%94%EC%98%A4</link>
            <guid>https://velog.io/@kimminji32_/08.18-%EB%84%A4%EC%9D%B4%EB%B2%84-%EC%98%A4%EB%94%94%EC%98%A4</guid>
            <pubDate>Wed, 18 Aug 2021 09:21:12 GMT</pubDate>
            <description><![CDATA[<p>네이버 오디오 실습 </p>
<p><a href="https://github.com/KIM-MIN-JII/AI_School/tree/main/07.19/naver">실습 코드 깃허브 링크</a></p>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/3f6d34e9-3586-4239-b040-201920b2fb0f/image.png" alt="">
<img src="https://images.velog.io/images/kimminji32_/post/e5183d55-6825-41a4-a799-4c7fc8869947/image.png" alt=""></p>
<ul>
<li>오늘의 오디어클립 섹션은 크게 header와 body로 나누어서 html구조를 짰다. </li>
<li>body에는 flex/space-between을 적용하여 정렬시킴. </li>
<li>내용물을 담고있는 audio_slide라는 div 안에 btn이라는 버튼을 추가하여 디자인하였다. </li>
<li>버튼은 다른 내용보다 위로 배치할 수 있도록 position을 absolute로 하였고 left와 right두개로 나누어서 각각 위치를 설정하였다. </li>
</ul>
<pre><code>.btn {
    position: absolute;
    width: 35px;
    height: 35px;
    background-color: yellow;
    border-radius: 50%;
    top: 80px;
    cursor: pointer;
}</code></pre><hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/fb1a83be-1c09-43cc-b4bb-e818b0d16173/image.png" alt=""> 
<img src="https://images.velog.io/images/kimminji32_/post/2f5809bf-3f4b-4d20-9b74-26e085b85031/image.png" alt=""></p>
<ul>
<li>추천 오리지널 섹션은 ul과 li를 사용하여 구조를 짰다. </li>
<li>각각의 li들은 flex/ space-between으로  가로 정렬시켰다. </li>
<li>li의 내용물은 block구조로 배치되어 있었기 때문에 따로 위치 조정없이 padding이나 font세부 디자인만 하였다. </li>
<li>오리지널 섹션에는 right-btn만 있었기 때문에 light-btn은 생략함.</li>
</ul>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/d1228e64-5a1d-4fe6-be74-729c7a2cde16/image.png" alt="">
<img src="https://images.velog.io/images/kimminji32_/post/69062798-be38-4d03-a6ce-a0802c0dc2e5/image.png" alt=""></p>
<ul>
<li>전체적인 구조는 위에서 했던 추천 오리지널과 비슷했기 때문에 참고하여 코딩하였다. </li>
<li>li의 타이틀과 플레이 버튼은 이미지보다 위에 있기때문에 absolute를 이용하여 배치하였다.</li>
<li>타이틀 부분은 개인적으로 title_wrap으로 감싸고 title_wrap의 높이와 배경색을 지정한뒤 배치하고, 타이틀은 따로 padding값으로 위치를 조정하였다. </li>
<li>플레이 버튼을 배치할 때 계속 아랫부분이 타이틀에 잘려서 z-index로 z축을 조절하였다.<pre><code>#audio_playlist .audio_body a .image_wrap i{
  position: absolute;
  bottom: 45px;
  right: 15px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: #ddd;
  z-index: 999;
}</code></pre></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[08.17 네이버 오디오]]></title>
            <link>https://velog.io/@kimminji32_/08.17-%EB%84%A4%EC%9D%B4%EB%B2%84-%EC%98%A4%EB%94%94%EC%98%A4</link>
            <guid>https://velog.io/@kimminji32_/08.17-%EB%84%A4%EC%9D%B4%EB%B2%84-%EC%98%A4%EB%94%94%EC%98%A4</guid>
            <pubDate>Tue, 17 Aug 2021 10:24:03 GMT</pubDate>
            <description><![CDATA[<p>네이버 오디오 실습
<a href="https://github.com/KIM-MIN-JII/AI_School/tree/main/07.19/naver">실습 코드 깃허브 링크</a></p>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/da9c785b-45ea-450d-a199-84f1329837b5/image.png" alt="">
<img src="https://images.velog.io/images/kimminji32_/post/d5e238f8-0775-44e6-920a-65a25a3cfab8/image.png" alt=""></p>
<ul>
<li>header 부분을 크게 두 섹션으로 나누었다. 
(로고와 메인 메뉴 / 검색창 &amp; 로그인)<ul>
<li>flex / space-between으로 정렬</li>
</ul>
</li>
<li>메인메뉴는 flex-end로 정렬시켰다. </li>
</ul>
<pre><code>&lt;ul class=&quot;audio_flex_end&quot;&gt;
 &lt;li&gt;&lt;a href=&quot;#&quot; class=&quot;active&quot;&gt;&lt;span&gt;홈&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;#&quot;&gt;&lt;span&gt;랭킹&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;#&quot;&gt;&lt;span&gt;연재 채널&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;#&quot;&gt;&lt;span&gt;오디오북&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;#&quot;&gt;&lt;span&gt;카테고리&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;#&quot;&gt;&lt;span&gt;이벤트&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
.audio_nav_left li a span {
    position: relative;
    display: inline-block;  &gt; span태그에 inline-block속성 부여함
    height: 21px;
}</code></pre><ul>
<li>첫번째 li에 active라는 class를 덧붙이고 font-weight를 따로 설정.
active라는 class가 활성화 되었을 때 밑줄 표현을 위해 span의 after도 설정해줌.<pre><code>&lt;li&gt;&lt;a href=&quot;#&quot; class=&quot;active&quot;&gt;&lt;span&gt;홈&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
</code></pre></li>
</ul>
<p>.audio_nav_left li a.active { font-weight: 700; }</p>
<p>.audio_nav_left li a.active span:after {
    display: block;
    position: absolute;
    left: -4.5px;
    right: -5.5px;
    bottom: -20px;
    content: &#39;&#39;;
    border-bottom: 3px solid #222;
    border-radius: 1.5px;
    z-index: 1; 
}</p>
<pre><code>
![](https://images.velog.io/images/kimminji32_/post/baf6da21-26cd-4728-a5db-d9963e22774d/image.png)
</code></pre><div class="search_wrap audio_flex_start">
  <i class="icon_search"></i>
  <input type="text">
</div>

<p>.audio_nav_right .search_wrap i {
    width: 40px;
    height: 100%;
    background-color: skyblue;
}</p>
<p>.audio_nav_right .search_wrap input {
    width: calc(100% - 40px);
    height: 100%;
    padding: 8px 15px;
    font-size: 15px;
    border: none;
}</p>
<pre><code>
- 검색창 부분은 아이콘과 검색어를 입력하는 input영역을 flex-strat로 정렬시킴
- 먼저 검색아이콘의 너비를 설정하고 input의 width값은 calc를 사용함.

--- 
#### 학습소감 

검색창 부분을 구현하는 코드가 잘 생각나지 않았는데, 복습하면서 연습할 수 있었던 시간이었다. 전체를 감싸고 있는 div에넌 flex-start 속성을 부여하고 버튼의 너비값을 설정해준뒤, 검색어를 입력하는 input태그의 width값은 calc로 계산해주고 padding값과 font-size를 설정하는 등의 세부작업을 해준다! </code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[08.13 네이버 e 스포츠]]></title>
            <link>https://velog.io/@kimminji32_/08.13-%EB%84%A4%EC%9D%B4%EB%B2%84-e-%EC%8A%A4%ED%8F%AC%EC%B8%A0</link>
            <guid>https://velog.io/@kimminji32_/08.13-%EB%84%A4%EC%9D%B4%EB%B2%84-e-%EC%8A%A4%ED%8F%AC%EC%B8%A0</guid>
            <pubDate>Fri, 13 Aug 2021 11:00:41 GMT</pubDate>
            <description><![CDATA[<p>네이버 e스포츠 실습
오른쪽 영역</p>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/be438cdb-bc19-4b0d-86cc-1a491f2fc306/image.png" alt=""></p>
<p><img src="https://images.velog.io/images/kimminji32_/post/368a18f0-80c0-4a7a-bea3-4e00cf36c0e5/image.png" alt=""></p>
<ul>
<li>제목은 h2로 작성한 뒤 내용물은 ol과 li를 사용하여 코딩하였다. </li>
<li>그림부분과 타이틀은 flex / space-between으로 배치.</li>
</ul>
<p><img src="https://images.velog.io/images/kimminji32_/post/53dc750c-7ca8-459d-b0f6-162ad185ff5d/image.png" alt=""></p>
<ul>
<li>rank부분은 span 태그를 사용하여 디자인하였다.<pre><code>.rank {
  position: absolute;
  background-color: #4e41db;
  border-bottom-right-radius: 4px; 
  padding: 4px 10px; 
  top: 0;
  left: 0; 
  font-size: 13px;
  color: #fff;
  font-weight: 800;
}</code></pre></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[08.12 네이버 e스포츠]]></title>
            <link>https://velog.io/@kimminji32_/08.12-%EB%84%A4%EC%9D%B4%EB%B2%84-e%EC%8A%A4%ED%8F%AC%EC%B8%A0</link>
            <guid>https://velog.io/@kimminji32_/08.12-%EB%84%A4%EC%9D%B4%EB%B2%84-e%EC%8A%A4%ED%8F%AC%EC%B8%A0</guid>
            <pubDate>Thu, 12 Aug 2021 10:10:09 GMT</pubDate>
            <description><![CDATA[<p>네이버 e스포츠 웹페이지 실습</p>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/47013442-be7d-4a95-870b-54e7f4ece008/image.png" alt=""></p>
<p><img src="https://images.velog.io/images/kimminji32_/post/0e07ee06-524b-4424-a122-56d924835252/image.png" alt=""></p>
<ul>
<li>기사 사진 세개가 있는 부분에는 일단 article이라는 div로 기본 구조를 짰다. 그 다음 css로 왼쪽 article에 full이라는 class를 덧붙여서 full이 붙어있으면 너비 50% /높이 100%가 되도록 지정하였고, 붙지 않으면 너비 50% / 높이 50%가 되도록 설정하였다. </li>
</ul>
<pre><code>#esport_main_article .article {
    position: relative;
    float: left;
    width: 50%;
    height: 50%;
} 
#esport_main_article .article.full {
    height: 100%;
}
</code></pre><ul>
<li>경기 다시보기 부분은 ul과 li를 사용하여 구조를 짠 뒤 flex-start를 사용하여 x축으로 나열하였다. 원싸이트에 첫번째 경기 부분에는 다른 색깔로 강조하였기 때문에 보라색을 넣어주었다. </li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[08.11 네이버 e스포츠]]></title>
            <link>https://velog.io/@kimminji32_/08.10-%EB%84%A4%EC%9D%B4%EB%B2%84-e%EC%8A%A4%ED%8F%AC%EC%B8%A0</link>
            <guid>https://velog.io/@kimminji32_/08.10-%EB%84%A4%EC%9D%B4%EB%B2%84-e%EC%8A%A4%ED%8F%AC%EC%B8%A0</guid>
            <pubDate>Wed, 11 Aug 2021 12:53:07 GMT</pubDate>
            <description><![CDATA[<p>네이버 e스포츠 웹페이지 실습
<a href="https://github.com/KIM-MIN-JII/AI_School/tree/main/07.19/naver">실습코드 깃허브 링크</a></p>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/b95098a8-356f-4246-ba8c-e08279edec1c/image.png" alt="">
<img src="https://images.velog.io/images/kimminji32_/post/90f51103-b91d-499a-b4a8-f8e00b087d09/image.png" alt=""></p>
<ul>
<li>각각의 li들을 디자인하고, flex-start로 가로 정렬하였다.<pre><code>.esport_flex_start {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: stretch;
}</code></pre></li>
<li>한칸 전체가 클릭범위였기 때문에 html 구조를 짤 때 a태그로 감쌌다.</li>
</ul>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/d7aa7b45-f6b6-4d16-9472-25059f12ebbd/image.png" alt=""></p>
<ul>
<li>ul과 li 태그로 전체적인 구조를 잡았다. </li>
<li>li태그 안의 내용물은 span/h2/div 구조로 쌓았다. 
<img src="https://images.velog.io/images/kimminji32_/post/495b42f7-fd35-48bd-bbf5-3d44b8d7ed71/image.png" alt=""></li>
<li>&#39;live&#39;와 &#39;진행중&#39;은 flex/space-between을 사용하여 가로로 정렬시켰다. 
<img src="https://images.velog.io/images/kimminji32_/post/99ea03b2-cb8d-4b41-8f43-4b68439bd328/image.png" alt=""><ul>
<li>첫번째 li와 마지막 li의 모서리 부분이 둥글게 처리되어서 first-child와 last-child라는 가상선택자를 이용하여 border-top-left-radius/bottom-left-radius 등으로 지정하였다. </li>
</ul>
</li>
</ul>
<pre><code>.timeline_wrap li:first-child { 
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
} 
.timeline_wrap li:last-child { 
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

(지금 일지를 쓰면서 정리해보니 첫번째와 마지막 li의 모서리를 처리하기보다는 li를 
 감싸고 있는 ul자체에 모서리 처리를 했으면더 깔끔한 코딩이 되지않았을까라고 생각되었다.)</code></pre><hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/0864d4b9-628f-4cd0-b318-fed8d33bedda/image.png" alt=""></p>
<ul>
<li>이 부분을 코딩할때는 전체를 감싸고있는 li자체에 border-radius를 지정하였다. </li>
<li>클릭범위가 li전체였기때문에 내용물을 a태그로 감쌌다. </li>
</ul>
<hr>
<h4 id="학습소감">학습소감</h4>
<p>모서리를 둥글게 처리하는 border-radius에서 더 세부적으로 border-top-left/border-top-right 등으로 어느 부분을 둥글게 할건지를 정할 수 있다는 것을 알게되었다. 그리고 header부분을 코딩할 때, 글자를 강조하는 active를 조절한다던가, 일정등에서 쓰일 수 있는 슬라이더를 조정하는 자바스크립트도 한번 다뤄보고 싶어졌다.  </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[08.10 네이버게임_3]]></title>
            <link>https://velog.io/@kimminji32_/08.10-%EB%84%A4%EC%9D%B4%EB%B2%84%EA%B2%8C%EC%9E%843</link>
            <guid>https://velog.io/@kimminji32_/08.10-%EB%84%A4%EC%9D%B4%EB%B2%84%EA%B2%8C%EC%9E%843</guid>
            <pubDate>Tue, 10 Aug 2021 07:34:38 GMT</pubDate>
            <description><![CDATA[<p>네이버 게임 웹페이지 실습 (오른쪽 영역)
<a href="https://github.com/KIM-MIN-JII/AI_School/tree/main/07.19/naver">실습코드 깃허브 링크</a></p>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/3c1a0a8b-b9ca-42a1-922d-078afc4b469e/image.png" alt="">
<img src="https://images.velog.io/images/kimminji32_/post/0925a5d3-ef69-411a-b936-5f8c2aa776dc/image.png" alt=""></p>
<ul>
<li>최근방문 / MY라운지 이동을 두개의 div로 html 작성하고, flex / space-between을 적용시켜 양쪽 끝에 배치하도록 하였다. </li>
<li>검색창부분은 column으로 세로 배치시켰고 검색창 부분에는 따로 margin-bottom값을 주어 원싸이트와 비슷하게 공백을 넣었다. </li>
<li>검색창을 감싸고 있는 input_wrap에는 flex를 적용하였고, input과 button중에서 button의 width값을 먼저 설정한뒤 input은 calc를 사용하여 width값을 적용하였다. <pre><code>&lt;style&gt;
.right_section_body .input_wrap {
  position: relative;
  display: flex;
  width: 250px;
  height: 44px;
  background-color: #f5f6fa;
  border-radius: 12px;
  margin-bottom: 18px;
  overflow: hidden;
} 
.right_section_body .input_wrap input {
  width: calc(100% - 44px);
  height: 100%;
  padding: 10px 16px;
  border: none;
  font-size: 15px;
  background-color: #f5f6fa;
  color: #444;
} 
.text_wrap .input_wrap button {
  width: 44px;
  height: 100%;
  background-color: gray;
  cursor: pointer;
}
&lt;/style&gt;</code></pre></li>
</ul>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/2aadb1ef-34f8-4599-9b5e-1d0968adc8a3/image.png" alt=""></p>
<ul>
<li>랭킹은 ol과 li를 사용하였다. </li>
<li>flex를 사용하여 일정한 간격으로 세로 배치 시켰다.</li>
</ul>
<p><img src="https://images.velog.io/images/kimminji32_/post/f239ad8e-e28f-464a-86ae-1467cd12632f/image.png" alt=""></p>
<ul>
<li>더보기 아이콘은 more이라는 class명을 붙이고 개인적으로 코딩해보았다. </li>
<li>먼저 more이라는 div를 만들고(보라색 원) 그 안에는 span 두개를 넣어서 플러스 모형을 코딩으로 구현하였다. </li>
<li>position은 absolute로 지정하여 다른 요소들보다 위에 배치하도록 하였다. </li>
<li>원형을 먼저 코딩한 뒤 위치값을 적용하였다. </li>
<li>span 한개는 먼저 정가운데에 배치 시킨후 두번째 span에 transform : rotate를 활용하여 회전시켰다. </li>
</ul>
<pre><code>&lt;div class=&quot;image_wrap&quot;&gt;
  &lt;div class=&quot;popular_img_more&quot;&gt;
    &lt;span&gt;&lt;/span&gt;
    &lt;span&gt;&lt;/span&gt;
  &lt;/div&gt;
  &lt;div class=&quot;popular_img&quot;&gt;&lt;/div&gt;
  &lt;i class=&quot;chk&quot;&gt;&lt;/i&gt;
&lt;/div&gt;
&lt;style&gt;
.popular_img_more {
    position: absolute;
    top: -4px;
    right: -4px;
    width: 21px;
    height: 21px;
    border-radius: 50%;
    background-color: #7776FF;
} 
.popular_img_more span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 2px;
    height: 10px;
    background-color: #fff;
    border-radius: 1px;
} 
.popular_img_more span:nth-child(2) {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(90deg);
    width: 2px;
    height: 10px;
    background-color: #fff;
    border-radius: 1px;
}
&lt;/style&gt;</code></pre><p><img src="https://images.velog.io/images/kimminji32_/post/c70c0a01-5385-4ca7-aa55-95cbca0b1848/image.png" alt=""></p>
<ul>
<li>popular_arrow라는 클래스명을 붙이고 화살표 모양도 span으로 만들어보았다.</li>
<li>span 두 개를 감싸고있는 div형태로 위의 more과 비슷한 방법으로 만들었다. </li>
</ul>
<pre><code>&lt;div class=&quot;popular_arrow&quot;&gt;
  &lt;span&gt;&lt;/span&gt;
  &lt;span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;style&gt;
.popular_arrow {
    position: relative;
    width: 14px;
    height: 14px;
    transform: rotate(90deg); 
} 
.popular_arrow span {
    position: absolute;
    top: 0%;
    left: 0%;
    width: 2px;
    height: 10px;
    transform: rotate(45deg);
    background-color: gray;
} 
.popular_arrow span:nth-child(2) {
    position: absolute;
    bottom: 0%;
    left: 40%;
    width: 2px;
    height: 10px;
    transform: rotate(135deg);
    background-color: gray;
}
&lt;/style&gt;</code></pre><hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/44d5a6f1-28bf-4782-b8ee-a56802fa6cf8/image.png" alt=""></p>
<ul>
<li>뉴스 리스트 앞에 있는 작은 점은 a태그 안에 div를 만들어서 따로 코딩했다. </li>
<li>리스트 중에서 맨 위의 두 줄은 굵게 표시되어있어서 strong이라는 태그를 사용했다. <pre><code>&lt;li&gt;
&lt;a href=&quot;#&quot;&gt;
&lt;div&gt;&lt;/div&gt;&lt;strong&gt;페이커-쇼메이커가 생각하는 초시계의 가치&lt;/strong&gt;
&lt;/a&gt;
&lt;/li&gt; </code></pre></li>
<li>뉴스의 제목들이 많이 길지만 너비는 한정되어있기 때문에 text-overflow : ellipsis를 사용하였다.</li>
</ul>
<pre><code>&lt;style&gt;
#news_section ul li {
    position: relative;
    width: 287px;
    margin-bottom: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
&lt;/style&gt;</code></pre><hr>
<h4 id="학습소감">학습소감</h4>
<p>강의시간에는 간단한 도형으로 표현했던 아이콘들을 직접 코딩으로 구현해보았다. 오랜만에 이런 도형들을 css로 디자인해보니 재미있었다.<br>오늘 right영역을 코딩하면서 초반에 검색영역부분이 가운데에서 올라오지 않아서 개발자 도구로 이것저것 만져보았다. 
<img src="https://images.velog.io/images/kimminji32_/post/8d39e597-4b40-4f03-96b1-3799ef708c2b/image.png" alt="">
left영역과 right영역의 콘텐츠 길이가 다르다보니 이러한 현상이 생긴것 같다. 
left와 right를 감싸고 있는 game_container에 align-items : center를 지우고 strech로 바꿔주니 같은 높이로 정렬되었다.</p>
<p> <img src="https://images.velog.io/images/kimminji32_/post/4270a3e8-6cf3-46db-9348-04ee3b5a9369/image.png" alt=""></p>
<p> <img src="https://images.velog.io/images/kimminji32_/post/8251aa8f-3fa6-4b04-af43-977216f63d13/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[08.09 네이버게임_2]]></title>
            <link>https://velog.io/@kimminji32_/08.09-%EB%84%A4%EC%9D%B4%EB%B2%84%EA%B2%8C%EC%9E%842</link>
            <guid>https://velog.io/@kimminji32_/08.09-%EB%84%A4%EC%9D%B4%EB%B2%84%EA%B2%8C%EC%9E%842</guid>
            <pubDate>Mon, 09 Aug 2021 12:25:06 GMT</pubDate>
            <description><![CDATA[<p>네이버 게임 웹페이지 실습</p>
<p><a href="https://github.com/KIM-MIN-JII/AI_School/blob/main/07.19/naver/game.html">실습코드 깃허브 링크</a></p>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/807cc484-fcf1-4821-a6e7-5cd646329f6b/image.png" alt=""></p>
<p><img src="https://images.velog.io/images/kimminji32_/post/85d3d6c9-e278-4284-893e-4b40433eb801/image.png" alt=""></p>
<ul>
<li>타이틀 / 리스트 부분으로 나누어서 코딩하였다. </li>
<li>section_title_wrap 부분은 flex / space-between을 사용하여 좌우 끝에 배치하도록 하였다 (생생 주요 게임 뉴스 / 더보기 )</li>
</ul>
<p><img src="https://images.velog.io/images/kimminji32_/post/9d8ebfcf-c98b-4ac6-8d10-6bc2e89bfdc5/image.png" alt=""></p>
<ul>
<li>목록 부분도 미리 작성해놓은 flex/space-between으로 배치</li>
</ul>
<p><img src="https://images.velog.io/images/kimminji32_/post/f57979e4-6d5d-43b7-8780-46a71d64e23a/image.png" alt=""></p>
<ul>
<li>오리지널 시리즈 부분은 하나의 ol에 두가지 li를 일정한 간격으로 배치하게 한다음 이 ol들을 연속으로 나열시켜 목록을 만들었다. 
<img src="https://images.velog.io/images/kimminji32_/post/3a48617d-3f77-4618-a3dc-2c531b6928b6/image.png" alt=""></li>
<li>더보기 버튼은 position : absolute를 사용하여 다른 요소보다 위로 오게 배치하였다. <pre><code>.btn_circle {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  border-radius: -27.5px;
  width: 45px;
  height: 45px;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 30px 0 rgb(0 0 0 / 6%);
}</code></pre></li>
</ul>
<p><img src="https://images.velog.io/images/kimminji32_/post/3f31a4d7-105a-46ab-8b66-563b55ed7241/image.png" alt="">
<img src="https://images.velog.io/images/kimminji32_/post/4b8cc592-8572-4a19-84ad-1a56a4c8ec6e/image.png" alt=""></p>
<ul>
<li>인기게임영상의 영상썸네일 부분과 텍스트는 바로 전에 만든 코드들을 활용하였고, 플레이 버튼과 영상시간표시는 span을 사용하여 따로 디자인하였다. </li>
<li>영상 설명과 조회수 부분은 flex를 사용하여 정렬시킴.</li>
</ul>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/5c11565a-8413-453a-b141-c30052c2090d/image.png" alt=""></p>
<ul>
<li>타이틀과 날짜 부분은 바로 전 강의시간에 코딩하였던 [게임 라운지 인기 글] 코드를 활용하였고, 바로 위에 인기게임영상과 같이 반복되는 레이아웃 또한 다시 사용했다. [사전예약] 부분은 span을 사용하여 스스로 디자인해보았다. (class명 : reserve)<pre><code>#game_section_5 .reserve { 
  position: absolute;
  top: -5px;
  left: -5px;
  width: 69px;
  height: 30px;
  font-size: 15px;
  color: #fff;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  line-height: 30px;
  background-color: #6664F6;
  border-radius: 7px;
}</code></pre></li>
</ul>
<hr>
<p><img src="https://images.velog.io/images/kimminji32_/post/9576fdba-2568-4010-bcee-fe6d12f92880/image.png" alt=""></p>
<ul>
<li>[게임 라운지 인기글]은 [오리지널 시리즈]의 레이아웃을 참고하여 만들었다. </li>
</ul>
<hr>
<h4 id="학습소감">학습소감</h4>
<p> 담고있는 컨텐츠가 많아서 복잡해보일 수도 있는 네이버 게임 페이지이지만, 반복되는 레이아웃이 많기 때문에 미리 만들어 놓은 코드들을 참고하여 만들어서 수월하게 결과물이 나온것 같다. 복사 붙여넣기를 하면 편리하긴 하지만 만들고 나서 나중에 수정을 하거나 업데이트를 할 때, 수정하기 쉽도록 직관적이고 보기 편한 코드로 짤 수 있도록 처음에 잘 해야할 것 같다. </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[08.06 네이버 게임]]></title>
            <link>https://velog.io/@kimminji32_/08.06-%EB%84%A4%EC%9D%B4%EB%B2%84-%EA%B2%8C%EC%9E%84</link>
            <guid>https://velog.io/@kimminji32_/08.06-%EB%84%A4%EC%9D%B4%EB%B2%84-%EA%B2%8C%EC%9E%84</guid>
            <pubDate>Fri, 06 Aug 2021 11:55:51 GMT</pubDate>
            <description><![CDATA[<p><img src="https://images.velog.io/images/kimminji32_/post/ce7132c3-59f5-47d7-92d6-bd84e54291f9/image.png" alt="">
<img src="https://images.velog.io/images/kimminji32_/post/688585d7-fb07-4844-8d68-eb886248976d/image.png" alt=""></p>
<hr>
<ul>
<li><p>게임 라운지 인기글 / 전체 Joined
flex / space-between을 사용 하여 정렬함. </p>
<pre><code>.section_title_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}</code></pre></li>
<li><p>space-between : 아이템들의 “사이(between)”에 균일한 간격을 만들어 줌</p>
<pre><code></code></pre></li>
<li><p>&#39;전체&#39;라는 글자에는 active라는 클래스를 붙여서 활성화 되었을 때의 강조색을 넣어줌.</p>
<pre><code>&lt;div class=&quot;section_title_wrap&quot;&gt;
&lt;h2 class=&quot;font_19 font_400&quot;&gt;게임 라운지 인기글&lt;/h2&gt;
&lt;div class=&quot;section_btn_wrap&quot;&gt;
   &lt;a href=&quot;#&quot; class=&quot;active&quot;&gt;전체&lt;/a&gt;
   &lt;a href=&quot;#&quot;&gt;Joined&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
</code></pre></li>
</ul>
<p>.section_btn_wrap a.active {
    color: #7776ff;
}</p>
<pre><code>
- 공략, 커뮤니티 부분에도 활성화되어있는 글자에는 active라는 클래스명을 붙이고 강조색과 밑줄을 넣어주었다. 


![](https://images.velog.io/images/kimminji32_/post/ead4aa5d-226a-4dd0-8603-01195e252d04/image.png)
- &#39;롤 패치&#39; 목록은 ol, li 태그를 사용하였다. 
- flex-start와 기본값인 가로 정렬을 사용하였다. 

![](https://images.velog.io/images/kimminji32_/post/fc99de9a-4a97-431a-b096-79b403cc8a9e/image.png)

-padding값으로 위아래 여백을 주고 border-bottom값을 설정하였다. 

---
#### 학습소감
html과 css로 구조를 짜는 것 이외에도 원싸이트에서는 더보기 버튼을 누르면 목록이 보이고 펼쳐진다. 웹사이트를 구현할때, html과 css로 구조를 탄탄하게 하는것도 중요하지만, 생동감을 불어넣는 자바스크립트 또한 중요한 요소라고 생각한다. 네이버 게임 html과 css 코드를 다 짜고 홈페이지에 적용된 간단한 자바스크립트도 조금 더 조사해봐야겠다. 
</code></pre>]]></description>
        </item>
    </channel>
</rss>