MongoDB NoSQL로 구축하는 PHP 웹 애플리케이션

루베이트 이슬람 지음 | 에이콘출판 펴냄

MongoDB NoSQL로 구축하는 PHP 웹 애플리케이션

이 책을 읽은 사람

나의 별점

읽고싶어요
30,000원 10% 27,000원

책장에 담기

게시물 작성

문장 남기기

분량

보통인 책

출간일

2012.12.24

페이지

324쪽

상세 정보

동적인 웹 2.0 애플리케이션을 제작하는 과정에서 PHP와 몽고DB(MongoDB) NoSQL을 결합해 설명하는 책으로 데이터베이스 백엔드로 몽고DB를 사용해 동적인 웹 애플리케이션을 PHP로 개발하는 방법, 몽고DB에 접근하기 위한 각종 PHP API를 비롯한 몽고DB 실전 활용법, 사용자 세션 관리, 실시간 사이트 분석 내용 저장, 위치 인식 웹 애플리케이션 개발 방법을 알려주고 단계별 설명과 실용적인 예제를 통해 현장에 바로 적용 가능한 지식을 쌓을 수 있다.

상세 정보 더보기

추천 게시물

Jiyeon Park님의 프로필 이미지

Jiyeon Park

@jiyeonpark

새로운 분야의 지식을 가진다는 건, 언젠가 나의 새로운 동력이 될 수 있는 잠재적 무기를 가진다는 것과도 같은 말이다.

사람은 원래 그렇다. 별것 아닌 일에 열 올릴 필요가 없었다. 사람은 원래 그러니까. 정말 마법의 문장이었다.

따님이 기가 세요

하말넘많 (지은이) 지음
포르체 펴냄

읽었어요
4시간 전
0
여니님의 프로필 이미지

여니

@yeon3775

  • 여니님의 베니스의 상인 게시물 이미지

베니스의 상인

윌리엄 셰익스피어 지음
문학동네 펴냄

읽었어요
5시간 전
0
주진숙님의 프로필 이미지

주진숙

@j274870

  • 주진숙님의 신작로 게시물 이미지
📌<도서협찬 >
📚복숭아 꽃잎이 흩날리는 그 시절!
📚우리 모두의 첫사랑 이야기!
📚김재희 저자 <신작로>!

🌺시간이 지나도 지워지지 않는 인연!<신작로> 는 산골 복숭아 마을에서 시작된 소녀 소년의 사랑과 우정 이야기가 발전되면서, 흩어지는 청춘의 아슬아슬한 순간을 다양한 시선으로 묘사한 작품으로, 새로 지은 길 신작로를 사랑하는 친구를 만나기 위해 나아가는 소년의 모습에는 서툴지만 진심이 담겨 있다. 이 작품은 복고 감성의 향기 속에서 흐르는 첫사랑의 설렘과 성장의 아픔, 그리고 재회의 떨림을 그린 작품으로, 누구나 가슴 속에 간직해 온 '첫사랑' 의 기억을 떠오르게 한다. 이 작품은 1980~90년대 시골 마을을 배경으로, 한 소년이 사랑과 성장, 그리고 세월의 흐름 속에서 다시 마주하게 되는 첫사랑의 이야기를 그린 작품으로, 단순한 로맨스를 넘어, 시대와 세대의 변화를 관통하는 성장 소설이기도 하다. 도시와 시골, 자유와 억압, 꿈과 현실이 교차하는 1980~90년대의 향수를 느낄 수 있는 이 작품은 복숭아꽃, 리코더 소리, 여름비 등 세대의 추억과 감성을 깨우는 작품이다. 첫사랑이라는 보편적인 이야기 위에 시대의 질감을 덧입혀, 개인의 서정과 사회적 배경을 담아냈다. 성장의 아픔과 청춘의 불안, 그리고 다시 사랑하고 싶은 인간의 본성을 아주 섬세하게 그려낸 이 작품은 잃어버린 첫사랑을 다시 기억하게 하고, 다시는 돌아갈 수 없는 그 시간을 그리워하게 하는 작품으로, 사라져가는 세대의 정서에 대한 그리움을 담은 작품이다.

