커리어 스킬업 파이썬 업무 자동화 - 일잘러를 위한 파이썬 기초와 웹 크롤링 강의
손원준 지음 / 길벗 / 2024년 6월
평점 :
장바구니담기


[북리뷰-IT] 커리어 스킬업 파이썬 업무자동화 (길벗, 2024)

혹시 반복적인 업무에 지쳐버린 적이 있나요? 

보고서 작성, 데이터 정리, 이메일 발송...

지루하고 시간 낭비처럼 느껴지는 이런 업무들을 파이썬으로 자동화한다면 어떨까요?

"커리어 스킬업 파이썬 업무 자동화"는 파이썬 초보자부터 실무자까지

누구나 쉽게 이해하고 활용할 수 있도록

업무 자동화의 세계를 안내하는 최고의 지침서입니다. ^^




이 책은 파이썬 기초부터 크롤링, API 활용, 엑셀 자동화까지

업무 자동화에 필요한 모든 것을 단계별로 학습할 수 있도록 구성되어 있습니다.


업무가 아니더라도 평소 음원/무비 차트 또는 뉴스기사에 관심이 많거나

유튜브, SNS를 자주 사용하는 친구들이 활용할 수 있는 자동화 기술이 많이 들어 있네요 ^O^

 

실제로 사용할 수 있는 다양한 예제 코드와 함께,

독자들이 직접 따라 해볼 수 있도록 꼼꼼하게 안내하고 있습니다.

특히, 초보자들을 위한 친절한 설명과 시각 자료

어려운 개념을 쉽게 이해하도록 도와주네요.



이 책의 구성

이 책은 총 3개의 파트로 구성되어 있으며, 각 파트는 다시 여러 장으로 나뉘어 있습니다.

  • 파트 1: 파이썬 기초 (기본 입출력, 자료형, 제어문, 함수, 모듈 등)
  • 파트 2: 파이썬 크롤링 (크롤링 기초, 실무 활용, 까다로운 사이트 대처방법, API 활용 등)
  • 파트 3: 파이썬 업무 자동화 (자동화 프로그램 제작, 이메일 자동화, 엑셀 자동화 등)

각 장은 이론적인 설명과 함께 실습 과제가 포함되어 있어

학습 효과를 높일 수 있도록 구성되어 있습니다.

또한, 독자들의 이해를 돕기 위해 다양한 도표, 그림, 코드 예시가 제공됩니다.




이 책의 장점

  • 파이썬 기초부터 업무 자동화까지 체계적인 학습
    • 이 책은 파이썬을 처음 배우는 독자들을 위해 기초부터 단계별로 학습할 수 있도록 구성되어 있습니다.
    • 이미 파이썬 기초를 알고 있는 독자라도 크롤링, API 활용, 엑셀 자동화 등 업무 자동화에 필요한 실무적인 내용을 집중적으로 학습할 수 있습니다.

  • 실제 활용 가능한 다양한 예제 코드와 기술
    • 웹 스크래핑, 데이터 수집, 자동화 프로그램 제작 등 다양한 실무 예제를 통해 실제 업무에 활용 가능한 실질적인 기술을 익힐 수 있습니다.
    • 각 예제는 단순히 코드를 보여주는 것을 넘어, 실제 상황에 맞는 문제 해결 방법을 제시하며, 독자 스스로 문제를 해결하고 응용할 수 있도록 도와 프로그래밍 능력 또한 키울수 있습니다.
    • 저자의 풍부한 경험을 바탕으로 업무 자동화를 위한 알찬 팁과 노하우를 공유하고 있고, 실제 개발 과정에서 발생하는 문제 해결 방법과 코드 최적화 방법 등을 알려줍니다.


  • 초보자를 위한 친절한 설명과 시각 자료
    • 어려운 개념들을 쉽게 이해할 수 있도록 친절하고 명확한 설명과 다양한 시각 자료가 제공됩니다.
    • 특히, 코딩 경험이 없는 독자들을 위한 추가 설명은 학습 과정을 보다 쉽게 해줍니다.



개인 경험과 전반적인 평가

스크래핑 기술은 한 때, 핀테크와 금융사의 각종 비대면 금융서비스에서

고객이 수많은 서류를 직접 제출할 필요가 없도록 만들었던 편리한 기술이었죠.

하지만 2021년 금융위는 스크래핑 방식의 취약성을 보완할 수 있도록

정보수집 과정을 전반적으로 정비하면서 마이데이터 사업에서는 스크래핑을 금지하고

API 연계방식으로 바꾸도록 했습니다.

개인적으로 파이썬에 흥미를 가졌던 이유 중의 하나는 스크래핑과 비슷한 웹크롤링 였습니다.

음원차트를 수집하고, 뉴스 기사 제목을 수집하고,

관심 물품에 대한 가격정보를 텔레그램을 알림받고..

업무자동화는 아니지만, 취미 생활에서 수작업으로는 불편한 것들을

하나씩 자동화하는 보람이 있었습니다.

힘들게 구글링하며 알아왔던 이런 모든 것들이 이 책에 다 담겨서 나왔네요.


파이썬 경험이 없는 독자도 이 책만 보고 쉽게 따라할 수 있습니다.

생각보다 복잡한 코드도 없고,

코드마다 저자가 설명을 너무 자세히 써주셔서 쉽게 이해할 수 있을꺼 같습니다.

업무적으로든 취미로든 파이썬을 이용한 자동화를 해보고 싶다면 이 책을 추천합니다. ^^

  

#파이썬  #업무자동화  #프로그래밍  #코딩  #초보자  #자동화프로그램  #크롤링 

#API  #엑셀자동화  #이메일자동화  #데이터수집  #효율성  #생산성  #시간절약 

#일잘러  #추천

