처음 처음 | 이전 이전 | 11 |다음 다음 | 마지막 마지막
코딩 뇌를 깨우는 파이썬 - 문제 해결 능력을 키우는 컴퓨팅 사고부터 알고리즘, 데이터 분석, 머신러닝까지
존 V. 구태그 지음, 박해선 옮김 / 한빛미디어 / 2023년 8월
평점 :
장바구니담기


파이썬 교재 정도로 생각 했다. 기본 이론과 실습 정도를 다루고 있다고..

그렇게 이책을 읽기 시작했다.


1~3부(1~11장) 까지는 가볍게 Reading 하고 있다.

그런데 읽을수록 기존 다른 교재와 조금 다르다.

실습 문제가 없어서 그런가..뇌풀기 문제가 있긴 한데..

그냥 머릿속으로 어떻게 난 풀것인가를 생각하며 그렇게.. 쉽게 쉽게 페이지를 넘겼다.

그냥 프로그램의 기본 과정이다. 그러나 일반적인 프로그램을 설명하고 있지 않다.

​

말이 이상한가?? 무엇인가 다르다는 것을 느끼지만 구체적이지 않았다.

통상 구문을 알려 주고 예제 코드로 적용되는 내용을 설명하고 그리고 실습하고.. 음.. 그러니깐 툴의 사용 설명서를 보는 느낌이였다면..이 책은 왜(Why),어떻게(HOW) 느낌이 들어 있다.....

​



특히 4부로 가면서 용어가 주는 불편함이 있었다.

11장의 알고리즘 복잡도... 복잡도, 점금표기법, 상수복잡도, 로그복잡도, 선형복잡도.. 해시테이블..

12장의 알고리즘과 데이터 구조.검색알고리즘(선형, 이진, 재귀를 사용한 이진.) 정렬 알고리즘(선택, 합병) 해시 테이블(해시함수, 딕셔너리)

13장 그래프 출력과 클래스....

글쎼 처음 접하는 사람이 이 부분에 대한 이해가 될지? 개념적이면서 구체적이지 않다...

특히 14장,15장, 16장은 머릿속으로 이해는 되지만 구현에 대한 망설임이 있을만큼 음....어려워지는데..


16장 까지 Reading 하고서...어렵다는 것보다.. 이게 이렇게 구현이 되는구나, 프로그램의 언어의 스킬이 아니라 프로그램 언어로 이런걸 할 수 있구나..라고 생각이 든다.

이 책의 의도가 조금은 느껴지지만..... 아~~...글로 표현하지 못하는 답답함이 생기는 순간이다.

여전히 6부와 7부도 확률과 분포, 유이성 검증등의 개념을 프로그래밍적으로 구현해 놓은 것을 볼 수 있다.

여전히 내용을 어렵지만...이제 조금 그 의도를 알수 있을것만 같은데....

​

이 책을 모두 읽은 뒤 ... 내가 내린 결론은 적어도 이 책은 파이썬이라는 프로그램 언어를 학습하기 위한 책이 아니다. 우리 주변에서 있을 수 있는 여러가지 현실을 프로그램으로 표현하는 방법을 그냥 파이썬으로 구현한 것 뿐이다. 곰곰히 생각해 보면 우리는 어떤 결과를 만들기 위해 만들어져 있는 함수(알고리즘)를 활용한다. 그 함수나 알고리즘이 어떻게 처리 되는지에 대해선 글쎄 고민하지 않는다. 입력이 있고 그에 따른 결과 출력이 어떻다는 것만 이해하면 된다. 알듯 말듯 ... 결론은 이렇다.

우리가 현재 생활하면서 필요로하는 무언가 있다면, 그걸 구현하기 위해 어떻게 사고를 해야 하는지 그방법을 제시하는것 같다. -머릿 속에 내용을 글로 표현하는게 이렇게 어려울 수가....-

​