🌺1980~90년대 시골 마을을 배경으로 하는 이 작품은 도자마을의 소년과 전학생 소녀의 이야기 중심으로 전개가 된다. 복숭아꽃 흩날리던 길 위에서 시작된 첫사랑, 그리고 세월이 흘러 다시 마주하는 인연에 대해 다루는 이 작품은 첫사랑의 기억, 청춘의 아련함, 그리고 시간의 흐름 속에서 변하지 않는 감정에 대해 말하고 있다. 이 책 표지처럼 레트로 감성을 느낄 수 있고, 당시의 풍경과 분위기를 세밀하게 그려내어 향수를 일으킨다. 첫사랑이라는 누구나 공감할 수 있는 이야기를 통해 세대 간 공감대를 형성하고, 저자가 원래 추리소설가인데, 로맨스로 장르를 확장시켜 작가의 새로운 모습을 볼 수 있어서 좋았다. 청춘의 설렘과 이별, 그리고 만남에 관한 청춘소설로, 첫사랑의 기억을 떠오르게 하고,잊힌 길 위에서 다시 만나는 감정을 느끼게 하는 작품으로, 부모 세대의 첫사랑 이야기를 세대 간 연결시켜주는 작품이다. 또한, 단순한 로맨스 소설이 아니라, 기억과 풍경, 사람과 길이 얽힌 삶의 서사를 그려냈다. 누구나 공감할 수 있는 첫사랑의 기억을 중심으로 전개가 되는 이 작품은 깊은 감정을 느끼게 하고, 추억을 불러일으켜 몰입도가 있는 작품이다.

🌺길 위에서 다시 만나는 삶과 사랑의 이야기! 첫사랑의 기억을 불러오는 레트로 로맨스 소설로, 첫사랑의 기억, 청춘의 아련함 그리고 시간의 흐름 속에서 다시 마주하는 인연의 이야기를 담은 이 작품은 자신의 청춘과 첫사랑을 떠오르게 하여, 향수와 감정적 울림을 느낄 수 있는 작품이다. 시간이 흘러도 변하지 않는 첫사랑의 감정과 인연의 힘을 보여주는 이 작품은 나에게도 저런 기억이 있었지 라는 공감을 불러일으키는 작품으로, 자신의 어린 시절, 혹은 아직 닿지 못한 어떤 감정의 흔적을 마주하게 한다. 마지막까지 읽은 후에도 마음 속에 기억하고 있는 복숭아꽃 핀 길을 떠오르게 하는 작품으로 우리가 한때 걸어온 청춘의 길을 떠오르게 하는 향수 같은 작품이다. 사건 대신 감정을 추적하고 단서 대신 기억의 파편을 따라가고, 인간의 마음이 가진 미스터리를 그린 작품! 저자의 첫번째 로맨스 소설! 복숭아꽃이 핀 추억의 길을 걸어가면 첫사랑이 기다리고 있을테니, 꼭 한번 읽어보길! 읽다보면, 복숭아가 된 청춘의 내 모습을 만나게 될 것이다.



👉본 도서는 몽실북클럽에서 진행한 서평단에 선정되어 북오션 출판사에서 도서를 협찬받아 솔직하게 작성하였습니다.


#신작로 #김재희작가 #청춘로맨스 #레트로로맨스소설 #로맨스소설 #한국소설 #로맨스 #레트로감성 #감성소설 #서평단 #도서협찬 #몽실북클럽 #신작소설 #신작 #소설리뷰 #소설추천 #도서리뷰 #도서추천 #북오션 #연말리뷰

신작로

김재희 지음
북오션 펴냄

6시간 전
0

이런 모임은 어때요?

