시작하며

오랬동안 PC의 프로그램에서만 존재해 왔던 3D가 최근 출시되고 있는 고성능의 GPU가 탑제된 스마트폰에 힘입어 이젠 모바일 화면에서도 3D를 볼 수 있게 되었습니다.

일반적으로 3D는 주로 게임이나 고급 UI에서만 사용되었습니다. 특히 UI에서의 3D는 WPF나 실버라이트에서 컴포넌트에 3D효과를 주기 전까지는 효과적이지 않은 방법이라고 여겨져 왔습니다. 모든 컨트롤을 3D화 하는것은 어려운 일이기 때문입니다.

2009년 3월, CSS 3D Transform 모델 초안이 발표되었습니다. 여기서 개발자들에게 보다 더 흥미로운 웹 제작을 만들기 위해 DOM 요소들에 3D 원근법(perspective transformations)을 허용하였습니다. 

CSS 를 통한 3D Transform의 초안 작업은 CSS 2D Transform 모델에서 이론적으로만 소개된 원근(perspective) , 회전(rotate) , 그리고 3DTransform의 변형 같은 특이한 속성들의 확장입니다. 예전에는 그렇게 쉽게 3D 로 인터페이스를 만들 수 없었지만, CSS 3D 초안 작업에서는 3D로의 진입 장벽을 낮춰왔습니다. 이로써 더 이상 3D 요소들을 만드는 데에 머리 터지는 수학적인 연산을 사용하지 않아도 되게 되었습니다.

주목할 부분은 CSS 3D 는 "개발자"들을 위해 만들어졌습니다. 이 말은 웹 어플리케이션에 초점을 두고 3D 시각효과를 도입하는데 도움을 주기 위해 만들어졌다는 것입니다. 즉 게임같은 전반적인 3D 세상을 위해서 만들어 진 것은 아니라는 것입니다.

브라우저 호환 및 하드웨어 가속

2010년 9월, 사파리와 크롬은 CSS 3D 를 지원하기 시작했습니다. 하지만 이는 단지 지원일 뿐, 3D 랜더링이 가능하다는 것을 의미하지는 않습니다. DOM 요소에 기초한 3D는 매우 많은 연산이 필요하므로 브라우저 제공 업체들은 브라우저가 느려지게 하자니 GPU의 가속을 받는 편이 좋겠다는 결정을 내렸습니다. 참고로 GPU는 아직 모든 플렛폼에 적용되지 않았습니다.

3D 기능 감지

웹 페이지에서 3D 지원이 가능한지를 바로 먼저 확인하지 않는 편이 좋습니다. 개발자들은 modernizr같은 툴을 통해 브라우저의 특징과 능력을 감지하는데 사용합니다만 3D 지원을 감지하는 동안엔 하드웨어 가속을 검출할 수 없으며, 사실 하드웨어 가속 검출이 우리에게는 가장 중요한 키 포인트입니다.

간단한 예제

일단 다른 설명은 제쳐두고 예제를 통해 CSS 3D를 배워보겠습니다. 아래의 <div>와 <iframe>에 회전을 적용해 보도록 하죠.

상위 DOM요소인 <div>에 우선 Perspective 를 정의합니다. 

<div style="-webkit-perspective: 800; perspective: 800; margin: 100px 0 0 50px">

Perspective 는 어느 정도의 깊이로 3D를 랜더링 할것인지 정의하기 떄문에 상당히 중요합니다. 그 속성값은 한 1-1000 가 가장 괜찮은 효과를 보여주니 1000 보다 적은게 좋겠습니다.

그리고 div 테그 아래 iframe 을 추가하고 Y와 Z축으로 30도의 회전을 줍니다.

<iframe src="http://www.html5rocks.com/" style="-webkit-transform: rotate3d(0, 1, 1, 30deg)"></iframe>

짠! 이렇게 나왔습니다. 웹페이지 내의 화면과 스크롤바 등 기타 모든 요소가 잘 작동합니다. 하지만 만약 여러분의 브라우저가 3D 를 지원하지 않는다면 위의 iframe은 아무런 변화도 없을 것입니다. 또한 3D를 지원하지만 하드웨어 가속을 받지 못한다면 좀 이상하게 보일 수도 있습니다.

애니메이션

CSS3의 3D 를 사용함으로써 제가 느끼는 가장 좋은 장점은 CSS로 여러 변환 효과를 사용함으로써 애니메이션이 가능하고, 이를 통해 웹 페이지가 예쁘게 보인다는 것입니다. 이러한 애니메이션과 변환은 CSS로 쉽게 정의할 수 있습니다. 3D 적용도 마찬가지이지요.

3D효과에서 애니메이션 기능을 주는 것 또한 쉽습니다. 그냥 단순히 transition을 스타일에 정의하고 transform 효과를 통해 시간 간격을 주고 애니메이션 함수를 적용해주면 됩니다. 그러면 "transform" 효과로 애니메이션이 동작하게 됩니다.

이전 예제를 인라인 스타일로 다시 만들어보겠습니다. 새롭게 만들고 또한 :hover 셀렉터의 특징을 취해보겠습니다. :hover 를 사용하면 변형 효과는 마우스가 엘리먼트에 올라갔을 시작하게 됩니다. 꽤 괜찮은 방법이죠!

정리하며

위에 제가 설명한 내용은 꽤 간단하면서도 강력한 DOM 요소에 작용하는 효과들입니다. CSS 3D 변형을 사용해서 말이죠. 그리고, 앞으로도 제가 설명드릴 더 많은 효과들이 남아있다는 것을 기억해주세요!