출처: https://nunbu.tistory.com/405 [눈부셔™의 금융과 IT:티스토리]



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
보고 혁명 : 현직 팀장들이 검증하는 실무 보고서 작성법
이성윤 지음 / 한빛미디어 / 2024년 6월
평점 :
장바구니담기


[북리뷰-자기계발] 보고혁명 (한빛미디어, 2024)


회사에서 보고서 작성으로 어려움을 겪고 계신가요? 

보고서 작성 때문에 밤샘을 해본 적이 있나요?

보고서를 작성하고 나서 상사로부터 칭찬을 한 번도 들어본 적이 없나요? 

보고서를 잘 작성해야 한다는 부담감에 스트레스를 받으신 적이 있으신가요? 


이 책을 읽으면 이제 그럴 필요가 없습니다!

"보고 혁명: 현직 팀장들이 검증하는 실무 보고서 작성법"은 

이러한 고민을 해결해줄 실무 중심의 보고서 작성 지침서이니까요 ^^



이 책은 약 14년의 대기업·중견기업 경험을 가진 저자와

국내외 최고 기업 일잘러 팀장 20명의 실무 경험을 바탕으로 작성된 보고서 작성 지침서입니다.

팀장들이 진짜 원하는 보고서 작성법을 알려주고,

실무 상황별 보고서 작성법잘 쓴 보고서의 특징보고서 구성 기술,

1페이지 보고서 및 기획서 작성법구두 보고 방법 등을 체계적으로 다룹니다.


 

보고혁명의 장점


  • 실무 중심의 내용 : 이 책은 현직 팀장들의 인터뷰와 설문조사를 통해 실제로 팀장들이 원하는 보고서 작성 방식을 파악하여 구성되었습니다. 따라서 책에 제시된 내용은 실무에 바로 적용할 수 있는 실용적인 가치가 높습니다.


  • 구체적인 예시 : 책에는 각 보고 유형별 실제 보고서 예시와 함께 작성 과정을 단계별로 안내하는 내용이 포함되어 있어 독자가 쉽게 이해하고 따라할 수 있도록 도와줍니다.


  • 다양한 유형별 활용 : 보고서 작성의 기본 원칙과 공식을 익힌 후에는 상황/문제 파악 보고서, 검토/의견 보고서, 제안/요청 보고서, 계획/실행 보고서, 완료/결과 보고서, 회의 요약 보고서 등 6가지 유형별 보고서 작성 방법을 단계별로 학습할 수 있습니다.


  • 구성 및 전달 기술 : 보고서의 제목, 서론, 본론, 결론, 첨부 등 각 부분의 구성 방법과 효과적인 전달 기술을 익힐 수 있습니다.


  • 1페이지 보고서 및 기획서 작성법 : 짧은 시간 안에 요점을 전달해야 하는 1페이지 보고서와 기획서 작성 방법도 단계별로 안내합니다.


  • 구두 보고 방법 : 작성된 보고서를 효과적으로 구두로 전달하는 방법까지 꼼꼼하게 다룹니다.



보고혁명의 차별성


시중에는 다양한 보고서 작성법 관련 책들이 출간되어 있지만,

보고혁명은 이 책만의 차별성을 가지고 있습니다. ^^ 


  • 현직 팀장들의 실무 경험 : 다른 책들과 달리, 현직 팀장들의 실제 경험과 인사이트를 바탕으로 작성되었기 때문에 실무에 가장 필요한 내용을 중점적으로 다룹니다.
  • 다양한 보고 유형 : 다양한 보고 유형별 보고 공식 활용법을 다루고, 원 페이지 보고서 및 기획서 작성법, 구두 보고 방법까지 다룬다는 점입니다.
  • 저자만의 보고서 작성 공식 : 보고서 작성 공식 'B2WHEN'과 원칙 '3SMART'는 독자들이 보고서 작성을 체계적으로 학습하는 데 도움이 됩니다.




개인 경험과 전반적인 평가


저는 은행의 IT부서에서 20년간 직장 생활을 하였지만,

사업부서로 처음 옮겼을 때 보고서 작성으로 인해 많은 어려움을 겪었던 기억이 있습니다.

IT부서는 타 부서에 비해 상대적으로 보고 능력을 크게 보지 않았기 때문에,

직장생활은 오래했지만 보고서 작성 훈련이 부족했던 것 같습니다.

보고서를 작성하는 데 많은 시간이 소요되었고, 상사로부터 원하는 결과를 얻지 못하는 경우도 있었습니다.


하지만 이 책을 읽고 'B2WHEN'과 '3SMART'라는 원칙을 배우고 나서 보고서 작성 능력이 크게 향상될 것 같네요.

실전에서 많은 연습이 필요하겠지만, 

그래도 이제는 보고서 작성에 대한 두려움 없이 자신감 있게 보고서를 작성할 수 있을 것 같습니다. ^^


"보고 혁명: 현직 팀장들이 검증하는 실무 보고서 작성법"은 

보고서 작성 능력을 향상시키고 싶은 모든 직장인에게 필수적인 책입니다. 

이 책을 통해 누구나 효과적이고 설득력 있는 보고서를 작성할 수 있을 것입니다. 

저는 이 책을 모든 직장인에게 강력 추천합니다.



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



#보고서  #보고서작성  #실무보고서  #실무팁  #핵심기술  #B2WHEN  #3SMART  #1페이지보고서  #기획서  #구두보고서  #워라밸  #인정받기  #팀장교육 #한빛미디어  #보고혁명  #이성윤  #보고서작성법



출처 : https://nunbu.tistory.com/404


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
부트캠프 QA 편 - 17년 차 QA가 알려 주는 소프트웨어 테스트 가이드 제로베이스에서 취업까지, 부트캠프
남효진 지음 / 한빛미디어 / 2024년 5월
평점 :
장바구니담기


