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

자바스크립트 스킬업(제3판)(웹 프로페셔널)
저자 : 마레인하버비케 ㅣ 출판사 : 에이콘출판 ㅣ 역자 : 양정열

2021.03.31 ㅣ 568p ㅣ ISBN-13 : 9791161755021

정가33,000
판매가31,350(5% 할인)
적립금 1,320원 (4%)
배송일정 04월 30일 출고 가능
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

크기 기타 규격
제품구성 단행본
이용약관 청약철회
국내도서 > 컴퓨터 > 인터넷 > 웹프로그래밍(웹디자...
MDN 추천!
아마존 자바스크립트 프로그래밍, 웹 서비스 부문 1위!


자바스크립트 초급 이상, 중급 개발자를 위한 내용을 담고 있다. 기본적인 프로그래밍 요소부터 심도 있는 프로그래밍 요소까지 다루며, 간결한 예제와 적당한 규모의 프로젝트 예제를 통해 프로그래밍 기술을 향상시킬 수 있다. 온라인으로 제공되는 웹 페이지에서 샌드박스를 통해 직접 코드를 수정해가며 원리를 학습할 수 있다.

■ 문법과 제어 흐름, 자료 구조를 포함한 프로그래밍의 필수 요소 이해
■ 객체 지향과 함수형 프로그래밍을 통해 코드를 작성하고 명확하게 만드는 방법
■ 기본 웹 애플리케이션과 브라우저 스크립트를 만드는 방법
■ DOM을 사용해 브라우저와 효율적으로 상호 작용하는 방법
■ Node.js를 활용해 서버와 도구를 만드는 방법


펼쳐보기

[목 차]

1장. 값, 타입, 연산자
__값
__숫자
__문자열
__단항 연산자
__불리언 값
__빈 값
__자동 형 변환
__요약


2장. 프로그램 구조
__표현식과 구문
__바인딩
__바인딩 이름
__환경
__함수
__console.log 함수
__반환 값
__제어 흐름
__조건부 실행
__while과 do 반복문
__코드 들여쓰기
__for 반복문
__반복문 나가기
__간결한 바인딩 업데이트
__switch를 통한 값 분기
__대문자 사용
__주석
__요약


3장. 함수
__함수 정의
__바인딩과 범위
__함수 값
__선언 표기법
__화살표 함수
__호출 스택
__선택적 인수
__클로저
__재귀 함수
__함수의 발전
__함수와 부수 효과
__요약
__연습 문제


4장. 객체와 배열 자료 구조
__다람쥐 전설
__데이터 세트
__속성
__메서드
__객체
__변형
__변신 로그
__상관관계 계산
__배열 반복문
__최종 분석
__배열 더 보기
__문자열과 문자열 속성
__나머지 매개변수
__Math 객체
__구조 분해
__JSON
__요약
__연습 문제


5장. 고차 함수
__추상화
__반복 추상화
__고차 함수
__문자 데이터 세트
__배열 필터링
__맵으로 변환
__리듀스로 요약
__결합성
__문자열과 문자 코드
__텍스트 인식
__요약
__연습 문제


6장. 객체의 이중 생활
__캡슐화
__메서드
__프로토타입
__클래스
__클래스 표기법
__파생 속성 재정의
__맵
__다형성
__심볼
__반복자 인터페이스
__게터, 세터, 스태틱
__상속
__instanceof 연산자
__요약
__연습 문제


7장. 로봇 프로젝트
__메도우필드
__할 일
__영구 데이터
__시뮬레이션
__메일 트럭의 경로
__길 찾기
__연습 문제


8장. 버그와 오류
__언어
__엄격한 모드
__유형
__테스팅
__디버깅
__오류 전파
__예외 처리
__예외 처리 후 정리
__선택적 예외 처리
__어설션
__요약
__연습 문제


9장. 정규 표현식
__정규 표현식 만들기
__일치 테스트
__문자 세트
__패턴의 부분 반복
__하위 표현식 그룹화
__매칭과 그룹
__날짜 클래스
__단어와 문자열 경계 지정
__선택 패턴
__매칭의 동작 방식
__역추적
__replace 메서드
__탐욕적인 연산자
__동적 RegExp 객체 생성
__search 메서드
__lastIndex 속성
__INI 파일 파싱
__국제 문자
__요약
__연습 문제

10장. 모듈
__모듈
__패키지
__임시 모듈
__데이터를 코드로 평가하기
__CommonJS
__ECMAScript 모듈
__빌드와 번들링
__모듈 설계
__요약
__연습 문제


11장. 비동기 프로그래밍
__비동기성
__까마귀의 기술
__콜백
__프로미스
__실패
__네트워크는 어렵다
__프로미스 모음
__네트워크 플러딩
__메시지 라우팅
__비동기 함수
__제너레이터
__이벤트 루프
__비동기 버그
__요약
__연습 문제


12장. 프로그래밍 언어 프로젝트
__파싱
__실행기
__특별한 형식
__환경
__함수
__컴파일
__편법
__연습 문제


2부. 브라우저

13장. 자바스크립트와 브라우저
__네트워크와 인터넷
__웹
__HTML
__HTML과 자바스크립트
__샌드박스
__호환성과 브라우저 전쟁


14장. DOM
__문서 구조
__트리
__표준
__트리 이동하기
__요소 찾기
__문서 변경하기
__노드 생성하기
__속성
__레이아웃
__스타일링
__CSS
__쿼리 선택자
__위치 지정과 애니메이션
__요약
__연습 문제


15장. 이벤트 처리
__이벤트 핸들러
__이벤트와 DOM 노드
__이벤트 객체
__전파
__기본 동작
__키 이벤트
__포인터 이벤트
__스크롤 이벤트
__포커스 이벤트
__로드 이벤트
__이벤트와 이벤트 루프
__타이머
__디바운스
__요약
__연습 문제


16장. 플랫폼 게임 프로젝트
__게임
__기술
__레벨
__레벨 읽기
__액터
__캡슐화의 부담
__드로잉
__움직임과 충돌
__액터 업데이트
__키 추적
__게임 실행
__연습 문제


17장. 캔버스에 그리기
__SVG
__캔버스 요소
__선과표면
__경로
__곡선
__파이 차트 그리기
__텍스트
__이미지
__변환
__변환저장 및 삭제
__플랫폼 게임에 적용하기
__그래픽인터페이스 선택하기
__요약
__연습 문제


18장. HTTP와 폼
__프로토콜
__브라우저와 HTTP
__패치
__HTTP 샌드박싱
__탁월한 HTTP
__보안과 HTTPS
__폼 필드
__포커스
__필드 비활성화
__전체 폼
__텍스트 필드
__체크박스와 라디오 버튼
__셀렉트 필드
__파일 필드
__클라이언트 측에 데이터 저장
__요약
__연습 문제


19장. 픽셀 이미지 편집기 프로젝트
__구성 요소
__상태
__DOM 생성
__캔버스
__애플리케이션
__드로잉 도구
__저장과 불러오기
__작업 실행 취소
__드로잉
__왜 이렇게 어려운가?
__연습 문제
__3부 Node
__20 NODE.JS
__배경
__노드 명령어
__모듈
__NPM으로 설치
__파일 시스템 모듈
__HTTP 모듈
__스트림
__파일 서버
__요약
__연습 문제
__21 기술 공유 웹 사이트 프로젝트
__설계
__롱 폴링
__HTTP 인터페이스
__서버
__클라이언트
__연습 문제


22장. 자바스크립트와 성능
__단계적 컴파일
__그래프 레이아웃
__그래프 정의하기
__힘 지향 레이아웃
__작업 줄이기
__프로파일링
__함수 인라인
__가비지 줄이기
__가비지 콜렉션
__동적 유형
__요약
__연습 문제


연습 문제 힌트
__2장 프로그램 구조
__3장 함수
__4장 객체와 배열의 자료 구조
__5장 고차 함수
__6장 객체의 이중 생활
__7장 로봇 프로젝트
__8장 버그와 오류
__9장 정규 표현식
__10장 모듈
__11장 비동기 프로그래밍
__12장 프로그래밍 언어 프로젝트
__14장 DOM
__15장 이벤트 처리
__16장 플랫폼 게임 프로젝트
__17장 캔버스에 그리기
__18장 HTTP와 폼
__19장 픽셀 이미지 에디터 프로젝트
__20장 Node.js
__21장 기술 공유 웹 사이트 프로젝트
__22장 자바스크립트와 성능


[본 문]

[지은이의 말]
이 책은 컴퓨터 명령에 관한 내용을 다룬다. 오늘날 컴퓨터는 스크류 드라이버만큼 흔하지만 훨씬 더 복잡하며, 컴퓨터가 우리가 원하는 작업을 처리하도록 만드는 일이 쉽지만은 않다.
컴퓨터에서 이메일을 보여 주거나 계산하는 것처럼 일반적이고 이해가 쉬운 작업을 하는 경우, 적당한 애플리케이션을 열고 작업을 시작하면 된다. 하지만 고유한 작업이나 확장이 가능한 작업의 경우는 해당되는 애플리케이션이 존재하지 않을 것이다.
여기서 바로 프로그래밍이 개입하게 된다. 프로그래밍은 프로그램을 만드는 행위로 컴퓨터가 무엇을 해야 하는지 알려주는 구체적인 명령어 집합이다. 컴퓨터는 지나치게 바보같이 규칙을 따르는 물건이기 때문에 프로그래밍은 본질적으로 지루하고 답답하다.
다행히 이러한 사실을 극복할 수 있고, 바보 같은 기계가 처리할 수 있는 용어를 사용해 엄격하게 사고하는 것을 즐길 수 있다면 프로그래밍에 보람을 느낄 수 있다. 직접 하면 오래 걸리는 작업을 프로그래밍으로 몇 초 만에 할 수 있다. 프로그래밍은 컴퓨터에서 이전에는 처리할 수 없었던 작업을 처리하도록 만드는 방법이다. 그리고 추상적인 사고를 할 수 있는 좋은 훈련이 된다.
대부분의 프로그래밍은 프로그래밍 언어를 사용한다. 프로그래밍 언어는 컴퓨터에게 명령하기 위해 인위적으로 만든 언어다. 컴퓨터와 가장 효율적으로 의사 소통하는 방법이 인간의 의사 소통 방법에서 많은 부분을 차용한 것은 흥미로운 부분이다. 인간의 언어와 마찬가지로 컴퓨터 언어도 단어와 구문을 새로운 방식으로 결합해 새로운 개념을 표현할 수 있다.
1980년대와 1990년대에는 BASIC과 DOS 프롬프트와 같은 언어 기반 인터페이스가 컴퓨터와 상호 작용하는 주요 방법이었던 적도 있었다. 이후로 대부분은 시각적인 인터페이스로 대체됐고 배우기 쉬워졌지만 자유도는 줄어들었다. 하지만 컴퓨터 언어가 사용되는 곳을 알고 있다면 여전히 그 자리를 지키고 있는 언어를 확인할 수 있다. 이러한 언어 중 하나인 자바스크립트는 모든 최신 웹 브라우저에 내장돼 있으며 거의 모든 장치에서 사용할 수 있다.
이 책에서는 이 언어와 친해져 재미 있고 쓸모 있는 작업을 할 수 있도록 도와줄 것이다

자바스크립트를 설명하는 내용과 더불어 프로그래밍의 기본 원리를 소개한다. 프로그래밍은 어렵다. 기본적인 규칙은 간단하고 명확하지만 이러한 규칙 위에 만들어진 프로그램은 스스로 만든 규칙과 복잡함을 설명해야 할 만큼 복잡해지기도 한다. 특정 방식으로 자신만의 미로를 만들고 그 안에서 길을 잃을 수도 있다.
이 책을 읽다가 몹시 좌절감이 들 수 있다. 프로그래밍이 처음이라면 소화해야 할 새로운 내용이 많을 것이다. 대부분의 내용은 추가 연결이 필요한 방식으로 구성돼 있다.
필요한 노력을 하는 것은 자신에게 달려 있다. 책을 따라하기 위해 고군분투 할 때 자신의 능력을 성급하게 평가하지 않기를 바란다. 잘하고 있고, 멈추지 않고 계속해서 하면 된다. 잠시 휴식을 취한 다음 내용을 다시 읽고, 예제 프로그램과 연습 문제를 이해했는지 확인한다. 배움은 힘든 일이지만 배우는 모든 것은 자신의 것이며 이후에 배울 내용을 더 수월하게 익힐 수 있다.

[옮긴이의 말]
자바스크립트는 더 이상 자세한 설명이 필요 없는 중요한 언어로 자리매김했다. 클라이언트와 서버에서 사용되며, 수많은 대규모 프로젝트에서 채택해 사용하고 있다. 또한 여러 가지 프레임워크와 라이브러리가 커뮤니티를 통해 계속해서 만들어지고 지속적으로 발전하고 있다.
이러한 자바스크립트의 수요에 따라 이 언어를 배우고 활용하기 위한 개발자를 위한 기초 문법과 라이브러리, 프레임워크를 소개하는 좋은 안내서가 시중에 많이 나와 있다. 이 책은 그러한 기본서와 활용서 사이에 부족한 부분을 보완할 수 있는 좋은 책이다. 참고로, 잘 알려진 모질라 개발자 네트워크MDN 사이트에도 중급 개발자용 도서로 소개돼 있다.
간단한 예제부터 적당한 규모의 프로젝트까지 다양한 예제를 통해 자연스럽게 자바스크립트 고급 기술을 습득할 수 있도록 구성돼 있다. 웹 사이트로 공개 출판된 버전에서는 샌드박스를 제공하며, 이를 통해 별도의 개발 환경이나 에디터가 없어도 PC나 모바일 브라우저에서 예제 코드를 실행하고 결과를 확인할 수 있다. 책으로 출판된 버전에는 웹에서 공개되지 않은 자바스크립트 성능 개선을 위한 챕터가 포함돼 더 많은 내용을 확인할 수 있다
자, 그럼 즐거운 배움의 시간이 되길 바란다.

펼쳐보기
[이 책의 구성]
이 책은 세 부분으로 구성된다. 처음 1, 2장에서는 자바스크립트 언어를 설명한다. 그 이후 일곱 개의 장에 걸쳐 웹 브라우저와 자바스크립트를 사용해 프로그래밍하는 방법을 설명한다. 마지막 두 장에서는 자바스크립트 프로그래밍을 할 수 있는 또 다른 환경인 Node.js를 다룬다.
책 전반에 걸쳐 5개의 프로젝트 장이 있으며, 실제로 프로그래밍을 경험해 볼 수 있도록 비교적 큰 예제 프로그램을 설명한다. 배달 로봇, 프로그래밍 언어, 플랫폼 게임, 픽셀 페인트 프로그램, 다이나믹 웹 사이트 순서로 진행한다.
이 책에서 언어 부분은 자바스크립트 언어의 기본 구조를 소개하는 4개의 장으로 구성된다. 소개글에서 봤던 while문과 같은 제어 구조와 사용자 고유의 빌딩 블록을 작성할 수 있는 함수 그리고 자료 구조를 소개한다. 그 다음에 기본적인 프로그램을 작성할 수 있게 된다. 다음으로 5장과 6장에서는 함수와 객체를 사용해 추상적인 코드를 작성하고 복잡성을 제어하는 방법을 소개한다.
첫 번째 프로젝트 다음에 나오는 언어 부분에서는 오류 처리와 버그 수정, 정규식(텍스트를 처리하는 중요한 도구), 모듈성(복잡성에 대한 또 다른 대응책), 비동기 프로그래밍(시간이 걸리는 이벤트 처리)에 관해 설명하는 장이 계속된다. 이어서 두 번째 프로젝트로 책의 1부를 마친다.
2부는 13장에서 19장으로 구성되며 브라우저 자바스크립트에서 접근할 수 있는 도구를 설명한다. 화면에 사물을 표시하고(14장, 17장) 사용자 입력에 응답하고(15장) 네트워크로 통신하는 방법(18장)을 배운다. 그리고 두 개의 프로젝트를 진행한다.
이후 20장에서는 Node.js를 설명하고 21장에서는 해당 도구를 사용해 소규모 웹 사이트를 만든다.
끝으로 22장에서는 속도를 개선하기 위해 자바스크립트 프로그램을 최적화할 때 고려해야 할 내용을 설명한다.



추천사
“내가 읽어본 프로그래밍 개념에 대한 최고의 설명이다.”
— IT WORLD의 산드라 헨리 스토커(SANDRA HENRY-STOCKER)

“이 책으로 자바스크립트 여정을 시작하면 다양한 기술에 대한 정보와 프로그래밍의 지혜를 빠르게 배울 수 있다.”
— 마이클 J. 로스(MICHAEL J. ROSS), 웹 개발자 겸 슬래시닷(SLASHDOT) 기고자

“나는 이 책 덕분에 더 나은 아키텍트, 작가, 멘토, 개발자가 됐다. 플래너건(Flannagan)과 크록포드(Crockford)의 책과 함께 책장에 두어도 좋다.”
— 앵거스 크롤(ANGUS CROLL), 트위터 개발자

“모든 프로그래밍 언어와 프로그래밍 전반에 대한 최고의 글이다. 끝!”
— 얀 레나르트(JAN LEHNARDT), 후디(HOODIE)의 공동 창업자 겸 JSCONF EU 주최자

“사람들이 자바스크립트를 배우는 방법을 물을 때 일러주는 책이다.”
— 크리스 윌리엄스(CHRIS WILLIAMS), JSCONF US 주최자

“내가 읽은 최고의 자바스크립트 책 중 하나다.”
— 레이 뱅고(REY BANGO), 제이쿼리(JQUERY)팀 멤버, 마이크로소프트 클라이언트 웹 커뮤니티 프로그램 매니저

“자바스크립트 가이드로도 정말 좋지만 그 이상으로 훌륭한 프로그래밍 가이드다.”
— 벤 나델(BEN NADEL), EPICENTER CONSULTING의 최고 소프트웨어 엔지니어

“자바스크립트 경험이 없는 사람들뿐만 아니라 프로그래밍 경험이 없는 사람들에게도 적합한 좋은 책이다.”
— 니콜라스 자카스(NICHOLAS ZAKAS), 『JavaScript』와 『객체지향 자바스크립트의 원리』의 저자

“자바스크립트가 처음이라면 가장 먼저 Eloquent JavaScript 사이트에서 머라인 하버비케가 쓴 소개 글을 읽어 보기 바란다.”
— CNET UK

펼쳐보기
머라인 하버비케(Marijn Haverbeke)
프로그래밍 언어의 열렬한 지지자이며 다양한 언어를 좋아한다. 데이터베이스에서 컴파일러, 편집자에 이르기까지 다양한 소프트웨어 분야에서 일했다. 자신의 오픈 소스 프로젝트를 중심으로 하는 소규모 비즈니스를 운영하고 있다.


옮긴이 양정열
국내 Telco SI/SM Software개발자로 시작해 현재는 프로젝트 매니저로 일하고 있으며, 번역/저술 공동체 GoDev 멤버다.

펼쳐보기

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

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.
도서평점
내용
등록하기
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.
      영풍문고 네이버블로그 영풍문고 인스타그램
      맨위로가기