• HTML이란

Hypertext Markup Language의 줄임말로, 프로그래밍 언어가 아니며 '웹사이트'를 만드는 가장 기초가 되는 'Mark Up'언어이다. 특별한 기호나 표기를 사용해 글의 서식과 스타일을 정해주는 언어를 뜻한다.

 

마크업 언어가 무엇인지 사실 감이 잘 잡히지 않았었다. 몇 번 반복하다보니 감이 오는데, 함축적인 단어 표현을 통해 글의 구조, 내용, 스타일 등을 꾸밀 수 있게 해주는 언어를 말하는 것 같다.

 

바닐라코딩 사이트의 HTML 코드

생활코딩에서 HTML, CSS, Javascript도 들어보고 SW사관학교 정글 자료를 보면서 공부도 했었지만, 잘 만들어진 페이지의 코드를 보면 여전히 모르는 것이 많다.

 

  • 태그, Tag

태그란 '<'와 '>' 사이에 어떤 단어(태그)를 적는 것이다.

<br> br 태그는 줄바꿈을 실행시킨다.
<p> p 태그는 paragraph의 약자이다. 말 그대로 단락을 표현할 때 사용되는 태그이며 자동으로 줄바꿈이 실행된다.</p>

HTML Tag의 특징으로는 여는 태그와 닫는 태그가 있다는 것이다. 한 예시로, 제목을 나타낼 때 자주 쓰는 h1 태그가 있다.

<h1>바닐라코딩</h1>
개발자 도전기
<br>
hello world

이와 같이 <h1> 다음 </h1>을 적어 '바닐라코딩'부분만이 제목으로 사용되게 할 수 있다. 닫는 태그에는 '/'가 추가된다. 태그의 종류는 무수히 많다. 이걸 하나하나 공부해가며 외울 필요는 없고, 필요할 때 검색을 통하여 알아내면 된다. 혹은 https://developer.mozilla.org/ko/docs/Web/HTML/Element 모질라 사이트에서 검색하면 빠르게 찾아낼 수 있다.

 

  • 문서의 구조
<!DOCTYPE html>
<html lang="ko">
<head>
   <meta charset="UTF-8">
</head>
<body>
   <h1 id="profile">프로필</h1>
   안녕하세요
   <br>
   바닐라코딩을 준비하고 있는 사람입니다.
   <p>
   현재는 설비엔지니어로 일하고 있고, 개발자가 되기를 희망하고 있습니다.
   </p>
</body>
</html>

HTML의 구조는 대부분 위와 같이 html 태그 안에서 head와 body로 이루어진다.

 

   - html : 웹 브라우저에게 HTML 코드가 해당 태그 내부에 존재한다고 알려준다.

   - head : 외부 소스를 참조할 때 사용한다. 예로 jQuery나 Bootstrap, 구글 폰트를 따오는 코드가 head 태그 안으로 들어가게 된다. style 태그로 CSS가 들어가기도 하고 script 태그로 JavaScripr가 들어가기도 한다.

   - body : 웹 브라우저는 이 태그에 포함되어 있는 내용들을 화면에 보여준다. 페이지의 내용을 구성하는 부분이라고 보면 된다.

 

  • HTML에서 이미지 추가하기
<img src="https://techbullion.com/wp-content/uploads/2021/06/Hire-Web-Developer.jpg" alt="developer">

HTML에서 이미지는 말그대로 img 태그를 통해 구현할 수 있다. 이 때 src는 source의 약자이고 여기에 이미지의 주소나 파일 이름을 기입하면 된다. 여기서 src는 속성, attribute이다. 포함하고자 하는 이미지로의 경로를 지정할 때 사용된다. 그러므로 img 태그를 사용할 때 src는 필수이다.

 

alt는 alternative의 약자로, 이미지의 간단한 설명을 나타낼 때 사용된다. alt는 필수는 아니지만 네트워크 오류 혹은 콘텐츠 차단, 죽은 링크로 인해 이미지를 표현할 수 없을 때 alt 속성 값이 대신 나타나며 사용자에게 차단된 이미지가 어떤 것이었는지 암시해줄 수 있다.

 

  • HTML 링크
    <a href="https://www.vanillacoding.co"
      ><img
        src="https://techbullion.com/wp-content/uploads/2021/06/Hire-Web-Developer.jpg"
        alt="developer"
      />바닐라코딩 홈페이지</a
    >
    <br />

    <a href="mailto:tmdwns0570@naver.com">이메일 보내는 링크</a>
    <br />

    <a href="tel:114">전화를 거는 링크</a>
    <br />

    <a href="#profile">프로필로 가기</a>

