읽기 쉬운 코드 - 지속 가능하고 유지/보수하기 쉬운, 이해할 수 있고 복잡하지 않은, 좋은 코드를 짜는 방법과 아이디어 로버트 C. 마틴 시리즈
마크 시먼 지음, 김현규 옮김 / 길벗 / 2024년 3월
평점 :
장바구니담기


프런트 엔드, 백엔드, 프레임워크, 다양한 언어들, IDE 등등이 프로그래밍에서, 좁은 범위로는 프로젝트에서 서로 조화를 이루어 진행되어야 하지만, 그 방대함으로 결코 쉽지 않기에 프로그래밍이 종합예술이라고 생각하며 버거움을 토로하던 차에 <읽기 쉬운 코드>라는 책을 읽게 되었다.


신기하게도 다소 도발적인(?) 『예술인가? 과학인가?』라는 제목으로 첫 번째 장을 시작하며 소프트웨어, 엔지니어, 공학, 프로그래머 등을 대상으로 근본적인 차이점에 대한 인식과 이해라는 기점에서 시작할 것을 저자는 주문하며 글을 시작한다. 최소 몇 년간의 전문적인 개발을 경험하고 코드 개선의 의지가 다분한 백엔드 개발자들이 대상 독자인지 모든 내용을 책 한번 읽고서는 이해하기가 쉽지 않다. 그리고 C#로 작성된 예제 코드들은 그나마 조금은 익숙한 Java 코드와 비슷해서 따라갈 수 있지만 이것 마저도 만만하지는 않다.


그래도

- 인간의 단기 기억의 한계와 불명확한 형태로 작성되는 복잡한 코드들의 대비관계

- 단순한 소프트웨어 공학 아키텍처 기반의 읽기 쉽고 이해하기 쉬운 코드 작성

- 실력을 향상시키지도 않고도 결과를 개선할 수 있다는 관점에서의 체크리스트

- 짝 프로그래밍, 몹 프로그래밍, 코드의 공동 소유

- 짧은 주기의 깃 커밋

- 깃 커밋 메시지 작성 규칙

- 테스트의 중요성, 자동 빌드 테스트

- 생산성 저하로 이어지는 장시간 작업 피하기와 휴식


등등,


알고는 있지만 하지 못하는 것들과

관점이 다른 저자의 해석 등,

얻을 수 있는 저자의 통찰력이 많이 있다.

포기하지만 말고 저자의 조언을 곱씹어보자.


그리고 부록 “프랙티스 목록”에서 저자가 기술한 방법들을 쉽게 찾아 화두로 삼을 수 있고,

“참고 문헌” 부록에 기재된 자료들을 찾아서 참조하며 기록을 하자.


읽으면서 가장 마음에 와닿아,

다시 거울 속의 나에게 자문하게 되는 구절은 아래와 같다.

왜 제대로 동작하지 않는지 이해하지 못한다면, 일단 그 이유를 이해하는 데 주력해야 합니다. 저는 ‘우연에 맡기는 프로그래밍이 진행되는 것을 상당히 많이 보았습니다. 마치 엄청나게 많은 코드를 벽에 던져 어떤 코드가 벽에 붙는지 보자는 거죠. 코드가 동작하는 것처럼 보이면 개발자는 다음 작업으로 넘어가 버립니다. 이러면 코드가 왜 동작하는지 이해하지 못하거나, 실제로는 제대로 동작하지 않는다는 것을 진짜로 이해하지 못할 수도 있습니다. 처음부터 코드를 이해한다면 문제를 더욱 쉽게 해결할 확률이 높습니다.


시스템을 설계하는 조직은 필연적으로 해당 조직의 커뮤니케이션 구조를 복제한 설계 구조를 만들어낼 수밖에 없다


읽어주셔서 감사합니다.

"출판사에서 책을 제공받아 작성한 리뷰입니다."



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
혼자 공부하는 첫 프로그래밍 with 파이썬 - 1:1 과외하듯 배우는 프로그래밍 자습서, 개정판 혼자 공부하는 시리즈
문현일 지음 / 한빛미디어 / 2024년 4월
평점 :
장바구니담기


