제주코딩베이스캠프 웹페이지의 About 부분을 html과 css를 이용하여 클론코딩 해봤다.
시멘틱 마크업의 중요성을 강의시간을 통해 배웠기 때문에 가능하면 시멘틱하게 만들려고 노력했지만 이렇게 구분하여 마크업하는 것이 맞는지 확신할 수 없었다.
결국 오리지널 홈페이지를 개발자 도구로 열어서 어떤 방식으로 작업했는지 먼저 보고 참고하여 만들어 보았다.
홈페이지를 분석하는 과정에서
.weniv_info div::after {
content: "|";
margin: 0 6px 2px 8px;
}
.weniv_info div:last-child::after {
content: "";
}
Pseudo-Element Selector를 활용하는 부분을 새롭게 배울 수 있었다.
<dl class="weniv_info">
<div>
<dt class="invisible">회사명</dt>
<dd>
(주)위니브
</dd>
</div>
<div>
<dt>대표</dt>
<dd>이호준</dd>
</div>
<div>
<dt>사업자번호</dt>
<dd>546-86-01737</dd>
</div>
<div>
<dt class="invisible">업종</dt>
<dd>정보통신업</dd>
</div>
<div>
<dt>주소</dt>
<dd>제주도 제주시 수목원길 39-1, 1층</dd>
</div>
</dl>
dl dt dd
를 활용한 html 작성법 (내용이 시멘틱해진거 같다.)을 새롭게 익혔다.
(이렇게 본래 홈페이지의 구성을 파악하고 따라하는 방식이 도움이 된 것 같다.)
url 만드는 과정 : Settings => Pages => Source => Main => Save
.을 눌러서 웹에서 비주얼 스튜디오를 켜서 코드를 수정하는 것도 해봤다.
(급할 때 이용해도 될듯, 이제 패드로도 코딩이 가능하다.)
오리지널 | 우리가 부르는 이름 | 비교 대상 |
---|---|---|
https://www.google.com | 도메인, URL | 이름 |
105.293.332.143 | IP | 주소 |
80, 5000, 22, 23 | Port | 문 |
✳️ 데이터의 전체적인 흐름
클라이언트와 서버가 데이터를 주고받는 약속
1. A request line.
2. A series of HTTP headers, or header fields.
3. A message body, if needed.
1. A status line.
2. A series of HTTP headers, or header fields.
3. A message body, which is usually needed.
① 마크업 :
마크업 언어(Markup Language)는 문서가 화면에 표시되는 형식을 나타내거나 데이터의 논리적인 구조를 명시하기 위한 규칙들을 정의한 언어의 일종이다.
데이터를 기술한 언어라는 점에서 프로그래밍 언어와는 차이가 있다.
ex) HTML
② 마크다운 :
Markdown은 텍스트 기반의 마크업언어
2004년 존그루버에 의해 만들어졌으며 쉽게 쓰고 읽을 수 있으며 HTML로 변환이 가능.
특수기호와 문자를 이용한 매우 간단한 구조의 문법을 사용하여 웹에서도 보다 빠르게 컨텐츠를 작성하고 보다 직관적으로 인식할 수 있다.
(내가 쓰고 있는 velog도 마크다운 언어였다.)
다음과 같이 여러가지 emmet문법을 배워서 활용해 보았다.
<!-- h1 -->
<h1></h1>
<!-- h1{helloworld} -->
<h1>hello world</h1>
<!-- h1+p -->
<h1></h1>
<p></p>
<!-- h1{hello}*10 -->
<h1>hello</h1>
<h1>hello</h1>
<h1>hello</h1>
<h1>hello</h1>
<h1>hello</h1>
<h1>hello</h1>
<h1>hello</h1>
<h1>hello</h1>
<h1>hello</h1>
<h1>hello</h1>
<!-- h1#one -->
<h1 id="one"></h1>
<!-- h1.one -->
<h1 class="one"></h1>
<!-- table>(tr>(td*4))*3 -->
<table>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<!-- lorem -->
<h1>Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime perspiciatis natus ipsam, dolorum earum, sint dicta, impedit soluta facere ea id repellendus fuga illum vitae asperiores delectus ad unde! Magni.</h1>
<!-- lorem * 3 -->
<h1>Lorem ipsum dolor sit amet consectetur adipisicing elit. Similique repudiandae libero tenetur, nemo necessitatibus accusamus pariatur quod odit. Amet sed provident doloribus tempore quos facilis dicta accusantium? Ab, ea facilis!
Sequi minima, ipsam debitis error reprehenderit quaerat perferendis, laudantium vel incidunt aut pariatur aperiam soluta fugiat odit a officia quasi dolorum laborum quos magni quod, rerum expedita! Voluptatem, aut quos!
Sunt, nisi dolore, eum dolorem quam numquam assumenda quos error non sapiente culpa ex iusto aliquam officia ullam! Quis quia voluptatum rem vitae cupiditate non similique dicta, quos veniam omnis?</h1>
<!-- img -->
<img src="" alt="">
<!-- img:z -->
<img src="" alt="" sizes="" srcset="">
<!-- a[a="value1" b="value2" c=1] -->
<a href="" a="value1" b="value2" c="1"></a>
<!-- a -->
<a href=""></a>
<!-- a[href="www.naver.com"] -->
<a href="www.naver.com"></a>
<!-- h1.one.two#three -->
<h1 class="one two" id="three"></h1>
정리를 깔끔하게 잘하셨네요ㅎㅎ