링크는 우리가 원하는 공간(페이지)로 이동할 수 있게 해준다. a 태그를 이용하고 href 속성값에 따라 어떤 페이지로 갈지가 정해진다. a 태그는 '바닐라코딩 홈페이지'라는 글씨 뿐만 아니라 img 태그도 감쌀 수 있어, 사진에도 링크를 걸 수 있다.

 

또한, mailto: 혹은 tel:을 href에 기입해 클릭 시 이메일을 보내거나 전화를 걸 수 있다.

 

그리고 id 값을 기입하면 HTML 문서 내의 같은 id 값을 가진 곳으로 이동한다. 보통 id는 HTML 문서에서 1개만 지정되기 때문에 이동하는 곳이 중복되지 않는다. 예로, 내가 h1 태그에 id 값으로 profile을 부여했으면, 다른 태그에는 id 값으로 profile을 부여하지 않는 것이 원칙이다.

 

    <style>
      a[href^="https"]::before {
        content: "🔗 ";
      }

      a[href^="mailto"]::before {
        content: "📧 ";
      }

      a[href^="tel"]::before {
        content: "📞 ";
      }

      li {
        margin-bottom: 0.5rem;
      }
    </style>

위는 CSS인데, HTML 문서를 꾸며줄 때 사용되는 언어이다. a 태그의 href 속성값에 https, mailto, tel이 들어가면 각각에 해당되는 아이콘을 앞에 붙여줄 수 있다.

 

  • 절대경로와 상대경로

   - 절대경로 : 전체 인터넷을 기준으로 해당 자료의 위치 표현

   - 상대경로 : 같은 파일 시스템 구조 상의 위치 표현

 

사실 처음 듣는 개념이고 Prep Guide만으로는 이해가 안되어 검색을 해봤다.

 

절대경로란, 최초의 시작점으로 경유한 경로를 전부 기입하는 방식이다. 내가 만약 윈도우 OS의 바탕화면에 index.html 파일을 두었다고 가정하면, C:\Users\Administrator\Desktop\index.html이 절대경로가 되는 것이다. (이 때 Administrator는 UserID로, 각 사용자의 이름에 따라 달라질 것이다)

 

어떠한 OS든 이렇게 최상위의 경로, 즉 모든 경로를 기입한 절대경로로만 파일을 찾을 수 있다. 그렇다면 상대경로는 왜 생겼을 까.

 

상대경로는 이름처럼 상대적인 개념이 적용되는데, 항상 그 기준이 필요하다. C:\Users\Administrator\Desktop\index.html처럼 절대경로가 아니라, 만약 Desktop\index.html 혹은 index.html이라고 표현되어 있다면 해당 경로는 어디를 나타내는 것인가? 이는 기준 경로에 따라 결정된다. 만약 기준(비교 대상)이 C:\SSJ라면 두 경로는 C:\SSJ\Desktop\index.htmlC:\SSJ\index.html이 된다.

 

상대경로가 필요한 이유는, index.html의 경로가 항상 일정한 것이 아니고 바뀔 수도 있기 때문에, 절대경로만 존재한다면 매번 경로를 일일히 바꿔주어야 할 것이다. 크게 와닿진 않는다. 하지만 좀 더 학습하다가 절대경로와 상대경로를 쓰게 되는 시점이 오면 더 이해할 수 있을 것이다.

 

결론적으로 절대경로란 최상위 경로(디렉토리)가 반드시 포함된 경로이고, 상대경로는 현재 기준(현재 디렉토리, 비교대상)으로 작성된 경로를 의미한다.

 

 

절대경고와 상대경로 참고 출처 : https://mommoo.tistory.com/82

HTML 링크 관련 참고할만한 자료 : https://developer.mozilla.org/ko/docs/Web/HTML/Element/a

'프로그래밍 > 바닐라코딩_Prep Guide' 카테고리의 다른 글

Step 2. JavaScript(1)  (0) 2021.11.24
Step 1. Google Clone  (0) 2021.11.14
Step 1. CSS  (0) 2021.11.02
준비를 위한 준비  (0) 2021.10.28
또다른 입구  (0) 2021.10.27
  • 스터디 로그

