장바구니 담기 close

장바구니에 상품을 담았습니다.

JVM 언어 입문

JVM 언어 입문

  • 빈센트반데르렌
  • |
  • 에이콘출판
  • |
  • 2018-08-30 출간
  • |
  • 536페이지
  • |
  • 188 X 235 X 26 mm
  • |
  • ISBN 9791161751962
판매가

36,000원

즉시할인가

32,400

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
32,400

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




★ 이 책에서 다루는 내용 ★
■ JVM에 대한 실질적인 정보 얻기
■ 인기 있는 JVM 언어와 자바 클래스 라이브러리 이해
■ 명령형과 객체지향, 함수형과 같은 다양한 프로그래밍 패러다임
■ 이클립스IDE와 그래들(Gradle), 메이븐(Maven) 같은 일반적인 JVM 툴 사용
■ 스파크자바(SparkJava), Vert.x, 아카(Akka), 자바FX(JavaFX)와 같은 프레임워크 탐구
■ 자바스크립트(JavaScript)와 파이썬(Python), 루비(Ruby) 등을 포함한 다른 유명한 프로그래밍 언어의 변형에 대한 지식

★ 이 책의 대상 독자 ★
이 책은 자바 가상 머신(JVM)에 관심 있으며 JVM 개발에 가장 인기 있는 프로그램 언어를 알고 싶은 개발자를 대상으로 한다. 객체지향 프로그래밍을 지원하는 프로그래밍 언어(자바스크립트, 파이썬, C#, VB.NET, C++)에 대한 경험적 지식이 있다고 가정한다.

★ 옮긴이의 말 ★
자바 가상 머신(JVM)은 자바 코드를 컴파일해서 운영체제가 이해할 수 있는 바이트코드를 생성함으로써 자바 애플리케이션을 운영체제에 독립적으로 사용할 수 있게 해주는 실행 환경으로 시작했다. 하지만 최근에는 다양한 개발 언어들이 자바 바이트코드를 생성하거나 JVM 위에서 실행되는 인터프리터를 지원하고 서로 라이브러리를 공유하면서 JVM 자체가 거대한 생태계가 되었다.
이러한 개발 언어가 등장하면서 상대적으로 무겁고 거대한 자바의 인기가 시들어질 것이라는 예측도 있었으나 다양한 언어의 장단점을 수용하고 개선의 노력을 지속한 결과 여전히 자바는 기업형 솔루션, 웹, 앱 등 다양한 분야에서 사용되고 있다. 한편 JVM 기반에서 실행되는 다른 언어들은 자바를 보완할 수 있는 경량의 유연한 방법을 제공해 다양한 영역에서 자바의 대체재로 쓰이며 활용도가 높아지고 있다.
이 책에서는 JVM을 기반을 하는 다양한 언어 중 자바, 스칼라, 클로저, 코틀린, 그루비 다섯 가지 언어를 소개한다. 먼저 각 언어에서 중요한 개념을 소개하고 샘플 프로젝트를 작성하면서 개념을 실습해본다. 그리고 각 언어를 자바와의 차이점을 비교해 설명함으로써 이해를 돕는다. 정적/동적 자료형 타입이나 객체지향 프로그래밍과 함수형 프로그래밍에 대해서도 간략히 설명하지만 아주 심도 있는 개념까지 다루지는 않았으므로, 자바 개발 경험이 없는 개발자들도 쉽게 이해할 수 있으리라 생각한다. 자바 개발 경험이 많은 개발자에게는 다소 내용이 평이하게 느껴질 수 있지만, 비교를 통한 설명으로 새로운 개발 언어에 흥미를 갖게 되고 자신의 애플리케이션에 가장 적합한 언어를 발견하는 계기가 될 것이다.


목차


1장. 자바 가상 머신
__JVM 구현체
__왜 JVM에서 개발하는가?
____시장 변화에 적응한 JVM
____자바 클래스 라이브러리
____생태계
__일반 사용 사례
____웹 애플리케이션
____빅데이터
____IoT
__JVM 개념
____가상 머신
____JIT 컴파일러
____기본형 데이터 타입
____클래스
____참조 타입
____가비지 컬렉터
____하위 호환성
____빌드 도구
__자바 에디션
____자바 SE
____자바 EE
____예제
____자바 ME
__JVM의 다른 언어들
____자바 외에 다른 언어를 선택하는 이유
____자바는 매우 장황한 언어다
____프로젝트에 JVM 언어 혼용하여 사용하기
____다른 언어로 단위 테스트 작성하기
__요약

2장. 자바 가상 머신에서 개발하기
__JDK
____JDK 설치
____JDK 들여다보기
____JRE
__패키지를 포함한 클래스 구조
____패키지란?
____패키지 이름 정하기
____패키지 이름 예제
____정규화된 클래스 이름
__자바 클래스 라이브러리
____자바 클래스 라이브러리 구조
____패키지 개요
____java.lang 패키지의 기본 클래스
____컬렉션 API-java.util.ArrayList와 java.util.HashMap
__커맨드 라인에서 JVM 애플리케이션 실행
____적어도 하나 이상의 클래스에 정적 main() 메소드 구현
____클래스 파일에 필요한 디렉터리 구조
____JVM 인스턴스를 위한 클래스경로 설정
____JAR 파일에 클래스 파일 배치하기
____java 명령어로 프로그램 실행하기
____JVM에서 실행하는 프로젝트 실무 사례
__이클립스 IDE
____이클립스 IDE 다운로드
____이클립스 IDE 설치
__요약

3장. 자바
__자바에서의 OOP
____클래스 정의
____클래스 접근 제한자
____Final 클래스 제한자-클래스 잠금
____패키지 정의
____클래스 가져오기
____클래스 멤버, 변수와 메소드 추가하기
____제한자
____생성자와 종료자
____상위형변환과 하위형변환
__자바 코드 작성
____연산자
____조건 체크
____POJO
____배열
____제너릭과 컬렉션
____루프
____스레드
____람다
__스타일 가이드
__퀴즈
__요약

4장. 자바 프로그래밍
__이클립스 IDE 구성
__자바로 웹 서비스 제작하기
____이클립스에서 새로운 그래들 프로젝트 생성하기
____그래들 빌드 파일 수정
____프로젝트 빌드
____백엔드 클래스 작성
__요약

5장. 스칼라
__스칼라 설치
__스칼라의 REPL 셸
__함수형 vs 명령형 프로그래밍
__스칼라 언어 문법과 규칙
____정적 타입 언어
____가변 변수와 불변 변수
____기본 스칼라 타입
____Strings
__스칼라에서의 OOP
____패키지와 하위패키지 선언
____멤버 가져오기
____클래스 정의
____인스턴스 변수와 메소드
____생성자
____클래스 확장
____메소드 오버로딩
____추상 클래스
____트레이트
____싱글턴 객체
____연산자 오버로딩
____case 클래스
__스칼라의 표준 라이브러리
____제너릭
____컬렉션
____XML 처리
__스칼라에서의 함수형 프로그래밍
____함수를 사용해서 컬렉션 검색하기
____맵과 필터, 리듀스 디자인 패턴
____커링
__퀴즈
__요약

6장. 스칼라 프로그래밍
__이클립스 플러그인 형태의 스칼라 IDE
____이클립스에 스칼라 IDE 설치
____스칼라 IDE 퍼스펙티브 전환
__SBT
____SBT 설치
____SBT 기반 이클립스 IDE 프로젝트 생성
____스칼라 컴파일러(scalac)
__아카 프로젝트 생성
____SBT 빌드 파일에 아카 의존성 추가
____스칼라 IDE 프로젝트 업데이트
____아카 개념
____첫 번째 아카 액터 QuotesHandlerActor 생성
____메시지 생성
____ScalaTest 기반 단위 테스트 작성
____메시지 처리기 구현
____QuotePrinterActor 생성
____메인 애플리케이션
__요약

7장. 클로저
__클로저 설치
____시작 스크립트 작성
__클로저 대화형 셸(REPL)
__클로저 언어
____문법
____표현식
____변수 정의
____함수 정의
____데이터 구조
__자바 클래스와 동작하기
____deftype과 defrecord를 가진 간단한 자바 클래스 생성
__에이전트로 상태 관리하기
____에이전트 예제
__스타일 가이드
__퀴즈
__요약

8장. 클로저 프로그래밍
__이클립스 IDE의 카운터클락와이즈 플러그인
____카운터클락와이즈 플러그인 설치
____자바 퍼스펙티브로 변환하기
__라이닌겐 빌드 도구
____라이닌겐 설치
__클로저에서 실행 가능한 프로그램 작성
____라이닌겐 없이 클래스 파일 컴파일
____라이닌겐으로 프로젝트 컴파일
__새로운 카운터클락와이즈 프로젝트 생성
____이클립스 IDE 안의 클로저 REPL
____프로젝트의 클로저 버전 변경
____의존성 추가
__테스트 주도 개발을 통해 모나드 탐구
__루미너스 웹 프레임워크
____루미너스 프로젝트 생성
____카운터클락와이즈에서 프로젝트 가져오기
____루미너스 프로젝트 탐색
____웹 애플리케이션에 페이지 추가
__요약

9장. 코틀린
__코틀린 설치
__실행 스크립트
__코틀린 REPL 대화형 셸
____코틀린 언어 기본
____로컬 변수 정의
____함수 정의
____코틀린 유형
____반복
__코틀린에서 OOP
____패키지 정의
____멤버 가져오기
____클래스와 생성자 정의
____클래스에 멤버 추가
____상속
____인터페이스
____가시성 제한자
____싱글턴과 컴패니언 객체
____데이터 클래스
____람다와 인라인 함수
__코틀린에서 절차적 프로그래밍
__스타일 가이드
__퀴즈
__요약

10장. 코틀린 프로그래밍
__이클립스 IDE를 위한 코틀린 플러그인
____이클립스 IDE를 위한 코틀린 플러그인 설치
____코틀린 퍼스펙티브로 전환
__아파치 메이븐
____아파치 메이븐 설치
____사전에 구성된 코틀린 스타터 키트 다운로드
____이클립스 IDE에 프로젝트 가져오기
____pom.xml 빌드 파일 탐구
____이클립스에서 빌드 파일 변경
__자바FX 데스크톱 GUI 애플리케이션 제작
____프로젝트 준비
____실행 가능한 애플리케이션 제작
____확장 함수 작성
____레이아웃 페인
____BorderPane 기반 레이아웃 구현
____애니메이션 구현
____프로그램 디버깅
__요약

11장. 그루비
__그루비 설치
____그루비콘솔과 그루비셸
__그루비 언어
____그루비에서 객체지향 프로그래밍
__그루비 개발자 키트(GDK)
____그루비 문자열(GStrings)
____컬렉션
__동적, 정적 프로그래밍
____메타 프로그래밍
____그루비에서 정적 프로그래밍
__퀴즈
__요약

12장. 그루비 프로그래밍
__그루비 이클립스 플러그인 설치
____자바 퍼스펙티브 변환
__아파치 아이비와 IvyDE
____이클립스 IDE용 아파치 IvyDE 플러그인 설치
__프로젝트 생성과 구성
____새로운 그루비 이클립스 프로젝트 생성
____아이비를 위한 ivy.xml 파일 생성
__JDBC(Java Database Connectivity)
____H2 데이터베이스
____메모리 내 데이터베이스 생성
__마크업빌더를 사용한 XML 생성
____SQL 기반으로 XML 생성
__Vert.x 마이크로서비스 플랫폼..
____아이비에 Vert.x 의존성 추가
____웹 서비스 생성
__요약

부록 A. 다른 JVM 언어
__오라클 나스호른
____JVM 기반 프로젝트에 나스호른 포함시키기
____나스호른 실행
__자이썬(파이썬)
____C파이썬과 자이썬의 차이
____자이썬 실행
__제이루비(루비)
____루비 온 레일즈와 제이루비
____제이루비 실행
__프레게(하스켈)
____프레게에서 자바 코드 호출
____프레게 실행
__실론
____실론의 모듈 시스템
____실론 실행
__요약

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 : 070-4821-5101
교환/반품주소
  • 부산광역시 부산진구 중앙대로 856 303호 / (주)스터디채널 / 전화 : 070-4821-5101
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.