[북리뷰-IT] 부트캠프 QA편 (한빛미디어, 2024)

금융 IT 업무에서 QA(Quality Assurance, 품질보증)의 필요성은 매우 큽니다.

은행은 24*365 내내 민감한 중요 고객 정보와 회계 거래를 하므로, QA 전략이 필수적입니다.

QA는 고객 경험을 향상시키는데 중요한 역할을 하고,

결함이 없는 상품과 원활한 거래는 고객 만족도를 높이며,

은행의 브랜드 가치를 향상시킵니다.


QA는 프로젝트의 성공과 실패를 결정짓는 중요한 요소이고, 

소프트웨어 개발 생명 주기(SDLC) 전반에 걸쳐 품질 보증 활동이 포함되어야 합니다.

그러나 현실적으로 QA는 제한된 자원과 예산, 개발 일정의 압박,

개발자와의 갈등 등 다양한 어려움에 직면하여 무시되는 경향이 종종 있습니다.


20년간 은행 코어뱅킹에서 나름 시니어 개발자로 다양한 경력이 있지만,

정권이 바뀜에 따라 휘몰아치는 다양한 정책상품 개발..

여러 사업부서에서 동시 다발적으로 요청하는 사업개발들..

개발 일정 압박에, 혹은 번아웃으로 나태해진 내 자신이 만들어낸 코드품질 저하로 생긴 버그들..

QA 프로세스를 무시하거나 준수하지 않는 것은,

결국 업무의 생산성을 저하시키고 품질 보증 작업을 더 어렵게 만들곤 합니다.


이런 저를 리마인드하고, 놓치고 있는 것은 없는지 되돌아 보고자 이 책을 읽게 되었습니다.

한빛미디어에서 출간한 "부트캠프 QA편"은 17년 차 베테랑 테스터인 저자가

풍부한 경험과 노하우를 바탕으로,

QA 입문부터 실무까지 단계별로 체계적으로 안내하는 로드맵을 제공합니다.




개발자를 위한 QA 입문, 친숙하면서도 새롭다

책은 소프트웨어 테스팅의 개념부터 다양한 테스트 기법,

실무 프로세스까지 차근차근 다루면서, 개발자에게 이미 익숙한 개념들과 연관지어 설명합니다.

특히, API 테스트, 클라이언트 성능 테스트, 자동화 테스트 등 개발 과정에서

직접 경험했던 테스트 활동들을 QA 관점에서 재해석하여 이해를 돕습니다.

마치 개발자가 만나는 새로운 도전처럼,

QA 세계에 대한 호기심을 자극하고 자연스럽게 몰입할 수 있도록 구성되어 있습니다.


책은 4주 동안 6개의 강의로 구성되어 있어 체계적으로 학습할 수 있습니다.

각 강의는 소프트웨어 테스팅의 기본 개념부터 실무에 활용 가능한 다양한 테스트 기법과

프로세스까지 단계별로 학습할 수 있도록 구성되어 있습니다.



 

바로 활용 가능한 명확하고 실용적인 QA 지식

책은 단순한 개념 정의에 그치지 않고,

실제 테스트 시나리오와 함께 명확하고 구체적인 예시를 제시합니다.

또한, 각 단계별로 수행해야 할 업무와 주의점을 꼼꼼하게 설명하여,

독자가 직접 테스트를 수행하고 경험할 수 있도록 돕습니다.

특히, 버그 관리, 테스트 결과 분석, 문서 작성 등 실무에 바로 활용 가능한

실질적인 지식들을 풍부하게 제공하여,

개발자 배경의 독자들이 QA 업무에 신속하게 적응할 수 있도록 지원합니다.


 

개발자의 눈높이에 맞춘 차별화된 접근

첫째, 개발 배경의 독자들을 위한 전략적 테스트 설계 기법을 제시합니다.

이는 단순히 테스트 케이스를 만드는 것을 넘어, 개발 프로세스를 이해하고 분석하여

효과적인 테스트 전략을 수립하는 데 필요한 역량을 키울 수 있도록 돕습니다.


둘째, API, 자동화 테스트 등 개발자들이 이미 익숙한 기술들을 활용한

QA 실무 기법을 중점적으로 다룹니다.

이를 통해 개발 경력을 최대한 살려 QA 분야로 전환하고자 하는 독자들에게

실질적인 가치를 제공합니다.


셋째, 폭포수 모델과 애자일 모델 기반 QA 프로세스를 비교 분석하여,

다양한 개발 환경에 맞는 테스트 프로세스를 이해하고 적용할 수 있도록 돕습니다.




 QA 도전을 위한 로드맵 마련

금융감독원은 금융 시장의 안정성을 유지하고,

시장 투명성과 공정성을 강화하는 역할을 수행할 뿐만 아니라,

QA의 중요성을 강조하며,

이를 통해 금융기관들이 장애없이 소비자가 안전하게 거래할 수 있도록 감독하고 있습니다.

금융권에 IT개발자로 혹은 QA로 취업을 하고 준비하고 계신 분들이라면,

이 책을 통해 소프트웨어 테스팅의 기본 개념부터 다양한 테스트 기법,

실무 프로세스까지 체계적으로 학습할 수 있고,

QA 분야에서 성공적으로 새로운 경력을 시작해도 될만큼 필요한 자신감과

로드맵을 얻을 수 있을 것입니다. ^^



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

 


#IT  #북리뷰  #책  #QA  #소프트웨어테스팅  #API테스트  #자동화테스트  #예외케이스테스트 

#호환성테스트  #앱공전성테스트  #클라이언트테스트 #한빛미디어  #남효진



댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
개발자를 위한 필수 수학 - 기초 수학으로 시작하는 데이터 과학 첫걸음
토마스 닐드 지음, 박해선 옮김 / 한빛미디어 / 2024년 6월
평점 :
장바구니담기


