이전

리뷰 (6)

한줄평
평점 분포
  • 리뷰 총점10 33%
  • 리뷰 총점8 67%
  • 리뷰 총점6 0%
  • 리뷰 총점4 0%
  • 리뷰 총점2 0%
연령대별 평균 점수
  • 10대 0.0
  • 20대 0.0
  • 30대 10.0
  • 40대 8.0
  • 50대 8.0

포토/동영상 (2)

리뷰 총점 종이책
Effective Java와 같이 필수적으로 읽어야 하는 책!
"Effective Java와 같이 필수적으로 읽어야 하는 책!" 내용보기
저는 일단 책을 접하면 목차를 가장 먼저 봅니다. 전체적으로 어떤 내용을 다루고 있는지에 대해 파악하기 위해서이기도 하고, 평소 궁금했던 내용이 나와있다면 우선적으로 보기 위해서입니다.목차를 펼쳐봅니다.어디를 먼저 봐야할지 콕 집어내기가 쉽지가 않네요. 그냥 처음부터 보기로 했습니다.책의 전반적인 구성은, 굉장히 사소하고 미묘하게 실수할 수 있는 각각의 케이스들을 잘
"Effective Java와 같이 필수적으로 읽어야 하는 책!" 내용보기

저는 일단 책을 접하면 목차를 가장 먼저 봅니다. 전체적으로 어떤 내용을 다루고 있는지에 대해 파악하기 위해서이기도 하고, 평소 궁금했던 내용이 나와있다면 우선적으로 보기 위해서입니다.

목차를 펼쳐봅니다.

어디를 먼저 봐야할지 콕 집어내기가 쉽지가 않네요. 그냥 처음부터 보기로 했습니다.

책의 전반적인 구성은, 굉장히 사소하고 미묘하게 실수할 수 있는 각각의 케이스들을 잘 정리해놓은 형태입니다. 마치 흔히들 말하는 레퍼런스 같다는 느낌이 들어요. 필요할 때마다 찾아보는 식으로 읽어야 할 것만 같은 느낌이 듭니다.

6장까지 읽고 생각이 바뀌었습니다. 이 책은 정독해야 한다고 생각합니다. 가능하면 프로그래밍 언어를 처음 배울 때부터 옆에 두고 읽어야 하는 책이라는 생각도 듭니다. 전반적으로 예제가 많기 때문에 들고 다니면서 짬짬히 생각하며 보기도 괜찮은 것같네요.

이 책의 성격에 대해 이야기하자면, Effective C++, Effective Java 같은 책이라고 할 수 있을 것입니다. 좋은 지침서라는 생각이 듭니다. 초중급 개발자에서 중고급 개발자로 넘어가기 위해서는 꼭 한번 읽어봐야 할 것 같습니다.

입문서라기보다는 실무서에 가까운 책이기 때문에 언어를 배우고 있는, 아직 언어에 익숙하지 않으신 분들께는 정규 표현식이나 입출력, 스레드, 락 등의 주제에 대해서 세세하게 다루는 내용들이 매우 생소하게 느껴지실 수도 있습니다.(물론, 모두 필요한 내용이고, 개발자로서 실력을 키우기 위해서는 꼭 필요한 내용들입니다.)

공부할 내용이 많은 책입니다. 단순히 자바 프로그래밍 언어가 아니라, '자바 프로그래밍 언어 + 다른 주제(정규표현식, 스레드, 플랫폼 등)' 형식으로도 스터디를 진행하기 좋은 교재입니다.

f****n 2012.09.21. 신고 공감 0 댓글 0
리뷰 총점 종이책
버그 없는 안전한 소프트웨어를 위한 CERT 자바 프로그래밍
"버그 없는 안전한 소프트웨어를 위한 CERT 자바 프로그래밍" 내용보기
“당신의 코딩습관은 안전하지 않다.”라는 다소 위협적인 말로 시작을 하고 있습니다. 대게 겪는 일로 비추어 볼 때, 버그 없는 안전한 소프트웨어라는 말은 일종의 유토피아처럼 들립니다. 지향해야 할 목표이긴 하지만, 다가서기 힘든.... 최근 빈번히 일어나고 있는 각종 해킹사건들을 보면 이제는 소프트웨어를 개발할 때 버그를 없이 개발하여 침투할 여지를 두지 않는 것이 가
"버그 없는 안전한 소프트웨어를 위한 CERT 자바 프로그래밍" 내용보기

