IT's Fun2015.12.21 08:34

인터넷은 진화하고 있습니다. 그 중에서도 가장 널리 사용되고 있는 웹(WWW, World Wide Web) 기술은 느리지만 지속적인 변화를 해오고 있습니다. 한동안 큰 변화가 없었던 웹과 관련된 기술들은 근래의 HTML5 나 CSS3 와 같은 표현 계층에서의 큰 변화가 이루어졌고 프로토콜 자체에 대해서는 HTTP/2 라는 새로운 버전이 등장하면서 기반 기술 역시큰 변화가 진행되고 있습니다. 이런 확정된 커다란 변화들 이외에도 IETF (Internet Enginnering Task Force) 에서는 지속적으로 표준에 포함되어야 할 기술들을 검토하고 정의하고 있는데요, 오늘 소개해 드리는 새로운 에러코드(HTTP Error Status Code)도 그들 중 하나입니다.


IETF 의 문서들의 변화를 지속적으로 확인하고 점검하는 것이 쉬운 일은 아닙니다만 이런 정보를 보다 쉽게 추적할 수 있도록 제공되고 있는 데이터트레커(Datatracker) 웹 사이트를 이용하면 보다 쉽게 변화를 관찰할 수 있습니다. 데이터트레커에 지난주 17일 날짜로 등록된 새로운 정보에 따르면 HTTP 의 클라이언트 단에서의 에러를 나타내는 4xx 대역의 에러 코드에 451 Unavailable For Legal Reasons 라는 에러코드가 인터넷 드레프트에 제안되었습니다





인터넷 상에서 4xx 대역의 에러중 가장 유명한 것은 아마도 404 Not Found 일 것입니다. 웹 사이트에서 제공되고 있지 않은 리소스에 대하여 자료를 요청한 경우 해당 자료가 존재하지 않는다는 의미로 이 에러를 회신 받게 됩니다. 그 다음으로 자주 만나는 에러코드는 403 Forbidden 일텐데요, 이 에러코드는 리소스에 대하여 열람할 권한이 없어나 제한되었을 경우 만나는 에러입니다. 그동안 많은 기업이나 서비스들에서 리소스에 대한 접근 제한에 대하여 포괄적으로 403을 이용해 왔는데요 이들 중에는 단순히 권한 문제가 아닌 정부나 수사기관 등에 의하여 제공을 중단할 것을 명령받은 리소스에 대한 요청 역시 포함됩니다.





흔히 인터넷 검열(Internet Censorship)이라고 알려진 활동들이 많은 국가, 수사기관에서 진행되고 있습니다. 검열의 대상 중에는 성인물, 포르노물과 같은 사회적인 공감대가 있는 컨텐츠도 있지만 국가가 추구하는 방향, 정치적인 노선과 맞지 않는다는 이유로 차단되는 컨텐츠들도 많습니다. 이런 경우 정보를 제공하는 사업자나 ISP 에서는 요청에 의해 컨텐츠를 차단하게 되고 -일부 국가는 정부에 의해서 차단됩니다만...- 보통 리소스를 삭제하거나 (404) 임의적으로 차단 (403) 하는것이 대부분이었습니다.





새로운 에러코드 451 은 403 에러의 연장선상에서 준비되는 에러코드로 법적인 이유로 인해 컨텐츠, 리소스에 대한 접근이 차단되었다는 의미로 활용되게 됩니다. 이미 관련 업계에서는 451 에러코드를 사용하는 경우가 더러 있는 것으로 알려져 있고 위키피디아에도 이미 451 에러코드에 대한 정보가 등재되어 있습니다. 4xx 대의 에러코드가 초반대에 대부분 몰려 있는데 갑작스레 451 번으로 뛰어오른 이유는 위키피디아에 설명된 것처럼 책이 더이상 허용되지 않은 시대를 그린 "화씨 451 (Fahrenheit 451)" 이라는 소설에서 비롯된 것으로 알려져 있습니다.


