개발자의 길


- 개발에 필요한 여러가지 기능을 묶어놓은 응용 소프트웨어(일반적으로 프로그램 or 앱이라고 칭함)를

  IDE(Integrated Development Environment) 라고 한다. 

- WWW(World Wide Web) 은 팀 버너스리(Tim Berners-Lee)가 처음으로 제안하고 만들었다.

- 온라인 논문문서이자 그 문서를 제작하는 언어가 HTML 이다.

  이 문서들을 저장하는 컴퓨터를 서버(Server) 라고 하고, 서버와 인터넷으로 연결되어 있으며, 

  그 논물을 볼 수 있는 컴퓨터를 클라이언트(Client) 라고 한다. 또한 클라이언트 컴퓨터에 설치

  되어 있어야 하며, HTML 문서를 볼 수 있는 응용 소프트웨어(프로그램 or 앱)을 브라우저(Browser)

  라고 한다.

- HTML은 www를 통해 볼 수 있는 문서를 만들 때 사용하는 프로그래밍 언어이다.

- 웹개발은 크게 서버의 백엔드(Back-end) 개발과 클라이언트의 프론트엔트(Front-end) 개발로 나뉜다.

- 주석(Comment) 이란 프로그래밍에 있어 내용을 메모하는 목적으로 쓰인다.

  즉 다른 개발자나 미래의 자기 자신에게 설명할 것을 적어 놓는다.

  주석을 적절하게 사용하는 습관을 들여야 나중에 협업, 코드 리뷰등에 편리하며, 훌륭한 개발자의 

  기본요건이라고 말할 수 있다.

- <!-- --> 는 HTML 주석이다.

- 하이퍼텍스트(Hypertext)하이퍼링크(Hyperlink) 를 통해 한 문서에서 다른 문서로 즉시 접근 할 수

  있는 텍스트이다.

- 마크업(Markup) 은  <xxxx> 이런 모양의 태그(tag) 를 이용하여 문서나 데이터의 구조를 명기하는 언어다.

- HTML 은 처음에 단순히 논문정도의 내용만 담았다. 그래서 단지 제목, 문단, 표, 이미지, 리스트 등 

  기본적인 구조 및 내용만 개발되었다. 하지만 점차 대중적으로 널리 사용되었고, 점점 더 많은 사람들이

  다양한 기능 및 디자인을 원하게 되어, 새로운 언어 및 기술 CSS, Javacript 등의 기술과 함께 사용되었다.

  이렇게 HTML / CSS / Javascript 로 나눠서 개발하는 것이 웹표준이다.

- 개발시 편리함을 위해서 구조 / 표현 및 동작 / 동작 및 제어를 나누어 개발

- 프론트엔드 개발에서 구조와 데이터를 담당하는 건 HTML 이다.

- 표현(동작) 담당은 CSS 이다.

- 동작 및 제어 담당은 Javascript 이다.


■ HTML

- <html> / <h1> 처럼 이런걸 요소(element)라고 한다. 

- html 의 자식 요소는 <head> 와 <body> 로 구성

- 브라우저는 <head> 요소의 내용을 먼저 읽은 후 <body>를 렌더링한다.

- <html lang="ko"> , <div id="xx"> 에서 lang 과 id 등을 속성(Attrubute)이라고 한다.

- 속성은 이름(name)값(value) 로 구성된다.

- 제목을 의미하는 요소는 <h1>~<h6> 이다.

- 문단을 의미하는 요소는 <p> 이다.

- 줄바꿈을 하고 싶을때는 <br> 요소를 마크업한다.

- 순서가 있는 리스트(목록)을 의미하는 요소는 <ol> 이다.

- 순서가 없는 리스트는 <ul> 이다.

- 제목과 내용으로 구성된 정의리스트는 <dl< 이다.

- <ol> 과 <ul> 의 자식요소는 반드시 <li> 이다.

- dl 의 자식요소는 제목을 의미하는 <dt> 와 내용을 의미하는 <dd> 이다.

- 이미지를 의미하는 요소는 <img> 이다.

- 하이퍼링크의 요소는 <a> 이다.

- img 요소는 반드시 <img src="" alt=""/> src 속성과 alt 속성을 가져아 한다.

  *<img> 요소 안에 있는 src , alt 를 속성이라고 한다. 

