• 베스트
  • 소득공제
  • 무료배송

웹 개발 새로고침-프런트엔드부터 백엔드까지 하나의 예제로 배우는 웹 프로그래밍

  • 김승구
  • 제이펍
  • 2023년 11월 03일
사용자 평점
0리뷰 0개
10%23,40026,000원
적립금
1,300원 (5% 적립)
추가 적립 안내
  • 5만원 이상 결제 시 (*배송비 제외)

    정가제FREE(상품/사은품) 금액이
    2,000원 이상이면 2,000원 추가적립

  • 10만원 이상 결제 시 (*배송비 제외)

    정가제FREE(상품/사은품) 금액이
    2,000원 이상이면 2,000원 추가적립

    정가제FREE(상품/사은품) 금액이
    5,000원 이상이면 5,000원 추가적립

회원가입 시 적립금 즉시 지급!

배송비
무료 (해외배송의 경우 지역에 따라 상이)

배송안내

배송비 안내
  • 1만원 이상 주문 시 무료배송 입니다.
  • 주문하신 상품을 해외로 배송 하시는 경우에는 별도의 항공료 가 부과됩니다
서울특별시 강남구 강남대로 542(논현동, 영풍빌딩)
주문 수량 변경시 안내

[주문/배송] 주문 수량 변경 시 안내

주문 수량 변경 시,배송일정이 변경될 수 있으니 반드시 확인해 주시기 바랍니다.
(고객센터 1544-9020)

지금 주문하면 9/10(목) 출고 가능
택배보다 빠른, 나우드림
상품 규격 정보
상품상세정보
ISBNISBN-13 : 9791192987361
쪽수348쪽
크기기타 규격
제품구성단행본
이 책이 속한 분야
  • 컴퓨터/IT > 인터넷
관련 이벤트

AI추천 이유

책 소개

웹 개발의 큰 그림을 보다

이 책은 웹 프로그래밍을 처음 배우려는 사람, 웹 프로그래밍의 전체 과정을 알고 싶은 사람을 위해 쓰였다. 먼저 웹 프로그램의 전체 구조와 작동 원리를 알아본 후 중고 서적 거래 서비스를 만드는 웹 프로그램을 구현해본다. 특정 프레임워크나 라이브러리에 종속되는 것을 최소화해서 HTML, CSS, 파이썬, 자바스크립트, 플라스크, 파이참, 익스프레스, Node.js를 사용해 실습하며, 클라우드 컴퓨팅과 웹 서버의 개념을 살펴본 후 웹 프로그램을 AWS에 배포하는 방법도 익힌다. 부록으로는 깃과 깃허브 사용법을 제공해 소스 코드를 체계적으로 관리할 수 있도록 했다.

목차

[목 차]

베타리더 후기 008
시작하며 010
감사의 글 012
이 책에 대하여 014

CHAPTER 1 웹 서비스와 웹 프로그램
1.1 웹 프레임워크와 라이브러리 021
1.2 서버와 클라이언트 023
1.3 서버와 클라이언트는 어떻게 대화하는가? 025
1.4 웹 프로그램의 구성 요소 029

CHAPTER 2 웹 프로그래밍 시작하기
2.1 웹 프로그래밍 준비 035
2.2 Hello, world를 통해 살펴보는 웹 프로그램의 구조 040
__2.2.1 개발 환경 살펴보기 040
__2.2.2 처음 만들어보는 웹 프로그램 044
__2.2.3 프런트엔드 - 백엔드 분리 051
__2.2.4 웹 프레임워크 바꾸어보기 - 백엔드 061
__2.2.5 웹 프레임워크 바꾸어보기 - 프런트엔드 066
2.3 웹 프로그래밍 기본 다지기 - 프런트엔드 068
__2.3.1 HTML의 역할과 기본 구조 069
__2.3.2 자바스크립트의 역할과 기본 문법 075
2.4 웹 프로그래밍 기본 다지기 - 백엔드 090

CHAPTER 3 기본 기능 만들기 - 회원 관리 기능
3.1 프로젝트 기본 틀 잡기 099
3.2 메인 페이지 107
3.3 회원가입 기능 113
__3.3.1 회원 정보 정의 113
__3.3.2 프런트엔드 코드 작성 115
__3.3.3 백엔드 코드 작성 124
__3.3.4 예제 실행 128
3.4 로그인/로그아웃 기능 132
__3.4.1 프런트엔드 코드 작성 133
__3.4.2 백엔드 코드 작성 139
__3.4.3 예제 실행 147
3.5 내 정보 보기 · 수정 페이지 150
__3.5.1 프런트엔드 코드 작성 150
__3.5.2 백엔드 코드 작성 158
__3.5.3 예제 실행 167
3.6 선택: 비밀번호 수정 기능 167
__3.6.1 프런트엔드 코드 작성 168
__3.6.2 백엔드 코드 작성 173
__3.6.3 예제 실행 179