원문 : 3D and CSS
번역 : matthew.chang@me.com

 

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 메튜장
 TAG 3d, CSS3, css33d, css3d, HTML5

트랙백 주소 http://izect.kr/trackback/684 관련글 쓰기

댓글을 달아 주세요


웹 브라우저가 점차 지원하는 것들이 많아지면서 많은 개발자와 디자이너들이 강력한 웹 어플리케이션을 만들기 위해 HTML5를 시작하고 있습니다. 새로운 인터넷을 향한 혁명은 HTML5를 통해 진행되고 있습니다. 여기서 저는 15개의 꽤나 유용한 HTML5개발에 도움을 주는 개발 가이드와 입문가이드를 추천해 드리고자 합니다.

  • Development Guides

HTML5로 아이폰 앱 만들기(소스 및 코딩가이드, 사용된 HTML5기술 등 제공)


HTML5와 CSS3로 되어 있는 단일 페이지의 "포트폴리오"를 위한 예제 소스(소스코드 제공)

15-handbooks-2.png

HTML5로 되어 있는 Cool iPhone App의 디자인 소스 & 소스코드(디자인소스, 소스코드 제공)

15-handbooks-3.png

HTML5 레이아웃으로 코딩하기(표준화된 HTML5 소스코드 제공)

15-handbooks-4.png

당신이 곧 사용하게 될 기술들(HTML5 와 CSS3 예제 소스 제공)

15-handbooks-5.png

HTML5 폼을 사용한 필드를 가져보세요.(html5 form 관련 예제 제공)

15-handbooks-6.png

HTML5로 블로그 디자인하기(html5 테그, 폼 강의 제공)

15-handbooks-7.png

미래의 터치 기술 : HTML5와 CSS3를 사용한 우아한 웹 사이트 만들기

15-handbooks-8.png

HTML5 테그들의 구조

15-handbooks-9.png

단일 페이지로 구성된 HTML5&CSS3의 웹사이트 템플릿

15-handbooks-10.png

IE6를 포함하여 어떻게 모든 브라우저에서 HTML5를 정확하게 렌더링 하나요?

15-handbooks-11.png

  • HTML5 Cheat Sheets

HTML5 치트 코드

15-handbooks-12.png

HTML5 비주얼 치트 코드

15-handbooks-13.png

HTML5 캔버스 치트 코드

15-handbooks-14.png

HTML5 포켓 북

15-handbooks-15.png


원문 : Learn HTML5? 15 Useful Guides and Cheat Sheets You Can’t Miss

번역 : matthew.chang@me.com


크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 메튜장
 TAG CSS3, HTML5, Web Form

트랙백 주소 http://izect.kr/trackback/678 관련글 쓰기

댓글을 달아 주세요


여러모로 바쁘게 흘러가는 하루 하루인 것 같다. 생각을 정리할 시간도 드물고, 여유라는 것을 구경해 본 지도 오래된 것 같다. 얼마나 시간이 바쁘게 흘러가는지, 1100일 부터 시작한 병역특례도 이제 120일 남짓 남게 되었고, 그간의 거의 1000일 가까운 시간동안 나는 여러가지 사회 활동을 통해 수 없이 많은 것들을 남모르게, 아니 심지어 나 자신도 모르게 배워 오고 앞으로의 나는 어떤 방향으로 흘러나가야 할 지 미래에 대한 로드맵을 정확히 확립할 수 있었다.

일단 웹을 지향하는 프로그래밍, 기획, 디자인을 모두 하고 싶어하는 개발자로써(물론 프로그래머 적인 성향이 가장 크지만) 기술적인 입장에서 웹 쪽은 물론 단순히 php asp jsp 등의 view단의 언어가 있겠지만, 보다 더 실무에서 요하는 것들은 Enterprise 했다. CMS, Groupware, Portal 등의 서비스를 만들기 위해서는 통합적인 개념의 모델이 필요했고, 그런 모델의 의미에서 웹 기술은 두 개의 코어적인 기술로 나뉘었다. 자바와 닷넷이이다.(2009/11/16 - [IZECT DEV LAB/웹 프로그래밍] - 자바는 돈되고, 닷넷은 돈 안된다?)

2008년까지 2년여간을 기초적인 프로그래밍 언어에 중점을 두고 공부했던 나는 2009년에 본격적으로 웹 개발의 길에 뛰어들었다. 운 좋게도 이 두 기술을 모두 대규모 시스템에서 유지보수 할 일이 생겼다. 대다수의 중소 기업의 Maintence 부서가 그렇듯, 나 역시도 모 소기업의 개발 및 유지보수를 모두 전담하였고 혼자서 유지보수 하는 서비스가 약 5개 정도 되었다. 지금까지 수 많은 사이트를 유지보수 및 개발하면서 느꼈는데, 대규모 시스템의 경우는 자바 아니면 닷넷이고 보다 더 웹쪽으로 코어적인 부분이 아닌 일반적인 View를 지향하는 서비스의 경우는 jsp php 정도이다. 게다가 asp같은 언어로 된 사이트도 많은 것이 2000년도 쯤 IT붐이 일어났을 때 개발된 서비스들(특히 사내에서 사용하는 사이트들) 태반이 asp인 것 같다. 아마도 asp로 개발해야 서버도 사고, 윈도우도 사고 해서 원가가 올라가서 매출증대에 도움이 된다고 생각한 것 같다. (당시에는 java의 middle ware 도 많이 없었을 테니..) 

