1. 광고배너
  2. 광고배너
/ 이전버튼 다음버튼
2
미리보기

자바와 네트워크 프로그래밍(ACORN+PACKT TECHNICAL BOOK)
저자 : 리차드리스 ㅣ 출판사 : 에이콘출판 ㅣ 역자 : 유연재

2016.12.30 ㅣ 364p ㅣ ISBN-13 : 9788960779563

정가30,000
판매가27,000(10% 할인)
적립금 1,500원 (5%)
배송일정 절판
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

크기 B5(257mm X 188mm, 사륙배판)
제품구성 단행본
이용약관 청약철회
국내도서 > 컴퓨터 > 인터넷 > 웹프로그래밍(웹디자...
이 책은 총 9장으로 구성되어 있다. 1장, *네트워크 프로그래밍 시작*에서는 필수적인 네트워크 용어 및 개념을 소개였고 2장, *네트워크 주소*에서는 네트워크에서 노드가 주소를 사용하는 방법을 설명하였다. 3장, *네트워크 NIO 지원*에서는 NIO 패키지에서 버퍼와 채널을 사용한 통신 지원 방법을 살펴보고, 4장, *클라이언트/서버 개발*에서는 중요하고 널리 사용되는 프로토콜인 HTTP를 사용하는 방법을 살펴봤다. 5장, *P2P 네트워크*에서는 P2P(peer-to-peer) 네트워크에서 기존 클라이언트/서버 아키텍처에 유연한 대안을 제공하는 방법을 설명하였고 6장, *UDP와 멀티캐스팅*에서는 TCP의 대안인 UDP의 사용 방법을 설명하였다. 7장, *네트워크 확장성*에서는 더 많은 요청이 서버에 발생할 때 시스템이 이러한 요청을 해결하기 위해 필요한 방법을 설명하였고 스레드 풀(thread pool), 퓨처(future) 및 NIO 셀렉터(selector)를 포함해 이러한 요청을 지원하는 여러 스레딩 기술을 소개하였다. 8장, *네트워크 보안*에서는 애플리케이션을 다양한 위협으로부터 보호하는 방법을 다루었고 9장, *네트워크 상호운용성*에서는 자바 애플리케이션이 다른 프로그래밍 언어로 작성된 애플리케이션과 정보를 교환할 수 있는 방법을 설명하였다.
펼쳐보기

[목 차]

1장. 네트워크 프로그래밍 시작
__InetAddress 클래스를 사용한 네트워크 주소
__NIO 지원
____URLConnection 클래스 사용
____버퍼와 채널을 이용한 URLConnection 클래스 사용
__클라이언트/서버 아키텍처
__간단한 에코 서버 생성
____간단한 에코 클라이언트 생성
____자바 8을 사용한 에코 서버와 클라이언트 지원
__UDP와 멀티캐스팅
____멀티캐스트 서버 생성
____멀티캐스트 클라이언트 생성
__확장성
____스레드 서버 생성
____스레드 서버 사용
__보안
____SSL 서버 생성
____SSL 클라이언트 생성
____보안 키 생성
__요약

2장. 네트워크 주소
__네트워크 기본
____네트워크 기본 이해
________네트워크 아키텍처와 프로토콜
__NetworkInterface 클래스 사용
____Mac 주소 획득
________특별한 Mac 주소 획득
________다중 MAC 주소 획득
__네트워크 주소 개념
____URL/URI/URN
____URI 클래스 사용
________URI 인스턴스 생성
________URI 부분 분리
____URL 클래스 사용
________URL 인스턴스 생성
________URL 부분 분리
____IP 주소와 InetAddress 클래스
________주소 정보 획득
________주소 범위 문제
________도달 가능성 테스트
____Inet4Address 소개
________IPv4의 사설 주소
________IPv4 주소 타입
________Inet4Address 클래스
________특별한 IPv4 주소
____Inet6Address 클래스 소개
________IPv6의 사설 주소
________Inet6Address 클래스
________특별한 IPv6 주소
____IP 주소 타입 테스트
________IPv4 호환 IPv6 주소 사용
__네트워크 속성 제어
__요약

3장. 네트워크 NIO 지원
__자바 NIO
__버퍼 소개
__채널을 사용한 타임 서버
____타임 서버 생성
____타임 클라이언트 생성
__채팅 서버/클라이언트 애플리케이션
____채팅 서버
____채팅 클라이언트
____서버/클라이언트 상호작용
____HelperMethods 클래스
________가변 길이 메시지 처리
____채팅 서버/클라이언트 애플리케이션 실행
__다중 클라이언트 처리
____부품 서버
____부품 클라이언트 핸들러
____부품 클라이언트
____부품 클라이언트/서버 실행
__비동기 소켓 채널
____비동기 서버 소켓 채널 서버 생성
____비동기 소켓 채널 클라이언트 생성
__기타 버퍼 작업
____대량 데이터 전송
____뷰 사용
____읽기 전용 버퍼 사용
__소켓 옵션 제어
__요약

4장. 클라이언트/서버 개발
__HTTP 프로토콜 구조
__HTTP 메시지의 특성
____요청 초기 라인 형식
____헤더 라인
____메시지 몸체
____클라이언트/서버 상호작용 예제
__HTTP 클라이언트/서버 애플리케이션에서 자바 소켓 지원
____간단한 HTTP 서버 구축
____간단한 HTTP 클라이언트 구축
__표준 자바 클래스를 사용한 클라이언트/서버 개발
____HttpURLConnection 클래스 사용
________URL 인코딩
____HTTPServer 클래스 사용
________간단한 HttpServer 클래스 구현
________응답 헤더 관리
__오픈소스 자바 HTTP 서버
__서버 구성
__쿠키 처리
__요약

5장. P2P 네트워크
__P2P 기능/특성
__애플리케이션 기반 P2P 네트워크
__P2P 애플리케이션용 자바 지원
__분산 해시 테이블
____DHT 컴포넌트
____DHT 구현
____JDHT 사용
__FreePastry 사용
____FreePastry 예제
________FreePastryExample 클래스의 이해
________FreePastryApplication 클래스의 이해
________특정 노드에게 메시지 전송
__요약

6장. UDP와 멀티캐스팅
__UDP에 대한 자바 지원
__TCP와 UDP
__UDP 클라이언트/서버
____UDP 서버 애플리케이션
____UDP 클라이언트 애플리케이션
____작동하는 UDP 클라이언트/서버
__UDP를 위한 채널 지원
____UDP 에코 서버 애플리케이션
____UDP 에코 클라이언트 애플리케이션
____작동하는 UDP 에코 클라이언트/서버
__UDP 멀티캐스팅
____UDP 멀티캐스트 서버
____UDP 멀티캐스트 클라이언트
____작동하는 UDP 멀티캐스트 클라이언트/서버
__채널에 의한 UDP 멀티캐스팅
____UDP 채널 멀티캐스트 서버
____UDP 채널 멀티캐스트 클라이언트
____작동하는 UDP 채널 멀티캐스트 클라이언트/서버
__UDP 스트리밍
____UDP 오디오 서버 구현
____UDP 오디오 클라이언트 구현
__요약

7장. 네트워크 확장성
__멀티스레드 서버 개요
__thread-per-request 접근법
____thread-per-request 서버
____thread-per-request 클라이언트
____작동하는 thread-per-request 애플리케이션
__Thread-per-connection 접근법
____thread-per-connection 서버
____thread-per-connection 클라이언트
____작동하는 thread-per-connection 애플리케이션
__스레드 풀
____ThreadPoolExecutor 클래스 특성
____간단한 스레드 풀 서버
____간단한 스레드 풀 클라이언트
____작동하는 스레드 풀 클라이언트/서버
____Callable와 스레드 풀
________Callable 사용
________Future 사용
__HttpServer 실행기 사용
__셀렉터 사용
____셀렉터 생성
____채널 등록
____타임 클라이언트/서버를 지원하는 셀렉터 사용
________채널 타임 서버
________날짜와 시간 클라이언트 애플리케이션
________작동하는 날짜와 시간 서버/클라이언트
__네트워크 타임아웃 처리
__요약

8장. 네트워크 보안
__보안
____보안 통신 용어
__암호화 기본
____대칭 암호화 기법
________키 생성
________대칭 키를 이용한 암호화 텍스트
________복호화 텍스트
____비대칭 암호화 기법
________비대칭 키 생성과 저장
________비대칭 키를 사용한 암호화/복호화 텍스트
________비대칭 키 파일 저장
__키스토어 생성
____keytool을 사용한 키스토어 생성과 유지
____Keytool 커맨드라인 인자
____자바를 사용한 키스토어 생성과 유지
__대칭 암호화 클라이언트/서버
____대칭 서버 애플리케이션
____대칭 클라이언트 애플리케이션
____작동하는 대칭 클라이언트/서버
__비대칭 암호화 클라이언트/서버
____비대칭 서버 애플리케이션
____비대칭 클라이언트 애플리케이션
____작동하는 비대칭 클라이언트/서버
__TLS/SSL
____SSL 서버
____SSL 클라이언트
____작동하는 SSL 클라이언트/서버
__보안 해시 함수
__요약

9장. 네트워크 상호운용성
__자바 바이트 순서
__기타 언어와의 인터페이스
____JVM 기반 언어와 인터페이스
____비JVM 언어와 인터페이스
__간단한 소켓을 이용한 통신
____자바 서버
____C# 클라이언트
____작동하는 클라이언트/서버
__미들웨어를 통한 상호운용성
____RESTful 서비스 생성
____RESTful 서비스 테스트
____RESTful 클라이언트 생성
__요약




펼쳐보기
이 책에서 다루는 내용

■ 소켓을 사용한 다른 애플리케이션과의 연결
■ 애플리케이션 간의 통신을 향상시키기 위한 채널 및 버퍼 사용
■ 네트워크 서비스 접속 및 클라이언트/서버 애플리케이션 개발
■ P2P 애플리케이션의 주요 요소와 가능한 현재 기술 탐색
■ 멀티캐스팅을 수행하는 UDP 사용
■ 코어의 사용과 고급 스레딩 기술을 통한 확장성 해결
■ 더 높은 보안을 위한 애플리케이션 기술 통합
■ 환경 설정 및 이기종 환경에서 작동하는 애플리케이션의 사용을 위한 상호운용성 문제 해결

이 책의 대상 독자

이미 자바에 능숙하고 네트워크 기반 자바 애플리케이션의 개발 방법을 알고 싶은 개발자를 위한 책이다. 기본 자바와 객체지향 프로그래밍(-object-oriented programming) 개념에 대한 친숙함도 필요하다. 이 책을 통해 네트워크 프로그래밍의 기본과 다수의 다른 소켓을 사용해 안전하고 확장 가능한 애플리케이션을 생성하는 방법을 배운다.

이 책의 구성

1장, *네트워크 프로그래밍 시작*에서는 필수적인 네트워크 용어 및 개념을 소개한다. 자바에서 지원하는 네트워크를 간단한 예제와 함께 설명한다. 서버의 스레드 버전과 함께 간단한 클라이언트/서버 애플리케이션을 보여준다.
2장, *네트워크 주소*에서는 네트워크에서 노드가 주소를 사용하는 방법을 설명한다. 자바에서 IPv4와 IPv6의 지원과 함께 주소를 나타내는 방법을 살펴본다. 또한 자바에서 다양한 네트워크 속성을 구성하는 방법을 다룬다.
3장, *네트워크 NIO 지원*에서는 NIO 패키지에서 버퍼와 채널을 사용한 통신 지원 방법을 살펴본다. 이 기술은 클라이언트/서버 애플리케이션과 함께 설명하며, 비동기 통신을 위한 NIO 지원도 살펴본다.
4장, *클라이언트/서버 개발*에서는 중요하고 널리 사용되는 프로토콜인 HTTP를 사용하는 방법을 살펴본다. 자바는 다양한 방법으로 HTTP 프로토콜을 지원한다. 이 기술은 자바에서 쿠키(cookie)를 다루는 방법의 예제와 함께 설명한다.
5장, *P2P 네트워크*에서는 P2P(peer-to-peer) 네트워크에서 기존 클라이언트/서버 아키텍처에 유연한 대안을 제공하는 방법을 설명한다. 기본 P2P 개념은 자바에서 이런 아키텍처를 지원하는 방법의 예제와 함께 소개한다. FreePastry는 오픈소스 P2P 솔루션 프레임워크를 설명하는 데 사용된다.
6장, *UDP와 멀티캐스팅*에서는 TCP의 대안인 UDP의 사용 방법을 설명한다. UDP는 신뢰성이 떨어지기는 하지만 인터넷을 사용해 통신하는 애플리케이션에 더 효율적인 방법을 제공한다. 이 프로토콜에 대한 자바의 광범위한 지원과 UDP가 스트리밍 미디어를 지원하는 방법을 설명한다.
7장, *네트워크 확장성*에서는 더 많은 요청이 서버에 발생할 때 시스템이 이러한 요청을 해결하기 위해 필요한 방법을 설명한다. 스레드 풀(thread pool), 퓨처(future) 및 NIO 셀렉터(selector)를 포함해 이러한 요청을 지원하는 여러 스레딩 기술을 소개한다.
8장, *네트워크 보안*에서는 애플리케이션을 다양한 위협으로부터 보호하는 방법을 다룬다. 자바에서는 암호화(encryption) 및 보안 해싱 기법(secure hashing technique)을 사용해 지원한다. 대칭 및 비대칭 암호화 기술도 살펴보며, TLS/SSL의 사용도 설명한다.
9장, *네트워크 상호운용성*에서는 자바 애플리케이션이 다른 프로그래밍 언어로 작성된 애플리케이션과 정보를 교환할 수 있는 방법을 설명한다. 바이트 순서(byte order)를 포함한 애플리케이션의 상호운용성에 영향을 미치는 문제를 확인한다. 또한 다른 구현 간의 통신은 소켓과 미들웨어를 사용해 살펴본다.

세계는 인터넷에서 제공하는 많은 서비스를 통해 전례 없는 규모로 서로 연결된다. 비즈니스 처리부터 냉장고에서 발견할 수 있는 임베디드 애플리케이션까지 인터넷에 연결된다. 고립된 애플리케이션은 더 이상 표준이 아니므로, 애플리케이션에서 네트워크를 사용하는 것은 점점 더 중요해진다.
이 책의 목적은 네트워크에서 다른 애플리케이션과 서비스를 연결해 사용할 수 있는 자바 애플리케이션을 개발하는 데 필요한 기술을 독자들에게 제공하는 것이다. 눈앞의 업무에 적합한 기술을 사용해 애플리케이션을 개발하게 하는 자바에서 이용할 수 있는 다양한 네트워크 옵션을 살펴본다.
-저자의 말

제임스 고슬링(James Gosling)에 의해 만들어진 자바는 세계에서 가장 널리 사용되는 인기 있는 프로그래밍 언어 중 하나다. 우리나라도 예외는 아니다. 조금 과장해서 말하면 대한민국에서 프로그래머라고 불리는 대부분은 자바 프로그래머라고 정의하는 사람들도 있다. 그만큼 자바는 대중적인 프로그래밍 언어지만, 자바에 다가가는 것을 어려워하는 프로그래머가 많다. 초보자의 경우 자바 공부를 시작할 때 책의 중반까지는 열심히 따라가다 후반부에 들어서면 대부분 힘들어한다. 대표적으로 어려워하는 부분이 네트워크 프로그래밍이다.
인스턴스 메신저, P2P 프로그램처럼 네트워크 프로그래밍을 사용하는 것을 주위에서 쉽게 찾아볼 수 있다. 하지만 자바 프로그래머들에게 네트워크 프로그래밍은 항상 어려운 주제고, 넘어가기 힘든 과정이다. 자바 공부를 시작한 십여 년 전부터 지금까지 변함없는 사실인 것 같다. 나 또한 많이 어려워했다. 소켓, TCP, UDP, 스레드 같은 네트워크 개념을 공부하기 전부터 관련 단어만 봐도 두려움만 앞서는 독자들도 있을 것이다. 이 책은 이러한 어려움을 해결할 수 있게 도와준다. 독자들에게 네트워크 프로그래밍의 개발에 필요한 개념을 설명하고, 필요한 기술들을 제공해줄 것이다.
또한 대부분의 네트워크 프로그래밍 관련 책들은 자바 8 이전의 구현으로 구성돼 자바 8의 구현 방식은 대부분 알 수 없다. 하지만 이 책은 독자들을 위해 자바 8 이전의 구현과 자바 8의 구현을 예제와 함께 비교 설명한다. 이것으로 자바 8의 사용 방법과 필요한 시점을 이해할 수 있으며, 독자에게 네트워크 프로그래밍에 대한 자신감을 키워줄 것이다.
-역자의 말
펼쳐보기
리차드 리스(Richard M Reese)
산업과 학계 모두에서 근무했다. 17년 동안 통신 및 항공 산업에서 근무했고, 연구 및 개발, 소프트웨어 개발, 감독, 교육을 비롯한 분야에서 다양한 능력을 제공했다. 현재 산업에서의 다년간 경험을 가르침에 적용할 수 있는 기회를 준 탈튼 주립대학교(Tarleton State University)에서 학생들을 가르치고 있다.
다수의 자바 책과 C 포인터 책을 출간했다. 가까운 주제에 대해 간결하고 쉬운 접근 방식을 사용한다. EJB 3.1, 자바 7과 자바 8로 업데이트, 인증, 함수형 프로그래밍 jMonkeyEngine, 자연어 처리 등 다양한 자바 관련 도서를 저술했다.

옮긴이 유연재
동국대학교 재학 중이던 2002년부터 다수의 회사에서 개발을 시작해 현재 더케이손해보험에서 일반 보험 시스템 개발을 담당하고 있다. 과거에는 신기술에 관심이 많아 새로운 기술을 공부해 적용하는 것을 즐겼으나, 요즘은 비즈니스 프로세스에 중점을 두고 이를 효율적으로 개발에 적용하는 방법을 고민 중인 삼십 대 중반 프로그래머다.
펼쳐보기

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.
도서평점
내용
등록하기
0/2000자
교환/반품 방법
  • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
  • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
교환/반품 가능기간
  • 변심반품의 경우 수령 후 7일 이내
  • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
교환/반품 비용
  • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
교환/반품 불가사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 만화, 잡지, 수험서 및 문제집류
  • 복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
상품 품절
  • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

이 분야의 베스트

더보기 >

    이 분야의 신간

    더보기 >
      맨위로가기

      영풍문고 로고

      • 회사명 : (주)영풍문고
      • 대표이사 : 김경환
      • 소재지 : 서울특별시 종로구 청계천로 41 (우)03188
      • 사업자 등록번호 : 773-86-01800 ㅣ 통신판매업 신고번호 : 2023-서울종로-0130 [ 사업자정보확인 ]
      • 개인정보관리 책임자 : 조순제 ㅣ customer@ypbooks.co.kr ㅣ 대량주문 : webmaster@ypbooks.co.kr
      COPYRIGHT © YOUNGPOONG BOOKSTORE INC. ALL RIGHTS RESERVED.
      영풍문고 네이버블로그 영풍문고 인스타그램
      맨위로가기