집으로 대여
지금 첫 대여라면 배송비가 무료!

상세정보

동적인 웹 2.0 애플리케이션을 제작하는 과정에서 PHP와 몽고DB(MongoDB) NoSQL을 결합해 설명하는 책으로 데이터베이스 백엔드로 몽고DB를 사용해 동적인 웹 애플리케이션을 PHP로 개발하는 방법, 몽고DB에 접근하기 위한 각종 PHP API를 비롯한 몽고DB 실전 활용법, 사용자 세션 관리, 실시간 사이트 분석 내용 저장, 위치 인식 웹 애플리케이션 개발 방법을 알려주고 단계별 설명과 실용적인 예제를 통해 현장에 바로 적용 가능한 지식을 쌓을 수 있다.

출판사 책 소개

PHP와 몽고DB의 위력을 결합해 동적 웹 2.0 애플리케이션 개발하기

PHP와 몽고DB 웹 개발 초보자용 지침서는 PHP와 몽고DB를 사용해 웹 애플리케이션 개발을 시작하기 위한 내용을 담은 실전서로 빠른 전개와 직접 실행해보는 사례 연구를 특징으로 삼는다. 이 책은 '코드를 먼저 소개하고 나중에 설명하는' 접근법을 따르고 있으며, 몽고DB의 독특한 기능을 소개하기 위해 PHP로 만든 실질적인 사례를 활용한다.

이 책은 몽고DB 이면에 숨겨진 개념을 소개하며 시작한다. 각 장은 데이터베이스의 특정 기능들을 설명하기 위한 실질적인 사례를 포함한다.


★ 이 책에서 다루는 내용 ★

■ 몽고DB를 내려받아 컴퓨터에서 동작시키기(윈도우/맥/리눅스)
■ 자료 저장 해법으로서 몽고DB와 더불어 PHP로 웹 사이트 구축
■ 몽고DB로 HTTP 세션 다루기
■ 실시간으로 웹 사이트 분석 자료 저장
■ 맵리듀스로 대규모 자료 집합 처리
■ 기존 관계형 데이터베이스를 보충하기 위해 몽고DB 활용(몽고DB로 자료 저장소와 캐시 층을 구축하고, 값비싼 SQL 질의 결과 저장)
■ 위치 인식 웹 애플리케이션 구현
■ 더 나은 성능과 보안을 위한 몽고DB 최적화


★ 이 책의 대상 독자 ★

이 책은 독자들이 PHP, HTML, CSS를 사용한 웹 애플리케이션 개발에 대한 배경 지식이 있다고 가정한다. 몇몇 장을 읽으려면 자바스크립트에 대한 지식이 있어야 하며 AJAX에 친숙해야 한다. MySQL 같은 관계형 데이터베이스 시스템 활용에 대한 실용적인 지식이 있다면 몇 가지 개념을 훨씬 빨리 익힐 수 있지만 필수는 아니다. 몽고DB에 대한 선행 지식은 필요하지 않다.


★ 이 책의 구성 ★

'1장 몽고DB 시작하기'는 몽고DB의 기반 개념을 소개하고, 컴퓨터에서 몽고DB 서버를 설치하고 돌린 다음 PHP와 몽고DB가 서로 대화하도록 만드는 방법을 단계적으로 소개한다.

'2장 몽고DB를 사용한 첫 웹 애플리케이션 제작'은 PHP와 몽고DB를 사용해 간단한 블로깅 웹 애플리케이션 제작 기법을 보여준다. 2장에 나오는 PHP 예제는 몽고DB에서 CRUD(Create/Read/Update/Delete) 기법을 보여줄 것이다.

'3장 세션 관리자 제작'은 HTTP 세션을 다루기 위해 PHP와 몽고DB를 사용하는 방법을 보여준다. 단독형 세션 관리자 모듈을 제작하고, 이 모듈을 사용해 사용자 인증/권한 부여 기법을 배울 것이다.