- 이미지의 자원경로를 쓰는 속성은 src 이다.

- 이미지가 서버에서 다운로드 되지 않았을때 대체텍스트를 쓰는 속성은 alt 속성이다.

- <a> 요소는 반드시 <a href=""/> 처럼 href 속성을 가져야 작동한다.

- 표를 HTML 에서 표현하기 위해서는 <table> 요소를 이용한다.

- <table> 요소는 구조상 머리부분을 <thead> 요소가, 내용 부분을 <tbody> 요소가, 

   하단 부분을 <tfoot> 요소가 담당한다.

- <table> 요소의 제목을 의미하는 요소는 <caption> 이다.

- <table> 요소에서 하나의 셀을 의미하는 요소는 <td> 이다.

- <table> 요소에서 하나의 제목 셀을 의미하는 요소는 <th> 이다.

- 유저가 로그인을 하거나 글을 쓸때 유저가 입력한 정보가 서버(의 특정 주소로)로 

  넘어가야 한다. 바로 이런 데이터를 파라미터(parameter) 라고 한다.

- 유저가 입력한 데이터를 서버로 넘길때 필요한 요소는 <form> 이다.

- <form> 요소에 입력된 데이터들을 넘길 주소를 작성하려면 <form action=""> 처럼

  action 속성에 작성한다. 또 넘길 방식을 작성하려면 <form action="" method=""> 처럼

  method 속성에 쓴다.

- 서버로 넘길 방식은 GET 방식과 POST 방식이 있다. ( 그외에도 RESTFUL 을 이용하려면

  PUT과 DELETE 등도 있다.)

- GET 방식은 파라미터가 주소창에 "?id=test&pwd=1234"와 같이 서버로 넘어간다.

  이런 문자열을 쿼리스트링(Query String) 이라고 한다.

- POST 방식은 HTTP 프로토콜의 body 에 파라미터가 넘어가는 방식으로 주소창에 

  노출되지 않는다. 또 용량제한이 없어서 글쓰기, 로그인, 회원가입, 파일업로드등에 사용한다.

- <form> 요소에는 입력필드를 묶어주는 <fieldset> 요소와 그의 제목을 의미하는 <legend>

   요소도 같이 마크업하는 경우가 많다.

- 한 줄 글자 입력필드는 <input> 요소다.

- 회원가입시 자주 보는 년월일을 선택하는 요소를 <select> 라고 한다.

- <select> 의 자식요소들은 <option> 요소이다.

- 여러줄의 글을 입력하는 요소는 <textarea> 요소다.

- 중복체크가 불가능한 요소는 <input type="radio"> 이다.

  그리고 <input> 요소의 제목을 의미하는 요소는 <label> 이다.

- 중복체크가 가능한 요소는 <input type="checkbox"> 이다.

- 파일을 선택하는 요소는 <input type="file"> 이다.

- 숨거진 <input> 요소는 <input type="hidden"> 이다.

- 버튼을 만드는 요소는 <button> 이다.

- 마크업을 할때는 최대한 의미에 맞게 해야 한다.

- 폼에서 submit 할때 파라미터가 넘어가기 위해서는 <input> , <select> , <textarea> 에 

  name 속성을 반드시 써야 파라미터가 넘어간다.  

  <input name=""> , <select name=""> , <textarea name="">

- 개발자가 입력한 글자를 그대로 표혀하는 요소로 빈공백도 그대로 표현되는 요소는 

  <pre> 이다.

- 외부 CSS 를 불러오거나 파비콘을 지정하려면 <link> 요소를 사용한다.

- <link> 요소는 HTML 과의 관계를 지정하는 <link rel="" href=""> rel 속성과 링크될 자원의

  주소를 지정하는 href 속성이 있다.

- font awesome 라이브러리는 폰트를 이용하여 아이콘을 사용하는 방법이다.

  사용법은 <i> 요소에 class 속성으로 'fa' 와 우리가 필요한 모양의 'fa-xxxxx' 를 찾아서 지정한다.

- CSS 를 HTML 내부에서 사용하려면 <style> 요소를 <head> 의 자식요소로 마크업한 후 코딩하면

  된다.

- #facebook 을 CSS 에서는 id선택자 라고 한다. 

- 글자의 색상을 지정하는 CSS 속성은 color 이다.


 

최근 글