[북리뷰-IT] 개발자를 위한 필수 수학 (한빛미디어, 2024)

국내 은행들은 몇년전부터 디지털화에 큰 투자를 하고 있습니다.

카뱅이나 토스뱅크와 같은 디지털 은행의 등장은 기존 은행들에게 큰 경쟁 압력을 주고 있습니다.

이에 따라, 기존 은행들은 온라인 및 모바일 뱅킹 서비스를 확대하고,

고객 친화적인 앱을 출시하는 등의 노력을 기울이고 있습니다.


인터넷 은행이 등장할 때쯤 빅데이터라는 용어도 자주 등장하게 되었고,

빅데이터 분석을 통해 과거 데이터를 기반으로 미래의 트렌드를 예측하고,

위험을 관리하며 기회를 찾고자 많은 투자를 하고 있습니다.


저 역시도 트렌드에 뒤쳐지지 않기 위해, 몇년전부터 데이터분석에 대한 관심을 갖고 공부하고 있습니다.

20년전 은행에 입사당시 UNISYS 메인프레임에서의 코볼부터 시작해서

JAVA, C언어 등 다양한 언어를 다뤄왔기에, 파이썬은 어렵지 않게 다가왔지만, 

데이터 분석에 대한 공부를 할수록 수학이라는 벽에 부딪치게 되더라구요. 

그래.. 수학 다시 공부해보자!! 하는 의욕이 앞서

"수리통계학 개론"이라는 두꺼운 책을 주문했는데.. 의욕만 앞섰던 걸까요 ㅜㅜ 

몇 페이지 보다가, 잘 읽히지도 않고..지금은 새책 그대로 제 책장에.. ㅎ

비싼책인데 당근에 올려야 하나 고민중입니다. ㅋ

이런 전통적인 수학 서적들은 종종 이론 중심적이고 수학적 표현이 복잡하게 느껴져

저처럼 많은 개발자들을 포기하게 합니다.


데이터분석에 관심은 많지만, 저처럼 수학적 어려움으로 인해 한 발짝 내딛기 힘드십니까?

이젠 걱정하지 마세요! 우리를 위한 책이 나왔습니다 ㅋㅋㅋ

바로 한빛미디어에서 출간한 "개발자를 위한 필수 수학" 입니다.



다루어야 할 핵심 수학 개념, 하나도 빠짐없이!

"개발자를 위한 필수 수학"은 개발자의 입장에서 실용적인 수학 개념만을 핵심적으로 다루어 부담 없이 학습할 수 있도록 구성되어 있습니다. 또한, 파이썬 코드와 실습을 통해 배우는 방식으로 수학을 직접 코드로 구현해보면서 이해도를 높일 수 있도록 도와줍니다.


총 8장과 부록으로 구성되어 있고,

처음 네 개 장에서는 미적분, 확률, 통계, 선형대수학 등 데이터 과학과 머신러닝에 필수적인 수학 개념을,

마지막 세 개장에서는 선형 회귀, 로지스틱 회귀, 신경망과 같은 머신러닝 알고리즘을 이해하는 데 필요한 수학적 기반을 탄탄하게 다져줍니다.

  • 기초 수학과 미적분 : 변수, 함수, 합계, 거듭제곱, 로그, 극한, 미분, 적분 등 기초 수학 개념과 미적분의 기본 원리를 다룹니다.
  • 확률 : 확률의 개념, 확률 계산, 이항 분포, 베타 분포 등을 이해하고 다양한 확률 문제를 해결할 수 있도록 돕습니다.
  • 통계 : 기술 통계와 추론 통계의 개념, 모집단, 표본, 편향, 기술 통계, 추론 통계, t 분포, 빅데이터 고려 사항 등을 다룹니다.
  • 선형대수학 : 벡터, 선형 변환, 행렬 곱셈, 행렬식, 특수 행렬, 연립 방정식과 역행렬, 고유 벡터와 고윳값 등 선형대수학의 핵심 개념들을 깊이 있게 다룹니다.
  • 선형 회귀 : 선형 회귀의 기본 개념, 잔차와 제곱 오차, 최적의 직선 찾기, 과대적합 및 분산, 확률적 경사 하강법, 상관 계수, 통계적 유의성, 결정 계수, 추정 표준 오차, 예측 구간, 훈련/테스트 분할, 다중 선형 회귀 등을 다룹니다.
  • 로지스틱 회귀 : 로지스틱 회귀의 이해, 로지스틱 회귀 수행, 다변수 로지스틱 회귀, 로그 오즈 이해, R2, p 값, 훈련/테스트 분할, 오차 행렬, 베이즈 정리와 분류, ROC 곡선과 AUC, 클래스 불균형 등을 다룹니다.
  • 신경망 : 신경망과 딥러닝의 개념, 간단한 신경망, 역전파, 사이킷런 사용, 신경망과 딥러닝의 한계 등을 다룹니다.






핵심을 쏙쏙 파악하고 실무에 바로 적용하는 완벽한 구성


실용적인 학습 : 모든 수학 개념들은 실제 데이터 과학 문제와 연관지어 설명되고, 실습을 통해 직접 적용해 볼 수 있도록 구성되어 있습니다. 이는 수학적 지식을 실무에 활용하는 능력을 키우는 데 큰 도움이 됩니다.


명확한 정보 전달 : 복잡한 수학적 개념들을 쉽고 이해하기 쉬운 언어로 명확하게 설명하며, 다양한 도표, 그림, 예시를 활용하여 독자들의 이해를 돕습니다.


코드 활용 능력 향상 : 파이썬 코드를 활용한 실습을 통해 데이터 과학에 필요한 코딩 능력을 단계별로 키울 수 있습니다.


워크북 제공 : 별책으로 제공되는 워크북을 통해 배운 내용을 복습하고 실력을 점검할 수 있습니다.



