스크럼익스트림 프로그래(eXtreme Programming, XP)에 대해서 이전에 책을 읽고 글을 올린 적이 있었는데, 스크럼과 XP의 적용 사례를 함께 다룬 책이 나왔네요. 헨릭 크니버그는 자신이 프로젝트에 참여하면서 스크럼을 어떻게 적용했는지, 익스트림 프로그래밍 기법은 어떻게 사용했는지 사례를 보여 주고 있습니다. 스크럼의 스프린트를 계획하고, 어떻게 회고했는지 썼습니다. 당장 적용하기 어렵더라도, 회고는 꼭 적용해보라고 하더군요. (회고에 대해서는 애자일 회고라는 책을 추천합니다. )익스트림 프로그래밍에서는 테스트 주도 개발(Test Driven Design, TDD)와 짝 프로그래밍(Pair Programming)을 적용하라고 권하더군요. 

프로세스 만능론에 빠져 프로세스가 전부 다 해줄 거야라고 하면 안 됩니다. 프로세스에는 사람이라는 중요한 요소를 잊기 때문입니다. 하지만 프로젝트가 너무 느슨해지고 산으로 간다면, 그런 상황을 막는 안전 장치로 이용할 때 스크럼과 XP는 더 유용합니다. 그런 점에서 다른 사람의 이야기를 읽고, 자신의 상황과 비교해서 개선할 프랙티스를 뽑아 보는 것도 좋겠습니다.
스크럼과 XP
카테고리 컴퓨터/IT
지은이 헨릭 크니버그 (인사이트, 2009년)
상세보기
신고
Posted by 세레

 

-3.abs
처럼 쓴다. 숫자도 객체로 취급되기 때문에, 메서드 chain이 가능하다.
Math에 따로 없고 Complex는 복소수의 절대값을 말하는 것이기 때문에 (Complex plane에서 '실수부 제곱 + 허수부 제곱' 전체의 제곱근) 그 의미가 다르다.

참고할 링크.
신고
Posted by 세레

 

The C Programming Language를 집필한 브라이언 커니핸이 지은 The Practice of Programming의 번역서이다. 인포북을 통해 같은 원서의 번역서가 2000년에 나온적이 있었지만 절판된 터라, 이 책은 인사이트에서 재번역되었다. 이 책에서는 C, C++, Java, Perl, Awk 등을 예제로 사용하고 있다. 스타일부터 표기법까지 9가지 장으로 프로그래밍에서 부딪치는 문제를 정리 및 분류하여 설명하고, 예제를 들어 이해를 돕고 있다. 각 장 말미의 요약이 잘 되어 있고, 관심있는 주제는 '더 읽어보기'를 통해 더 조사하도록 배려해 두었다. 원서가 1999년에 나온 터라, 현재 시점에서 출판된 지 거의 10년에 가깝지만 프로그래밍의 수련 원리는 크게 변하지 않았다는 생각이 들었다. 후기와 부록에서 문맥 요약을 통해 책을 한 번 읽고, 나중에 책에서 필요한 관련 내용을 찾고자 할 때 도움을 빨리 얻도록 구성했다.
프로그래밍 수련법
카테고리 컴퓨터/IT
지은이 브라이언 W. 커니핸 (인사이트, 2008년)
상세보기


저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by 세레

 

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

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

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

PHP 보안(몇 줄의 코드로 안전하게) 상세보기
크리스 쉬플릿 지음 | 한빛미디어 펴냄
PHP 보안 입문서. 이 책은 보안 원칙과 지침에 대한 개요와 폼과 URL, 데이터베이스 사용 및 SQL, 세션과 쿠키, 인클루드, 파일과 명령, 공유 호스팅, 인증 등에 관한 내용을 담고있다. 책 뒤편에는 보안 설정 지시문과 함수, 암호학에 관한 내용을 수록하였다.
신고
Posted by 세레

 