'4장 집계 연산 질의'는 강력한 함수형 프로그래밍 방법론인 맵리듀스(MapReduce)를 소개하고 몽고DB에서 집계 연산 질의를 수행하기 위해 맵리듀스를 사용하는 방법을 보여준다.

'5장 몽고DB를 사용한 웹 분석'은 실시간으로 몽고DB에 웹사이트 트래픽 데이터를 저장하고 중요한 분석 결과를 추출하기 위해 맵리듀스를 사용하는 방법을 보여준다.

'6장 관계형 데이터베이스와 함께하는 몽고DB 활용'은 관계형 데이터베이스와 함께 몽고DB를 사용할 수 있는 활용 사례를 탐구한다. 몽고DB에 데이터를 보관하는 방법, 값비싼 질의 결과를 캐시하기 위해 몽고DB를 활용하는 방법, 도메인에서 다양한 객체에 대한 비구조적인 메타 데이터를 저장하는 방법을 보여준다.

'7장 GridFS로 대용량 파일 처리'는 데이터베이스에서 대용량 파일을 저장하도록 몽고DB가 제공하는 특화된 명세인 GridFS를 소개한다.

'8장 몽고DB와 PHP로 위치 인식 웹 애플리케이션 제작'은 PHP, HTML5, 자바스크립트, 몽고DB의 지리공간 색인 기능을 활용해 현재 위치에서 가까운 식당을 찾도록 도와주는 웹 애플리케이션을 구현한다.

'9장 보안과 성능 향상'은 색인을 사용해 질의 성능을 끌어올리고, 질의를 분석하고 미세 조정하기 위한 내장 도구를 사용하고, 데이터베이스 보안을 강화하고, 데이터 내구성을 보증하는 방법을 소개한다.

'10장 RockMongo와 phpMoAdmin를 사용한 손쉬운 몽고DB 관리'는 몽고DB 서버를 관리하기 위한 PHP 기반 GUI 도구인 RockMongo와 phpMoAdmin 활용법을 소개한다.


★ 아마존 서평 ★

몽고DB NoSQL과 PHP를 위한 훌륭한 웹 2.0 개발 서적!
몽고DB에 관심이 있으며 몽고DB가 지원하는 데이터베이스 아키텍처 유형을 배우고 싶어하는 개발자에게 아주 도움이 되는 책이다. 이 책은 누구나 따라할 수 있는 단계별 예제를 보여주는 웹 중심 시각으로 만들어졌다.
(내 경우) 이 책은 서가에 특별히 잘 보이는 위치에 꽃아 놓을 가치가 있다는 생각이다. 이 책은 웹 2.0 개발에서 몽고DB와 PHP의 위력을 명확하게 보여주며, 웹 개발자에게 훌륭한 지침서가 될 것이다.
- Joe(뉴욕 브루클린) ★★★★★

훌륭한 책
이 책을 읽고 따라 하면서 무척 즐거웠다. 이 책은 논리적으로 구성되어 있고, 책에서 소개하는 힌트와 지침은 상당히 많은 도움을 준다. 책 내용은 웹 개발에 배경 지식이 있으며 새로운 기술을 접하려는 개발자를 대상 독자로 적절히 잘 맞췄다는 생각이다. (내 경우) 이 책의 가장 좋은 부분은 유용한 예제와 연습 문제다. 특히 몽고DB를 사용해 클러스터 환경에서 웹 애플리케이션을 위한 세션 관리자 구축, 지리 공간 색인, 비동기식 쓰기로 웹 분석을 하는 내용이 마음에 들었다. 이 책의 연습 문제는 몽고DB의 장점을 아주 잘 살리고 있다. 또한 맵/리듀스 개념을 멋지게 소개하므로, 여기 익숙하지 않은 사람들에게 좋은 사례를 제공한다.
물론 만능은 아니지만 몽고DB에 여러 가지 장점이 있다는 사실을 보여주기 위해 저자는 훌륭한 작업을 해냈다. 저자는 관계형 데이터베이스 시스템을 사용해야 할 때와 그렇지 않을 때를 구분하며 몽고DB를 가장 효율적으로 사용하기 위한 예를 들고 있다. 이 책은 몽고DB의 고급 활용법과 여러 가지 측면을 더 깊게 파고들고 싶은 독자를 위해 힌트도 제공한다.
- cedub ★★★★★