말하다 보니 이야기가 많이 새어버렸다. 여튼 자바(Spring기반) 와 닷넷(.net 2.0) 을 사용하는 사이트를 동시에 유지보수 하다 보니 보다 더 많은 오픈 소스를 응용하여 강력한 자동화 기능을 구현할 수 있는 자바의 기능에 나는 엄청나게 매혹되었다. 그리고 2009년 말에 나는 자바로써의 길을 간다고 마음먹을 수 있었다.(2009/11/09 - [IZECT DEV LAB/웹 프로그래밍] - 자바 웹 프로그래밍 책 도착 +_+) 이는 앞으로도 내 인생의 가장 큰 선택이 아닐까 싶다. 자바의 길을 택함으로써 수 많은 오픈소스들을 접하고, 이해하면서 정말 나의 개발자로써의 삶은 얼마나 편해졌는지 모른다. 자만하는 것은 아니지만, 수 개월동안 수 명이서 개발해야 할 대규모 시스템에 대한 모듈을 이젠 내가 사용했던 오픈소스들을 취합해서 혼자서 만들 수 있을 정도의 실력을 쌓았다. (물론 실존하는 오픈소스는 너무나도 많아서 내가 다 할 수 있다고 장담은 못한다.)

어느정도 배웠다 싶은 내게 다시 학생으로 돌아가야 하는 그런 시간이 찾아오고, 나는 웹 개발자로써 내가 웹 세상에 어떤것을 기여할 수 있을까? 라는 생각을 하게 되었다. 사실 프로그래머보다 디자이너를 꿈꿔왔던 나이다. 95년부터 html, java/vb script, dhtml 을 만져왔으니 벌써 16년째 웹 개발에 참여하고 있다. 물론 학생 신분으로 한계도 많았지만 웹을 디자인 할 때, 프로그래밍 할 때, 그리고 사이트를 기획할 때, 무엇보다 백지에 사이트를 그려나갈 때 난 솔직히 희열을 느낀다. 정말 그 시간만큼은 내가 그 일에 미쳐버리는 것 같다. 사이트를 예쁘게 꾸미는 것부터 해서 사이트를 방문하는 사람들에게 어떤 정보를 주고 편의를 주며, 또한 나의 의도대로 유도할 수 있는지에 대해서 말이다.

그래서 나는 웹을 개발함에 있어서 딱히 플밍,디자인,기획,DB,코더 등 세분화 된 개발직군이 아닌 웹 개발을 하는 사람들은 이 모든 것을 두루 가지고 있는다면 보다 더 빠르고 직관적인 개발이 가능할 것이라고 생각하였다. 이런 빠른 협업에서 만들어지는 웹 개발이 가능하다면 같은 시각에서 웹을 사용하는 사용자의 입장을 심도있게 바라볼 수 있게 되어 결론적으로는 웹 세상의 편의적인 발전에 힘을 보탤 것이라는 생각을 하였다.

이런 생각을 정리해가는 와중에 작년 말쯤 html5를 만났다. (2011/05/25 - [분류 전체보기] - HTML5에 미래를 걸다.) html5는 쉬운 코딩과 강화된 자바스크립트 api, 그리고 디자인적 입장에서 그간 수 없이 많이 사용되어 왔던 css의 기능을 강화시킨 css3 등을 통해 표준화 되면서도 진보된 웹 개발을 가능하게 하는 일종의 웹 기능의 표준 프레임워크이다. 또한 무엇보다도 지금같은 스마트폰 시대에 모바일 프레임워크에 집중하여 모바일까지 두루 표준으로 사용할 수 있도록 한 점이 너무나도 마음에 들었다. 

그래서 나는 html5와 모바일 프레임워크에 대해 공부하다가 인터넷에서 찾은 정보를 취합할 목적으로 페이스북 커뮤니티인 html5 korea를 만들었다 이어 "html5 한국 사용자 모임" 으로 명칭을 바꾸었다. 단순히 html5자료를 취합할 목적으로 만든 이 커뮤니티가 본 블로그의 위젯으로 추가해 놓아서 그런지는 몰라도 오픈한지 4개월 만에 200명 이상의 "좋아요" 를 받으면서 정말 큰 관심을 받고 있다.

 

커뮤니티 페이지를 만들면서 동시에 커뮤니티의 홈페이지인 html5korea.co.kr 도메인을 등록, Xpress Engine을 얹혀서 사이트를 만들었다. 사실 처음에는 oreilly 사의 HTML5 Mobile Web Development 라는 인강을 들으면서 내 나름대로 번역하여 놓을 만한 공간이 필요하여 만들어 두었는데, 욕심일까. 이참에 html5와 관계된 외국의 양질의 문서들을 번역하고 이를 토대로 국내의 커뮤니티를 만들어서 운영할 생각으로 나름대로 로고도 만들고 메뉴구상도 하였다.

그러다 보니 html5 에서 내가 기대하고 있는 "모바일 웹" "CSS3" 등의 카테고리를 담고 html5 뿐만 아니라 웹 프로그래머/디자이너/기획자 의 생각을 함께 나누고 접할 수 있는 웹 개발의 전반적인 커뮤니티로 나아가도록 생각하고 있다. 정말 솔직히 의도는 좋은데 아직까지도 어떤 식으로 사이트의 레이아웃을 구상하고 사용자들의 활동을 유도해야 할 지는 아직도 의문이다.

무엇보다 나는 이 커뮤니티에서 "불펌" 을 하지 않는다는 룰(rule)을 세웠다. 그러다 보니 자료가 많이 없다. 아직 대부분의 글이 내가 스스로 외국에서 찾고 번역한 글이다. "창작"은 아니지만, 적어도 불펌은 아니고, 원작자를 표기하고 나 나름대로 "번역"이라는 수고를 가했다. "불펌"이 없는다는 것은 그 만큼 컨텐츠 생산을 위해 노력을 해야 한다는 것이고, 결론적으로는 양질의 컨텐츠 생산에 필수적인 요소라고 생각한다. 

