인류의 여정 또는 객체지향 파이썬 프로그래밍 2/e
땅끝
2024-12-18 10:33
108
0
본문
인류의 여정

도서명 : 인류의 여정
저자/출판사 : 오데드 갤로어, 시공사
쪽수 : 356쪽
출판일 : 2023-02-28
ISBN : 9791169255820
정가 : 22000
들어가며: 인류의 여정이 던진 두 가지 수수께끼
1부 인류의 여정
1장 첫걸음
인류의 기원 / 요람으로부터의 대탈출 / 정착 초기 / 문명이 동틀 때
2장 정체의 시대
맬서스의 논지 / 필연적으로 시작된 농업 / 인구 변동 / 경제적 빙하기
3장 보이지 않는 폭풍
통합성장 이론 / 변화의 톱니바퀴
4장 전력 질주
가속화된 기술 발전 / 산업화 이전 시대의 교육 / 산업화와 인적자본 / 보편적 공교육 시대가 오다 / 아동노동은 이제 그만!
5장 대변혁
무엇이 인구변천을 촉발했나 / 가족 이야기 / 상전이
6장 약속의 땅
산업의 황혼 / 성장 시대 / 성장과 환경 파괴
간추리기: 성장의 수수께끼를 풀다
2부 부와 불평등의 기원
7장 화려한 삶, 비참한 삶
격차를 벌린 요인 / 녹슨 도구 / 무역, 식민주의 그리고 불균등한 발전 / 뿌리 깊은 요인
8장 제도의 지문
영국의 부상과 제도적 요인 / 제도와 장기 발전 / 식민 지배의 유산 / 제도의 기원
9장 문화적 요인
문화엔 힘이 있다 / 성장의 문화 / 문화의 관성 / 번영을 부르는 문화
10장 지리의 그늘
조각난 영토와 유럽의 부상 / 착취적 제도의 기원 / 지리에 뿌리를 둔 문화적 특성 / 비교발전의 뿌리
11장 농업 혁명의 유산
신석기혁명의 근원과 영향 / 문명의 씨앗 / 선두를 넘겨주다 / 지리의 선고
12장 아웃 오브 아프리카
인적다양성은 어디서 비롯됐나 / 다양성 가늠하기 / 다양성과 번영 / 과거의 지배
간추리기: 불평등의 수수께끼를 풀다
나가며: 그럼에도 낙관하는 이유
감사의 말 / 참고문헌 / 주 / 찾아보기
객체지향 파이썬 프로그래밍 2/e

