Where to Start (웹 개발자는 어떤 지식을 습득해야 하는가?)

출처(Original Post) : http://www.w3schools.com/

너무 좋은 글이 있어서, 번역해서 올린다.

웹 개발자는 어떤 지식을 습득해야 하는가?

모든 웹개발자는 웹 개발시 아래와 같은 지식을 습득해야 한다.

  • HTML 4.01
  • CSS 사용법
  • XHTML
  • XML, XSLT
  • Client side Scripting
  • Server side Scripting
  • Managing data with SQL
  • The future of the Web

HTML 4.01

HTML은 웹에서 사용되어지는 언어이며, 모든 개발자는 기본적인 건 알고 있어야 한다.

HTML 4.01은 웹 표준이며, HTML 3.2버전과 상당히 틀리다.

HTML 3.2 버전에 추가된 <font>태그나 색상 속성같은 경우, 개발자들의 악몽이 되었다. 폰트 정보를 모든 웹 페이지에 삽입하는 건 길고도 비싼 댓가를 치뤄야 했다.

HTML 4.01 버전에서 모든 formatting 정보는 HTML 문서에서 벗어나서 별도로 정의된 style sheet로 옮겨지게 되었다.

HTML 4.01은 또 중요한 점이 있는데, 그건 XHTML 1.0 (가장 최근의 HTML 표준임) 때문이다. HTML 4.01버전을 사용해서 페이지를 제작하게 되면 추후에 XHTML로 업그레이드 할 경우, 간단하게 진행할 수 있다.

반드시 HTML 4.01 을 사용하도록 하자.

Cascading Style Sheets(CSS)

스타일은 HTML 요소가 디스플레이 되는 방식을 정의한 것이다. HTML 3.2에 있는 폰트태그와는 달리, 스타일은 보통 HTML 문서의 외부에 저장되어 진다. 외부의 스타일시트는 단 하나의 스타일시트를 수정함으로써 당신의 웹의 모든 페이지의 외관과 레이아웃을 변경할 수 있게 해준다. 당신이 모든 웹페이지의 폰트와 색상을 바꾸려고 할 때, CSS가 얼마나 많은 작업량을 줄일 수 있을지 곧 깨닫게 될 것이다.

XHTML – HTML의 미래 (The Future fo HTML)

XHTML=Extensible HyperText Markup Language.

XHTML 1.0은 W3C로부터 인증받은 가장 최근의 HTML 표준이다. 2000년 1월 26일 공식적인 권고안이 되었다. W3C의 공식 권고안이 의미하는 건, 기술사양이 안정적이며, 웹 표준이 되었다는 뜻이다.

XHTML은 HTML 4.01과 xml의 요소를 섞어서 다시 만들었다. 그렇기 때문에 기존의 브라우저 환경에서, 몇가지의 간단한 가이드라인만 지키면 즉각적으로 사용할 수 있다. (XHTML is a reformulation of HTML 4.01 in XML and can be put to immediate use with existing browsers by following a few simple guidelines.)

XML – 데이터를 표현하는 도구 (A Tool for Describing Data)

XML = Extensible Markup Language

XML은 HTML을 대체하기 위해서 나온게 아니다. 미래의 웹 개발 환경에서, XML은 데이터를 표현하고 전송하기 위해서이다. HTML은 데이터를 “보여주기” 위함이지만.

XML을 설명하자면 cross-platfomr, software-and hardware 독립적인 툴이며, 정보를 저장하고 전송하는 것이다.

XML은 HTML과 같이 웹에서 중요하게 되어질 것이며, 데이터를 취급(data manipulation)하고 전송(data transmission)하는 가장 대중적인 도구가 될 것이다.

XSLT – 데이터를 가공하는 도구 (A Tool for Transforming Data)

XSLT = Extensible Stylesheet Language Transformations

XSLT는 XML을 가공하기 위한 언어이다.

미래의 웹사이트는 여러가지의 포맷, 여러 브라우저, 여러 웹 서버로 데이터를 전송해야 한다. XML 데이터를 여러 포맷으로 가공하기 위해서는 XSLT가 필요하며, XSLT는 W3C의 새로운 표준이다.