프로그래밍 심리학(원서명:The Psychology of Computer Programming, POCP)을 읽었습니다. 이 책은 25주년 기념판이 번역된 것인데요, 제랄드 M. 와인버그가 기념판을 펴낼 때 원서 자체에서 내용을 덧붙이는 형태로 펴냈기 때문에 예제로 사용되었던 PL/1이나 APL 언어들을 볼 수 있습니다.
지금으로서는 찾아 보기 힘든 천공카드에 대해 얽힌 이야기라거나, 실행시켜볼 코드를 보내놓고 회송시간을 기다린다거나 하는 이야기들이 있어서 이 책을 읽는게 지금에 와서 무슨 소용일까라고 생각할 수도 있습니다. 그러나 책을 보면, 과거의 프로그래머들이 해 왔던 고민들이나 어려움들이 현재의 기술도구로 해결되지 않는 부분이 상당함을 알 수 있습니다.
저자는 각 장에 후기를 보태며, 자신이 전에 펴냈던 내용에 대한 아쉬움을 밝히거나, 기저에 깔려 있던 이야기들을 고백하고 있습니다. 어쩌면 딱딱하게 보일 수 있는 주제임에도, 책 중간에 곁들여지는 제랄드 M. 와인버그의 유머는 그런 긴장을 풀어줍니다.
쓰는 사람의 내공이 나타나는 책을 읽을 때마다, 저자의 생각을 이렇게 먼 거리에서 책이라는 매개체로 나눌 수 있다는 점이 독자로서 느낄 수 있는 큰 행복입니다. 관리자, 프로그래머, 테스터 등 소프트웨어 관련 업계에서 일하고 계신 분이라면, 자신이 평소에 유지하던 "프로그래밍"이라는 행위에 대한 생각의 외연을 넓힐 수 있는 기회라고 생각합니다.

프로그래밍 심리학(프로그램 프로그래밍 프로그래머 4) 상세보기
제랄드 M. 와인버그 지음 | 인사이트 펴냄
프로그래밍도 사람이 하는 일이다! '프로그램 프로그래밍 프로그래머' 시리즈, 제4권 『프로그래밍 심리학』. '프로그래밍도 사람이 하는 일'이라는 당연하지만 현실에서는 인정받지 못하는 문제 인식을 바탕으로 저술된 것이다. 이 책은 프로그래밍을 둘러싼 여러 영역의 사람들이 가지는 마음의 이치를 다루고 있다. '인간 행위로 보는 프로그래밍', '사회 활동으로 보는 프로그래밍', '개인 행위로 보는 프로그래밍' 등으로
신고
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회 세미나를 기대해 봅니다.
  1. <a href="http://legendre.tistory.com/196" target="_blank">4회 루비KR 세미나 후기</a>를 참조하세요. [본문으로]
신고
Posted by 세레

 

Ajax라는 용어가 있습니다. 프로그래밍 분야에서 주로 쓰이는 용어로, Asynchronous JavaScript and XML의 첫 머리에 오는 글자만을 모아서 Ajax라고 이름이 붙었습니다. 웹 애플리케이션을 개발할 때 쓰일 수 있는 개발 기술입니다.
Ajax (programming)

영어사전을 찾던 중 Ajax라는 항목이 있었습니다. IT 용어 사전도 아닐 터인데, 다른 뜻도 있구나 싶어서 관심 있게 살펴 보았습니다.
Ajax (mythology)
그리스 신화에 등장하는 트로이 전쟁 때의 영웅이라고 합니다. 표준국어대사전에는 아약스, 아이아스라는 표제어로 소개됩니다. 호메로스의 일리아드, 오디세이에도 등장한다고 하고요. 텔라몬과 페리보이아의 아들로서, 살라미스의 왕이었다고 합니다.

눈길을 끄는 것은, 국어사전에 나오는 아이아스의 영문명은 aeas인데, 위키피디어에 나오는 아이아스는 aias라는 것입니다. 검색엔진 구글에서 aias+greek과 aeas+greek으로 검색한 결과 수만을 볼 때 전자가 우세하기는 합니다. 그렇지만 저로서는 무엇이 옳은지는 모르겠네요.
신고
Posted by 세레

카테고리

분류 전체보기 (444)
Science (283)
ars boni et aequi (52)
Routine (83)
Language (23)
Q&A (1)
me2day (1)

달력

«   2017/06   »
        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  

티스토리 툴바