PHP 보안: 몇 줄의 코드로 안전하게를 읽었습니다. 악의적인 공격에 대비하기 위해선 예방하는 방법을 알아야겠다는 마음으로 읽어 보았는데요. 책에서 제시된 공격 예제를 보고, 정말 이렇게 기발한 방법으로 공격할 생각을 어떻게 했을까 하는 마음까지 들었습니다.

놀랐던 것은 HTTP 헤더가 생각외로 쉽게 조작된다는 내용이었습니다. HTTP 요청 스푸핑과 같은 공격을 볼 때, 항상 악의적인 입력에 대비하는 자세가 중요하다는 걸 느꼈습니다. 공격자들이 활보하는 위헙한 웹에서, 민감한 개인정보를 웹에 저장하는 일은 정말 신중하게 고려되어야 한다는 걸 배웠습니다.

평소에 보안에 대한 관심이 부족했는데 이 책으로 말미암아, 보안이 중요하고 많은 공격 유형들은 개발자가 안전한 코딩 프랙티스를 사용함으로써 예방이 가능하다는 걸 알게 되었습니다.

PHP 보안(몇 줄의 코드로 안전하게) 상세보기
크리스 쉬플릿 지음 | 한빛미디어 펴냄
PHP 보안 입문서. 이 책은 보안 원칙과 지침에 대한 개요와 폼과 URL, 데이터베이스 사용 및 SQL, 세션과 쿠키, 인클루드, 파일과 명령, 공유 호스팅, 인증 등에 관한 내용을 담고있다. 책 뒤편에는 보안 설정 지시문과 함수, 암호학에 관한 내용을 수록하였다.
Posted by 세레
월드 와이드 웹 컨소시엄(W3C)은, 1997년 이래 HTML 명세를 처음으로 중요하게 개선할, HTML 5 첫 번째 초안을 2008년 1월 22일에 발표했다.1 HTML 5의 최종 버전은 2010년 후기까지 나오리라 생각되지 않고, 브라우저 벤더 중에서 명세를 지원하는 것은 벤더의 선택에 달렸다. HTML 5는 HTML 문서를 다루고 에러에서 복구하는 일에 대해 규칙을 세움으로써 소프트웨어 비용을 절감하고 상호운용성을 끌어올릴 셈이다. W3C HTML 작업 그룹 공동 의장 Dan Connolly는 HTML 5가 달성하려고 하는 두 주요 목표를 말한다.2  어떻게 HTML이 실제로 구현되었는가에 대비하여, 명세가 이야기하는 것, 그리고 대개 웹 애플리케이션에 속하며, 비디오를 웹 상의 1급 매체로 통합하는 등 새로운 기능을 추가하는 일이다. Connolly는 W3C가 사람이 웹에서 하는 일, 첨단의 웹 사이트가 수행하는 일을 연구해왔고 그러한 프랙티스를 표준화해서 적응성이 오서링(authoring) 툴에서 나타나고 배우기 쉽게 되도록 할 때라고 말한다. HTML 5를 위해 계획된 다른 적응성은 문서와 문서의 일부를 상호작용적으로 편집하는 능력, 영속적인 클라이언트-사이드 스토리지의 유지, 그리고 익숙한 페이지 엘리먼트를 표현하기 쉽게 하는 특징을 포함한다.3 모질라는 이미 HTML 5를 파이어폭스 브라우저에서 지원하고 있고4, 마이크로소프트, 애플, 오페라를 포함한 다른 브라우저 벤더는 HTML 작업 그룹에서 활발히 참여하고 있다.
Posted by 세레
2007년 12월 1일 금년 마지막이 될, 다섯 번째 루비세미나에 다녀왔습니다. 장소는 4회1와 동일했습니다.

사용자 삽입 이미지

5회 루비 세미나 사진


첫 번째 발표는 Daum 캘린더 개발이야기. 관심이 갔던 부분은 SeeSaw인데요. 서버를 재시작하지 않고 중단하는 서버를 부분으로 나누어서 각각 갱신하는 점에 매력을 느꼈습니다. RoR로 운영되는 서비스라고 하셨는데, 좋은 선례가 되었으면 좋겠습니다.

