ebook img

Google App Engine. Kod w chmurze PDF

313 Pages·2012·2.7 MB·Polish
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Google App Engine. Kod w chmurze

Tytu(cid:2) orygina(cid:2)u: Code in the Cloud T(cid:2)umaczenie: Maciej Reszotnik ISBN: 978-83-246-5749-0 Copyright © 2011 Pragmatic Programmers, LLC. All rights reserved. Copyright © 2012 by Helion S.A. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher. Wszelkie prawa zastrze(cid:3)one. Nieautoryzowane rozpowszechnianie ca(cid:2)o(cid:4)ci lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metod(cid:5) kserograficzn(cid:5), fotograficzn(cid:5), a tak(cid:3)e kopiowanie ksi(cid:5)(cid:3)ki na no(cid:4)niku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki wyst(cid:6)puj(cid:5)ce w tek(cid:4)cie s(cid:5) zastrze(cid:3)onymi znakami firmowymi b(cid:5)d(cid:7) towarowymi ich w(cid:2)a(cid:4)cicieli. Autor oraz Wydawnictwo HELION do(cid:2)o(cid:3)yli wszelkich stara(cid:8), by zawarte w tej ksi(cid:5)(cid:3)ce informacje by(cid:2)y kompletne i rzetelne. Nie bior(cid:5) jednak (cid:3)adnej odpowiedzialno(cid:4)ci ani za ich wykorzystanie, ani za zwi(cid:5)zane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponosz(cid:5) równie(cid:3) (cid:3)adnej odpowiedzialno(cid:4)ci za ewentualne szkody wynik(cid:2)e z wykorzystania informacji zawartych w ksi(cid:5)(cid:3)ce. Wydawnictwo HELION ul. Ko(cid:4)ciuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: [email protected] WWW: http://helion.pl (ksi(cid:6)garnia internetowa, katalog ksi(cid:5)(cid:3)ek) Drogi Czytelniku! Je(cid:3)eli chcesz oceni(cid:9) t(cid:6) ksi(cid:5)(cid:3)k(cid:6), zajrzyj pod adres http://helion.pl/user/opinie/googap_ebook Mo(cid:3)esz tam wpisa(cid:9) swoje uwagi, spostrze(cid:3)enia, recenzj(cid:6). Printed in Poland. (cid:2) Poleć książkę na Facebook.com (cid:2) Księgarnia internetowa (cid:2) Kup w wersji papierowej (cid:2) Lubię to! » Nasza społeczność (cid:2) Oceń książkę Co nasi czytelnicy mówi(cid:2) o ksi(cid:2)(cid:3)ce Google App Engine. Kod w chmurze? Je(cid:4)li chcesz dowiedzie(cid:9) si(cid:6) wi(cid:6)cej o chmurze obliczeniowej i (cid:4)rodowisku App Engine, jest to ksi(cid:5)(cid:3)ka dla Ciebie. Dobrze by(cid:2)o zobaczy(cid:9) przyk(cid:2)ady napisane zarówno w Javie, jak i Pythonie. Mark posiada dar t(cid:2)umaczenia technologii w sposób prosty i bezpretensjonalny, który przypad(cid:2) mi do gustu. (cid:10)wietne czytad(cid:2)o! Fred Daoud Autor, Stripes: …and Java Web Development Is Fun Again oraz Getting Started with Apache Click Gdy we(cid:7)miemy pod uwag(cid:6) ró(cid:3)nice mi(cid:6)dzy niezb(cid:6)dn(cid:5) a przypadkow(cid:5) z(cid:2)o(cid:3)ono(cid:4)ci(cid:5) w programowaniu aplikacji sieciowych, formalno(cid:4)ci w rodzaju zdobycia sprz(cid:6)tu na serwer, instalacji systemu operacyjnego czy rozwa(cid:3)ania, jak optymalnie wybrane infrastruktury b(cid:6)d(cid:5) spe(cid:2)nia(cid:9) potrzeby Twojej aplikacji, nastr(cid:6)czaj(cid:5) tylko niepotrzebne komplikacje. W ksi(cid:5)(cid:3)ce Google App Engine. Kod w chmurze autor wyja(cid:4)nia, w jaki sposób programi(cid:4)ci mog(cid:5) wykorzysta(cid:9) zapewniane przez App Engine us(cid:2)ugi, by tworzy(cid:9) elastyczne i skalowalne programy sieciowe bez konieczno(cid:4)ci przejmowania si(cid:6) nieistotnymi szczegó(cid:2)ami projektowania, które prze(cid:4)ladowa(cid:2)y ich od dawien dawna. Lyle Johnson Starszy analityk, Sentar Inc. Zwarty, doskonale wyt(cid:2)umaczony kod oraz zrozumia(cid:2)e wyja(cid:4)nienia — czegó(cid:3) wi(cid:6)cej móg(cid:2)by chcie(cid:9) pocz(cid:5)tkuj(cid:5)cy programista aplikacji w chmurze? Dorothea Salo Uniwersytet Wisconsin-Madison Spis tre(cid:4)ci Cz(cid:2)(cid:3)(cid:4) I Google App Engine — przygotowania do pracy Rozdzia(cid:5) 1. Wst(cid:2)p ................................................................................11 1.1. Czym jest chmura obliczeniowa? ...............................................................11 1.2. Systemy programowania w chmurze obliczeniowej ......................................17 1.3. Podzi(cid:6)kowania .........................................................................................20 Rozdzia(cid:5) 2. Pocz(cid:6)tek ...........................................................................21 2.1. Zak(cid:2)adanie konta Google App Engine ......................................................21 2.2. Konfiguracja (cid:4)rodowiska programistycznego ...............................................23 2.3. Uruchamianie programu napisanego w Pythonie na platformie App Engine ...26 2.4. Monitorowanie stanu w(cid:2)asnej aplikacji .......................................................33 Cz(cid:2)(cid:3)(cid:4) II Python i Google App Engine — programowanie aplikacji Rozdzia(cid:5) 3. Pierwsza prawdziwa aplikacja w chmurze .................39 3.1. Podstawowa aplikacja czatu ......................................................................39 3.2. Podstawy HTTP ....................................................................................43 3.3. Mapowanie czatu na HTTP ....................................................................47 Rozdzia(cid:5) 4. Zarz(cid:6)dzanie danymi w chmurze ...................................55 4.1. Czemu nasz czat nie zadzia(cid:2)a(cid:2)? .................................................................55 4.2. Utrwalanie danych czatu ..........................................................................58 6 (cid:2) Google App Engine. Kod w chmurze Rozdzia(cid:5) 5. Obs(cid:5)uga kont u(cid:7)ytkowników w Google App Engine ...69 5.1. Wprowadzenie do obs(cid:2)ugi u(cid:3)ytkowników ...................................................69 5.2. Us(cid:2)uga Users — obs(cid:2)uga u(cid:3)ytkowników ....................................................70 5.3. Integrujemy obs(cid:2)ug(cid:6) u(cid:3)ytkowników z czatem ...............................................72 Rozdzia(cid:5) 6. Porz(cid:6)dkowanie kodu — oddzielenie interfejsu u(cid:7)ytkownika od logiki ..................................75 6.1. Praca z szablonami — podstawy ...............................................................76 6.2. Budowa ró(cid:3)nych widoków przy u(cid:3)yciu szablonów .......................................81 6.3. Obs(cid:2)uga wielu pokoi czatu ........................................................................86 Rozdzia(cid:5) 7. Poprawianie wygl(cid:6)du interfejsu — szablony i CSS ....93 7.1. Wprowadzenie do CSS ............................................................................94 7.2. Nak(cid:2)adanie stylów CSS na tekst ...............................................................96 7.3. Uk(cid:2)ady stron w CSS ..............................................................................101 7.4. Budowa interfejsu w oparciu o uk(cid:2)ad p(cid:2)ywaj(cid:5)cy ........................................108 7.5. Za(cid:2)(cid:5)czanie arkusza stylów do aplikacji App Engine .................................112 Rozdzia(cid:5) 8. Interakcja ......................................................................115 8.1. Podstawy tworzenia interaktywnych us(cid:2)ug ................................................116 8.2. Wzorzec projektowy MVC .....................................................................118 8.3. Niezak(cid:2)ócona komunikacja z serwerem .....................................................121 Cz(cid:2)(cid:3)(cid:4) III Programowanie na platformie App Engine w Javie Rozdzia(cid:5) 9. Google App Engine i Java .............................................131 9.1. Wprowadzenie do GWT ........................................................................132 9.2. Praca z Jav(cid:5) i GWT — pocz(cid:5)tki ............................................................135 9.3. Zdalne wywo(cid:2)ania procedur w GWT ......................................................143 9.4. Testowanie i przesy(cid:2)anie aplikacji GWT do chmury .................................148 Rozdzia(cid:5) 10. Zarz(cid:6)dzanie danymi po stronie serwera .................149 10.1. Trwa(cid:2)o(cid:4)(cid:9) danych w Javie .......................................................................150 10.2. GWT i przechowywanie trwa(cid:2)ych obiektów ...........................................154 10.3. Pobieranie trwa(cid:2)ych obiektów w GWT ..................................................157 10.4. Klient i serwer — komunikacja .............................................................160 Spis tre(cid:2)ci (cid:3) 7 Rozdzia(cid:5) 11. Konstruowanie interfejsów u(cid:7)ytkownika w Javie ....163 11.1. Czemu GWT? ....................................................................................163 11.2. Konstruowanie interfejsu u(cid:3)ytkownika w GWT .....................................165 11.3. O(cid:3)ywianie interfejsu — obs(cid:2)uga zdarze(cid:8) ...............................................171 11.4. O(cid:3)ywianie UI — uaktualnianie widoku .................................................176 11.5. GWT — podsumowanie ......................................................................178 Rozdzia(cid:5) 12. Aplikacja Javy po stronie serwera ...........................181 12.1. Wype(cid:2)nianie luk — obs(cid:2)uga pokoi czatu ................................................181 12.2. Projektowanie interakcji: inkrementacja ..................................................186 12.3. Uaktualnianie klienta ............................................................................194 12.4. Warstwa administracji czatu ..................................................................195 12.5. Uruchamianie i przesy(cid:2)anie aplikacji ......................................................196 12.6. Strona serwera — zako(cid:8)czenie ..............................................................199 Cz(cid:2)(cid:3)(cid:4) IV Google App Engine — wy(cid:7)sza szko(cid:5)a jazdy Rozdzia(cid:5) 13. Datastore — wy(cid:7)sza szko(cid:5)a jazdy: typy w(cid:5)a(cid:3)ciwo(cid:3)ci .........................................................203 13.1. Tworzenie us(cid:2)ugi systemu plików ...........................................................204 13.2. Modelowanie systemu plików: pierwsze kroki .........................................207 13.3. Typy w(cid:2)a(cid:4)ciwo(cid:4)ci — lista ......................................................................224 13.4. Typy w(cid:2)a(cid:4)ciwo(cid:4)ci — podsumowanie ......................................................227 Rozdzia(cid:5) 14. Datastore — wy(cid:7)sza szko(cid:5)a jazdy: zapytania i indeksy .....................................................229 14.1. Indeksy i zapytania w Datastore ............................................................230 14.2. Elastyczniejsze modele Datastore ..........................................................235 14.3. Transakcje, klucz i grupy encji ..............................................................237 14.4. Polityka i modele spójno(cid:4)ci ...................................................................239 14.5. Pobieranie inkrementalne ......................................................................242 Rozdzia(cid:5) 15. Us(cid:5)ugi Google App Engine ..........................................245 15.1. Szybki dost(cid:6)p do danych i us(cid:2)uga Memcache .........................................246 15.2. Dost(cid:6)p do danych: us(cid:2)uga pobierania adresów URL ..............................251 15.3. Komunikacja z cz(cid:2)owiekiem: poczta elektroniczna i komunikatory ............252 8 (cid:2) Google App Engine. Kod w chmurze 15.4. Wysy(cid:2)anie i odbieranie poczty elektronicznej ..........................................256 15.5. Us(cid:2)ugi — podsumowanie .....................................................................259 Rozdzia(cid:5) 16. Serwerowe przetwarzanie w chmurze ....................261 16.1. Terminarz zada(cid:8) i App Engine cron .....................................................262 16.2. Dynamiczne inicjalizowanie zada(cid:8) przy u(cid:3)yciu kolejkowania ...................266 16.3. Serwerowe przetwarzanie w chmurze — podsumowanie .........................272 Rozdzia(cid:5) 17. Bezpiecze(cid:8)stwo i us(cid:5)ugi App Engine ........................275 17.1. Bezpiecze(cid:8)stwo ....................................................................................275 17.2. Podstawowe zabezpieczenia ..................................................................276 17.3. Bezpiecze(cid:8)stwo — stopie(cid:8) zaawansowany .............................................283 Rozdzia(cid:5) 18. Administracja aplikacj(cid:6) w chmurze ........................291 18.1. Monitorowanie .....................................................................................291 18.2. Rzut oka na Datastore ..........................................................................295 18.3. Logi i debugowanie ..............................................................................296 18.4. Zarz(cid:5)dzanie w(cid:2)asn(cid:5) aplikacj(cid:5) ................................................................297 18.5. Nabywanie zasobów .............................................................................299 Rozdzia(cid:5) 19. Podsumowanie ............................................................301 19.1. Podstawowe poj(cid:6)cia w chmurze .............................................................301 19.2. Idee typowe dla App Engine ................................................................302 19.3. Co dalej? .............................................................................................304 Skorowidz ..........................................................................................307 Cz(cid:2)(cid:3)(cid:4) I Google App Engine — przygotowania do pracy 10 (cid:2) Cz(cid:3)(cid:2)(cid:4) I • Google App Engine — przygotowania do pracy

Description:
Czy nie masz już dość zmartwień związanych z wydajnością i dostępnością Twoich serwerów? Wiecznych dyskusji z administratorami o ilości zużytego czasu procesora, pamięci RAM i powierzchni dyskowych? A może trapią Cię problemy z dostawcami internetu? Chmury to odpowiedź na Twoje bol
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.