"개발자를 위한 필수 수학"은 데이터 과학 분야에 진출하기 위한 필수 도서입니다.

수학적 배경이 부족하여 또는 수학적 어려움으로 인해 데이터 과학을 꿈꾸는 것을 포기하지 마세요.

이 책을 통한다면, 누구나 수학과 통계에 대해 조금 더 편안하게 이야기하고, 필요한 지식을 얻을 수 있을 것 같습니다. ^^



"한빛미디어에서 제공하여 작성한 서평입니다."

  

출처 : https://nunbu.tistory.com/383

#IT  #북리뷰  #책  #데이터과학  #데이터분석  #수학  #필수수학  #머신러닝  #인공지능  #기초수학  #미적분  #확률  #통계  #선형대수학  #선형회귀  #로지스틱회귀  #신경망  #한빛미디어  #토머스닐드  #박해선



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
더 나은 프로그래머 되는 법 - 지금 바로 실천할 수 있는 선배 개발자의 39가지 노하우 / 국내 개발자 8인 인터뷰 수록
피트 구들리프 지음, 최원재 외 옮김 / 한빛미디어 / 2024년 4월
평점 :
장바구니담기


[북리뷰-IT] 더 나은 프로그래머 되는 법 (한빛미디어, 2024)

저는 은행 IT 부서에서 20년 이상 개발자로 일하며 다양한 프로젝트를 진행해 온 경험을 가지고 있습니다. 

끊임없는 변화와 발전을 추구하며 전문성을 다져왔고, 현재는 은행 코어뱅킹 시스템의 핵심 개발을 담당하고 있습니다.


이번에 한빛미디어에서 출판된 "더 나은 프로그래머 되는 법"이라는 책을 읽을 수 있었던 소중한 기회를 얻었고,

현재의 나를 다시 한번 리마인드하며 놓치고 있던 부분들을 채워주는 좋은 계기가 되었습니다.


이 책은 Pete Goodliffe의 원서 "Becoming a Better Programmer"의 개정판으로,

15년 경력을 가진 개발자가 다양한 분야에서 쌓은  풍부한 경험과 지식을 바탕으로 실용적인 조언들이 가득 담겨 있습니다.





책의 주요 내용

"더 나은 프로그래머 되는 법"은 개발자로써 바로 실천할 수 있는 39가지 노하우를 크게 5파트로 소개하고 있고,

구글, 마이크로소프트, 토스 등 국내 개발자 8인의 이야기도 수록되어 있습니다.


각 장은 간단하고 완결된 하나의 주제를 다루므로, 원하는 장부터 선택해서 읽어도 전혀 무리가 없습니다.

또한 프로그래머가 개발하면서 겪을 수 있는 다양한 주제를 다루고 있고, 나아가야 할 방향을 제시하고 있어 큰 도움을 얻을 수 있습니다.

각 장별로 생각나는 몇가지를 적어봅니다.