바닐라코딩 프렙 코스의 신청서에는 사전학습 가이드 혹은 다른 자료를 이용해 공부했던 흔적이 담긴 자료를 첨부해야 한다. 그 자료는 다음과 같이 준비해야 한다.

 

   - 본인이 공부하며 혼자 작성해본 코드 : Github 등등

   - 공부하며 배운 것을 기록했던 자료 : 개인 블로그 등등

 

어찌 보면 개인 블로그로는 네이버, velog, Notion, Github 등등의 플랫폼에서 많이 고민해보았는데 아무래도 익숙하면서 내 삶도 담을 수 있고, 코딩 첨부 기능 또한 있는 네이버가 아닌 티스토리!를 선택했다.(네이버는 좀 가벼워질 것 같고 구글 검색 시 노출 또한 잘 안되니까 ^.^)

 

하지만 넘어야 할 언덕이 바로 코드 저장소인데, Github는 생활코딩 HTML 강의에서 한 번 해보고 버전 관리?에 좋다는 것만 알 뿐 잘 모르는 영역이다. 겁부터 나지만, 어떤 일이든 알고 나면 별거 아니지 않는가?

 

그래서 준비한 것은 Github 강의이다. Inflearn에서 찾아보니 Github 강의가 있다! 그것도 무료로!

Git과 GitHub 시작하기 : https://www.inflearn.com/course/git-and-github

 

[무료] Git과 GitHub 시작하기 - 인프런 | 강의

배우기 어려운 Git의 사용법을 쉬운 Gui 프로그램인 SourceTree를 통해 익혀봅시다., [임베딩 영상] git과 github git 은 형상 관리 시스템(Verson Control System) 의 한 종류입니다. 주로 개발자들이 프로그램

www.inflearn.com

아직 듣진 않았지만 평이 아주 좋다. 2시간 23분으로 길지 않고 간단하다. Github는 개발자로서 입사 후 실무에서도 자주 사용된다고 한다. Github는 이 강의로 시작해봐야겠다.

 

  3. 꾸준함

 

바닐라코딩 Prep Guide에는 꾸준함이 적혀져 있지 않지만, 작심삼일이 되지 않기 위해 꾸준함도 추가해보았다. 하루 3시간, 5시간, 주말에는 10시간 등 얼마나 공부하느냐도 중요하지만 단 몇 십분이라도 꾸준히 해야한다고 생각한다. 마음 먹은 김에, 1 Day 1 Commit을 실천하도록 하겠다!

 


 

  • 코드 에디터

바닐라코딩 Prep Guide에서는 Visual Studio Code 뿐만 아니라 확장 프로그램까지 설치하길 추천해준다.

 

   - Trailing Spaces

   - Prettier

 

찾아보니 Trailing Spaces는 공백에 색감을 줘서 불필요한 공간을 없애게 해주는 것이고(공백 또한 코드를 읽는 시간을 잡아먹을 수 있는 것인가?), Prettier는 말그대로 코드를 더 이쁘게 만들어주나보다.

'프로그래밍 > 바닐라코딩_Prep Guide' 카테고리의 다른 글

Step 2. JavaScript(1)  (0) 2021.11.24
Step 1. Google Clone  (0) 2021.11.14
Step 1. CSS  (0) 2021.11.02
Step 1. HTML  (0) 2021.10.29
또다른 입구  (0) 2021.10.27

 개발자가 되기로 마음 먹었다. 생활코딩을 통해 찬찬히 발을 들여놓을 놓고 여러 부트캠프를 탐색하던 도중 'SW 사관학교 정글'과 '바닐라코딩'의 후기가 유독 눈에 들어왔다. 그리고 유망한 스타트업에서 HR을 맡고 있는 친구가 나에게 정글을 정말 적극 추천해주었다.

 

 'SW 사관학교 정글'로 크래프톤의 장병규 의장님이 수장이 되어 운영되어지는 부트캠프이다. 간단한 자기소개서와 1분 동영상, 코딩 시험, 면접을 거쳐 선발되는데 합격 시 대전의 카이스트에서 폐관 수련을 하게 된다.

 

SW 사관학교 정글 : https://swjungle.net/

 

SW사관학교 정글

5개월 간의 합숙 과정을 거쳐 5~10년에도 성장하는 개발자로 거듭나세요