“당신의 코딩습관은 안전하지 않다.”라는 다소 위협적인 말로 시작을 하고 있습니다. 대게 겪는 일로 비추어 볼 때, 버그 없는 안전한 소프트웨어라는 말은 일종의 유토피아처럼 들립니다. 지향해야 할 목표이긴 하지만, 다가서기 힘든.... 최근 빈번히 일어나고 있는 각종 해킹사건들을 보면 이제는 소프트웨어를 개발할 때 버그를 없이 개발하여 침투할 여지를 두지 않는 것이 가장 좋아 보입니다.

 

 옮긴이가 언급한대로 이 책은 자바로 구현한 애플리케이션을 보안에 취약하지 않게 만드는 좋은 프로그래밍 규칙과 습관을 수치연산, 스레드와 락 사용 등 여러 분야별로 체계적으로 분류하고 설명하고 있습니다. 제목에서 알 수 있듯이 이 책은 자바 언어프로그램 개발자를 대상으로 합니다.

 

 따라서 자바의 세세한 설명 보다는 프로그램의 안정성과 견실성에 더 주안점을 둔 듯해 보였습니다. 특히 소스 코드 분석 연구실을 설치하고 소프트웨어 시스템에서 책의 표준에 대한 적합성 시험을 수행한 CERT와 각 챕터 시작마다 제일 앞머리에 위치한 규칙과 위험 평가 요약은 가장 큰 특징이라고 할 수 있습니다.

 

또한 풍부한 적합 코드 예와 부적합 코드 예 안전하지 않은 코딩습관을 다소 개선할 수 있을 것 같습니다.

 

 비록 적지 않은 분량이고, 코드가 거의 반을 차지하는 다른 프로그래밍 책에 비해 읽을 분량이 많은 것은 사실이지만, 세세하게 나누어 진 목차와 코드 설명이어서 그런지 지루하게 볼 틈이 없었습니다.

 
 
y********a 2012.09.20. 신고 공감 0 댓글 0
리뷰 총점 종이책
자바 개발자라면 최소한 한번쯤 읽어야 되지 않을까?
"자바 개발자라면 최소한 한번쯤 읽어야 되지 않을까?" 내용보기
작년인가, 재작년에 행안부에서 자바 시큐어 코딩 가이드라인이라는 이름으로 문서를 배포한 적이 있다. 그 당시에 행안부 가이드라인을 읽었을 때는 구체적 사례 자체보다는 그냥 규정에 대한 모음집 같은 느낌이라서, 굳이 이렇게 코드를 작성해야 될 당위성이나 그 밑바탕에 깔려 있는 원리들에 대해서 알 수가 없어서 좀 아쉬웠다.   이 책은 나름대로 위험성에 대해서 레벨을 정해서
"자바 개발자라면 최소한 한번쯤 읽어야 되지 않을까?" 내용보기

작년인가, 재작년에 행안부에서 자바 시큐어 코딩 가이드라인이라는 이름으로 문서를 배포한 적이 있다. 그 당시에 행안부 가이드라인을 읽었을 때는 구체적 사례 자체보다는 그냥 규정에 대한 모음집 같은 느낌이라서, 굳이 이렇게 코드를 작성해야 될 당위성이나 그 밑바탕에 깔려 있는 원리들에 대해서 알 수가 없어서 좀 아쉬웠다.
 
  이 책은 나름대로 위험성에 대해서 레벨을 정해서 기준을 세우고 있고, 규칙에 대해서 분류를 상당히 잘해놓은 편이다. 거기에 그 해당하는 규칙에 대한 필수 예제들을 도입하고 있고, 그 근본 방식에 대한 설명 자체도 나름 잘 되어 있는 편이다.
 
  나름 재미있게 기억나는 부분의 예를 들어보면, primitive type에서 객체 타입으로 자동으로 변환되는 오토 박싱(auto boxing)과 관련한 코드 지침이 있었는데,jvm마다 == 메서드에 대한 자동으로 기억하는 것이 다를 수 있어서 발생 될 수 있는 문제에 대해서 설명이 되어 있는 부분에 대해서 해당 규칙에 대한 당위성을 잘 설명했다고 생각한다. (이걸 설명하기 위해서 언어 명세뿐만 아니라 jvm의 명세에 대해서 이야기 하고 있다.)
 
 
 번역, 편집 상태도 괜찮은 편이다. 책이 꽤 두꺼움에도 현재 책을 절반이상 읽은 상태에서 평가했을 때, 눈에 띄는 오타가 잘 발견되지 않았고, 오타로 의심했던 단어들에 대해서는 검색결과 그것이 표준어라는 새로운 사실도 알게 되었다.(결괏값(O) 결과값(X))
 
 책의 구성은 비슷한 부류의 책인 C버전의 CERT 프로그래밍 책을잠깐 읽은 적이 있었는데, 분류방식이나 책의 구성 자체가 매우 비슷하다.  먼저 목차와 서문 부분을 읽고, 관심 있는 주제 쪽으로 펼쳐서 읽으면 된다.