두 번째 발표는 ETRI에서 YouFree. 휴대 가능한 작업 공간을 목표로 개발되었다고 합니다. 오픈소스이고 InstantRails 기반입니다. 집에서 USB로 꽂고 사용해 봤는데, 말씀하신 대로 하드디스크나 외장디스크에 복사해서 쓰시는 편이 더 좋을 듯합니다.

세 번째 발표는 Ruby와 Rails를 이용한 진짜 개발. 첫 부분인 Getting Real에서 다루어진 주제는, 애자일 흐름과 상응하는 부분이 많아서 공감했습니다. 배포 부분도 잘 모르고 있었는데 여러 경우로 나누어 설명해 주셔서 큰 도움이 되었습니다. 중간에 사진들도 재미있었어요. ^^ 발표 내용은 ikspres님의 블로그에서 5회 루비세미나를 참조하세요.

네 번째 발표는 2007년 크리스마스 선물이 될 예정인 Ruby 1.9에 대한 소개였는데요. 이번에 새로 지원되는 해시 표기법을 보니, 더 간단하다는 느낌이 드네요. String에서도 Enumerable을 버리고 문자 자체를 출력하도록 하는 것도 좋아 보여요. ASCII 코드값보다 더 자주 쓰여서 기존의 불편한 점이 해소될 거라고 봐요. GEM이 기본 배포에 포함되고, YARV(VM)도 포함된다고 하는데 기대가 됩니다. 발표하셨던 분이 참조하셨다고 이야기 해주신 Changes in Ruby 1.9의 링크를 겁니다.

다섯 번째 발표는 RESTful 웹 서비스 소개였는데요. RESTful Webservices라는 책을 도서관에 신청만 해두고 아직 읽어보지 못한 상태였는데, 핵심단어를 슬라이드에 띄우고 잘 설명해 주셔서 좋았습니다. REST에 대해 REpresentational State Transfer라는 표면적 의미보다는, 더 자세한 의미를 듣게 되어서 기뻤습니다.

여섯 번째 발표는 JavaScript on Rails였는데요. RJH, Lowpro(with RJS), JQuery 세 방식으로 구현된 잘 짜여진 예제가 매우 인상깊었습니다. 웹에서 행동을 분리하는 움직임은 DOM 스크립트라는 책을 읽을 때도 들었던 이야기인데요, 자바스크립트를 사용할 수 없는 설정이라도 작동이 온전히 이루어질 필요가 있다는 데 동감합니다.

일곱 번째 발표는 meet the Nginx였는데요. Nginx를 왜 채택했는지 경험에 기초해 이유를 설명해 주시고, 도입하고 나서 겪으셨던 어려웠던 경험들을 공유해 주셔서 좋았습니다. timeout default와 ignore_invalid_headers 두 가지였습니다. lockdown이 팁으로 나왔는데, 공부가 많이 부족해서 잘 이해를 못했습니다.

여덟 번째 발표는 봇을 위한 페이지 캐싱이었는데요. 운영하시는 서비스의 로그 분석 결과를 보고(특정 검색엔진의 봇이 한 서버에 그렇게 많은 부하를 준다는 사실에 대해 놀랐습니다.), 그 문제를 해결하기 위해 어떤 방법을 사용하셨는지 이야기해 주셨습니다. 하지만 생각했던 것보다 효과가 잘 나타나지 않았던게, 봇이 똑똑해서 같은 페이지에 대한 Hit Ratio가 낮기 때문이라고 합니다.

번외로, deepblue님이 slugger에 대한 유인물을 2장 정도로 정리해서 나누어 주셨습니다. slugger는 me2day와 springnote의 open API로 DB없는 blog를 구성할 수 있게 한다고 이해했는데요, 정말 신선하고 재미있는 프로젝트라고 생각해요. 문서에서 slugger에 대한 deepblue님의 사랑이 느껴집니다. 발표가 모두 끝난 후, 인사이트에서 후원해주신 루비 관련 도서 5권을 rand 함수를 돌려서 추천했는데요, 당첨되신 분들 축하드립니다. ^^
(저는 ㅠㅠ)