인터넷 표준의 변화를 보고 있으면 시대의 흐름을 반영하는 요소들이 종종 발견됩니다. 어떤 사실의 좋고 나쁨을 떠나서 그러한 변화를 기술에 표현되는 과정만 본다면 기술과 현실이 동떨어지지많은 않았다는 생각이 듭니다. 새로운 에러코드로 제정중인 451 Unavailable For Legal Reasons 를 가능한 만나지 않을 수 있는 세상과 인터넷 세계를 바래봅니다!


IETF Datatracker 에서 451 에러코드에 대한 문서 자세히 살펴보기 [바로가기]

위키피디아에 등재된 451 에러코드에 대한 내용 살펴보기 [바로가기]



저작자 표시 비영리
신고
Posted by 노피디
Daily NoPD/rEvieW2013.08.04 12:34
HTML5 에 대한 이야기가 나온지 참 오래된 것 같습니다. HTML5 라는 이름으로 표준을 확정지으려던 초기의 방침은 현재는 일부 변경되어 지속적으로 개선, 발전되는 HTML5 로 방향을 잡고 새로운 구현들이 이어지고 있습니다. 더 이상 HTML5 가 표준이 확정되지 않았으니 기다려야 한다는 이야기는 설득력을 갖지 못하는 상황이 된 것이지요.

그렇다면 HTML5 를 어떻게 배우는 것이 좋을까요? 그동안 시중에 나온 많은 책들이 HTML5 와 기존 HTML 4.x 의 차이를 분석하고 CSS3 와의 내용이 밍글되거나 스펙(Specification)을 중심으로 요소들을 나열하다 보니 HTML5 를 처음 접하는 독자 입장에서는 새로운 것을 배우고 공부하기 부담스러웠던 것이 사실입니다.



[ 처음 시작하는 사람을 위한 친절한 구성 ]

오늘 소개해 드리는 "HTML5 웹 프로그래밍 입문" (한빛아카데미/윤인성, 2013) 은 그런 관점에서 초보자들을 위해 추천해 드리고 싶은 책입니다. 책은 HTML 의 기본적인 내용을 집으면서 HTML5 중심으로 페이지를 구성하고 만들어가는 방법을 단계별로 설명해 주고 있습니다. 저자 특유의 대화형(?) 문체는 읽는 사람이 부담 없이 저자와 이야기 하듯 HTML5 와 CSS3, 그리고 JavaScript 를 이용하여 멋진 웹 페이지 제작을 할 수 있도록 도와줍니다.

스펙을 중심으로 풀어낸 기존 HTML5 책들은 너무 많은 스펙과 스펙의 다양한 옵션 등에 독자를 질리게 했습니다. 윤인성 저자는 이 책에서 그런 부분을 과감하게 생략(?)하면서 필요할 때 스펙을 찾아서 확인하는 방식으로 학습을 진행할 것을 권장하고 있습니다. 글 서두에 이야기 한 것처럼 HTML5 가 제공하는 다양한 기능들은 지금 이 순간에도 지속적으로 바뀌고 추가되고 있습니다. 즉, 지금 시점에 스펙을 암기하고 외우는 것은 의미도 없을 뿐더러 외운 것이 자칫 바뀔 수도 있기 때문에 불필요한 일이 될 수도 있습니다.

[ 친절한 저자의 강조, "중요한 것은 꼭 외워둡시다" ]

그럼에도 불구하고 저자는 책의 주요한 부분에선 꼭 암기할 것을 강요(?)하고 있습니다. 스펙에 대한 것이나 다양한 옵션은 굳이 외울 필요가 없으니 과감히 생략하면서도 특정한 단락에서 암기할 것을 강요하는 이유는 무엇일까요? 사람의 기억력은 한계가 있고 세상의 모든 것을 다 기억할 수는 없습니다. 그래서 꼭 기억 해야만 하는 것을 골라낼 필요가 있습니다.