XSLT는 XML 파일을 브라우저가 인식할 수 있는 형식으로 가공한다. HTML과 WML(휴대용 기기에 사용되어지는 Markup Language) 이 그 형식이다.

XSLT는 또한 elements를 추가, 삭제, 재정렬 하거나 분류할 수 있다.

Client-Side Scripting

Client-side scripting 는 인터넷 브라우저에서 인식되어지는 프로그래밍이다. 보다 dynamic한 웹사이트를 위해서, JavaScript를 배워야 한다.

  • JavaScript는 HTML 디자이너에게 프로그래밍 툴을 제공한다. – HTML 작성자는 보통 프로그래머는 아니다, 그러나 JavaScript는 굉장히 간단한 구문을 가진 scripting 언어이다. 거의 아무나 아주 작은 코드(sinppets) 를 HTML 페이지에 삽입할 수 있다.
  • JavaScript는 dynamic text를 HTML 페이지에 삽입할 수 있다. – JavaScript 구문의 예를 들면, document.write(“<h1>”+name+”</h1>”) 같은 구문은 변화되는 텍스트를 HTML 페이지에 삽입할 수 있다.
  • JavaScript는 이벤트에 반응한다. – JavaScript는 뭔가가 일어날 때 실행되게끔 설정할 수 있다. 예를 들면, 페이지가 로딩을 끝냈을 때, 혹은 유저가 HTML 요소(elements)를 클릭했을 때와 같은 경우처럼.
  • JavaScript 는 HTML 요소(elements)를 읽고 쓸 수 있다. – JavaScript는 HTML 요소를 읽고 쓸 수 있다.
  • JavaScript는 데이터를 검증하기 위해 사용될 수 있다. – JavaScript는 form data가 서버에 전송되기 전에 를 검증하기 위해 사용되어 질 수 있다. 그리고, 미리 검증하는 것은 서버에 부하를 주지 않는다.

Server-Side Scripting

Server-side scripting 은 인터넷 서버에 필요한 프로그래밍이다. 더욱더 dynamic한 웹사이트를 위해서라면 반드시 배워야 한다. server-side scripting 으로 다음과 같은 것들을 할 수 있다.

  • Dynamic하게 웹 페이지에 내용을 수정, 변경, 추가할 수 있다.
  • 유저의 query나 HTML forms을 통해서 전송된 데이터에 응답을 한다.
  • 데이터나 데이터베이스에 접근해서 그 결과를 브라우저에 알려준다.
  • 파일이나 xml 데이터에 접근해서 그 결과를 브라우저에 알려준다.
  • xml 데이터를 HTML 데이터로 가공해서 그 결과를 브라우저에 알려준다.
  • 개개인의 사용자를 위한 유용한 맞춤형 웹페이지를 만들 수 있다.
  • 각각의 페이지에 보안, 접근 제어 등을 설정할 수 있다.
  • 당신의 결과물을 여러 형태의 브라우저에 맞춤형으로 보낼 수 있다.
  • 네트워크 트래픽을 최소화 할 수 있다.

ASP(Active Server Pages)나 PHP(Hypertext PreProcessor)를 권장한다.

SQL로 데이터 관리하기

SQL=Structured Query Language

SQL은 SQL Server, Oracle, Sybase, Access 등과 같은 데이터베이스에 접속하기 위한 표준이다.

SQL을 안다는 건 데이터베이스에서 데이터를 저장하고 추출하는 것이다.

미래에는 어떻게 될 것인가(What will the Future Bring?)

중요한 점은 웹사이트의 기능이 굉장히 빠르게 변화되고 있다는 것이며, static content에서 dynamic content로 변하고 있다는 점이다.

우리는 또한 많은 새로운 브라우저(모바일 기기에서 쓰이거나)를 보게 될 것이며, 더욱 많은 XML의 사용(서버와 서버 사이의 정보교환, 서버와 브라우저 사이의 정보 교환)을 보게 될 것이다.