하지만 아무리 이렇게 거창한 계획을 세운다 해도 나 또한 실생활에서 사회적 활동에 참여하고 있는 사람으로써 한계가 분명 존재하기 마련이다. 실제로 일이 바쁠 때에는 사이트가 몇주 씩 운영이 안되고 새로운 글 또한 올라오지 못한다. 가입자는 100명이 넘었는데, 아직도 활발한 커뮤니티 운영이 되지 않고 있다.

무엇때문일까? 일단 사이트의 메뉴 자체가 너무 많다. 욕심을 너무 부려서일까, 아직 어떠한 글도 올라오지 않은 게시판이 많다. 나 자신도 html5 관련 사이트들과 awwward같은 디자인 갤러리 등의 RSS를 구독하면서도 몇일 씩 읽지를 못해서 쌓이곤 한다. 하지만 사이트가 유지되기 위해서는 정보가 필요하고, 정보를 양산하기 위해서는 다량의 정보를 접하고, 이를 번역하는 능력과 기술적으로 해독할 수 있는 능력이 필요하다.

그래서일까, 7월부터는 영어의 중요성을 깊히 인식하고 작게나마 TOEIC을 시작하였다. 물론 이러한 문제풀이 방식의 시험이 얼마나 큰 도움이 되는지에 대해 주변에서 우려를 표하고 있지만 생각보다 나의 영어에 대한 기본기를 잡아주는 데에 큰 도움이 되고 있다. 다만 시험 공부때문에 시간을 더욱 더 할애하지 못하여 더욱이나 사이트가 더 운영이 안되고 있다 생각되지만, 그래도 전보다 더 매끄러운 번역을 맛보게 되니 좋은 것 같다.

여튼 올해 내로 내게 주어진 숙제는 보다 효율적인 컨텐츠 양상과 사이트의 구조적인 정리, 그리고 사용자 접근성이다. 여기서 접근성은 "웹표준" 같은 접근성이 아닌 UX적 측면에서의 커뮤니티 이용자들의 편의를 말한다. 굳이 회원 가입을 통한 사이트 운영이 아닌 facebook connect 등의 소셜 로그인 제공, 그리고 메타 데이터를 통한 타 reader에서의 컨텐츠 접근 등이 내게 남은 과제이다. 

회사에서는 점차 병특 말년으로 업무적으로도 점차 정리되어가고 있는 추세이다. 물론 이번주는 좀 빡쎈 일정을 보냈지만.. 앞으로 남은 시간을 잘 활용해서 내가 설계한 html5 sharing reader로써의 길을 잘 개척해 나갈 수 있도록 노력해야겠다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 메튜장

트랙백 주소 http://izect.kr/trackback/669 관련글 쓰기

댓글을 달아 주세요




스텍 오버플로어의 여러 글들을 보다가 괜찮은 글이 있어서 미흡하지만 번역해 봤습니다.

중학생이 웹 개발자의 길을 꿈꾸며, html5와 css3를 어떻게 공부해 나가야 하는지에 대해 올린 질문에

Manuel Strehl 이라는 독일 레겐스브로크에서 웹 개발자로 활동하는 분의 답글입니다.


개인적으로 이 글을 읽으면서, 확실히 뭔가 관심을 가지고 접근한다는 그런 방향성이 우리나라의 IT 주입식 교육과는 많이 다르다는 것을 느끼네요.

물론, 이 사이트를 방문하는 대부분의 분들이 웹을 정말 사랑하고 관심있어 해서 여기까지 온 것이 아닌가 싶지만 말입니다. ^^


특히 Manuel이 추천하는 사이트 중 몇몇 개는 꽤나 쓸만한 것 같습니다. 물론 죄다 영어이지만.. 그리고 솔직히 말해 HTML5 의 로드맵이라기 보단 웹개발의 전반적인 부분에 대한 내용입니다.특히 개발자라고 디자이너의 영역을 무시하거나, 디자이너라고 개발자의 영역을 무시하는 것을 반대하는 그의 태도는 참으로 공감할 만 한 것 같습니다.


오역이 많은데, 양해하고 봐주시기 바랍니다.


원문 : http://stackoverflow.com/questions/4744906/would-you-recommend-starting-from-html5-css3-for-beginners