방대한 HTML5 와 CSS3 의 다양한 이야기들 중에서 꼭 기억해야 하는 것들은 사실 경험이 많이 쌓이면 자연스럽게 익힐 수 있는 부분입니다. 그렇지만 처음 입문하는 사람들이나 제대로 기초를 잡지 못한채로 업무에 치이는 사람들에게는 경험치가 존재하기 힘듭니다. 친절하게도 저자는 꼭 기억해야 하는 부분들을 두 번, 세 번 강조해서 이야기 해주고 있습니다. 책의 241 페이지 하단에 나온 내용이 대표적인 예입니다.

(241p 상단 인용)

One True 레이아웃의 핵심은 각각의 행을 독립적으로 구성한다는 것입니다. 이를 구현하기 위해 다음과 같은 규칙을 적용하여 스타일 시트를 작성합니다.

1. 자손에 float 속성을 적용한다.
2. 부모의 overflow 속성에 hidden을 적용한다

width 속성과 height 속성을 지정하지 않고 overflow 속성에 hidden을 적용하면 부유하는 영역을 감쌉니다. 만약 [코드 7-]에서 overflow 속성을 지정하지 않으면 [그림 7-6]처럼 float 속성을 적용한 자손이 있는 행을 다른 행이 침범합니다. 두 가지 공식을 기억하고 있으면 어떠한 레이아웃이든 개발할 수 있습니다. 정말 중요한 내용이므로 기억하기 바랍니다.


[ 이 책 한권만 있으면 되는걸까? ]

" HTML5 웹 프로그래밍 입문 " 책은 초보자들이 쉽게 HTML5, CSS3, JavaScript 를 이해하고 감을 잡을 수 있도록 해주는 좋은 입문서입니다. 그러나 말 그대로 입문서이기 때문에 이 책 한권으로 모든 것을 소화할 수는 없습니다. 이 책을 통해 감을 잡고 기초 공사를 어느정도 했다는 생각이 들면 조금 더 깊은 내용을 다루는 책들을 통해 많은 것을 학습하는 단계적 접근이 필요합니다.

HTML5 나 CSS3, JavaScript 는 각각 한권 이상의 책으로 설명될 정도로 방대한 내용을 가지고 있습니다. 책 한권으로 모든 것을 마스터 할 수 있다면 좋겠지만 그건 너무 큰 욕심입니다 :-) 검색도 충분히 활용하되 늘 곁에 끼고 볼 수 있는 책들을 각 영역별로 준비해 놓고 늘 보면서 코드 한줄을 입력하고 이해하는 것이 중요합니다. 이 책을 통해 아무쪼록 웹 프로그래밍의 재미를 느끼고 새로운 바다에 푹~ 빠질 수 있길 바래봅니다. 

[ 윤인성 저자의 웹 프로그래밍 관련 서적 추천 ]
  



- NoPD -
저작자 표시
신고
Posted by 노피디
Daily NoPD/rEvieW2012.04.27 23:02
책을 처음 받아 들었을 때 이런 생각을 했었다. 요즘 웹 한다는 사람들에게 필수적인 것들을 다 가져다 붙여놓은 어설픈 입문서가 아닐까? 표지를 조금 더 자세히 읽어보니 Modernizr 와 LESS 까지 한권의 책에서 다루고 있다는 글도 적혀 있다. 각각 한권의 책으로 내도 모자를 만큼 많은 것들을 가진 아이템들을 한 권에서 다루는 무모함이 왠지 이 책을 읽어보고 싶다는 강렬한 열망을 만들어 냈던 것 같다.

HTML5 는 웹을 표현하는 가장 기본적인 프레임인 HTML의 가장 최근 버전이다. 이전의 XHTML 기반의 HTML 4.x 에 비하여 웹이 정보의 관점에서 데이터를 표현할 수 있도록 해준다는 것이 가장 큰 차이점이다. CSS3 는 HTML 을 보완해주는 스타일링 요소로서 정적이고 다소 제한적이었던 한계를 3 버전에서 다양한 애니메이션 효과와 새로운 효과의 제공을 통해 웹을 보다 동적이면서 다이나믹하게 만들어주는 역할을 한다.