CHAPTER 4 중고 서적 거래 서비스 만들기
4.1 상품 올리기 186
__4.1.1 상품 정보 정의 186
__4.1.2 프런트엔드 코드 작성 188
__4.1.3 백엔드 코드 작성 196
__4.1.4 예제 실행 204
4.2 메인 페이지 - 최근 상품 표시 205
__4.2.1 프런트엔드 코드 작성 206
__4.2.2 백엔드 코드 작성 210
__4.2.3 예제 실행 213
4.3 상품 페이지 214
__4.3.1 프런트엔드 코드 작성 214
__4.3.2 백엔드 코드 작성 220
__4.3.3 예제 실행 224
4.4 상품 정보 수정 225
__4.4.1 프런트엔드 코드 작성 225
__4.4.2 백엔드 코드 작성 246
__4.4.3 예제 실행 253
4.5 댓글 남기기 255
__4.5.1 댓글 정보 정의 256
__4.5.2 프런트엔드 코드 작성 257
__4.5.3 백엔드 코드 작성 271
__4.5.4 예제 실행 278
4.6 상품 검색 279
__4.6.1 프런트엔드 코드 작성 279
__4.6.2 백엔드 코드 작성 284
__4.6.3 예제 실행 287
4.7 예제를 마무리하며 288

CHAPTER 5 웹 서비스 시작하기
5.1 클라우드 컴퓨팅 293
5.2 웹 프로그램 실행 환경 구성 298
__5.2.1 프로젝트 파일 업로드 298
__5.2.2 파이썬 실행 환경 구성 303
__5.2.3 웹 서버와 WSGI 307
5.3 도메인 이름 연결 312
5.4 선택: 보안 연결 - HTTPS 315
5.5 웹 애플리케이션 관리 320
__5.5.1 웹 서비스 운영에 필요한 정보 관리 320
__5.5.2 웹 프로그램 실행 관리 322
5.6 더 살펴볼 만한 주제들 324

부록 A 깃과 깃허브
A.1 깃의 핵심 기능 329
A.2 깃허브 사용해보기 332
A.3 깃과 깃허브에 대해 더 알아보기 339

에필로그 341
찾아보기 345


[본 문]

좋은 프로그램은 유지와 보수가 쉬워야 하고, 기능을 추가하기 쉬워야 하며 사용자의 요청에 빨리 응답할 수 있어야 한다. 이 같은 웹 프로그램을 개발하기 위해서는 기능의 구현에 그치지 않고 어떤 요소를 어떻게 구성해서 전체 프로젝트를 만들지 알아야 한다. 웹 프로그래밍의 큰 그림을 살펴보기 위해 ‘프레임워크는 무엇이고 라이브러리는 무엇인가? 이들과 웹 프로그램과의 관계는 무엇일까?’라는 질문에서 시작해보자. (20쪽)

프레임워크는 라이브러리로 구성된다. 라이브러리는 기능 단위로 구분된 프로그램 코드의 묶음이다. 프레임워크와는 달리 프레임워크가 규정하는 상호작용 방식을 따르는 라이브러리는 한 프로그램에서 여러 가지를 함께 사용할 수 있다. 예를 들어 대한민국의 헌법(프레임워크)은 둘이 될 수 없지만, 헌법과 모순되지 않는 한 그 하위의 법률(라이브러리)은 기능별로 여럿이 될 수 있는 것과 같다. (21쪽)

지금까지 네 가지 예(mixed, modular, modular + express, modular + react)를 통해 웹 프로그래밍에 대해 살펴보았다. 웹 프로그램의 기능뿐만 아니라 그 구조에 대해서도 생각해보는 기회가 되었으면 하는 바람이다. / 처음부터 좋은 구조로 프로그램을 만들기 시작하면 시간이 지날수록 그리고 프로젝트 규모가 커질수록 그 혜택을 누릴 수 있다. 앞으로 이 책을 보는 동안에는 백엔드와 프런트엔드가 구분된 구조를 따라 웹 프로그램을 작성하면서 웹 프로그래밍을 배워 보도록 할 것이다. (68쪽)

이 책에서는 그 구성 요소가 독립적이고 기능의 확장이 쉬운 웹 프로그램을 지향했다. 백엔드 코드의 경우 파이썬 플라스크 웹 프레임워크가 제공하는 기능 중 최소한의 요소만 이용하여 작성했고 프런트엔드(페이지)를 구성하기 위해서는 별도의 프레임워크나 라이브러리를 사용하지 않고 HTML과 순수한 자바스크립트만을 사용했다. / 이와 같은 접근 방법을 취한 가장 큰 이유는 웹 프로그램이 특정 프레임워크나 라이브러리에 종속되는 것을 피하기 위함이다. 그리고 프레임워크의 추상화된 함수를 사용하지 않음으로써 웹 프로그램의 세부적인 내용을 살펴볼 수 있도록 하는 것이 두 번째 이유다. (68쪽)