PART 1 you.write(code)

  • 1장 코드에 신경 쓰기
    • 좋은 코드를 작성하려면 코드에 신경을 써야하고, 훌륭한 프로그래머가 되려면 시간과 노력을 투자해야 합니다.
    • 다른 동료들이 쉽게 파악하고 이해할 수 있도록 의도가 드러나는 코드를 작성해야 하며, 유지보수가 가능하고 정확해야 합니다.
  • 2장 정돈된 코드 유지하기
    • 자신만의 코드 레이아웃을 만드는 올바른 방법을 익혀야 합니다.
    • 불필요한 아스키 아트는 동료의 유지보수를 힘들게 합니다.
    • 깔끔하게 코딩을 하고 싶다면, 먼저 생각부터 깔끔하게 정리해야 합니다.
    • 기능 변경과 모양 변경을 동시에 하지 말아야 합니다. 
  • 3장 코드 적게 쓰기
    • 중복된 코드는 공통 함수로 만들고, 일부 다른것이 있다면 매개변수를 달리해서 사용해야 합니다.
    • 공통 라이브러리의 사용은 코드 작성 시간을 절약해줄 뿐만 아니라 잠재적 결점으로부터 작성자를 보호해줍니다.
    • 주석 처리로 코드를 제거하지말고, 확실하게 지우세요. 형상관리로 언제든지 복원가능하니까요.
    • 변수의 선언 부분과 정의 부분을 같은 위치에 써야, 코드 이해에 대한 노력을 최소화 합니다.
  • 4장 코드 줄여 개선하기
    • 코드 리뷰 과정에서 코드를 줄이고 개선할 수 있는 부분을 적극적으로 찾아야 합니다. 코드 중복을 제거하고, 불필요한 조건 분기문을 줄이며, 코드를 단순화해야 합니다.
    • 미래에 필요할지도 모르는 기능이라도 코드를 제거하는 것이 안전합니다.
  • 5장 코드베이스의 망령
    • 오래된 코드를 다시 살펴보는 것은 코딩 기술 등을 향상시키는데 도움을 줍니다.
    • 프레임워크나 RDBMS등 개발환경이나 라이브러리가 버전업 됨에 따라 기존 코딩을 단순화 할 수 있습니다.
  • 6장 경로 탐색하기
    • 코드를 파악하는 가장 좋은 방법은 이미 코드를 파악하고 있는 사람의 도움을 얻는 것입니다.
    • 시스템의 실제 구조는 이상적 설계와 다를 수 있습니다. 문서가 아닌 코드를 믿으세요.
    • 코드를 배우는 가장 좋은 방법은 수정해보는 것입니다. 그런 다음 실수를 통해 배우세요.
  • 7장 똥통에서 뒹굴기
    • 나쁜 코드를 수정하는 데 시간과 노력을 들여야 하는지 신중하게 판단하세요. 지금 그대로 놔두는게 실리적일 수도 있습니다.
    • 수정으로 인해 기존 기능에 문제가 생기지 않음을 보장할 수 있는 모든 수단을 사용해야 합니다. 충분히 세심하게 검토하고 검증해야 합니다.
  • 8장 오류 무시하지 않기
    • 코드에서 발생할 수 있는 모든 오류를 무시하면 안됩니다. 은행 시스템에서 발생하는 오류는 심각한 결과를 초래할 수 있기 때문에 모든 오류를 철저하게 해결해야 합니다. 오류 로그를 분석하고, 오류 재현 시나리오를 작성하고, 오류를 근본적으로 해결해야 합니다. 자꾸 미루다 보면 처리하기 어려워집니다.
  • 9장 예상하지 못한 것을 예상하기
    • 코드 작성 시 가능한 모든 코드 경로를 고려해야 합니다. 나중에 오류나 장애시 대응하려 하지 마세요. 그렇게 할 일을 미루다 보면, 이후 그와 같은 경로 자체가 있음을 잊어버리게 되고 코드는 버그로 가득 찰 것입니다.
  • 10장 버그 사냥하기
    • 테스트하지 않은 코드는 버그의 번식지나 다름없습니다. 테스트는 표백제 역할을 합니다.
    • 은행 시스템은 완벽한 시스템이 아니기 때문에 버그를 찾아 해결하는 능력이 중요합니다. 테스트를 철저히 하고, 코드 리뷰를 통해 버그를 찾고, 정적 분석 도구를 활용하여 버그를 예방해야 합니다.
  • 11장 테스트하기
    • 코드를 작성하면서 테스트를 같이 작성해야 합니다. 테스트 작성을 미루면 그만큼 테스트 효과가 줄어듭니다.
    • 높은 신뢰성을 확보하기 위해 테스트가 필수적입니다. 단위 테스트, 통합 테스트, 시스템 테스트 등 다양한 수준의 테스트를 수행하고, 테스트 자동화 도구를 활용하여 테스트 효율성을 높여야 합니다.
  • 12장 복잡도 다루기
    • 복잡도는 블롭(소프트웨어 컴포넌트)과 라인(컴포넌트 사이의 연결)에서 비롯되기는 하지만, 대부분 기과한 소프트웨어를 만든 사람이 원인입니다. 설계 패턴을 적절하게 활용하고, 코드 모듈화를 통해 시스템 복잡도를 줄여야 합니다.
  • 13장 두 개의 시스템에 대한 이야기
    • 나쁜 구조로 인한 문제는 코드 내부에 한정되지 않습니다. 외부와도 연계되어 개개인과 팀,업무 처리 과정, 일정 산정 모두에 악영향을 미칩니다.
    • 소프트웨어 구조는 불변의 것이 아닙니다. 필요하다면 변경하고, 변경 가능하게 만들려면 구조를 간결하게 유지해야 합니다. 간결성을 빼앗는 변화에 저항하세요.
    • 요구 사항을 파악하기 전까지 구조 설계를 하지 마세요. 추측하지 마세요.


PART 2 연습을 통해 완벽해진다

  • 14장 소프트웨어 개발이란
    • 좋은 소프트웨어 개발은 머리속에 떠오른 첫 번째 코드를 뱉어내는 카우보이식 코딩이 아니다. 신중하고, 심사숙고하며, 정확한 노력의 산물이다.
    • 좋은 프로그래머는 자신이 모든 것을 알지 못한다는 점을 인정하고 겸손한 자세로 일해야 한다.
  • 15장 규칙 가지고 놀기
    • 은행 시스템은 규정과 컴플라이언스를 준수해야 하기 때문에 개발 프로세스에서 규칙을 준수하는 것이 중요합니다. 코딩 규칙, 문서화 규칙, 테스트 규칙 등을 준수하고, 규칙 위반 사항을 발견하면 개선해야 합니다.
    • 모호하게 구두로 전해지는 팀의 규칙에 의존하지 마세요. 무언의 규칙을 명백하게 만들고 코딩 문화를 다스려야 합니다.
  • 16장 간결하게 하기
    • 간결한 코드는 설계하는 데 많은 노력이 필요합니다. 다만 간결한 코드가 곧 과도하게 단순한 코드를 의미하지는 않습니다.
    • 딱 필요한 만큼의 코드만 작성하세요. 무엇이든 추가하는 것은 복잡함이 되고 짐이 될 것입니다.
  • 17장 머리 쓰기
    • 실수를 인정하고 코딩에 있어서의 잘못된 결정을 인정하세요. 그로부터 배우면 됩니다.
    • 용기를 가지고 머리를 사용하세요. 코드를 비판하고 개선할 방법을 결정할 권리가 자신에게 주어졌을을 깨달아야 합니다.
  • 18장 변하지 않는 것은 없다
    • 은행 시스템은 기술 변화에 따라 지속적으로 업데이트되어야 합니다. 새로운 기술을 배우고, 최신 트렌드를 파악하고, 시스템을 개선하기 위한 노력을 지속해야 합니다.
    • 코드 수정에 필요한 것은 무모함이 아니라 용기와 기술입니다.
    • '좋은 코드'는 자신의 책임입니다. 당신에게는 변화와 개선을 일으킬 수 있는 힘이 있습니다.
    • 때때로 광범위하게 코드를 수정하는 것보다는, 자주 조금씩 검증할 수 있는 수정을 하는 편이 더 낫습니다.
    • 자동화된 테스트는 코드 수정에 대한 확신을 심어줄 수 있는 귀중한 안전 도구입니다.
  • 19장 코드 재사용 사례
    • '복사/붙여넣기' 코딩은 지양하세요. 복제된 코드(복제된 버그)로부터 고통받지 말고, 로직을 공통 함수와 공통 라이브러리에 넣으세요.
    • 주의 깊게 조사하지 않은 채 인터넷에서 찾은 코드를 프로젝트에 복사하는 일이 없도록 하세요.
    • 다른 사람의 코드를 무시하지 마세요. 자신의 것보다 이미 존재하는 라이브러리를 사용하는 편이 나을 수도 있습니다.
  • 20장 효과적인 버전 관리
    • 버전 관리 도구를 반드시 사용해야 합니다. 버전관리 도구야 말로 개발의 중추입니다. Git, SVN 등 버전 관리 시스템을 활용하고, 버전 관리 규칙을 준수하며, 코드 변경 사항을 명확하게 기록해야 합니다.
    • 버전 관리 도구에 소프트웨어 프로젝트를 구성하는 모든 파일을 저장해야 하나, 불필요한 파일은 포함하지 마세요.
  • 21장 골키퍼 있다고 골 안 들어가랴
    • 팀간의 의사소통이 건전하지 않으면 코드도 건전해지지 않습니다.
    • QA 배포 버전을 신중하게 만들지 않는 것은 테스터들을 존중하지 않는 것입니다.
    • QA의 오류보고서를 개인적으로 받아들이지 마세요. 개인적 모욕이 아닙니다.
    • 좋은 소프트웨어를 만들려면 QA팀과 건전한 관계를 조성해야 합니다. 품질은 모두의 책임입니다.
  • 22장 프리징된 코드의 신기한 사례
    • '코드 프리징'은 애매한 용어입니다. 아무리 코드가 변하지 않길 바라지만 코드는 반드시 변경되기 마련이니까요.
    • 유일하고 참된 '코드 프리징'은 납득할 만한 출시가 이루어진 시점을 가르킵니다. 이는 곧 코드에 더 이상의 변경이 가해지지 않게 된 시점입니다.
  • 23장 제발 저를 출시해주세요
    • 소프트웨어는 항상 새로운 체크아웃에서 빌드해야 합니다. 기존에 사용하던 빌드의 일부분을 재사용하는 일이 절대 없도록 해야합니다.
    • 최종 결과물을 테스트하지 않았다면 출시해서는 안됩니다.
    • 은행 시스템은 엄격한 출시 프로세스를 거쳐야 합니다. 출시 전 테스트를 철저히 수행하고, 출시 일정을 계획하고, 출시 후 시스템을 모니터링해야 합니다.

PART 3 개인적인 일로 받아들이기

  • 24장 배움을 사랑하며 살기
    • 은행 IT 개발자는 지속적인 학습을 통해 전문성을 발전시켜야 합니다. 새로운 기술을 배우고, 개발 관련 서적을 읽고, 컨퍼런스에 참여하여 지식을 쌓아야 합니다. 배움을 즐기는 것을 배워라!
    • 목적을 가지고 자신만의 지식 포트폴리오를 관리하세요.
    • 어떤 주제를 잘 배우기 위해 남에게 가르쳐보세요.
  • 25장 테스트 주도 개발자
    • 자신의 머리로 코드에 항상 집중하고, 어이없고 위험성 높은 오류를 파하도록 해야합니다.
    • 은행 시스템 개발에서 테스트 주도 개발(TDD)은 중요한 방법론입니다. TDD를 통해 테스트 케이스를 먼저 작성하고, 테스트 케이스를 통과하는 코드를 개발하여 코드 품질을 높일 수 있습니다.
  • 26장 도전 즐기기
    • 새로운 기술에 도전하고, 어려운 문제를 해결하고, 끊임없이 노력하여 전문성을 발전시켜야 합니다.
    • 다른 플랫폼이나 패러다임을 무시하지 마세요. 자신이 알고 있는 것을 다시 작성하도록 노력하고 다른 플랫폼이나 다른 종류의 프로그래밍 언어를 사랑하세요. 결과를 비교하고 차이를 확인해보세요. 
  • 27장 부진 피하기
    • 기술 향상을 위해 시간과 노력을 투자하세요. 가치 있는 투자이고 보답을 받게 될 것입니다.
    • 지속적인 동기 부여를 유지해야 합니다. 목표를 설정하고, 성과를 평가하고, 긍정적인 태도를 유지하여 지속적인 성장을 이끌어낼 수 있습니다.
  • 28장 윤리적인 프로그래머
    • 읽을 수 없거나 불필요하게 '뛰어난' 코드를 작성하는 방법으로 자신이 없어서는 안 될 사람이라는 것을 부각시키지 마세요. 
    • 대접 받고 싶은 대로 대접하세요.
    • 피곤에 절은 프로그래머는 누구에게도 쓸모가 없습니다. 초과 작업을 하지 마세요. 자신의 한계를 인정하세요.
  • 29장 언어에 대한 사랑
    • 훌륭한 프로그래머들은 다양한 언어와 방법론을 알고 있는 만큼 문제 해결의 범위가 넓습니다. 이는 좋은 코드를 작성하는데 도움이 됩니다.
    • 자신의 언어를 사랑하고, 즐길 수 있는 언어로 작업하세요.
    • 하루아침에 언어를 마스터하려 하지 말고, 작업하는 동안 좌절하지 마세요.
  • 30장 프로그래머의 자세
    • 자신을 돌보며, 일하면서 좋은 자세를 유지하세요.

PART 4  일 끝내기

  • 31장 '더 열심히'보다는 '더 현명하게'
    • 직접 만들기보다는 이미 있는 코드를 현명하게 재사용하세요. 더 중요한 일에 시간을 투자하세요.
    • 우선순위가 가장 높은 일에 집중하세요. 가장 긴급한 작업 혹은 가장 가치가 높은 작업은 무엇입니까?
    • 특정 작업을 자주 해야 할 경우 컴퓨터가 대신하도록 스크립트를 자동화하세요.
    • 개발자는 효율적인 업무 방식을 가지고 일해야 합니다. 시간 관리, 우선순위 설정, 집중력 향상 등을 통해 업무 효율성을 높여야 합니다.
  • 32장 끝나야 끝나는 것
    • 커다란 작업을 더 작고 잘 아는 일로 나누세요. 더 정확하게 진행 상황을 판단할 수 있습니다.
    • 필요 이상으로 많은 작업을 수행하지 마세요. '완료' 상태까지만 작업하세요. 그런 뒤에는 중지하세요.
  • 33장 교훈 얻기
    • 문제에 직면했을 때, 이를 해결하기 위한 한가지 이상의 접근법을 고려해야 합니다. 그런 다음 작업에 착수해야 합니다.
    • 개발 프로젝트에서 발생하는 문제와 실패로부터 교훈을 얻어야 합니다. 실수를 분석하고, 개선점을 찾고, 다음 프로젝트에 반영해야 합니다.

PART 5  사람의 일


  • 34장 사람의 힘
    • 훌륭한 프로그래머들 주변에 의도적으로 머물으세요. 전문가(키맨)이 누군인지 항상 파악하고 있어야 합니다.
  • 35장 생각이 중요하다
    • 다른 사람이 코드를 읽고 품평하리라는 것을 알고 나면 좋은 코드를 짜고 싶은 마음이 더 커집니다.
  • 36장 말하기!
    • 코드는 다른 사람들과의 의사소통입니다. 명백하고 애매모호함이 없어야만 다른 사람들이 코드를 유지보수 할 수 있습니다.
    • 더 많은 주석을 단다고 반드시 코드가 더 나아지는 것은 아닙니다. 의사소통에 충실한 코드는 추가적인 주석이 필요 없습니다.
    • 적절한 사람들과 적절한 단어를 사용하도록 신경써야합니다.
  • 37장 선언문
    • 개발 방법론, 최신 경향, 선언문, 유행에 대해 알아두고, 납득할 만한 개발 선언문을 지지하되, 맹목적으로 따르거나 독단적으로 다루지 마세요.
  • 38장 코드 찬가
    • 보통, 소프트웨어 개발과 관련해 까다로운 부분은 기술적인 측면에 있지 않고, 결국 사람이 문제입니다.
  • 39장 태도가 핵심이다
    • 당신의 태도가 당신이 프로그래머로서 얼마나 나아갈 수 있는지를 결정합니다. 더 나은 프로그래머가 되고 싶다면 더 나은 태도를 목표로 하세요.
    • 어려움에도 굴하지 않고, 도전을 두려워하지 않고, 끊임없이 노력하여 목표를 달성해야 합니다.



책의 장점 및 특징


1. 다양한 주제의 커버리지

코드 작성부터 자기 관리, 협업 방법, 업무 처리에 이르기까지 개발자로서의 삶을 풍부하게 만들어주는 실용적인 조언들로 가득합니다. 이로 인해 독자는 다양한 주제에 대한 깊이 있는 이해를 얻을 수 있습니다.

2. 현업에서의 경험 공유

현업에서 활약하는 국내 개발자 8인의 인터뷰를 통해 그들의 경험담과 함께 현실적인 조언도 얻을 수 있습니다.

이는 독자에게 실제 개발 환경에서의 경험을 공유하고, 그들이 겪은 문제와 해결책에 대해 배울 수 있는 기회를 제공합니다.

3. 저자의 전문성

저자 Pete Goodliffe는 프로그래머이자 소프트웨어 개발 칼럼니스트, 음악가, 그리고 작가로서 다양한 경험을 바탕으로 이 책을 저술하였습니다. 그의 경험은 OS 개발부터 오디오 코덱, 멀티미디어 애플리케이션, 임베디드 펌웨어, iOS 애플리케이션 개발, 데스크톱 애플리케이션 개발에 이르기까지 다양하며, 이러한 경험을 바탕으로 '더 나은 프로그래머 되기'라는 칼럼을 매거진에 기고하고 있습니다.

4. 독립적인 장 구성

이 책의 각 장은 독립적인 주제를 다루므로, 독자는 필요와 관심에 따라 원하는 부분을 선택적으로 읽을 수 있습니다. 이는 독자가 자신의 필요에 따라 책을 읽을 수 있게 해주며, 특정 주제에 대해 깊이 있게 공부할 수 있는 기회를 제공합니다.

특히, 각 장을 읽을 때 '생각해보기'와 '연습해보기'를 대충 훑어보거나 그냥 넘어가지 말고,

본래의 내용을 넘어 더 깊이 생각해보고, 자신의 경험과 주제를 엮어낸다면, 우리도 훌륭한 프로그래머가 될 수 있을 꺼라 봅니다. ^^




이 책은 개발자의 성장과 발전을 위한 필수 도서로, 모든 개발자에게 꼭 추천하고 싶습니다. 

이 책을 통해 개발자로서의 여정이 더욱 풍요롭고 성공적이길 바랍니다.

이 책을 읽고 나면 '더 나은 프로그래머'가 되는 길을 찾을 수 있을 것입니다.

이 책을 읽는 모든 개발자에게 행운이 함께하기를 바랍니다.

더 높은 수준의 전문성과 역량을 갖춘 프로그래머로 성장하세요 ^^ 



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



#북리뷰  #책  #도서리뷰  #서평  #더나은프로그래머되는법  #프로그래밍  #코드리뷰  #자기관리  #협업방법  #업무처리  #개발자의삶  #소프트웨어개발  #개발노하우  #개발자성장  #PeteGoodliffe  #한빛미디어  #OReillyMedia  #프로그래밍서적  #코드작성  #프로그래밍스킬  #개발자경험  #개발자인터뷰  #개발자조언  #프로그래밍학습


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