각 챕터 별로 첫장에 규칙에 대한 목차가 있고, 목차의 제목, 그리고 해당 페이지가 있다.  그리고 바로 옆장에 위험 평가 요약이라고 우선수위에 따라 찾아볼 수 있게끔 하고 있다.  잠깐 예를 들자면 [ex) LCK10-J. 이중 검사 동기화의 잘못된 형태를 사용하지 않는다. - 415] 개인적으로 애매한 용어에 대한 원어 병어 표기와  원전 참조표기를 병기해 놓은것도 마음에 든다.

  책을 읽으면서 규칙과 사례, 지침, 그리고 설명을 읽으면서 이러한 규칙을 테크닉이라고 부를 수 있겠다고 생각을 했다. 그러한 측면에서 보자면 effective 시리즈나 exceptional 시리즈와 같은 느낌이다. (물론 effective 시리즈와는 다른 점이 있다. 내용 구성적인 측면에서책의 흐름 자체가 스캇 마이어스처럼 옆집 아저씨가 읽어주는 느낌은 아니라는 점이 다르다. )

 
  결론적으로 말하면 이 책에서 말하는 코딩 가이드 라인은 기존의 프로그램을 작성 시에 나중에 추후 다른 사용자가 오용하여 발생할 수 있는 문제들에 대해서 소스코드차원에서 예방하는 것을 말한다.  기본적으로 입력값 필터링과 같은 것에서부터 시작해서, injection 공격을 막기 위한 예방, 자바 언어, jvm의 특성에 관한 것이나, 평소에 좀더 간과하기 쉬운 부분들에서 공부를 하고자 한다면 좋은 지침서가 되리라 생각한다.

YES마니아 : 플래티넘 n***z 2012.09.24. 신고 공감 0 댓글 0
리뷰 총점 종이책
중급 이상 개발자가 꼭 읽어야 할 필독서
"중급 이상 개발자가 꼭 읽어야 할 필독서" 내용보기
12년 동안 개발을 해 왔다. 그 중 10년은 닷넷을 사용하였고 자바로 3년 정도를 병행해서 개발 작업을 해왔다. 자바라는 언어는 나에게 있어 주요 언어가 아니다.  우리나라에서는 자바가 절대적으로 주요 언어지만 말이다.  나에게 주요 언어가 아니라고 하더라도 자바를 학습하다 보면 많은 도움과 지식을 얻을 수 있다. 리팩토링, 아키텍처 패턴, 디자인 패턴 등이 그러한 경우였다.
"중급 이상 개발자가 꼭 읽어야 할 필독서" 내용보기

12년 동안 개발을 해 왔다. 그 중 10년은 닷넷을 사용하였고 자바로 3년 정도를 병행해서 개발 작업을 해왔다. 자바라는 언어는 나에게 있어 주요 언어가 아니다.  우리나라에서는 자바가 절대적으로 주요 언어지만 말이다.

 
나에게 주요 언어가 아니라고 하더라도 자바를 학습하다 보면 많은 도움과 지식을 얻을 수 있다. 리팩토링, 아키텍처 패턴, 디자인 패턴 등이 그러한 경우였다. 이제 여기에 이 책을 한 권 더 추가해야 할 것 같다.

 

SI 산출물로 나온 애플리케이션이나 웹 애플리케이션을 유지보수하다 보면, 다른 개발자들이 작성해 놓은 코드를 자주 보게 된다. 코드를 분석하다 보면, 의외로 놀라운 사실들을 알게 된다. 이 코드들의 많은 부분들은 보안에 취약할 뿐만 아니라 방어적으로 코딩되어 있지도 않다는 것이다.

 

이 책은 이런 개발자들에게 이 책은 많은 도움과 깨달음을 줄 것이다. 보통, 보안이나 방어적 코딩을 해야 한다는 당위성은 알고 있지만, 구체적인 실행 방법에 대해서는 모호하기 그지 없어서 그냥 나름 원칙에 따라 알아서 개발하게 되는 경우도 자주 있다. 이런 문제점을 이 책은 아주 자세한 선까지 지도해 주고 있어 좋다. 자바라는 언어의 이디엄을 통해 설명하고 있지만, 가만히 들여다 보면, 내가 사용하는 언어는 어떻게 해야 할까라든지 이런 문제를 프레임워크적인 측면에서 지원하는지 생각하면서 보는 재미도 솔솔하다.

 