이 책의 예제에서는 프런트엔드 프레임워크를 사용하지 않고 순수한 HTML과 자바스크립트를 가지고 프런트엔드 코드를 구성했다. 하지만 어떤 프레임워크를 사용하더라도 화면의 요소를 표현하고 사용자와 상호작용하며 서버에 요청을 보내고 응답을 받는 과정 자체는 동일하다. 리액트, 앵귤러, 뷰같이 이름을 한 번쯤은 들어보았을 것 같은 프레임워크들은 좀 더 복잡한 페이지를 효율적으로 구성할 수 있도록 도와주는 역할을 한다. 물론 간단한 웹 서비스라면 굳이 프런트엔드 프레임워크를 사용하지 않아도 된다. (131쪽)

상품 상세 정보를 보여주는 상품 게시 페이지를 만들어보자. 사용자가 보는 페이지에 해당하는 프런트엔드 코드 그리고 페이지에 표시될 데이터를 검색하고 응답하는 백엔드 코드의 상호작용과 이를 구현하기 위한 코딩 패턴은 이전 예제와 차이가 없다. 상품 등록 시 업로드했던 사진을 화면에 표시하는 등의 차이점을 중심으로 살펴보도록 하겠다. (213쪽)

개발을 진행하다 보면 백업, 협업 등을 위해 프로젝트 파일을 깃허브와 같은 외부 소스 관리 시스템에 업로드할 일이 생기게 된다. 이런 경로를 통해 서비스 관리에 필수적인 정보가 외부로 유출되면 서버의 보안에 큰 위협이 되기도 한다. 중요한 정보를 별도의 파일로 관리하는 방법에 대해 살펴보도록 하자. (320쪽)

출판사 서평

미래의 웹 개발 커리어를 위해 배울 것은
프레임워크나 라이브러리가 아니라 웹 프로그램의 구조와 작동 원리


책의 제목이 왜 ‘웹 개발 새로고침’이냐는 물음에 편집자는 이렇게 답하고 싶다. 현직자라면 알고 있던 웹 개발 지식을 최신 기술 트렌드로 ‘새로 고칠’ 수 있고, 입문자라면 처음부터 ‘새로 고친’ 지식으로 차근차근 배울 수 있다고 말이다. 또한 웹 개발을 하려면 프레임워크나 라이브러리부터 배워야 한다는 낡은 생각도 ‘새롭게 고칠’ 수 있을 것이다.

1, 2장에서는 웹 서비스와 웹 프로그램의 큰 그림인 구조와 작동 원리에 대해 가장 먼저 살펴본다. 웹 서비스를 구성하는 서버-클라이언트 모델을 살펴보고 구현해본다. 확장성, 유지 및 보수, 협업 관점에서 더 나은 구조의 웹 프로그램은 어떤 것인지도 함께 알아본다.

프로그래머는 머릿속의 개념을 프로그램이라는 실체로 구현할 수 있어야 한다. 이를 위해 3, 4장에서는 중고 서적 거래 서비스를 만들어보며 앞에서 배운 개념이 어떻게 실제 코드로 구현되는지 살펴본다. 5장은 웹 프로그램을 AWS에서 실행하고 배포하는 과정을 다룬다. 클라우드 사용 방법, 웹 프로그램 구동을 위한 환경 설정, 도메인과 연결하는 방법 등을 배운다. 부록에서는 깃과 깃허브 사용법을 알려줘 체계적으로 소스 코드를 관리할 수 있게 한다.

비전공자인 편집자도 이 책으로 웹 개발의 전체 과정을 배울 수 있었고, 다른 IT 도서나 자료를 접했을 때 이 책에서 배웠던 지식이 떠올라 한층 더 잘 이해되는 것이 느껴졌다. 툴에 연연하지 않고 디테일이 아닌 큰 그림을 보는 방식으로 웹 개발에 입문할 수 있게 해주는 좋은 선생님 같은 책이다.

주요 내용
● 웹 프로그램의 구성 요소
● HTML의 역할과 기본 구조
● 자바스크립트의 역할과 기본 문법
● 프런트엔드 코드와 백엔드 코드 작성하기
● 중고 서적 거래 서비스 만들기
● AWS에 배포하기
● 깃과 깃허브로 소스 코드 관리하기

저자 소개
저자 : 김승구
    김승구
    대학과 대학원에서 전자·컴퓨터 공학을 공부했다. 현재는 프리랜서 개발자로 일하며 틈틈이 대학에서 강의도 하고 있다. 졸업 후 직장인 시절, 퇴근하고 공부하던 웹 서비스 개발이 시간이 지나 본업이 된 셈이다. 때와 장소에 관계없이 가치를 주고받을 수 있는 높은 개방성이 웹의 매력이라 생각한다. 배우고 이해하고 활용하는 것에 여전히 관심이 많다.
    도서리뷰 (0)
    이 책을 읽고 어떤 느낌을 받으셨나요? 리뷰를 남기고 다른 독자들과 함께 공유해보세요.

    등록된 리뷰가 없습니다

    첫번째 리뷰어가 되어주세요

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

    매장에서 사용할 수 있는 바코드가 있어요!