번역 : Mattew, Chang (http://izect.kr)


쉬운 것을 먼저 배워라

HTML5 공부를 시작하기 이전에, HTML4 는 HTML5 중의 하나이고, 또한 CSS2도 CSS3의 일부분 이라는 것을 알아야 합니다. 이에 제가 제안하는 HTML5 공부를 시작하는 법은 이전의 기술을 먼저 배우는 것입니다. 특히나 HTML4 는 HTML5와 CSS3의 새로운 면을 배우는 데 자극이 될 것입니다. 


HTML5 튜토리얼들의 문제점은 그것들은 따뜻한 봄날 아침의 데이지꽃이 생기는 것과도 같습니다. 무슨말이냐, 이러한 튜토리얼은 대부분 좋은 것만 가르칩니다. 그러나 초보자인 당신은 차별성을 갖기 위해 초심자를 위해 쓰여진 문서나 (X)HTML을 경험한 사람들의 더 실무적인 내용 등을 습득하는 등의 어려운 결심을 해야 합니다. 바로 HTML5 를 시작하는 것이 HTML4 의 튜토리얼보다 더 많은 혼란을 가져오는 것처럼 말입니다. 


'나의 경험'


공부를 하기 위해 다양한 사람들이 서로 다른 행동을 하겠지만, 저의 웹 개발 공부의 길을 요약하면 아래와 같습니다.


  • 물리학과 대학원생이던 시절, 웹 개발에 대한 어떠한 생각도 없었습니다. 그리고 전 생각했죠. "그래, 내 브라우저의 시작 페이지를 내 맘대로 설정하면 멋질 것 같아. " 그떄가 2004년이었고, iGoogle은 만들어지기 전이었습니다. 이처럼 여러분도 작은 프로젝트로 시작하고 작업해 보세요.


  • 운좋게도 저는 독일어를 할줄 알았고, 독일어로 된 괜찮은 HTML을 시작하는 자원(SelfHHTML)을 찾을 수 있었습니다. 하지만 이 사이트는 그 이후로  업데이트가 자주 되지 않습니다. 그리고 솔직히 이 사이트의 영문으로 된 자료의 퀄리티가 좋은지는 모르겠습니다. 이 사이트를 W3Schools 의 대용으로 사용하지 말기 바랍니다. 그러나, 아래와 같은 이유로 제가 특별히 어떤 튜토리얼의 어떤 부분이 좋은지 지적해 주기는 힘들 것 같습니다.


  • 제가 브라우저의 시작 페이지 제작을 끝내고, 저는 저의 RPG(Role Playing Game) 모임 홈페이지를 만들었습니다. 이 사이트는 몇몇의 HTML페이지로 구성되엇고, 이를 통해 저는 빠르게 CSS에 대해서 알 수 있었습니다. HTML페이지당 하나의 스타일 시트를 가지게 하엿는데, 이는 제가 처음으로 생각한 많은 파일들을 축적하기 위한 구조입니다. ('폴더 by 파일' 의 측면에서)


  • 이러한 부분에서 여러분은 배워야 할 많은 기술들을 알게 될 것입니다.

    • 저는 저희 모임의 사생활을 보호하기를 원했고, 이를 위해 HTTP 인증(Authentication) 을 배웠습니다.

    • 페이지마다 디렉토리를 만들고 그 안에 HTML 파일을 각각 두는 것은 URL과 절대 경로에 대해 빠르게 배울 수 있습니다.

    • RPG 모임의 FAQ섹션을 위해 저는 질문을 선택하면 미리 숨겨 놨던 답변이 나오도록 하였습니다. 이것이 저의 자바스크립트로써 입문이었습니다. 이 경험에서 얻은 것은 진짜(Real) 자바 스크립트 였습니다. 단순히 구글링 해서 jQuery 코드 따위를 카피하는 것이 아니였습니다.(jQuery 이전엔 그게 prototype이었죠.)


  • 다음으로 정적 HTML 파일을 서버로  옮겼습니다. 저는 PHP와 MySQL 이 매우 좋은 초보자를 위한 시작 코스라고 생각합니다.(제 소견으로는 php 는 간단히 서버측의 기술을 사용하기에 좋다 생각합니다.) 그리고 전 php가 가능한 작은 웹 공간을 확보했습니다. 가장 좋은 웹 서버에서의 'Hello World' 프로젝트는 저의 모임 웹사이트의 방명록 이었습니다.(물론 요즘은 Disqus 의 링크가 방명록보다 더 좋지만요.)


  • 그리고 튜토리얼들과 레퍼런스를 찾아봤습니다. 처음에는 가장 최초의 스팩 정의서인 PHP 메뉴얼과 HTML 4 명세서를 잠깐 보았습니다. 또한 W3C의 CSS 2 중 독립적으로 정의된 CSS의 속성들도 보았습니다. 그리고 늦게나마 이런 걸 느꼈습니다. "가능하면 스펙 명세서를 읽어라. 거기엔 아직 네가 이해하지 못한 부분이 있겠지만 그것보다 더 좋은 소스는 없다."


  • 이런 기술을 볼 때에도 웹에선 많은 신기술이 계속 나오고 요구되고 있었습니다. 그러나 가끔은 기초가 중요합니다.DOM, CGI, SVG, XML, XHTML과 HTML의 차이점, 정규식 표현, 파이썬, mod_rewrite, nginx, XSLT, PDF, RSS, RDF, Bash, SSH, Git, SVN, XSS, 유니코드, 웹폰트, Dublin Core, JSON, SQLite 등등.. 이 모든게 기초를 요하고 있습니다.


  • 결국 저정도의 단계까지 오게 된다면 여러분은 보다 더 전문적인 것을 요하게 될 것입니다. 허나 위험한 생각은 "나는 디자이너야. 불쾌한 코드따위는 건들지 않아." "B2B JSON이 JBoss 와 Hibernate에서는 최고라 생각해. 좋아. 나는 포토샵 따위는 필요없어."  그러나 제가 추측하건데, 아직도 가능한 많은 영역에서 순진하게 다가가는 것이 좋다 생각합니다.역자주:내가 왜 그런 디자인을 이해하는지, 프로그래밍적으로는 어떻게 돌아가는지 등등.. 이런 생각을 가지고서는 오래 가지 못합니다. 최소한 지금으로부터 5년 내로 우리는 면접관에게 'canvas 개발자' , '멀티미디어 마크업 전략가' , '크로스 플렛폼 UX 전문가' , '플래시 코드와 테이블에 기초한 HTML 이메일 템플릿 전문가' ,' 오프라인 캐시 보안 그룹' , '웹 스토리지 데이터베이스 엔지니어' 이런 생소한 용어들을 어필할 것입니다. 이보다 더 당신이 주된 관심을 가지고 최소한으로 이해해야할 것은 새로운 아이디어를 얼마나 유연하게 만들고 접근해 가는데 도움을 주느냐는 것입니다.( 더 중요한 것은 오래된 아이디어와 접근성을 새롭게 재 창출하는 문제일 껍니다.)

전 여러분을 기죽게 하기는 싫습니다. 제가 말하는 때에도 더 많은 HTML과 CSS의 배울거리가 생겨나고 있습니다. 그래도 이러한 제 경험과 생각은 더 멋지고 쿨한 개발자/디자이너가 되기 위한 조언입니다. 이를 잘 배우고 난다면, 당신의 프로젝트들이 분명 더 강력해 질 것입니다.



주목해야 할 사항

잘못된 자료를 가지고 공부하는 것은 잘못된 것입니다. 제가 제안컨데, 만약 모른게 생긱면 아마 여기(StackOverflow)에서 의견을 듣거나, chat.stackoverflow.com 에 물어보는게 더 나을 수 있습니다. 이 사이트에 질문할 때에는 기본적으로 소스를 함께 첨부하는게 좋습니다.


개인적으로는 드림위버같은 위지윅 에디터를 최대한 멀리 하셨으면 좋겠습니다. 아마 IDE나 이클립스 같은 추가기능이 있는 에디터를 사용할 것입니다. 저같은 경우는 GoLive에서 Notepad++ 로 바꿨고, 결국 Vim 에디터를 사용하게 되었습니다. 이는 취향의 문제이긴 하지만, IDE 소프트웨어가 우리도 모르게 뭔가를 숨기고 있거나 자동으로 생성하는 게 있다면 용량만 무거워지고, 우리가 예측하기 힘든 코드가 나올 껍니다.



추천하는 읽을거리들


다시한번 말하지만, 저는 여러분의 기를 죽이는 것이 아닙니다. 만약 여러분이 어떤 자료를 가지고 공부해야 하는지 헷갈린다면, 제가 몇개의 링크들을 제안해 드리겠습니다. 이 링크들은 종종 전문적인 레퍼런스로 많이 사용됩니다.


기본

  • W3.org - HTML과 CSS를 표준화 하는 기관

  • developer.mozilla.org - 파이어폭스 조직. 여기에는 좋은 HTML, CSS 그리고 cutting-edge 웹 개발 등의 튜토리얼이 있습니다. 그리고 개인적 소견으로는 자바스크립트 레퍼런스가 온라인에 현존하는 최고의 레퍼런스라고 생각합니다.

  • msdn.microsoft.com - 마이크로소프트 사의 HTML/CSS 문서입니다.

  • Safari Reference Library -매우 애플과 사파리에 초점을 맞춰진 곳입니다. 그러나 몇몇개는 꽤 읽을 만 합니다.

  • Opera Web Curriculum - 오페라의 웹 커리큘럼은 좋은 중요한 기술들의 요약입니다.

  • Validator - 당신의 코드가 에러가 없는지 유효성을 체크합니다. W3C에서 왔으며 몇몇의 중요한 웹 개발자의 툴을 제공합니다.

튜토리얼들

  • HTML5 Boilerplate - 이 프로젝트는 HTML5, jQuery에 기초한 웹 어플리케이션과 웹 사이트를 빠르게 개발하는 데 목적을 둔 프로젝트 입니다.  코드마다 모범 사례가 많이 있기 때문에 읽을 가치가 있습니다.  

  • A List Apart - 이 발행물은 웹 개발자와 사람들을 목적으로 하고 있습니다. HTML과 CSS를 활용한 많은 유용하고 중요한 방법과 사례가 이곳에 발행되어 있습니다.

  • Dive into HTML5 - 책이름과 가은 이 사이트는 특히나 HTML5에 중점을 두고 있어 아마 초보자들이 접하기에는 힘들 수도 있습니다. 하지만 이 사이트는 정확하고 잘 쓰여졌습니다.

  • CSS Zen Garden - "CSS기반의 디자인을 통해 시각적인 효과를 낼 수 있습니다." 이 사이트는 HTML4와 CSS2로 할 수 있는 놀라운 것들을 보여줍니다.

  • 24 Ways - 개발자들의 캘린더로, 잘 알려진 웹 개발자들의 흥미로운 글들을 모아서 보여줍니다.

개요

  • quirksmode.org - 브라우저와 호환성을 위한 사이트입니다 만약 여러분의 페이지가 IE, 파폭 오페라 등에서 차이점을 보고 싶다면 이곳을 방문해 보세요..

  • History of the WWW - 1995년부터 웹의 역사에 대해 W3C의 괜찮은 소개글을 보여줍니다. 

  • zvon.org - 만약 '레퍼런스'와 '튜토리얼'을 찾고 있다면 이곳을 들러보세요. 따라하기 쉽지는 않지만, 이곳의 자료는 꽤나 정확합니다.

  • Jacob Nielsen's Alertbox - 꽤 비판적인 시각에도 불구하고 이 제이콥 닐슨의 개인 페이지는 웹과 관련된 괜찮은 연구 결과를 모아서 보여줍니다. 

  • Periodic Table of HTML Elements - HTML5의 모든 요소에 대해 직관적이고 훌륭하게 보여주는 사이트 입니다.

  • CSSPlay - 많은 최신CSS의 트릭을 다루는 스튜 니콜의 공간입니다.

명세서들

  • w3.org/TR - W3C의 모든 규격의 명세서가 있습니다.(최신의 XML, HTML 그리고 CSS에 관련된 명세)

  • w3.org/TR/html4 - HTML4 의 모든 엘리먼트와 속성에 대해 설명해 놓은 공식 명세서 입니다.

  • 추가로 whatWG.org 은 W3C의 XHTML2에 반대하고 HTML5를 응호하는 다른 집단입니다. 이들의 맴버는 대부분 브라우저의 밴더들 입니다.

  • w3.org/TR/CSS2 - 공식 CSS 2.0 명세서 입니다.

  • RFC 1738 - URL이 어떻게 구성되어 있는지를 알려줍니다.

  • RFC 1945 - HTTP 1.0을 정의하는 인터넷을 통한 프로토콜의 전송을 설명해 줍니다. RFC 2616 는 HTTP 1.0의 후임격인 HTTP 1.1의 정의입니다.

  • ECMAScript Specification - ECMAScript 는 자바스크립트의 표주노하된 버전입니다. 솔직히 저는 이를 거의 본 적은 없습니다. 대부분 저는  the reference on mozilla.org 를 이용했지요.

  • Likewise for the DOM. 이러한 돔의 공식 사양은 W3C에 흩어져 정의되어 있지만 오래전에 네츠케이프와 인터넷 익스플로러는 DOM의 자신들의 버전을 구현했습니다.

  • php.net - PHP의 공식 홈페이지이며 공식 문서들이 있습니다.

  • Unicode Consortium - 만약 여러분이 아스키의 세계를 떠나 다국적 입력을 하게 된다면, 반드시 UTF-8과 유니코드를 잘 숙지해야 할 것입니다. 최대한 빨리 그들과 친구가 되세요.

기타등등

  • Smashing Magazine - 저는 종종 웹디자인과 프론트-엔드 개발에 대한 흥미로운 기사를 이곳에서 찾곤 합니다.

  • JSFiddle - 이 사이트는 HTML, CSS 그리고 자바스크립트를 혼합하여 즉시 보여줍니다. 간단한 코드 조각으로 테스트 하기에는 충분합니다.(예를 들어 스텍오버플로우닷컴의 몇몇 코드들 같이)

  • XAMPP - 윈도우나 맥의 환경에서 APM(Apache, Php, Mysql)을 간단히 설치할 수 있습니다.

  • Microformats.org - 이 사이트는 중상급 유저를 위한 사이트로, 마이크로 포멧은 HTML안에서 기계와 인간이 읽을 수 있는 데이터를 표현하려 합니다. 게다가 이러한 방법으로 어떻게 HTML 요소들과 속성들이 함께 사용되는지를 충분히 배울 수 있습니다.

  • CSS Resetr - CSS 리셋은 브라우저의 기본 속성들이 표현할 수 있는 스타일 시트 부분을 점선으로 보이게 합니다. 이를 통해 각각의 브라우저의 차이점을 알 수 있습니다.

  • FontSquirrel @font-face generator - 여기는 CSS 2.1의 @font-face 속성을 테스트 할 수 있는 좋은 공간입니다.  소스를 보면 좋은 영감을 얻을 수 있을 겁니다. 이와 비슷하게 Google WebFonts Directory 를 웹사이트에 응용할 수도 있습니다.

  • When can I use… - 이곳은 CSS3와 최신의 다른 속성들이 어떤 브라우저에서 얼마나 지원되는지를 차트로 보여줍니다.

  • FireBug - 만약 여러분이 파이어폭스 개발자라면, 이 애드온이 없이는 어디 웹서핑 할 생각 마십쇼. 저만 믿으세요.(그리고 대부분의 사람들이 그렇게 합니다.) (번역주: 전 파폭을 안써서 잘.. 모르겠지만 파이어버그가 짱인듯 합니다.) 

  • The Elements of Typographic Style Applied To The Web - 이 웹사이트는 "타이포그라피 스타일의 요소"에 대해 CSS와 웹 기술을 적용한 현명한 방법과 힌트를 제공합니다.(로버트 브링허스트가 가볍게 이를 읽으라고 제안했습니다.)

StackOverflow 닷컴의 괜찮은 Q&A 

책들

사실, 저는 HTML이나 CSS를 책을 통해 배운 적은 없습니다. 그래도 HTML4나 CSS2 는 새로운 기술에 꽤나 유연하게 대처해야 합니다. 저는 맹목적으로 오레일리 사에서 출판한 책을 추천하고 싶습니다. 꽤 많은 책들이 모두 잘 쓰여져있고 기술적으로도 정확합니다.

다른 몇명의 유저들이 추천하는 책들:

마지막으로 한마디

저는 항상 새로운 것을 배우고 발전시키며 제가 이미 배웠던 기술들을 더 깊게 발전시켜 나가려고 하였습니다. 만약 여러분이 HTML과 CSS 로 시작하고 이러한 기술을 배우기 원한다면 많은 문제점이 여러분에게 있을 것입니다. 그것이 무엇이든지 일단 소스코드는 볼 수 있습니다. 그리고 이를 배껴온다 하면 이제 보안에 대하여 깊히 고민해 봐야 할 것입니다.(이런 문제들 때문에 괜히 신용카드를 긁지 않기를 ;-))


