본문 바로가기

도서 소개

해들리 위컴의 R 패키지:코드를 작성하고, 테스트하고, 문서화하고, 공유하라


자신의 R 패키지를 작성하려는 사람을 위한 최적의 안내서!

경험 많은 구루의 효과적인 패키지 개발 방법!


출판사 제이펍

원출판사 O’Reilly Media

원서명 R Packages: Organize, Test, Document, and Share Your Code(원서 ISBN: 9781491910597)

저자명 해들리 위컴

역자명 정우준

출판일 2019년 5월 30일

페이지 232쪽

시리즈 (없음)

판 형 46배판변형(188*245*14)

제 본 무선(soft cover)

정 가 20,000원

ISBN 979-11-88621-61-3 (93000)

키워드 해들리 위컴 / R 언어 / R 패키지 / R 코드 / CRAN / 비네트 / 릴리스

분 야 프로그래밍 언어 / R


관련 사이트

관련 포스트

관련 시리즈
■ (없음)

관련 도서

관련 파일 다운로드
예제 코드(다운로드는 아닙니다)


강의보조자료 다운로드
교재로 채택하신 분들은 메일을 보내주시면 아래의 자료를 보내드리겠습니다: jeipubmarketer@gmail.com
■ 본문의 그림과 표

샘플 PDF
(차례, 옮긴이 머리말, 이 책에 대하여, 베타리더 후기, 프롤로그 '개발 환경 준비', 1장 '시작하기' 전체, 2장 '패키지 구조' 일부, 5장 '객체 문서화' 일부)

정오표 페이지
■ (등록되는 대로 링크를 걸어 드리겠습니다)

도서 구매 사이트(가나다 순)


도서 소개

자유오픈소스재단의 코어 멤버가 집필하고 한국 커뮤니티 운영자가 번역!

자유/오픈소스 소프트웨어 패키지/라이브러리 작성을 다룬 국내 유일 도서!

자신의 R 패키지를 작성하려는 사람을 위한 최적의 안내서!

경험 많은 구루의 효과적인 패키지 개발 방법!


자신의 R 코드를 다른 사람들이 쉽게 다운로드하고 사용할 수 있는 패키지로 전환하라. 이 책은 해들리 위컴의 실용적인 패키지 개발 철학에 따라 재사용 가능한 R 함수, 예제 데이터, 그리고 문서를 함께 묶는 방법을 보여준다. 이 과정에서 devtools, roxygen, 그리고 공통적인 개발 업무를 자동화하는 패키지 집합인 testthat을 배우게 된다. devtools는 해들리가 이 프로그래밍 언어로 작업하면서 얻은 수년간의 경험에서 체득한 모범 사례를 집대성한 것이다.


다양한 배경을 가진 개발자, 데이터 과학자, 그리고 프로그래머에게 이상적인 이 책은 기초부터 시작하여 순차적으로 패키지 작성 역량을 개선할 수 있도록 도와준다. 따라서 여러분은 패키지 구조에 대한 고민 없이 패키지로 하고자 하는 것에만 집중할 수 있을 것이다.


이 책의 주요 내용

  • 비그넷과 단위 테스트를 포함하여 R 패키지에서 가장 유용한 구성 요소
  • 가능한 모든 것을 자동화하기 위한 devtools 활용 방법
  • 함수를 파일로 구성하는 것처럼 좋은 스타일에 대한 팁
  • devtools로 개발 프로세스를 능률화하는 방법
  • 포괄적 R 아카이브 네트워크(CRAN)에 자신의 패키지를 제출하는 최선의 방법
  • ggplot2, dplyr, 그리고 tidyr을 포함한 30개의 R 패키지를 개발한, R 커뮤니티 핵심 인물의 수준 높은 경험


추천사

이 책은 실용적이며, R을 이용하여 고품질 소프트웨어를 구축하기 위한 실질적인 안내서이다. ‘다음 레벨에 도달하기’ 위해 노력하는 R 프로그래머라면 누구나 이 책을 읽기 바란다.

_ 웨스 맥키니(Wes McKinny), pandas 창시자