내용을 들여다 보면, 직관적으로 이해가 되는 부분이 있지만, 자세히 들여다 보아야 만 이해할 수 있는 경우도 있다. 이 책은 입문자들이 직관적 이해 가 어려울 수 있다. 많은 필드 경험과 SDK나 프레임워크을 어느 정도 수준까지 사용해 보고 개발 작업도 어느 정도 해 본 개발자들에게 추천한다.

 

번역은 내용을 이해하는에 어려움이 없을 정도로 잘 되어 있다. 그런데 종이 재질이 마음에 안든다. 저녁에 등 밑에서는 제대로 책을 볼 수가 없었다. 종이는 제발 광택지를 사용하지 않았으면 좋겠다.

 

어째든, 이 책은 일정 수준의 개발자가 보안, 방어적 코딩에 대해 막연하게 알고 있을때, 읽으면 좋은 책이다.

 

 



YES마니아 : 로얄 g*****i 2012.09.21. 신고 공감 0 댓글 0
리뷰 총점 종이책
희귀한 책이다. 그렇지만 있어야 하는 책이다. 보안이므로.
"희귀한 책이다. 그렇지만 있어야 하는 책이다. 보안이므로." 내용보기
"Java 세계에서는 보안을 부가 기능으로 생각하지 않습니다. 언제나 보안을 고려해야 합니다.보안을 염두에 두지 않는 개발자가 결국 문제를 일으킵니다. 그러나 보안 기능이 준비되어 있다고 해서 소프트웨어가 저절로 안전해지는 것은 아닙니다. 'CERT; Secure Coding Standard for Java'는 수 년간 발전해온 표준적인 관습을 요약한 해설서입니다. 그렇다고 해서 이론적인 연구 논문이
"희귀한 책이다. 그렇지만 있어야 하는 책이다. 보안이므로." 내용보기
"Java 세계에서는 보안을 부가 기능으로 생각하지 않습니다. 언제나 보안을 고려해야 합니다.보안을 염두에 두지 않는 개발자가 결국 문제를 일으킵니다. 그러나 보안 기능이 준비되어 있다고 해서 소프트웨어가 저절로 안전해지는 것은 아닙니다. 'CERT; Secure Coding Standard for Java'는 수 년간 발전해온 표준적인 관습을 요약한 해설서입니다. 그렇다고 해서 이론적인 연구 논문이나 제품 안내 자료도 아닙니다. 이 책은 중요한, 개발에 필수적인, 실전에서 검증된, 기업 규모의 프로젝트에 적용할 수 있습니다."
- James A. Gosling


이 책의 원 제목은 'CERT; Secure Coding Standard for Java'이다. 직역하자면 '자바를 위한 보안 코딩 표준'정도가 되겠다. CERT는 'Computer Emergency Response Team'을 의미한다. '컴퓨터 긴급 대책 팀' 정도로 해석이 될려나?

그런데 번역한 제목은 '버그 없는'으로 시작한다. 물론 뒤에 안전한 이라는 형용사가 있어서 버그 없는 이라는 말의 의미를 어느 정도 가늠할 수도 있겠다. 하지만 보통 버그가 수식하는 의미는 프로그램 상 정상적인 구동을 가로막는 프로그래밍적 오류를 말하는데, 여기서는 보안 상의 구멍 정도로 의미한다고 보겠다.




이 책을 보면 상당히 놀라운 면이 많다. 일반 프로그래머의 경우 정상적으로 프로그램이 구현되면 그만이라고 생각하지만, 그 안에 인지하지 못한 수 많은 구멍들이 산재해 있다. 처음부터 그러한 점을 염두에 두지 않으면 버그 없는 버그 투성이의 프로그램이 탄생할 수 있다. 즉 작동은 잘 되지만, 해킹의 염려가 매우 높을 수 있다는 것이다.