하지만 계속 배우고, '소스 보기' 메뉴를 자주 활용하고, 계속 질문하세요(여기, 스텍오버플로어닷컴에, 그리고 많은 흥미있는 코멘트들이 달릴 것이며, 구글에 물어보면 흥미로운 포스팅을 볼 수 있을껍니다.) 여러분은 이러한 세상에서 사용자 경험과 정보를 만들어 가는 최고의 사람입니다. 웹 개발은 재밌습니다!

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 메튜장

트랙백 주소 http://izect.kr/trackback/644 관련글 쓰기

댓글을 달아 주세요

  1. 쵸류빈 2012/01/09 10:30  댓글주소  수정/삭제  댓글쓰기

    좋은 글 잘봤습니다. ^^



1. HTML5 브라우저별 호환 비교표
사용자 삽입 이미지

(출처:404techsupport.com)



위에서 보면 알겠지만 맥이든 윈도우든 사파리나 파이어폭스가 최고라고 조사되고 있다.
또한, 여러 큰 밴더들에서는 이미 HTML5와 관련된 샘플을 제공하고 있다.
아래는
윈도우 기준으로 다양하게 다시 조사한 항목들이다.


1) Internet Explorer 8
사용자 삽입 이미지


2) FireFox 3.5
사용자 삽입 이미지