급변하는 IT 업계에서 프로그래밍을 지속하기 위해

개발자는 트렌드도 알아야 하고 끊임없이 자기주도학습을 해야 합니다.


이 책은 처음 접하는 낯선 용어로 쉽게 좌절할 수도 있는

비전공 입문자에게 정말 쉽게 설명하고 있습니다.

저자는 프로그래밍의 공통된 개념을

많은 그림과 도표, 손코딩 과정의 도식화 등을 통해

각 언어 고유의 문법으로 정의한 용어를 이해할 수 있도록 돕고 있습니다.


책 제목의 “with 파이썬”라는 문구로 파이썬 중심의 입문서로 볼 수도 있지만,

저자는 학습자가 프로그래밍적 사고를 하도록 파이썬을 통해 학습자를 이끌어줍니다.


1. 프로그램의 처리 과정을 순서도로 그리는 방법을 예제로 상세히 소개

2. 학습자의 직관적인 이해를 가능하게 하는 단순하고 명쾌한 그림과 도식들

3. 프로그래밍 과정을 도식으로 상세히 설명(학습자가 헷갈릴 수 없음)

4. 완독이라는 고지를 점령할 수 있는 당근만 제공하는 '혼공 학습단' 활동 참여

5. 활용하기 쉬운 학습사이트 (https://hongong.hanbit.co.kr/)


위와 같은 장점들과 더불어,

부담감을 느끼지 않고 모르는 용어들로 겁먹지 않으면서

정말 쉽고 편하게 이 책을 읽을 수 있었다는 것과

간단명료한 용어 정의와 반복 설명이 가장 좋았습니다


『‘나도 프로그래밍을 할 수 있을까?’라고 막연하게 생각할,

입문자 중에서도 더 입문자를 고려해 집필했습니다.』라는

책 서두의 저자 인터뷰 발췌처럼,


프로그래밍 입문자들에게

프로그래밍 언어와 관계없이,

가장 먼저 이 책으로 처음 학습할 것을 추천합니다.


읽어주셔서 감사합니다.

"베타리딩 활동 후 책을 제공받아 작성한 서평입니다."


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
혼자 공부하는 자바 - 1:1 과외하듯 배우는 프로그래밍 자습서, 개정판 혼자 공부하는 시리즈
신용권 지음 / 한빛미디어 / 2024년 2월
평점 :
장바구니담기


자바를 처음 학습했던 책은

비전공자인 저에게 불친절한 책이었습니다.

제2외국어도 아닌, 생각조차 하지 않았던 제3외국어 수준으로,

눈으로 즉시 결과를 확인할 수 있는 프런트엔드와는 다르게 정말 배우기 어려워

이 책 저 책 사이를 유랑하며 제대로 완독을 한 책이 한 권도 없었고, 한없이 작아지기만 했었습니다.

그러다 혼공학습단이 있다는 것을 알게 되어 이 책을 구매하고

첫 번째 혼공학습단 8기 활동에서 처음으로 자바 책을 완독할 수 있었고,

업무를 하면서 옆에 두고 계속 찾아볼 수 있는 사전과 같은 역할을 하는 책이 되었습니다.

이 책 1회 완독으로 자바를 완전히 다 알 수는 없지만,

계속 반복해서 볼수록 이전에 보지 못했던 것들을 이해하게 됩니다.

이 책의 대표적인 장점은,

1) 개정판 출간에 맞춰 새롭게 업로드되는 저자의 Youtube 직강

2) 부족한 의지를 이겨내고 완독할 수 있는 혼공학습단 활동(연 2회)

3) 자신만의 노트를 완성할 수 있는 혼공 용어 노트

4) 최신 자바의 기능을 확인할 수 있는 부록

5) 저자의 배려가 느껴지는 손코딩 예제 속의 수많은 주석

이라고 생각합니다. 이러한 장점만으로도

이 책이 자바 입문자에게 최적의 학습 파트너가 되기에 추천합니다.

그리고 이 책을 어느 정도 소화했다고 느껴진다면

저자의 다른 역작인 "이것이 자바다"(2022년 8월 출간된 개정판)도

"혼자 공부하는 자바"와 더불어 자바 학습의 훌륭한 가이드가 되어줄 것입니다.