★ 저자 서문 ★

몽고DB는 현대적인 웹 2.0 애플리케이션의 일반적인 요구 사항을 충족하도록 설계한 오픈 소스이자 비관계형 데이터베이스 시스템이다. 현재 몽고DB는 전 세계에서 가장 인기 있는 몇몇 웹사이트에서 도입해 사용 중이다. 이 책은 PHP를 사용해 웹 애플리케이션을 개발해본 배경 지식이 있는 웹 개발자에게 몽고DB를 소개한다. 이 책은 몽고DB가 무엇이며, 관계형 데이터베이스 관리 시스템과 차이점이 무엇이며, 데이터를 저장하기 위해 관계형 데이터베이스 대신 개발자가 몽고DB를 사용해야 하는 시점과 이유를 설명한다.

HTTP 세션 처리, 사용자 인증 등과 같은 일반적인 문제를 해결하는 방법을 비롯해 데이터 백엔드로서 몽고DB를 사용하는 PHP 애플리케이션 개발 방법을 설명할 것이다.

또한 맵리듀스(MapReduce)를 사용한 웹 분석, GridFS를 사용한 대용량 파일 저장, 지리공간(Geospatial) 색인을 사용한 위치 인식 애플리케이션 제작과 같은 흥미로운 문제를 몽고DB로 푸는 방법도 배우게 될 것이다.

마지막으로 몽고DB를 최적화해 성능을 끌어올리고, 보안을 강화하고, 데이터 내구성을 보증하기 위한 방법을 배울 것이다. 이 책에서는 데이터베이스 관리를 좀더 편하게 만드는 편리한 GUI 도구의 사용법도 보여줄 것이다.

★ 옮긴이의 말 ★

최근 클라우드 시대가 도래하면서 업계에 NoSQL 열풍이 불고 있다. 일부에서는 좋았던 관계형 데이터베이스의 시절은 저물고 NoSQL 시절이 도래하고 있다는 다소 과격한 주장까지 나오고 있으니, 개발자라면 누구나 한 번쯤 NoSQL에 대해 관심을 보여도 전혀 이상하지 않다. 하지만 컴퓨터 분야의 신기술이 나올 때마다 늘 반복되듯 중요한 것은 용어가 아니라 실체다. 하지만 실체는 직접 만져보고 써보기 전에는 관념에 불과하므로 어떻게든 시간을 투자해 신기술과 친해져야 할 필요가 있다. 그렇다면 어떻게 새로운 기술을 실전에 적용해볼까? 데이터베이스에 "Hello, World!"를 넣고 검색하는 테스트 프로그램만 작성해서는 감조차 오지 않을 것이고 그렇다고 실제 프로젝트에 적용하기에는 짊어져야 할 위험이 너무 크다. 방법은? 다행스럽게도 몽고DB 분야에서는 이 책이 신기술 탐험에 나선 여러분들을 도와줄 것이다.

이 책은 현재 나와 있는 여러 NoSQL 계열 데이터베이스 중에서 문서 중심(document-centric) 데이터베이스인 몽고DB를 설명하는 책이다. 하지만 단순히 NoSQL 이론을 늘어놓은 다음 몽고DB 관리법과 사용법만 설명하는 선에서 끝내는 대신, 웹 개발자라면 누구나 손쉽게 사용할 수 있는 PHP 스크립트와 자바스크립트를 사용해 가상적인 웹 서비스를 실제 몽고DB로 구축하는 방법을 단계에 맞춰 차근차근 소개한다. 따라서 이런 전개 방식은 실질적인 구현을 거쳐 추상적인 개념을 이해하는 과정에 큰 도움을 주리라는 생각이다. 이렇게 컴퓨터에서 실제로 다양한 실험 과정을 거치고 나면 비로소 몽고DB의 실체에 한 걸음 다가간 자신을 발견할 수 있을 테다.