지은이 소개
해들리 위컴(Hadley Wickham)
RStudio의 수석 과학자로서 30개가 넘는 R 패키지를 작성하였으며, 데이터 변형과 시각화에 관련된 도구를 개발하여 ‘John Chambers Award for Statistical Computing’을 수상하기도 하였다. 또한, 데이터 과학 분야에서 R 사용을 장려하는 작가이자 교육자인 동시에 영향력 높은 R 커뮤니티의 핵심 인물이기도 하다. 지은 책으로는 《해들리 위컴의 Advanced R》, 《R을 활용한 데이터 과학》, 《ggplot2》 등이 있다.

옮긴이 소개
정우준
대학에서 경영학 박사 과정을 수료하였다. 회계학에 빅데이터와 데이터 과학을 접목하기 위한 연구를 하고 있으며, R 사용자의 저변 확대를 위해 한국 R 사용자 커뮤니티(R Korea)를 운영하고 있다. 또한, R 시스템 메시지와 R 재단의 공식 문서를 번역하는 R 한글화 팀(R-ihelp)과 자유 소프트웨어 운동을 위한 GNU Korea의 멤버이다. 은퇴 후에는 여행 작가를 꿈꾸고 있다.

차례
1부 시작하기_1
1장 서론_3
철학 4
시작하기 5
편집 규칙 6
출간 방법 7

2장 패키지 구조_8
패키지 이름 짓기 8
패키지 만들기 10
RStudio 프로젝트 12
패키지란 무엇인가? 15
라이브러리란 무엇인가? 20

2부 패키지 구성요소_23
3장 R 코드_25
R 코드 워크플로 25
사용자 함수 구성하기 26
코드 스타일 27
고수준 코드 32
CRAN 노트 37

4장 패키지 메타데이터_39
의존성: 패키지가 필요로 하는 것은 무엇인가? 40
Title과 Description: 자신이 만든 패키지가 하는 역할은 무엇인가? 44
Author: 저자는 누구인가? 45
라이선스: 패키지를 사용할 수 있는 사람은 누구인가? 47
버전 49
다른 구성요소 50

5장 객체 문서화_52
문서화 워크플로 53
대안적 문서화 워크플로 55
roxygen 주석 56
함수 문서화 59
데이터 세트 문서화 60
패키지 문서화 61
클래스, 제너릭, 그리고 메서드 문서화 61
특수문자 65
반복 작업 65
텍스트 포맷 참조 시트 68

6장 비네트: 길이가 긴 문서_71
비네트 워크플로 72
메타데이터 73
Markdown 74
knitr 78
개발 사이클 81
비네트 작성을 위한 조언 82
CRAN 노트 83
다음에 할 것 84

7장 테스트하기_85
테스트 워크플로 87
테스트 구조 88
익스펙테이션 89
테스트 작성 91
테스트 파일 96
CRAN 노트 96

8장 네임스페이스_97
동기 97
검색 경로 99
네임스페이스 101
워크플로 103
Exports 103
Imports 106
컴파일된 함수 108

9장 외부 데이터_109
내보내진 데이터 110
내부 데이터 112
원시 데이터 112
다른 데이터 113
CRAN 노트 114

10장 컴파일된 코드_115
C++ 116
C 120
컴파일된 코드의 디버깅 128
makefiles 130
다른 언어 131
라이선싱 131
개발 워크플로 132
CRAN과 관련된 문제 132

11장 설치된 파일_134
패키지 인용 135
다른 언어 137

12장 다른 구성요소_138
데모 139

3부 모범 사례_141
13장 Git과 GitHub_143
RStudio, Git, 그리고 GitHub 145
초기 설정 146
로컬 Git 레포지토리 생성 147
변경 사항 확인 149
변경 사항 기록 150
커밋 모범 사례 153
파일 무시 154
실수 되돌리기 155
GitHub와 동기화 157
GitHub 사용의 이점 158
다른 사람과 작업하기 160
이슈 162
브랜치 162
풀 리퀘스트 만들기 164
다른 레포에 풀 리퀘스트 제출하기 166
풀 리퀘스트의 검토와 수락 168
더 알아보기 169

14장 자동화된 검사_171
워크플로 171
검사 173
Travis로 모든 커밋 이후 검사하기 186

15장 패키지 릴리스_189
버전 번호 190
이전 버전과의 호환성 190
제출 과정 193
CRAN 정책 197
중요한 파일 198
릴리스 201
실패한 경우 202
패키지 게시 204
축하한다! 204

찾아보기 206