무엇보다도 이 책을 저의 아이에게 추천할 수 있었다는 것이 가장 의미가 있었습니다.


읽어주셔서 감사합니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
혼자 공부하는 C 언어 - 1:1 과외하듯 배우는 프로그래밍 자습서, 개정판 혼자 공부하는 시리즈
서현우 지음 / 한빛미디어 / 2023년 5월
평점 :
장바구니담기


혼공학습단 11기 회고를 작성하기 위해,

지난 활동을 되짚어 봤다.

혼공학습단 08기 ( 2022-07 ~ 2022-08 ) : 「혼자 공부하는 자바」

혼공학습단 09기 ( 2023-01 ~ 2023-02 ) : 「혼자 공부하는 SQL」

혼공학습단 10기 ( 2023-07 ~ 2023-08 ) : 「혼자 공부하는 파이썬」, 「혼자 공부하는 자바스크립트」

혼공학습단 11기 ( 2024-01 ~ 2024-02 ) : 「혼자 공부하는 C언어」

여유없이 바짝 긴장한 채로 정신없이 지금까지 계속...

2권의 책을 신청해서 한 적도 있고,

처음 접하는 언어도 있(었)다.

혼공족들의 학습 인증 글들을 보면,

점점 많아지는 혼공단 신청 인원 수 만큼이나

어마어마한 내용 정리 글과 단순 명쾌한 미션 활동과 정리 글들을 보면서

모르는 것에 대한 막연함, 두려움과 걱정으로

양적인 면에 집착하는 방식을 고민해보고,

올 여름에 이어질 다음 회차의 혼공학습단에서

학습의 방법과 방향성을 다시 생각해 보게 되었다.

혼공단 활동을 하면서 가장 놀라는 것은

매 기수마다 그 많은 글을 다 읽고

위트있고, 따뜻한 격려글을 작성해주는 혼공족장님,

이분 덕분에 그나마 활동을 끝까지 할 수 있게 되었다.

남아있는 C언어 2부를 끝내야 하는데,

어려운 부분이어서 진도가 나가질 못하는데,

매일 정해진 시간만큼 계속 하면 1회 완독은 하겠지


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
사이버 보안의 공격과 방어 - 실시간 해킹으로부터 조직을 보호하는 첨단 기술과 대응책
댄 보저스 지음, 최만균 옮김 / 제이펍 / 2024년 1월
평점 :
장바구니담기


저자는 컴퓨터 네트워크라는 무대에서 대립하는 두 진영이

가장 잘 싸울 수 있는 방법에 대한 이야기로 글을 시작합니다.

실제로 발생가능한 국가 간의 전쟁 시나리오를

사이버 공간에서 벌어지는 전쟁 게임이라는 무대에서 실행할 때 필요한 이론들과 원칙,

그리고 전투 준비부터 대결의 과정 및 전투 이후의 과정에서 양측이 수행해야 하는 것들을

공격 관점, 방어 관점에서 자세히 알려줍니다.

전쟁 게임의 전략 수행에서 활용하게 되면

우위를 차지할 수 있는 사이버 전쟁의 원칙들을 설명하는 부분에서,

컴퓨터 시스템의 인간적인 측면을 간과하지 말 것을 당부하고 있습니다.

결국 공격과 방어의 주체는 인간이기에,

주체가 합리적인 판단과 준비를 할 수 있도록 저자가

여러 가지 측면까지 확장해서 설명하는 부분은

나무가 아닌 숲을 조망하는 방법을 상세히 알려주는 것 같아

특정 사항에 함몰되는 것을 예방할 수 있도록 이끄는 것 같습니다.

처음 보는 낯선 용어들과 내용들로 인해 일견 전문가만을 위한 책으로 보이지만,

상당한 양의 설명과 각 챕터의 마지막에 있는 참고 문헌들로 인해 저와 같은 초보자들도

내용을 이해할 수 있다고 생각합니다. 또한 개발자들이 피할 수 없는 보안과 관련지어 생각할 여지를 주는 것 같습니다.

읽어주셔서 감사합니다.

<출판사로부터 책을 제공받아 서평을 작성하였습니다>


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo