도서상세보기

도서명 데이터 과학을 위한 소프트웨어 엔지니어링
저자 캐서린 넬슨
출판사 제이펍
출판일 2025-02-28
정가 29,000원
ISBN 9791194587002
수량

옮긴이 머리말 xi
베타리더 후기 xiii
시작하며 xvi
감사의 글 xxii
표지에 대하여 xxiii

CHAPTER 1 좋은 코드란 무엇인가? 1
1.1 좋은 코드가 왜 중요한가? 2
1.2 변화하는 요구사항에 대응하기 3
1.3 간결성 3
__1.3.1 같은 일을 반복하지 말라(DRY 원칙 5
__1.3.2 장황한 코드를 피하라 6
1.4 모듈성 7
1.5 가독성 9
__1.5.1 표준과 규칙 9
__1.5.2 이름 10
__1.5.3 코드 정리 11
__1.5.4 문서화 11
1.6 성능 12
1.7 안정성 12
__1.7.1 오류와 로깅 13
__1.7.2 테스트 13
1.8 요약 14

CHAPTER 2 코드 성능 분석 17
2.1 성능 개선 기법 18
2.2 코드 시간 측정 20
2.3 코드 프로파일링 23
__2.3.1 cProfile 23
__2.3.2 line_profiler 26
__2.3.3 Memray를 활용한 메모리 프로파일링 27
2.4 시간 복잡도 30
__2.4.1 시간 복잡도 추정 방법 30
__2.4.2 빅오 표기법 31
2.5 요약 34

CHAPTER 3 데이터 구조를 효율적으로 사용하기 35
3.1 파이썬 기본 데이터 구조 36
__3.1.1 리스트 36
__3.1.2 튜플 39
__3.1.3 딕셔너리 39
__3.1.4 집합 41
3.2 넘파이 배열 43
__3.2.1 넘파이 배열 기능 43
__3.2.2 넘파이 배열의 성능 고려사항 44
__3.2.3 대스크를 사용한 배열 연산 48
__3.2.4 머신러닝에서의 배열 50
3.3 팬더스 데이터프레임 51
__3.3.1 데이터프레임 기능 52
__3.3.2 데이터프레임의 성능 고려사항 53
3.4 요약 55

CHAPTER 4 객체지향 프로그래밍과 함수형 프로그래밍 57
4.1 객체지향 프로그래밍 58
__4.1.1 클래스, 메서드, 속성 58
__4.1.2 직접 클래스
데이터 과학은 코드에서 이뤄진다

협업이 필요한 대규모 프로젝트에서는 데이터 과학자에게도 유지보수성이 높은 코드를 작성하는 것이 요구된다. 그럼에도 데이터 과학자는 교육 과정에서 소프트웨어 엔지니어링 역량을 높일 기회가 많지 않고, 현업에서 배우고 싶더라도 마땅한 방법을 찾기 어려운 실정이다.

이 책은 소프트웨어 엔지니어링의 모범 사례를 데이터 과학에 적용하는 방법을 다룬다. 성능, 객체지향, 테스트, 오류 처리, 린팅, 문서화, 버전 관리, 패키징, API, 배포 등 일반적인 소프트웨어 엔지니어링 기술을 파이썬 예제를 통해 설명한다. 데이터 과학자에게 친숙한 예제를 통해 더 나은 파이썬 코드를 작성하는 방법을 배울 수 있고, 이는 개발자와의 협업 및 프로덕션 환경에서 작업하는 데에 큰 무기가 된다.

통계나 머신러닝 기법에 정통한 데이터 과학자조차 소프트웨어 엔지니어링에 대한 이해가 부족해 한계에 부딪히곤 한다. 대규모 프로젝트를 성공으로 싶다면, 이 책이 거대한 간극을 메워주는 미싱 링크 역할을 해줄 것이다.

대상 독자
코딩 스킬을 향상하고자 하는 데이터 과학 유관 분야 종사자
데이터 과학 학위를 막 마쳤거나 독학으로 배운 주니어 데이터 과학자
수학/과학 등 다른 분야에서 데이터 과학으로 전환 중인 분야 입문자
개발자와의 협업이나 교류가 잦은 관련 업무 종사자

주요 내용
효율적이고 강력한 파이썬 코드 작성하기
데이터 구조와 객체지향 프로그래밍 이해하기
테스트, 오류 처리, 로깅 모범 사례
안전한 코드 작성하기
데이터 과학 코드를 더 큰 코드베이스와 통합하기
코드를 명확하고 능숙하게 문서화하기
코드 패키징 및 공유하기
API 작성 방법 배우기
소프트웨어 엔지니어와 효과적으로 협업하기
데이터 과학 프로젝트를 프로덕션 단계로 전환하기