swjungle.net

 

 응시료와 자기소개서/1분 동영상만 제출하면 시험을 누구나 볼 수 있다. 친구가 추천해주기 전에도 한번 제출한 적이 있는데 본래의 직무가 바쁘다는 핑계로 시험을 치루지 않았다. 3개월 뒤 다시 모집 공고를 보게 되었고, 3개월 전보다 훨씬 간절해진 나는 무조건 통과하겠다는 마인드로 도전했다.

 

하지만 결과는 좋지 못했다. 기능을 완전히 구현하지 못했기도 했고 자기소개서에 나의 절실함이 담기지 않았나보다. 실패는 너무나도 쓰라렸다... 1차에 탈락이라니... 그 수많은 부트캠프 중 1곳을 탈락했을 뿐인데 취준 때 우두두두두 떨어지는 서류보다 아팠다.

 


 

 그래도 멘탈 회복력은 좋다. 겨우 지금의 실력으로는 들어가서 따라가지 못하겠구나, 오히려 더 노력할 수 있는 발판이 생겼을 뿐이다라고 생각했다.

 

 하고 싶은 일을 할 수 있게 되는데 1000~1500만원 정도의 지불은 감당할 수 있다고 여겼다. 사회초년생이라 모아둔 돈은 거의 없지만 개발자로서 벌게 될 미래를 생각한다면 초반의 큰 지불이 오히려 눈덩이처럼 불어나게 될 수 있다. 그래서 국비지원보다는 확실하게 기초를 다질 수 있는 부트캠프를 가고자 마음 먹었다.

 

 정글 탈락 이후 바닐라코딩으로 눈을 돌렸다. 바닐라코딩 '본' 부트캠프는 코딩테스트가 필요한만큼 입성하기 전에 어느 정도의 실력이 요구된다. 동시에, 본 부트캠프에 걸맞는 실력을 키울 수 있는 'Prep' 부트캠프가 사전에 운영되며, 또 Prep 부트캠프에 걸맞는 실력을 키울 수 있는 '바닐라코딩 사전학습 가이드'가 존재한다. 

 

 천천히 바닥부터 다지고 가는 것을 좋아하는 나에게 마음에 드는 과정이었다. 본 부트캠프가 오프라인으로 운영된다는 점도 나를 기쁘게 했다. 오프라인이 확실히 의사소통도 자유롭고 더 많은 것을 배워갈 수 있기 때문이라고 생각이 들어서이다. 그리고 퇴사한 뒤에 부트캠프에 참여할 것인데 집에서 온라인으로만 듣고 있으면 잉여로울 것 같다...

 

출처 : KoreanZombie Youtube 채널 '파이트클럽'

 

'지는 건 괜찮아요, 자랑스러웠어요. 나도 한번 해봤다.'

 

 바닐라코딩에 들어가는 또한 실패할 수 있다. 오히려 정글보다 더 어려울 수도 있다. 하지만 어렵다고 안하는 것만큼 멍청한 짓은 없을 것이다. 실패하더라도 깨닫고 얻어가는 것이 있을 것이고 정글에 실패하고 바닐라코딩이 보였던 것처럼 다른 입구가 보일 수도 있다!

 

'프로그래밍 > 바닐라코딩_Prep Guide' 카테고리의 다른 글

Step 2. JavaScript(1)  (0) 2021.11.24
Step 1. Google Clone  (0) 2021.11.14
Step 1. CSS  (0) 2021.11.02
Step 1. HTML  (0) 2021.10.29
준비를 위한 준비  (0) 2021.10.28
  • 실습환경 준비

코딩 에디터가 필요하다. 생활코딩 HTML 강의는 Atom을 쓰는데, 나는 이미 Visual Studio Code가 있고 거의 써보진 않았지만 이미 생활코딩 강의를 어느 정도 들어봤는데 VSC를 써도 별 문제가 없을 것 같다.

 

근데 생활코딩은 왜 Atom을 쓸까? 대부분이 VSC를 쓰지 않나?

Visual Studio Code vs Atom : https://ko.myservername.com/visual-studio-code-vs-atom

먼가 번역체로 쓰여져 있고 대부분 처음 듣는 말이 많아 솔직히 잘 모르겠다. 그냥 VSC가 더 빠르긴 하단다.

그리고 학부시절 C언어 강의를 들은 적이 있는데 이 때 Visual Studio를 사용했다. 조금 비슷해 보여서 VSC를 쓰겠다. 그나마 더 익숙하기도 하고 인터페이스가 나한테는 더 편하다!

 

 

  • 파일 열기