굳이 개발자 아니여도 괜챤다. 프로그래밍 언어를 몰라도 괜챦다.프로그램이 어떻게 적용되는지, 현실에 내용이 어떻게 프로그램으로 반영이 되는지.. 이런 부분이 궁금한 분들도..프로그래밍에 관심이 있는 누구든..이 책을 읽어보길 권한다.


​



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
l 공유하기 l 북마크하기찜하기 lthankstoThanksTo
 
 
 
전문가를 위한 C++ - C++20, 병렬 알고리즘, 파일시스템, 제네릭 람다, 디자인 패턴, 객체지향의 원리를 익히는 확실한 방법, 개정5판
마크 그레고리 지음, 남기혁 옮김 / 한빛미디어 / 2023년 3월
평점 :
장바구니담기



내용과 분량 때문에..이렇게 두꺼운 책은 보통 분철을 하는데.. 프로그래밍책들은 절대 분철하지 않는다.

 

C++를 처음 학습을 한것은 아마도 대학 시절~~~강산이 3번이나 변했을만큼 오래 전이지만.. 여전히 내 방 책장엔 오래된 #C,#C++ 책들과 최근에 구입한 C,C++ 책들이 한칸을 차지하고 있다.둘째가 프로그래밍에 관심을 보여 C,C++를 추천하다보니 최근에도 몇권을 구입하게 되었지만....글쎄 요즘 학생들은 파이쎤과 JAVA가 아니면 거들 떠 보지도 않는 것 같은 현실이다. 이왕이면 C++를 추천하지만 강요하긴 싫다.


주로 구입한 책은 보면 프로그래밍 언어에 대한 문법과 같은 기초를 시작으로 

실습형 예제 코드 그리고 최종 간단한 프로젝트 위주로 대부분 이루어져 있다.

책을 받고 잠시 고민했다. 이 책을 어떻게 소개해야 할까? 내용도 보기 전에 걱정부터 앞선다. 

그냥 막연한 느낌은 우선 개발자 여야 한다. 

그리고 기본적인 C++ 문법과 컴파일러와 같은 개발툴에 대한 이해도 있어야 되고 자료구조의 개념도 알고 있어야..... 

그렇게 책을 펼쳤다.

 

"전문가를 위한 C++ " 개정5판이다. 이 책에서 소개하는 대상이 되는 독자.......

그리고 바로 이어서 이 책에서 다루는 내용이 소개된다.
코드 품질 향상과 프로그래밍 효율, C++ 프로그래밍 기법 소개... 방법론, 디자인 패턴, 프로그래밍 스타일...그리고 C++20 에 추가된 기능에 대한 소개......단순히 C++를 아는 프로그래머가 아닌 전문 C++ 프로그래머.....

 

우선 C++를 활용한 개발 경험이 있으면 ... "Part1. 전문가를 향항 C++ 첫걸음" 파트는 가볍게 Reading 하기를 추천한다. 경험이 없다면 이 책을 보기 전 기초가 되는 C++ 이 있다면 한번 정도 보고 Part1.을 Reading 하기를 추천한다.

아~ 글이 자꾸 꼬이는데..적어도 Part1.은 아주 친절하게 자세히 C++에 대한 소개를 하는 책은 아니다. 난이도가 있는 책이다. 라고 생각하면 될 것 같다.

 

 

"Part2. 전문가다운 C++ 소프트웨어 설계방법" 프로그램 설계에 대한 중요성과 정의 고려사항등을 다루면서 객체지향 설계, 클래스, 상속, 다형성, 추상화와 재사용성 대한 내용과 라이브러리.. 사실 Part2를 Reading이 어렵다. 항상 예시로 설명하는 Animal은 이해가 되지만, 처음 개발에 적용할 때는 어떻게 해야하는건지..맞는 방법인지? 어쩌란 건지?  하지만 정말 중요하기에 멈추지 말고 Readign 하다 보면...2후반부에 "체스 프로그램 설계"를 예시를 통해 조금 이해할 수 있을 것이다. 

 

 