이 책은 입력 검증 부터 시작해, 객체 지향, 선언, 표현식, 연산, Method, Exception 등으로 파트를 나누어 보안성을 갖춘 Java Programming을 위한 Rule을 서술형 제목으로 갖고 있다.
사실 프로그래밍을 어느 정도 한 사람이라면 이 책의 목차만 참고해도 꽤나 솔깃할 법한 서술형의 제목들이 가득하다. Java에 대해 어느 정도 아는 사람이라면 직관적으로 와 닿는 제목이라고 여길 것이다. 책의 내용도 그렇다. 예시된 Code과 설명은 '보안 개론'서가 아니라 당장 Code를 뜯어 고칠 법한 실전적 예시 중심의 설명을 하고 있다.



  어느 정도 연차가 쌓이게 되면 사실 무엇을 더 해야 내가 더 프리미엄이 있는 프로그래머가 될 지 방향을 가늠하기 어려울 때도 있을 것이다. 다른 프로그래머와 차별화되는 프로그래머가 되려면 아마도 이러한 보안적으로도 우수한 프로그래밍을 하는 프로그래머가 아닐까? 사실 처음에 밝힌 Java의 아버지 James A. Gosling의 말 처럼 Java에서는 보안을 부가기능으로 보지 않는다고 했다. 그건 선택적인 요소가 아니라 필수적인 요소이다.

 영화 300을 보면 스파르타의 전사에게 필수는 창 뿐 아니라 몸 전체를 막는 방패도 포함되었다. 이 책을 본 뒤에 문제를 해결해 주는 창과 해킹으로부터 안전한 방패를 갖춘 스파르타 전사 같은 프로그래밍이라면 당신에게 강인한 프로그래머(?)라는 칭호와 함께 더욱 업그레이드 된 자신을 볼 수 있으리라 생각 된다.



l******e 2012.09.17. 신고 공감 0 댓글 0
리뷰 총점 종이책
내 코딩 습관은 안전하지 않다
"내 코딩 습관은 안전하지 않다" 내용보기
이 책은 자바6을 기준으로 자바 프로그래밍 언어와 라이브러리를 사용한 안전한 코딩표준을 설명합니다수많은 규칙들을 나열하며 부적합코드와 적합코드를 차례로 보여줍니다흡사 메뉴얼 혹은 쿡북 같은 형태인데 이책의 성격을 생각하면 이런식일수 밖에 없다는게 이해가 될겁니다   각 채터는 주제별로 나눈것이며 채터안의 소제목들은 각각이 곧 하나의 안전한 코딩규칙입니다규칙에
"내 코딩 습관은 안전하지 않다" 내용보기

이 책은 자바6을 기준으로 자바 프로그래밍 언어와 라이브러리를 사용한 안전한 코딩표준을 설명합니다
수많은 규칙들을 나열하며 부적합코드와 적합코드를 차례로 보여줍니다
흡사 메뉴얼 혹은 쿡북 같은 형태인데 이책의 성격을 생각하면 이런식일수 밖에 없다는게 이해가 될겁니다

 

각 채터는 주제별로 나눈것이며 채터안의 소제목들은 각각이 곧 하나의 안전한 코딩규칙입니다
규칙에는 아이디와 우선순위가 있습니다
규칙을 어겼을 때 결과가 얼마나 위험한가, 취약점이 약용될 가능성이 얼마나 높은가, 기존 코드를 교정하는 비용이 얼마나 드는가 ...
이러한 것들을 낮음,보통,높음의 3단계로 매겨놨습니다
이런 기준을 토대로 하나의 규칙에 대한 설명이 끝나면 그 규칙에 대한 위험평가를 표로 보여주며 예외,관련취약점,가이드라인,참고문헌 등을 차례로 보여줍니다
아마 어떤부분에서는 평범하다 느낄수도 있지만 계속해서 읽다보면 오래동안 연구한 방대한 자료의 모음이라고 느끼게 될겁니다
또 위험평가가 낮은 항목들 중 몇몇은 이런것까지 알아야 하나 싶을수도 있구요

 

상당히 딱딱한 구성이라서 차례대로 한번에 보기는 쉽지 않습니다
관심있는 장을 틈틈히 보시는게 좋을거 같습니다
저 개인적으로 랜덤하게 펼쳐 아무장이나 보아도 매번 배우는게 많아서 반성하며 차근히 볼 생각입니다
사실 많은 개발자들이 알면서도 실무에선 대충 넘어간 경우가 더 많을거라 생각합니다 (자의던 타의던)

 

취약점을 만들수 있는 안전하지 못한 코딩 습관을 언어가 알아서 보완해주진 않습니다
가장 중요한 것은 개발자와 회사 모두 보안에 대한 인식을 유지하고 적용할 수 있는 문화를 만드는 것일겁니다

 

'자바 언어에서 가장 큰 오류는 자바에 의해 제공되는 기능이 일반적인 프로그래밍 실수를 완화하므로 자바 프로그램은 본질적으로 안전하고 더 이상의 대책이 필요없다고 생각하는 것이다'

 

 

t****h 2012.09.06. 신고 공감 0 댓글 0