도서명 : 객체지향 파이썬 프로그래밍 2/e
저자/출판사 : 스티븐 로트, 에이콘출판
쪽수 : 864쪽
출판일 : 2023-05-31
ISBN : 9791161757438
정가 : 45000
1장. 준비, 도구, 기법
__기술 요구 사항
__블랙잭 게임 소개
____게임 시작
____블랙잭 플레이어 전략
____블랙잭 시뮬레이션을 위한 객체 디자인
__파이썬 런타임과 스페셜 메서드
__인터랙션, 스크립팅, 도구
__IDE 고르기
__일관성과 스타일
__타입 힌트와 mypy 프로그램
__성능 - timeit 모듈
__테스트 - unittest와 doctest
__문서화 - sphinx와 RST 마크업
__컴포넌트 설치
__요약
2장. __init__() 메서드
__기술 요구 사항
__암묵적 최상위 클래스 - object
__기반 클래스 객체의 __init__() 메서드
__최상위 클래스의 __init__() 구현
__열거형 상수 생성
__팩토리함수로 __init__() 활용
____결함이 있는 팩토리 디자인과 모호한 else절
____elif 시퀀스를 이용한 단순화와 일관성
____매핑과 클래스 객체를 이용한 단순화
____두 병렬 매핑
____튜플 값에 매핑
____부분함수 방식
____팩토리용 플루언트 API
__각 하위 클래스에서 __init__() 구현
__복합 객체
____컬렉션 클래스 래핑
____컬렉션 클래스 확장
____추가적인 요구 사항과 디자인 대안
__복잡한 복합 객체
____복합 객체 초기화
____init__()이 필요 없는 상태가 없는(stateless) 객체
__추가 클래스 정의
__다중 전략 __init__()
____보다 복잡한 초기화
____정적 혹은 클래스단 메서드 초기화
__기타 __init__() 기법
____타입 검사를 포함하는 초기화
____초기화, 캡슐화, 프라이버시
__요약
3장. 매끄러운 통합: 기초 스페셜 메서드
__기술 요구 사항
____repr__()과 __str__() 메서드
____단순 __str__()과 __repr__()
____컬렉션 __str__()과 __repr__()
____format__() 메서드
____중첩 포맷 명세
____컬렉션과 포맷 명세 위임
____hash__() 메서드
____해시 선택
____불변 객체 정의 상속
____불변 객체 정의 오버라이딩
____가변 객체 정의 오버라이딩
____가변 핸드로부터 프로즌 핸드 생성
____bool__() 메서드
____bytes__() 메서드
__비교 연산자 메서드
____비교 디자인
____같은 클래스의 객체 비교 구현
____서로 다른 클래스의 객체 비교 구현
____하드 점수와 소프트 점수 그리고 다형성
____서로 다른 클래스 비교 예제
____del__() 메서드
____참조 계수와 소멸
____순환 참조와 가비지 컬렉션
____순환 참조와 weakref 모듈
______del__()과 close() 메서드
____new__() 메서드와 불변 객체
____new__() 메서드와 메타클래스
____메타클래스 예제: 클래스단 로거
__요약
4장. 속성 접근과 프로퍼티, 디스크립터
__기술 요구 사항
__기본 속성 처리
____속성과 __init__() 메서드
__프로퍼티 생성
____즉시 계산 프로퍼티
____setter와 deleter 프로퍼티
__스페셜 메서드로 속성 접근
______slots__으로 속성명 제한
______getattr__()로 동적 속성 생성
____NamedTuple의 하위 클래스로서 불변 객체 생성
____즉시 계산되는 속성과 dataclasses, __post_init__()
______setattr__()로 증분 계산
____getattribute__() 메서드
__디스크립터 생성
____비데이터 디스크립터 사용하기
____데이터 디스크립터 사용하기
__속성과 프로퍼티에 타입 힌트 사용
__dataclasses 모듈 사용하기
__속성 디자인 패턴
____프로퍼티 대 속성
____디스크립터로 디자인
__요약
5장. 일관된 디자인의 추상 기반 클래스
__기술 요구 사항
__추상 기반 클래스
__기반 클래스와 다형성
__콜러블
__컨테이너와 컬렉션
__수
__그 밖의 추상화
____반복자 추상화
____컨텍스트와 컨텍스트 매니저
__abc와 typing 모듈
______subclasshook__() 메서드 사용하기
____타입 힌트를 사용하는 추상 클래스
__요약, 디자인 고려 사항, 트레이드오프
____예고
6장. 콜러블과 컨텍스트
__기술 요구 사항
__콜러블 디자인
__성능 개선
____메모이제이션이나 캐싱 사용
__functools를 사용한 메모이제이션
____콜러블 인터페이스로 단순성 추구
__복잡도와 콜러블 인터페이스
__컨텍스트 관리와 with문
____십진 컨텍스트 사용
____그 밖에 컨텍스트
____enter__()와 __exit__() 메서드 정의
____예외 처리
__팩토리로서의 컨텍스트 매니저
____컨텍스트 매니저 삭제
__요약
____콜러블의 디자인 고려 사항과 트레이드오프
____컨텍스트 매니저의 디자인 고려 사항과 트레이드오프
____예고
7장. 컨테이너와 컬렉션 생성
__기술 요구 사항
__컬렉션의 추상 기반 클래스
__스페셜 메서드 예제
__표준 라이브러리 확장 사용
____typing.NamedTuple 클래스
____deque 클래스
____ChainMap 유스 케이스
____OrderedDict 컬렉션
____defaultdict 하위 클래스
____counter 컬렉션
__새로운 종류의 컬렉션 생성하기
__컬렉션 타입 좁히기
__새로운 종류의 시퀀스 정의하기
____통계 리스트
____즉시 계산과 지연 계산 선택
______getitem__(), __setitem__(), __delitem__(), 슬라이스 다루기
______getitem__(), __setitem__(), __delitem__() 구현
____리스트 래핑과 위임
______iter__()로 반복자 생성
__새로운 종류의 매핑 생성하기
__새로운 종류의 집합 생성하기
____디자인 원리
____Tree 클래스 정의
____TreeNode 클래스 정의
____이진 트리 백 실험
__디자인 고려 사항과 트레이드오프
__요약
8장. 수 생성
__기술 요구 사항
__수의 추상 기반 클래스
____사용할 타입 결정
____메서드 결정과 반사 연산자
__산술 연산자의 스페셜 메서드
__수 클래스 생성
____FixedPoint 초기화 정의
____FixedPoint 이항 산술 연산자 정의
____FixedPoint 단항 산술 연산자 정의
____FixedPoint 반사 연산자 구현
____FixedPoint 비교 연산자 구현
__수 해시 계산
____더 유용한 반올림 디자인
__다른 스페셜 메서드 구현
__제자리 연산자로 최적화
__요약
9장. 장식자와 믹스인: 횡단 관심사
__기술 요구 사항
__클래스와 그 의미
____장식자의 타입 힌트와 속성
____함수의 속성
____장식된 클래스 구성
____클래스 디자인 원칙
____관점 지향 프로그래밍
__내장 장식자 사용
____표준 라이브러리 장식자 사용
__표준 라이브러리 믹스인 클래스 사용
____믹스인 클래스로 enum 사용
__간단한 함수 장식자 작성
____별도 로거 생성
__장식자 매개변수화
__메서드함수 장식자 생성
__클래스 장식자 생성
__클래스에 메서드 추가
__장식자를 사용한 보안
__요약
10장. 직렬화와 저장: JSON, YAML, Pickle, CSV, XML
__기술 요구 사항
__지속성과 클래스, 상태, 표현 이해하기
____일반적인 파이썬 용어
__파일시스템과 네트워크 고려 사항
__지속성을 지원하는 클래스 정의
____블로그와 포스트 렌더링
__JSON 덤프와 로드
____JSON 타입 힌트
____예제 클래스에서 JSON 지원
____JSON 인코딩 커스터마이징
____JSON 디코딩 커스터마이징
____보안과 eval() 이슈
____인코딩 함수 리팩터링
____날짜 문자열 표준화
____JSON을 파일에 쓰기
__YAML 덤프와 로드
____YAML 데이터 파일에 포매팅하기
____YAML 표현 확장
____보안과 안전한 로드
__pickle 덤프와 로드
____안정적인 피클 처리를 위한 클래스 디자인
____보안과 전역 이슈
__CSV로 덤프와 로드
____간단한 시퀀스를 CSV로 덤프
____CSV로부터 간단한 시퀀스 로드
____컨테이너와 복잡한 클래스 처리
____CSV 파일에 다양한 행 타입 덤프와 로드
____반복자로 CSV 행 필터링
____CSV 파일에 조인 행 덤프와 로드
__XML 덤프와 로드
____문자열 템플릿을 사용한 객체 덤프
____xml.etree.ElementTree로 객체 덤프
____XML 문서 로드
__요약
____디자인 고려 사항과 트레이드오프
____스키마 진화
____예고
11장. 셸브를 통한 객체 저장과 추출
__기술 요구 사항
__객체 지속 유스 케이스 분석
____ACID 속성
__셸브 생성
__셸브로 표현할 수 있는 객체 디자인
____타입 힌트를 갖는 객체 디자인
____객체의 키 디자인
____객체의 대리 키 생성
____단순 키로 클래스 디자인
____컨테이너나 컬렉션의 클래스 디자인
____외래 키로 객체 참조
____복잡한 객체의 CRUD 연산 디자인
__검색, 스캔, 쿼리
__셸브의 접근 계층 디자인
____데모 스크립트 작성
__효율성을 높이는 색인 생성
____캐시 생성
__색인 유지 보수 기능 추가
__라이트백으로 색인 업데이트
____스키마 진화
__요약
____디자인 고려 사항과 트레이드오프
____애플리케이션 소프트웨어 계층
____예고
12장. SQLite를 통한 객체 저장과 추출
__기술 요구 사항
__SQL 데이터베이스, 지속성, 객체
____SQL 데이터 모델: 행과 테이블
____SQL DML문을 통한 CRUD 처리
____SQL SELECT문으로 행 쿼리
____SQL 트랜잭션과 ACID 속성
____데이터베이스의 기본 키와 외래 키 디자인
__SQL로 애플리케이션 데이터 처리
____순수 SQL로 클래스와 유사한 처리 구현
__파이썬 객체와 SQLite BLOB 열 매핑
__파이썬 객체와 데이터베이스 행 수동 매핑
____SQLite 접근 계층 디자인
____컨테이너 관계 구현
__색인으로 성능 향상
__ORM 계층 추가
____ORM을 사용한 클래스 디자인
____ORM 계층으로 스키마 생성
____ORM 계층에서 객체 조작
__태그로 포스트 쿼리
__ORM 계층에 색인 정의
____스키마 진화
__요약
____디자인 고려 사항과 트레이드오프
____매핑 대안
____키와 키 디자인
____애플리케이션 소프트웨어 계층
____예고
13장. 객체 전송과 공유
__기술 요구 사항
__클래스, 상태, 표현
__HTTP와 REST로 객체 전송
____REST를 통한 CRUD 연산 구현
____CRUD 이외의 연산 구현
____REST 프로토콜과 ACID
____JSON, XML, YAML 중 표현 선택
__Flask로 RESTful 웹 서비스 생성
____전송할 문제 도메인 객체
____간단한 애플리케이션과 서버 생성
____더욱 정교한 라우팅과 응답
____REST 클라이언트 구현
____RESTful 서비스 데모와 단위 테스트
__스테이트풀 REST 서비스 다루기
____RESTful 객체 식별자 디자인
____다중 계층 REST 서비스
____플라스크 블루프린트 사용하기
____블루프린트 등록
__안전한 RESTful 서비스 만들기
____사용자 비밀번호 해싱
__웹 애플리케이션 프레임워크로 REST 구현
__메시지 큐로 객체 전송
____프로세스 정의
____큐 생성과 데이터 제공
__요약
____디자인 고려 사항과 트레이드오프
____스키마 진화
____애플리케이션 소프트웨어 계층
____예고
14장 설정 파일과 지속성
__기술 요구 사항
__설정 파일 유스 케이스
__표현과 지속성, 상태, 사용성
____애플리케이션 설정 디자인 패턴
____객체 생성을 통한 설정
____설정 계층 구조 구현
__INI 파일과 PY 파일에 설정 저장
__eval() 변형으로 더 많은 리터럴 처리
__PY 파일에 설정 저장
____클래스 정의를 통한 설정
____SimpleNamespace를 통한 설정
____파이썬 exec()를 사용한 설정
__exec()을 걱정하지 않아도 되는 이유
__기본값과 오버라이드에 ChainMap 사용
__JSON이나 YAML에 설정 저장
____중첩이 없는 JSON 설정 사용
____YAML 설정 로딩
__프로퍼티 파일에 설정 저장
____프로퍼티 파일 파싱
____프로퍼티 파일 사용
__PLIST 같은 XML 파일 사용
____맞춤형 XML 설정 파일
__요약
____디자인 고려 사항과 트레이드오프
____공유 설정 생성
____스키마 진화
____예고
15장. 디자인 원칙과 패턴
__기술 요구 사항
__SOLID 디자인 원칙
____인터페이스 분리 원칙
____리스코프 치환 원칙
____개방 폐쇄 원칙
____의존 관계 역전 원칙
____단일 책임 원칙
__SOLID 원칙 디자인 테스트
__상속과 구성으로 기능 생성
____고급 구성 패턴
__파이썬과 libstdc++ 간 유사성
__요약
16장. 로깅과 경고 모듈
__기술 요구 사항
__기본 로그 생성
____클래스단 로거 생성
____로거 설정
____로깅 시스템 가동과 중지
____로거 명명
____로거 레벨 확장
____다수의 목적지를 지원하는 핸들러 정의
____전파 규칙 관리
__설정 주의 사항
__제어와 디버깅, 감사, 보안을 위한 특수 로깅
____디버깅 로그 생성
____감사와 보안 로그 생성
__warnings 모듈 사용
____경고로 API 변경 알림
____경고로 설정 문제 알림
____경고로 가능한 소프트웨어 문제 알림
__고급 로깅: 최근 메시지와 네트워크 목적지
____자동 테일 버퍼 생성
____원격 프로세스에 로깅 메시지 전송
____큐 오버런 방지
__요약
____디자인 고려 사항과 트레이드오프
____예고
17장. 테스트 가능한 디자인
__기술 요구 사항
__테스트 단위 정의와 분리
____의존 관계 최소화
____간단한 단위 테스트 생성
____테스트 스위트 생성
____에지 케이스와 코너 케이스 넣기
____목 객체로 의존 관계 제거
____목 객체로 동작 관찰
__doctest로 테스트 케이스 정의
____doctest와 unittest 결합
____더욱 완전한 테스트 패키지 생성
__설정과 해제 사용
____OS 자원에 설정과 해제 사용
____데이터베이스에 설정과 해제 사용
__TestCase 클래스 계층 구조
__외부에서 정의한 예상 결과 사용
__pytest와 픽스처
____어서션 검사
____픽스처로 테스트 설정
____픽스처로 설정과 해제
____매개변수화한 픽스처 생성
__자동 통합 또는 성능 테스트
__요약
____디자인 고려 사항과 트레이드오프
____예고
18장. 명령줄 처리
__기술 요구 사항
__OS 인터페이스와 명령줄
____인자와 옵션
__pathlib 모듈 사용하기
__argparse로 명령줄 파싱
____단순 온오프 옵션
____인자가 있는 옵션
____위치 인자
____그 밖에 인자
____-version 표시와 종료
____-help 표시와 종료
__명령줄 옵션과 환경변수 통합
____더 설정 가능한 기본값 제공
____환경변수로 설정 파일 값 오버라이딩
____설정에 None 값 활용
__도움말 출력 맞춤화
__최상위 main() 함수 생성
____설정의 DRY 원칙
____중첩 설정 컨텍스트 관리
__전체적 프로그래밍
____명령 클래스 디자인
____분석 명령 하위 클래스 추가
____애플리케이션에 기능 추가와 패키징
____좀 더 상위의 복합 명령 디자인
__또 다른 복합 명령 디자인 패턴
__다른 애플리케이션과의 통합
__요약
____디자인 고려 사항과 트레이드오프
____예고
19장. 모듈과 패키지 디자인
__기술 요구 사항
__모듈 디자인
____모듈 디자인 패턴
____모듈과 클래스 비교
____모듈 속 들여다보기
__전체적 모듈 대 모듈 항목
__패키지 디자인
____모듈-패키지 하이브리드 디자인
____여러 대안 구현을 포함하는 패키지 디자인
____ImportError 예외 사용하기
__메인 스크립트와 __main__ 모듈 디자인
____실행 가능한 스크립트 파일 생성
______main__ 모듈 생성
____전체적 프로그래밍
__장기 실행 애플리케이션 디자인
__src와 scripts, tests, docs로 코드 조직
__파이썬 모듈 설치
__요약
____디자인 고려 사항과 트레이드오프
____예고
20장. 품질과 설명서
__기술 요구 사항
__help() 함수에 쓰일 문서화 문자열 작성
__파이독을 사용한 설명서
__RST 마크업을 통한 출력 개선
____텍스트 블록
____RST 인라인 마크업
____RST 디렉티브
____RST 익히기
__효과적인 문서화 문자열 작성
__모듈과 패키지를 포함하는 파일단 문서화 문자열 작성
____RST 마크업으로 상세 API 작성
____클래스와 메서드함수의 문서화 문자열 작성
____함수 문서화 문자열 작성
__더욱 정교한 마크업 기법
__스핑크스를 사용한 설명서 생성
____스핑크스 퀵스타트 사용
____스핑크스 설명서 작성
____설명서를 위한 4+1 뷰 작성
____구현 문서 작성
____스핑크스 교차 참조 생성
____스핑크스 파일을 디렉터리로 리팩터링
____레거시 문서 다루기
__설명서 작성
__문학적 프로그래밍
____문학적 프로그래밍 유스 케이스
____문학적 프로그래밍 도구 다루기
__요약
____디자인 고려 사항과 트레이드오프
댓글목록0