"Part3. 전문가답게 C++ 코딩하기", "Part4. 고급 기능 마스터하기" 이 책의 다루고자하는 주제이다. 전문가를 위한 C++ 다른 Part보다 이 Part를 이해하려면 C++ 프로젝트에 대한 이해가 있어야 된다. 적어도 프로젝트 경험이 있는 개발자....여야 하지 않을까...라고 생각했다...

아주 오래 된 사진을 꺼내보면서 사진속에서 추억을 되살리는 기분이 들었다.

무작정 코딩만 하던 시절이 있었다. 객체 지향설계, 클래스 설계, 메모리 관리, 알고리즘의 내용이 중요한게 아니였다.

개발 일정 대로 결과가 나오는 것이 더 중요했던..... 그런 개발 경험이 있었기에 ..

Part3. 전문가답게 코딩하기라는 주제처럼 오래전 Source 코드를 보면 부끄러울데가 많다. 전혀 전문가 적이지 못했던 그런 시절이 있었다.

 뜬금없지만 류시화 시인의 "지금 알고 있는것을 그때도 알았더라면" 이라는 시집의 문구가 생각난다.

"Part5. C++ 소프트웨어 공학" 소프트웨어 공학만으로 한 학기 수업으로 했을 만큼 중요한 내용이다.

SW 전공자들은 당연히 학습하는 내용이지만. 

어느 순간.. 코딩 기술이 SW 개발자가 되어버리는 조금 안타까운 현실이라....

이 책에서 감사한 부분이 있다면 바로 소프트웨어 공학을 다루었다는 부분이다. 

불과 10여 페이지 분량이지만 너무 감사한 부분이다. 

요즘 광고에 보면 문과 출신 개발자.. 이런 표현을 볼수 있다. 누구나 개발자가 될수 있다...... 꼭 컴퓨터 공학 전산학을 전공해야만 개발자가 되는 것은 아니다..다만 개발자가 Code가 되지는 않았으면 한다.....

 

 

마지막 "Part6 부록.." 특히 "부록 A. C++ 면접 예상 질문" 빵 터졌따. 

음...면접 예상 질문이라... 20년 전 첫 면접도 생각나고, 

면접관으로 면접을 봤던것도 생각나고.. 중소기업이라 기술적인 내용보다.

 "오래 오래 다닐 수 있죠?"라는 말이 너무나도 웃겼던... 

"부록 A. C++ 면접 예상 질문"은 이 한 권의 책을 요약 정리해 놓은것이다. 

가만히 생각해보니 전문가를 위한 책이니 음...당연히 이정도는 알아야 되는가...싶기도 하다. 질문을 보며 몇가지 답을 해 본다. 솔직히 말하는게 더 어렵다.


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


​

2023년 8월 22일(화) 대구 시내에 약속이 있어 나갔다. 

약속시간이 많이 남아 오랬만에 서점에 들러 시간을 떼우기로 한다.  

그렇게 찾아간 대구 교보문고 서점 2층 C언어가 빼곡히 모인 곳에 한눈에 확 띄었다. "찰칵.."



댓글(0) 먼댓글(0) 좋아요(1)
좋아요
l 공유하기 l 북마크하기찜하기 lthankstoThanksTo
 
 
 
마이크로서비스 아키텍처 구축 - 대용량 시스템의 효율적인 분산 설계 기법 | MSA 핵심 용어집 수록, 설계/아키텍처 분야 아마존 베스트셀러, 전면 개정판 ㅣ O'reilly 오라일리 (한빛미디어)
샘 뉴먼 지음, 정성권 옮김 / 한빛미디어 / 2023년 6월
평점 :
장바구니담기






댓글(0) 먼댓글(0) 좋아요(0)
좋아요
l 공유하기 l 북마크하기찜하기 lthankstoThanksTo
 
 
 
처음 처음 | 이전 이전 | 11 |다음 다음 | 마지막 마지막