Chrome(Web Browser)에서 Crtl + O를 통해 현재 내 컴퓨터에 있는 파일을 불러올 수 있다.

 

 

  • 기본 문법 Tag
<strong>글자를 진하게 강조할 수 있다.</strong>
<u>글자에 밑줄을 그을 수 있다.</u>
<h1>h1~h6으로, 글자의 크기를 조절할 수 있다. h1이 가장 크다. 제목, 소제목과 같다고 보면 되고, 줄바꿈이 실행된다</h1>
<br>을 통해서 줄바꿈을 실행할 수 있다.
<p>이 태그는 문단을 나타내는 paragraph의 약자로, 말 그대로 문단을 나타내고 '<h1~6>'태그처럼 줄바꿈이 실행된다.</p>
<img src="#">#에 img의 주소를 넣으면 사진을 불러올 수 있다. 혹은 같은 디렉토리(폴더)안에 있다면 파일 이름을 적어도 사진을 불러올 수 있다.
<title>head 태그 안의 title 태그 안에 해당 페이지가 가졌으면 하는 원하는 제목을 넣어, 페이지의 이름을 정할 수 있다.</title>

Tag는 무언가를 지정할 때 쓰인다.

 

 

  • 부모-자식 구조
<div class="parent">
	<div class="child">
	부모(parent)의 속성이 바뀌면 자식(child)의 속성 또한 바뀌게 된다.
	HTML에서 div(parent) 안에 들어간 div(child)는 parent에 속해 있다고 보기 때문이다.
	</div>
</div>

 

 

  • 목록
<ul>
	<li>1</li>
	<li>2</li>
	<li>3</li>
</ul>

ul 태그 안에 list를 배열하면 점으로 list들을 나열하게 된다.(이 또한 부모-자식 구조이다)

<ol>
	<li>1</li>
	<li>2</li>
	<li>3</li>
</ol>

반면 ol 태그 안에 list를 배열하면 숫자가 매겨지며 list들이 나열된다.

ol은 ordered, ul은 unordered의 약자라는 것을 알고 있으면 기억하기 수월하다.

 

 

  • 링크
<a href="https://www.w3.org/TR/html5/" target="_blank" title="html5 specification">링크</a>

a 태그는 하이퍼링크를 걸어줄 때 사용된다. 여기서 href는 이동할 링크 주소이고, target="_blank"를 통해 새로운 창에서 링크가 뜨도록 할 수 있다. title="html5 specification"은 사용자가 마우스를 링크에 가져다 놓았을 때 Tool Tip이 뜨게 한다.

Tool Tip, 마우스가 안 보이는데 실제론 마우스를 갖다댔다.

 

 

  • Server & Client

출처 : 생활코딩 HTML WEB1-17 강의

Web Browser, 즉 Client(나라고 생각하자)가 Server에 index.html을 Request(요청)하면, Server가 저장해두고 있던 index.html을 Response(반응)한다.

 

그냥 내가 서버에 index html 보여줘!라고 하면 서버가 index.html을 보여주는 단순한 것이다.

 

생활코딩에서는 웹호스팅(아직 잘 모르는 단어이다)으로 github를 썼다. 같은 개념인지는 모르겠지만, SW 사관학교 정글을 준비한 적이 있는데 이 때는 AWS Instance와 Gabia를 사용했었다. 일단 생각나는 것을 그냥 적어봤는데, 나중에 더 배우고 나서 저 2개가 다른 것임을 알게 된다면 조금 쪽팔릴 것 같다 ㅎㅎㅎ!

 

또한 Apache와 Bitnami를 이용해 localhost로 서버를 운영해 내가 만든 페이지를 열 수 있다. 앞의 Ctrl + O로 HTML 파일을 열었을 때와 다른 점은, 서버가 이용됐다는 점이다. 비록 지금은 서버를 내 컴퓨터에 두는 기반으로 내가 만든 HTML 파일에 들어갔지만, 훗날 좀 더 배우면 거대한 서버 대여 서비스를 이용해 내가 만든 웹, 앱, 혹은 프로그램을 배포할 수 있을 거란 생각이 든다.

 

 

 

 

출처 : 생활코딩

'프로그래밍 > 생활코딩_WEBn 시리즈' 카테고리의 다른 글

CSS  (0) 2021.11.05

+ Recent posts