이 책에서는 몽고DB의 훌륭한 특성(특히 맵리듀스와 지리 공간 색인)을 실제 현장에서 어떻게 적용할지를 놓고 충분히 고민한 내용을 담고 있다. 간단한 블로그를 만들어 로그 분석기를 추가하는 방법으로 몽고DB의 맵리듀스 기능을 실시간으로 활용하는 예제나 방문객의 위치에 인접한 음식점을 찾아주는 위치 인식 애플리케이션을 만들어 W3C API와 지리 공간 색인 기능을 활용하는 예제는 (비록 상용에서 직접 사용하기는 어려울지라도) 몽고DB의 특성이 잘 녹아난 사례라 볼 수 있겠다. 몽고DB에 처음 입문하는 개발자를 대상 독자로 삼아 지나치게 복잡하지 않으면서도 그렇다고 부족함도 없이 딱 필요한 만큼 예제 중심으로 설명하는 방식을 따르기에 NoSQL에 대한 이론적인 사전 지식이 없더라도 웹과 PHP에 대한 기초 지식만 있으면 부담 없이 이 책이 여러분에게 다가올 것이다.

물론 몽고DB를 처음 접하는 독자를 위해 쉽게 작성하느라 중급 개발자들을 소외시키지도 않았다. 이 책에서는 클라우드에서 흔히 일어나는 다중 노드 배포 과정에서 분명히 직면할 세션 관리를 몽고DB를 사용해 처리하는 방안은 물론이고, 비동기식 특성을 사용해 여러 노드에서 동시에 접근 가능한 로그 시스템을 추축하는 방안도 소개한다. 또한 레거시 시스템을 버리지 못하는 상황에서 관계형 데이터베이스 시스템인 MySQL과 몽고DB를 함께 활용하는 방안을 소개하며, MySQL에서 몽고DB로 완전히 이주할 경우를 대비해 양쪽의 차이점과 주의 사항을 쉽게 설명하는 배려도 잊지 않고 있다. 마지막으로 몽고DB의 특성에 맞춰 보안과 성능 향상을 위해 기본으로 고려해야 하는 내용도 빠짐없이 다루고 있기에 상용 환경에서 고급 기능을 원하는 개발자라면 이를 출발선으로 삼아도 좋겠다.

백문이 불여일견이라고 이 책을 읽고 나서 LAMP(Linux-Apache-MongoDB-PHP) 스택에서 자신만의 개성 만점의 웹 애플리케이션을 직접 개발해보자. 여기서 한걸음 더 나가 몽고DB 위에 만들어진 뛰어난 오픈소스 소프트웨어를 분석해 몽고DB의 고급 기능을 적용하는 방법도 익혀보자. 그러고 나서 다시 한 번 직접 개발한 소프트웨어에 고가용성과 고성능을 달성하기 위한 특질을 추가해보면 몽고DB의 큰 그림이 머리 속에 그려질 것이다. 이제 몽고DB행 티켓을 손에 넣었으니, 애독자 여러분들 앞에 펼쳐질 즐거운 여행을 기원하겠다.

무제한 대여 혜택 받기

현재 25만명이 게시글을
작성하고 있어요

나와 비슷한 취향의 회원들이 작성한
FLYBOOK의 더 많은 게시물을 확인해보세요.

지금 바로 시작하기

플라이북 앱에서
10% 할인받고 구매해 보세요!

지금 구매하러 가기

더 많은 글을 보고 싶다면?

게시물 더보기
웹으로 보기