| 000 | 00000cam c2200205 c 4500 | |
| 001 | 000045801696 | |
| 005 | 20240403084733 | |
| 007 | ta | |
| 008 | 140611s2013 ulka 001c kor | |
| 020 | ▼a 9788994774374 ▼g 93560 | |
| 035 | ▼a (KERIS)BIB000013159029 | |
| 040 | ▼a 243001 ▼c 243001 ▼d 243001 ▼d 211009 | |
| 041 | 1 | ▼a kor ▼h eng |
| 082 | 0 0 | ▼a 005.133 ▼2 23 |
| 085 | ▼a 005.133 ▼2 DDCK | |
| 090 | ▼a 005.133 ▼b S279 2013 | |
| 100 | 1 | ▼a Horstmann, Cay S., ▼d 1959- ▼0 AUTH(211009)162893 |
| 245 | 2 0 | ▼a (쉽게 배워서 빨리 써먹는) 스칼라 프로그래밍 / ▼d 케이 호스트만 지음 ; ▼e 서광열 옮김 |
| 246 | 1 9 | ▼a Scala for the impatient |
| 260 | ▼a 서울 : ▼b BJ Public, ▼c 2013 | |
| 300 | ▼a xi, 349 p. : ▼b 삽화 ; ▼c 25 cm | |
| 500 | ▼a 색인수록 | |
| 650 | 0 | ▼a Scala (Computer program language) |
| 650 | 0 | ▼a Programming languages (Electronic computers) |
| 650 | 0 | ▼a Computer programming |
| 700 | 1 | ▼a 서광열, ▼e 역 |
| 900 | 1 0 | ▼a 호스트만, 케이, ▼e 저 |
| 945 | ▼a KLPA |
소장정보
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 중앙도서관/제2자료실(3층)/ | 청구기호 005.133 S279 2013 | 등록번호 111763211 (5회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 2 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.133 S279 2013 | 등록번호 121229955 (21회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 중앙도서관/제2자료실(3층)/ | 청구기호 005.133 S279 2013 | 등록번호 111763211 (5회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.133 S279 2013 | 등록번호 121229955 (21회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
인내심 없는 개발자를 위한 스칼라는 개발자가 스칼라로 무엇을 어떻게 할 수 있는지 간결하게 보여준다. 국제적으로 베스트셀러인 『코어 자바』의 주저자인 케이 호스트만은 완벽히 실용적인 코드 기반의 빠른 소개를 제공한다. 또한 빠르게 숙달하고 적용할 수 있는 “블로그 길이”의 스칼라 개념과 기술을 소개한다. 실천 활동은 기초부터 숙련까지 잘 정의된 능력 단계별로 안내한다.
인내심 없는 개발자를 위한 스칼라 프로그래밍 학습서
스칼라는 객체지향과 함수 프로그래밍 언어의 장점만을 결합한 자바 가상 머신(JVM)에서 동작하는 현대적인 프로그래밍 언어다. 스칼라를 사용하면 자바보다 더 간결한 프로그램을 작성할 수 있을 뿐만 아니라 병행성의 힘을 최대한 발휘할 수 있다. 스칼라는 JVM 위에서 동작하기 때문에 어떤 자바 라이브러리나 사용할 수 있으며 자바 프레임워크와 상호 동작한다.
인내심 없는 개발자를 위한 스칼라는 개발자가 스칼라로 무엇을 어떻게 할 수 있는지 간결하게 보여준다. 국제적으로 베스트셀러인 『코어 자바』의 주저자인 케이 호스트만은 완벽히 실용적인 코드 기반의 빠른 소개를 제공한다. 또한 빠르게 숙달하고 적용할 수 있는 “블로그 길이”의 스칼라 개념과 기술을 소개한다. 실천 활동은 기초부터 숙련까지 잘 정의된 능력 단계별로 여러분을 안내한다. 이 책의 범위는 다음과 같다.
스칼라 인터프리터, 문법, 도구와 고유한 용법으로 빠르게 시작하기
함수, 배열, 맵, 튜플, 패키지, 임포트, 예외 처리 등 핵심 언어 기능 숙달하기
클래스, 상속, 트레이트 등 스칼라 객체지향 프로그래밍에 익숙해지기
파일 다루기, 정규 표현식, XML 등 실무 프로그래밍 업무에 스칼라 사용하기
고차 함수와 강력한 스칼라 콜렉션 라이브러리로 일하기
스칼라의 강력한 패턴 매칭과 케이스 클래스를 지렛대로 사용하기
스칼라 액터로 병행 프로그램 작성하기
도메인-특정 언어 구현하기
스칼라 타입 시스템 이해하기
어노테이션, 암묵, 제한된 컨티뉴에이션 등 강력한 고급 도구 적용하기
스칼라는 프로그래밍 경험을 새롭게 만드는 티핑 포인트에 빠르게 도달 중이다. 이 책은 객체지향 프로그래머들이 기존 기술을 기반으로 하여 고급 프로그래밍 기술에 점진적으로 숙달함에 따라 유용한 애플리케이션을 즉시 구축할 수 있게 해준다.
소스코드 다운로드
http://horstmann.com/scala
독자대상
초중급
스칼라에 대해
스칼라는 독특한 언어입니다. 객채 지향 프로그래밍과 함수형 프로그래밍이 절묘하게 결합된 다중패러다임 프로그래밍 언어로, 자바 가상 머신에서 실행되는 언어입니다. 자바 언어의 부족한 점을 채워주면서, 자바로 작성된 막대한 라이브러리를 재활용할 수 있는 실용적인 언어이기도 합니다.
그루비(Groovy), 제이루비(JRuby), 자이썬(Jython), 클로저(Clojure) 등 자바의 한계를 극복하기 위해 등장한 여러 프로그래밍 언어들이 대부분 동적 타이핑을 사용하는 스크립트 언어인데 비해, 스칼라는 정적 타이핑을 하는 프로그래밍 언어라는 점이 스칼라를 다른 언어와 구분 짓는 가장 큰 차이점입니다.
스칼라는 그간 프로그래밍 언어 학계가 축적한 수많은 연구 성과의 총체입니다. 특히 강력한 타입 시스템을 통해 대부분의 오류를 실행도 하기 전에 잡아주면서도, 타입 추론 덕분에 스크립트 언어 수준의 간결한 문법을 가지고 있습니다.
스칼라가 세상에 등장한 것이 2003년이니 스칼라도 벌써 10년이나 된 프로그래밍 언어입니다. 10년의 세월을 견디고 살아남은 스칼라는, 함수 언어는 실무에 적합하지 않다는 편견을 깨고 가장 강력한 자바의 후계자로 떠올랐습니다. 실무에서 자바를 사용하며 언어의 한계나 부족함을 느꼈다면, 지금이 바로 스칼라를 배워야 할 때입니다!
정보제공 :
저자소개
목차
Chapter 1. 기본기 1.1 스칼라 인터프리터 = 1 1.2 값과 변수 선언하기 = 3 1.3 자주 사용되는 타입 = 4 1.4 산술과 연산자 오버로딩 = 6 1.5 함수와 메소드 호출 = 7 1.6 apply 메소드 = 8 1.7 스칼라독(Scaladoc) = 9 연습문제 = 12 Chapter 2. 제어 구조와 함수 2.1 조건식 = 14 2.2 문 종료 = 15 2.3 블록식과 할당 = 16 2.4 입력과 출력 = 17 2.5 루프 = 18 2.6 고급 for 루프와 for 컴프리헨션 = 19 2.7 함수 = 21 2.8 기본 인자와 이름 인자 = 22 2.9 가변 인자 = 22 2.10 프로시저 = 23 2.11 레이지 값 = 24 2.12 예외 = 25 연습문제 = 27 Chapter 3. 배열 사용하기 3.1 고정 길이 배열 = 30 3.2 가변 길이 배열 : 배열 버퍼 = 30 3.3 배열과 배열 버퍼 방문 = 31 3.4 배열 변환 = 32 3.5 일반 알고리즘 = 34 3.6 스칼라독 해독 = 35 3.7 다차원 배열 = 36 3.8 자바 연동 = 37 연습문제 = 38 Chapter 4. 맵과 튜플 4.1 맵 생성 = 40 4.2 맵 값 접근 = 40 4.3 맵 값 갱신 = 41 4.4 맵 반복 = 42 4.5 정렬 맵 = 42 4.6 자바 연동 = 43 4.7 튜플 = 44 4.8 지핑(Zipping) = 45 연습문제 = 45 Chapter 5. 클래스 5.1 간단한 클래스와 인자 없는 메소드 = 47 5.2 게터와 세터가 있는 프로퍼티 = 48 5.3 게터만 있는 프로퍼티 = 51 5.4 오브젝트-비공개 필드 = 52 5.5 빈 프로퍼티 = 53 5.6 보조 생성자 = 54 5.7 기본 생성자 = 55 5.8 중첩 클래스 = 58 연습문제 = 61 Chapter 6. 오브젝트 6.1 싱글톤 = 63 6.2 컴패니언 오브젝트 = 64 6.3 클래스나 트레이트를 확장하는 오브젝트 = 65 6.4 apply 메소드 = 66 6.5 애플리케이션 오브젝트 = 67 6.6 이뉴머레이션 = 68 연습문제 = 69 Chapter 7. 패키지와 임포트 7.1 패키지 = 72 7.2 스코프 규칙 = 73 7.3 체인 패키지 구문 = 75 7.4 파일 시작 표기법 = 75 7.5 패키지 오브젝트 = 76 7.6 패키지 가시성 = 77 7.7 임포트 = 77 7.8 스코프는 어디든 올 수 있다 = 78 7.9 멤버 이름 변경 및 숨기기 = 78 7.10 암묵적 임포트 = 79 연습문제 = 80 Chapter 8. 상속 8.1 클래스 확장하기 = 81 8.2 메소드 오버라이드하기 = 82 8.3 타입 검사와 캐스트 = 83 8.4 보호 필드와 메소드 = 84 8.5 슈퍼클래스 생성 = 84 8.6 필드 오버라이드하기 = 86 8.7 익명 서브클래스 = 87 8.8 추상 클래스 = 88 8.9 추상 필드 = 88 8.10 생성 순서와 조기 정의 = 89 8.11 스칼라 상속 계층 = 91 8.12 오브젝트 등식 = 92 연습문제 = 94 Chapter 9. 파일과 정규 표현식 9.1 줄 읽기 = 97 9.2 문자열 읽기 = 98 9.3 토큰과 숫자 읽기 = 99 9.4 URL과 다른 소스에서 읽기 = 100 9.5 바이너리 파일 읽기 = 100 9.6 텍스트 파일 쓰기 = 100 9.7 디렉토리 방문 = 101 9.8 직렬화 = 102 9.9 프로세스 제어 = 103 9.10 정규 표현식 = 105 9.11 정규 표현식 그룹 = 106 연습문제 = 106 Chapter 10. 트레이트 10.1 왜 다중 상속을 사용하지 않는가? = 109 10.2 인터페이스로서 트레이트 = 111 10.3 구체적 구현이 있는 트레이트 = 112 10.4 트레이트가 있는 오브젝트 = 113 10.5 레이어드 트레이트 = 114 10.6 트레이트의 추상 메소드 오버라이드하기 = 115 10.7 리치 인터페이스를 위한 트레이트 = 116 10.8 트레이트의 구체 필드 = 117 10.9 트레이트의 추상 필드 = 118 10.10 트레이트 생성 순서 = 119 10.11 트레이드 필드 초기화 = 121 10.12 클래스를 확장한 트레이트 = 122 10.13 셀프 타입 = 124 10.14 내부에서 일어나는 일 = 125 연습문제 = 126 Chapter 11. 연산자 11.1 인식자 = 129 11.2 삽입 연산자 = 130 11.3 단항 연산자 = 131 11.4 할당 연산자 = 132 11.5 우선순위 = 132 11.6 결합성 = 133 11.7 apply와 update 메소드 = 134 11.8 추출자 = 135 11.9 인자 하나 혹은 인자 없는 추출자 = 137 11.10 unapplySeq 메소드 = 137 연습문제 = 138 Chapter 12. 고차함수 12.1 값으로서 함수 = 141 12.2 익명 함수 = 142 12.3 함수 인자를 받는 함수 = 143 12.4 인자 추론 = 144 12.5 유용한 고차 함수 = 145 12.6 클로저 = 147 12.7 SAM 변환 = 148 12.8 커링 = 149 12.9 제어 추상화 = 150 12.10 return 표현식 = 151 연습문제 = 152 Chapter 13. 콜렉션 13.1 중요 콜렉션 트레이트 = 156 13.2 수정 가능한 콜렉션과 수정 불가능한 콜렉션 = 157 13.3 시퀀스 = 158 13.4 리스트 = 160 13.5 수정 가능한 리스트 = 161 13.6 집합 = 162 13.7 원소들을 추가 혹은 제거하는 연산자 = 163 13.8 공통 메소드 = 164 13.9 함수 매핑 = 167 13.10 리듀싱, 폴딩, 스캐닝 = 168 13.11 지핑 = 172 13.12 이터레이터 = 174 13.13 스트림 = 174 13.14 레이지 뷰 = 176 13.15 자바 콜렉션과의 상호 호환 = 177 13.16 쓰레드세이프 콜렉션 = 179 13.17 병렬 콜렉션 = 179 연습문제 = 181 Chapter 14. 패턴 매칭과 케이스 클래스 14.1 더 나은 switch = 184 14.2 가드 = 185 14.3 패턴에서 변수 = 185 14.4 타입 패턴 = 186 14.5 배열, 리스트, 튜플을 매치하기 = 187 14.6 추출자 = 188 14.7 변수 선언에서 패턴 = 189 14.8 for 표현식에서 패턴 = 189 14.9 케이스 클래스 = 190 14.10 copy 메소드와 이름 있는 인자 = 191 14.11 case 절에서 중위 표기법 = 191 14.12 중첩 구조 매치하기 = 192 14.13 케이스 클래스는 나쁜가? = 194 14.14 잠긴 클래스 = 195 14.15 이뉴머레이션 흉내내기 = 195 14.16 Option 타입 = 196 14.17 부분 함수 = 197 연습문제 = 198 Chapter 15. 어노테이션 15.1 어노테이션은 무엇인가? = 202 15.2 무엇이 어노테이트될 수 있나? = 202 15.3 어노테이션 인자 = 203 15.4 어노테이션 구현 = 204 15.5 자바 기능을 위한 어노테이션 = 206 15.5.1 자바 수정자 = 206 15.5.2 마커 인터페이스 = 207 15.5.3 체크 예외 = 207 15.5.4 가변 인자 = 208 15.5.5 자바빈 = 209 15.6 최적화를 위한 어노테이션 = 209 15.6.1 꼬리 재귀 = 209 15.6.2 점프 테이블 생성과 인라이닝 = 211 15.6.3 메소드 생략하기 = 211 15.6.4 기본 타입 특수화 = 213 15.7 오류와 경고를 위한 어노테이션 = 214 연습문제 = 215 Chapter 16. XML 처리 16.1 XML 리터럴 = 218 16.2 XML 노드 = 218 16.3 엘리먼트 어트리뷰트 = 220 16.4 내재 표현식 = 221 16.5 어트리뷰트 내의 표현식 = 222 16.6 흔히 사용하지 않는 노드 타입 = 223 16.7 XPath와 유사한 표현식 = 224 16.8 패턴 매칭 = 225 16.9 엘리먼트와 어트리뷰트 수정 = 226 16.10 XML 변환 = 227 16.11 로드와 세이브 = 228 16.12 네임스페이스 = 231 연습문제 = 232 Chapter 17. 타입 인자 17.1 제네릭 클래스 = 236 17.2 제네릭 함수 = 236 17.3 타입 변수에 대한 바운드 = 237 17.4 뷰 바운드 = 238 17.5 콘텍스트 바운드 = 239 17.6 매니페스트 콘텍스트 바운드 = 239 17.7 다중 바운드 = 240 17.8 타입 제한자 = 240 17.9 베리언스 = 242 17.10 코베리언트와 콘트라베리언트 위치 = 244 17.11 오브젝트는 제네릭일 수 없다 = 245 17.12 와일드카드 = 246 연습문제 = 247 Chapter 18. 고급 타입 18.1 싱글톤 타입 = 250 18.2 타입 프로젝션 = 251 18.3 패스 = 252 18.4 타입 별칭 = 253 18.5 구조 타입 = 254 18.6 복합 타입 = 255 18.7 중위 타입 = 256 18.8 이그지스텐셜 타입 = 257 18.9 스칼라 타입 시스템 = 258 18.10 셀프 타입 = 259 18.11 의존성 삽입 = 261 18.12 추상 타입 = 263 18.13 가족 다형성 = 264 18.14 고차 타입 = 268 연습문제 = 271 Chapter 19. 파싱 19.1 문법 = 276 19.2 파서 연산 병합 = 277 19.3 파서 결과 변환 = 279 19.4 토큰 버리기 = 281 19.5 파스 트리 생성하기 = 281 19.6 좌측 재귀 피하기 = 282 19.7 추가 컴비네이터들 = 284 19.8 백트래킹 피하기 = 286 19.9 팩랙 파서 = 287 19.10 파서란 정확히 무엇인가? = 287 19.11 정규식 파서 = 288 19.12 토큰 기반 파서 = 289 19.13 오류 처리 = 291 연습문제 = 292 Chapter 20. 액터 20.1 액터 생성 및 시작 = 296 20.2 메시지 송신 = 297 20.3 메시지 수신 = 298 20.4 다른 액터들에 메시지 보내기 = 299 20.5 채널 = 300 20.6 동기 메시지와 퓨처 = 301 20.7 쓰레드 공유 = 303 20.8 액터 생명 주기 = 305 20.9 액터 연결 = 307 20.10 액터로 설계하기 = 308 연습문제 = 309 Chapter 21. 암묵 21.1 암묵 변환 = 311 21.2 기존 라이브러리를 강화를 위해 암묵 사용하기 = 312 21.3 암묵 임포트하기 = 313 21.4 암묵 변환 규칙 = 314 21.5 암묵 인자 = 315 21.6 암묵 인자가 있는 암묵 변환 = 317 21.7 콘텍스트 바운드 = 318 21.8 증거 = 319 21.9 @implicitNotFound 어노테이션 = 320 21.10 CanBuildFrom 풀이 = 321 연습문제 = 323 Chapter 22. 제한된 컨티뉴에이션 22.1 컨티뉴에이션 캡처와 호출 = 326 22.2 구멍이 있는 계산 = 327 22.3 reset과 shift의 제어 흐름 = 328 22.4 reset 표현식의 값 = 329 22.5 reset와 shift 표현식의 타입 = 330 22.6 CPS 어노테이션 = 331 22.7 재귀 방문을 이터레이션으로 변환 = 332 22.8 제어 역전 되돌리기 = 335 22.9 CPS 변환 = 338 22.10 중첩 제어 콘텍스트 변환 = 341 연습문제 = 343 찾아보기 = 346