루비 사용자 커뮤니티가 점점 커지는 모습이 보인다고 많은 분들이 말씀하셨습니다. 루비 세미나 참석해서 정말 즐거웠고, 많이 배워갑니다. 내년 6회 세미나를 기대해 봅니다.
Posted by 세레
책을 받은 지 3개월이 넘었고, 학기말이다 뭐다 하면서 그동안 CSS 마스터 전략을 제대로 읽지 못했어요. 그래서 이번에 한 번 부지런하게 읽어봐야겠다고 생각해서 한 번 쭉 읽었습니다. 모든 부분을 자세히 이해하면서 넘어가려면 끝까지 못 읽을 것 같아서, 그냥 끝까지 책을 한 번 두루 살펴 보았죠.

우선, 책을 쓴 사람은 기본적인 컴퓨터 활용능력과, (X)HTML에 대한 어느 정도의 지식이 있는 사람을 대상으로 한 것으로 보입니다. 1장에서 다시 짚어 주기는 하지만, 진도의 상승폭이 상당히 빠르기 때문이죠. 이미지, 링크, 레이아웃 등으로 CSS 사용의 범주를 기준으로 나누어서 설명하는 게 특징입니다. 이런 방식은 나중에 CSS에 대해 참고하고자 할 때, 편리하게 작용하겠죠. 비록 인터넷 익스플로러 버전 6 이하에서는 CSS의 기능(속성선택자도 그 중 하나)을 완벽하게 지원하지 않지만, 속성선택자를 이용해 외부링크, PDF 아이콘을 동적으로 만들어 주는 게 신기했습니다. 리모트 롤오버 기능도 인상 깊었습니다. 어떻게 활용하느냐에 따라 넘길 수 있는 사진첩도 만들 수 있고, 상단메뉴 위에 올리면 부속메뉴가 나오도록 할 수 있고. 학교 도서관 홈페이지에서는 자바스크립트를 이용해서 이런 처리를 하는데, 파이어폭스에서는 제대로 작동하지 않았습니다. 그 때 이런 기능을 사용하면 대안적으로 해결할 수 있지 않을까 생각했어요.

뒷 부분에는 핵과 필터에 관한 내용이 나옵니다. 처음에는 그 의미를 이해해 보려고 했지만, 상당히 어려웠습니다. 브라우저 간의 호환성을 어떻게 지킬 것인가에 대한, 사람들의 고민과 그 결과가 담겨 있습니다.

부록에는 앞에서 배운 내용을 기초로 하여 준-실전용 페이지를 만드는 연습을 합니다. 이 부분에서는 레이아웃을 단 형식으로 배치하는 것이 인상깊었습니다. 음수 마진 값을 적절히 활용하는 사례에 대해 조금 더 구체적으로 볼 수 있었습니다.

에이콘 출판사에서 나온 방탄웹과 실용예제로 배우는 웹표준은 아직 읽지 못했는데, 기회가 된다면 이 책들도 읽어보고 싶네요.
CSS 마스터 전략(고급 웹 표준 사이트 제작을 위한) 상세보기
앤디 버드 지음 | 에이콘출판 펴냄
CSS 활용서. 이 책은 CSS 기본 개념을 정리해 의미 있는 마크업 작성의 중요성, 코드를 잘 구조화해서 유지보수가 용이하게 하는 방법, CSS 레이아웃 모델의 동작원리 등을 다룬다. 다양한 예제통해 실무에 바로 적용할 수 있는 실전 기법을 익힐 수 있도록 했다. 《CSS 마스터 전략》은 CSS 기본에 대한 핵심 정리와 이미지, 링크, 리스트 처리나 폼, 데이터 테이블 같은 핵심적인 CSS 기법을 다루고, 핵, 필터, 브라우저 버그

Posted by 세레

카테고리

분류 전체보기 (253)
Science (115)
Routine (31)
Language (2)
Q&A (1)
me2day (104)

달력

«   2008/07   »
    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 30 31