3) Chrome
사용자 삽입 이미지


4) Opera Browser
사용자 삽입 이미지


5) Safari
사용자 삽입 이미지




2. HTML5 샘플 제공 사이트


1) Apple HTML5 showcase ( http://www.apple.com/html5 )
사용자 삽입 이미지

애플의 HTML5 쇼케이스 사이트(http://www.apple.com/html5)


애플에서 제공하는 HTML5 쇼케이스 사이트이다. 비디오, 타이포그라피, 갤러리, 변형(이미지 회전), 오디오, 360도 회전(이미지) VR(Virtual Reality) 등 7개의 수준높은 샘플과 소스코드를 제공한다.



사용자 삽입 이미지
애플 쇼케이스와 연결된 Safari Technology Demos(http://developer.apple.com/safaridemos/) 사이트에서는 7개 더 많은 14개의 데모와 소스코드를 제공한다. 허나, 사파리와 관련된 개발 정보 및 가이드 라인만 볼 수 있는데, 처음 HTML5를 접하고 가이드 라인을 구상하는 데는 큰 도움이 되지 않을까 싶다.
사용자 삽입 이미지

허나 애플 측은 자신들의 브라우저인 사파리를 권장한다. 왜? 뭐 당연히 자기들 브라우저를 마케팅 하려는 요소가 강하지 않겠는가.



사용자 삽입 이미지

Firefox로 접속한 애플 html5 테스트 사이트의 사파리 권장 메시지

나는 위의 경고팝업을 보고 사실 파이어폭스 3.6에서는 HTML5가 지원 안되는 줄만 알았다. 그런데 HTML5 demos 사이트를 가보니 지원 안하는게 아니었다. 다만, Apple측에서 자신들의 퀄리티 높은(?) 샘플을 파폭에서는 마치 지원 안하는 것처럼 보이려고 해 놓은 것만 같다.

2. HTML 5 Gallery(
http://html5gallery.com/)


사용자 삽입 이미지


약 500여개의 사이트가 링크된 이 HTML5 gallery에서는 주로 웹 사이트에 적용된 HTML5 기술을 볼 수 있다. 테그를 통해 주로 사용된 HTML5 테그를 볼 수 있는데, 블로그,뉴스,개인 포트폴리오,스포츠, 웹Apps 등 28개의 카테고리를 제공하고 이에 따라 유저들의 호응까지 알 수 있어서 HTML5를 벤치마킹 하는 데에 큰 도움을 주는 사이트가 아닌가 싶다.


블로그로 제작된 이 사이트는 자료는 많은데 사실 댓글 등을 보면 유저의 호응이 없어서 약간 신뢰가 떨어지는 단점이 있긴 하다. 하지만 최근 업데이트가 7/17 일자이니 나름대로 업데이트는 잘 하는 편이 아닌가 싶다.


3. HTML5 Demos and Examples(http://html5demos.com/)
사용자 삽입 이미지

HTML5 샘플과 브라우저 호환 목록을 제공하는 HTML 5 demos(http://html5demos.com)



위 사이트는 HTML5의 몇몇 핵심 기능들에 대한 22개의 데모들과 소스코드를 제공하고, 이에 쓰인 기술과 호환되는 브라우저를 보여준다. 딱 봐도 IE는 정말 GG쳐야 하지 않나 싶다.


3. Microsoft Internet Explorer 9 Test Driver(http://ie.microsoft.com/testdrive)



사용자 삽입 이미지
약 40개의 HTML5 샘플을 제공하는 Internet Explorer 9 Test Drive 사이트이다. 본래는 IE9의 Preview를 위한 사이트로 개발되었으나, 사실 크롬같은 HTML5 호환 사이트에서는 샘플을 제공하고 있다. 굳이 IE9 Preview를 깔지 않아도 된다는 사실! 샘플 분량은 많지만 퀄리티는 그닥 기대할 것이 아니다. 당장 가장 앞에 있는 Amazon Shelf 라는 샘플만 봐도 알겠지만 말이다.





----------------------------------------------------------


몇 가지 HTML5 기술을 볼 수 있는 사이트들과 브라우저의 호환을 살펴봤는데, 사실 외국 사이트들을 찾으면 HTML5 기술을 사용한 사이트들은 엄청나게 많긴 하다. 하지만 국내에는 거의 없다 시피 한 것이 사실이지만 말이다.


그래서 ! 아이지가 나름대로 HTML5를 연구해서 샘플 사이트를 만드려고 생각하고 있는데, 글쎄 ㅎㅎ 일단은 시간을 하루 빨리 만들어 봐야 되지 않나 싶다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 메튜장
 TAG CSS3, HTML5

트랙백 주소 http://izect.kr/trackback/573 관련글 쓰기

댓글을 달아 주세요

  1. 오타 2010/08/24 22:10  댓글주소  수정/삭제  댓글쓰기

    2) Fore Fox 라고 써져있네요
    Fire 로 수정부탁 ~ ㅎㅎ

이전버튼 1 이전버튼



블로그 이미지
html5,모바일웹,웹앱,자기브랜드,시간관리 등을 다룹니다.
메튜장

Yesterday198
Today89
Total478,684

달력

 « |  » 2012.02
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29