DOM (Document Object Model) 기반으로 자바스크립트가 웹의 객체를 이용하는 작업들을 보다 간편하고 쉽게 크로스 브라우징까지 제공 가능하도록 도와주는 것이 jQuery 다. jQuery 가 많은 크로스 브라우징을 처리하고는 있지만 브라우저 엔진, 개발사 별로 조금씩 상이한 구현을 파악하기 위해 Modernizr 가 요즘 많이 쓰이고 있다. LESS 는 HTML 객체의 발달과 표현, 스크립팅이 발전하는 것에 반해 상대적으로 자동화가 어려운 CSS 에게 보석같은 존재다. CSS 를 마치 자바스크립트를 쓰는 것처럼 만들어 주는 놀라운 기능을 제공해 준다. 



디자이너가 쓰는 개발 이야기 

HTML5 를 다루거나 jQuery 를 다루는 많은 책들은 개발자가 쓴 경우가 많다. 아무래도 개발자가 코드에서 시작해 코드로 끝낼 수 있는 여지가 많기 때문일 것이다. 이 책도 당연히 개발자 출신의 저자가 썼을 것이라고 생각했는데 저자 "야무" 님은 개발자 출신이 아닌 디자이너 출신이라 무척 이채로왔다. 그런데 재미있는 것은 디자이너 출신의 저자가 쓴 이 책은 서식처가 디자이너와 사뭇 다른 개발자에게도 너무 쉽고 재미있게 읽히는 매력을 가지고 있다.

책 전반을 통해 저자는 개별적인 기술들 하나하나의 스펙을 알아보기 보다는 디자인, 설계, 구현을 해야 하는 사람들의 입장에서 웹 개발을 위한 A to Z 까지 간략하게 설명하면서 이야기를 풀어나가고 있다. 이 책이 초보자들 뿐만 아니라 어느정도 경험이 있는 사람들에게도 어필할 수 있는 부분은 바로 이런 부분이 아닌가 싶다.


웹 표준과 다양성

구어체로 쓴 것 같은 책의 문체는 읽는 사람으로 하여금 편안함을 느끼게 해준다. 이 책을 읽으면서 편안함을 느낄 수 있는 것 역시 그런 이유 때문은 아닌가 생각해 본다. 저자는 옆에서 이야기를 하는 것처럼 다정한 느낌이지만 책 전반에 걸쳐서 웹 표준에 대한 의지와 다양성을 소화해야 하는 어려움에 대해 이야기를 풀어 나가고 있다. 다양한 기술을 이용하여 멋진 웹을 만들고 사람들이 Wow! 하는 모습을 만드는 것도 좋지만 그 이전에 사람들이 어떤 상황에 있더라도 웹 페이지가 제공하는 컨텐츠를 열람할 수 있는 것이 더 중요하다.

웹 표준은 그 자체가 목적이 아닌 웹이 지니고 있는 컨텐츠에 생명을 넣어주기 위한 과정으로 봐야한다. 그리고 그 웹 표준을 준수하기 위해 발생하는 필연적인 소모성 작업들은 jQuery, Modernizr, LESS 로 간결화할 수 있도록 노력해야 한다. 저자는 이런 웹 표준의 준수를 위해 필요한 항목들을 비개발자라도 편하게 이해할 수 있도록 책을 잘 정리해 두었다.

차세대 웹 디자인의 트렌드가 궁금하다면!

이 책 한권만 읽는다고 해서 앞서 말한 모든 기술들의 구루(Guru)가 될 수는 없다. 코드는 계속 입력해 봐야 하고 책이 이야기 한 것들을 실무에서 다양한 형태로 활용을 해봐야 한다. 손에 익고 눈에 익기 시작하면 서서히 스킬(Skill)이 상승할 수 있을 것이고 보다 더 나은 웹을 만들 수 있는 기초 체력을 만들 수 있을 것 같다. 차세대 웹 디자인의 트렌드를 이해하고 싶은데 시간이 녹록치 못하다면 이 책을 강력 추천해 주고 싶다~!


- NoPD -


 
저작자 표시
신고
Posted by 노피디

티스토리 툴바