Book description
W trakcie lektury nauczysz się odwzorowywać relacje pomiędzy użytkownikami oraz dostosowywać dostarczane im treści na podstawie danych zawartych w ich profilach. Ponadto zdobędz...
Table of contents
- Programowanie aplikacji na serwisy społecznościowe
- Dedykacja
- Słowo wstępne
-
1. Podstawowe pojęcia związane z kontenerem aplikacji społecznościowych
- Czym jest kontener aplikacji społecznościowych?
- Implementacja zastrzeżonych i otwartych standardów
- Wbudowana aplikacja — tworzenie rozwiązań w ramach czarnej skrzynki
- Wbudowane zabezpieczenia aplikacji
- Aplikacja zewnętrzna — integracja danych serwisu społecznościowego poza kontenerem
- Widoki aplikacji
- Zagadnienia związane z uprawnieniami aplikacji
- Aplikacje strony klienckiej kontra aplikacje serwera
- Kiedy dobra aplikacja okazuje się zła?
-
Studia przypadków dla modeli aplikacji
-
Studium przypadku: gra społecznościowa ze znajomymi
- Zrozumieć grupę odbiorców
- Budowanie grafu powiązań w ramach gry
- Możliwość wzajemnej interakcji znajomych w grze
- Jasne korzyści z działań podejmowanych w grze
- Integracja kanałów społecznościowych za pośrednictwem poczty elektronicznej, powiadomień i czynności
- Zarabianie na sprzedaży wirtualnych towarów
- Studium przypadku: aplikacje sprzedaży produktów
- Studium przypadku: aplikacje uwzględniające położenie użytkownika
-
Studium przypadku: gra społecznościowa ze znajomymi
- Krótkie wskazówki na początek
-
2. Odwzorowywanie relacji użytkowników na podstawie grafu powiązań społecznościowych
- Graf powiązań społecznościowych w internecie
- Stosowanie grafu rzeczywistych powiązań społecznościowych w wirtualnym świecie
- Udostępnianie prywatnych danych użytkownika: model opt-in kontra model opt-out
- Zrozumienie modelu relacji
- Relacje kontra podmioty
- Budowanie związków społecznościowych — analiza grafu powiązań społecznościowych Facebooka
- Wskazywanie lubianych i nielubianych podmiotów za pośrednictwem protokołu OpenLike
- Podsumowanie
-
3. Tworzenie podstawowych elementów platformy aplikacji społecznościowych
- Czego nauczysz się w tym rozdziale?
- Apache Shindig
- Konfiguracja kontenera Shindig
- Partuza
- Specyfikacja gadżetu OpenSocial w formacie XML
- Konfigurowanie aplikacji za pomocą węzła ModulePrefs
- Definiowanie preferencji użytkownika
- Treść aplikacji
- Budowanie kompletnego gadżetu
-
4. Definiowanie funkcji za pomocą odwołań JavaScriptu do elementów standardu OpenSocial
- Czego nauczysz się w tym rozdziale?
- Dołączanie bibliotek JavaScriptu z funkcjami standardu OpenSocial
- Dynamiczne ustawianie wysokości widoku gadżetu
- Umieszczanie animacji Flash w ramach gadżetu
- Wyświetlanie komunikatów dla użytkowników
- Zapisywanie stanu z preferencjami użytkownika
- Programowe ustawianie tytułu gadżetu
-
Integracja interfejsu użytkownika gadżetu z podziałem na zakładki
- Podstawowy gadżet
- Tworzenie zakładki na podstawie kodu języka znaczników
- Tworzenie zakładki w kodzie JavaScriptu
-
Uzyskiwanie i ustawianie informacji na temat obiektu TabSet
- Wyrównywanie zakładek
- Wyświetlanie i ukrywanie zakładek
- Uzyskiwanie kontenera macierzystego
- Odczytywanie aktualnie zaznaczonej zakładki
- Uzyskiwanie tablicy wszystkich zakładek
- Usuwanie zakładki
- Ustawianie zaznaczonej zakładki
- Zamiana miejsc zakładek
- Odczytywanie i ustawianie informacji dotyczących zakładki
- Uzyskiwanie funkcji wywołania zwrotnego zakładki
- Uzyskiwanie kontenera treści
- Odczytywanie pozycji zakładki
- Odczytywanie nazwy zakładki
- Odczytywanie etykiety zakładki
- Rozszerzanie kontenera Shindig o własne biblioteki języka JavaScript
- Budowanie kompletnego gadżetu
-
5. Przenoszenie aplikacji, profili i znajomych
- Czego nauczysz się w tym rozdziale?
- Ocena obsługi standardu OpenSocial
- Podstawowe elementy specyfikacji OpenSocial
- Tworzenie rozwiązań dla wielu kontenerów i przenoszenie aplikacji
-
Przenoszenie aplikacji z Facebooka do kontenera OpenSocial
- Stosowanie ramek iframe dla konstrukcji niebędących aplikacjami społecznościowymi
- Wyodrębnianie logiki funkcji Facebooka
- Oddzielenie kodu znaczników (wizualizacji) od logiki programu
- Stosowanie punktów końcowych REST zamiast języka FQL
- Stosowanie implementacji z zasadniczą częścią kodu po stronie serwera
-
Personalizacja aplikacji na podstawie danych zawartych w profilu
- Obiekt Person
- Metody wymiany danych obiektu Person
-
Pola dostępne w ramach obiektu Person
- opensocial.Person.Field.ABOUT_ME
- opensocial.Person.Field.ACTIVITIES
- opensocial.Person.Field.ADDRESSES
- opensocial.Person.Field.AGE
- opensocial.Person.Field.BODY_TYPE
- opensocial.Person.Field.BOOKS
- opensocial.Person.Field.CARS
- opensocial.Person.Field.CHILDREN
- opensocial.Person.Field.CURRENT_LOCATION
- opensocial.Person.Field.DATE_OF_BIRTH
- opensocial.Person.Field.DRINKER
- opensocial.Person.Field.EMAILS
- opensocial.Person.Field.ETHNICITY
- opensocial.Person.Field.FASHION
- opensocial.Person.Field.FOOD
- opensocial.Person.Field.GENDER
- opensocial.Person.Field.HAPPIEST_WHEN
- opensocial.Person.Field.HAS_APP
- opensocial.Person.Field.HEROES
- opensocial.Person.Field.HUMOR
- opensocial.Person.Field.ID
- opensocial.Person.Field.INTERESTS
- opensocial.Person.Field.JOB_INTERESTS
- opensocial.Person.Field.JOBS
- opensocial.Person.Field.LANGUAGES_SPOKEN
- opensocial.Person.Field.LIVING_ARRANGEMENT
- opensocial.Person.Field.LOOKING_FOR
- opensocial.Person.Field.MOVIES
- opensocial.Person.Field.MUSIC
- opensocial.Person.Field.NAME
- opensocial.Person.Field.NETWORK_PRESENCE
- opensocial.Person.Field.NICKNAME
- opensocial.Person.Field.PETS
- opensocial.Person.Field.PHONE_NUMBERS
- opensocial.Person.Field.POLITICAL_VIEWS
- opensocial.Person.Field.PROFILE_SONG
- opensocial.Person.Field.PROFILE_URL
- opensocial.Person.Field.PROFILE_VIDEO
- opensocial.Person.Field.QUOTES
- opensocial.Person.Field.RELATIONSHIP_STATUS
- opensocial.Person.Field.RELIGION
- opensocial.Person.Field.ROMANCE
- opensocial.Person.Field.SCARED_OF
- opensocial.Person.Field.SCHOOLS
- opensocial.Person.Field.SEXUAL_ORIENTATION
- opensocial.Person.Field.SMOKER
- opensocial.Person.Field.SPORTS
- opensocial.Person.Field.STATUS
- opensocial.Person.Field.TAGS
- opensocial.Person.Field.THUMBNAIL_URL
- opensocial.Person.Field.TIME_ZONE
- opensocial.Person.Field.TURN_OFFS
- opensocial.Person.Field.TURN_ONS
- opensocial.Person.Field.TV_SHOWS
- opensocial.Person.Field.URLS
- Rozszerzanie obiektu Person
- Uzyskiwanie profilu użytkownika
- Promowanie aplikacji z wykorzystaniem znajomych użytkownika
- Budowanie kompletnego gadżetu
-
6. Aktywność użytkowników, publikowanie powiadomień aplikacji i żądanie danych w kontenerze OpenSocial
- Czego nauczysz się w tym rozdziale?
- Promocja aplikacji za pomocą strumienia aktywności w kontenerze OpenSocial
- Pasywne i bezpośrednie publikowanie powiadomień aplikacji
- Generowanie żądań AJAX i żądań dostępu do danych zewnętrznych
- Budowanie kompletnego gadżetu
-
7. Zaawansowane techniki OpenSocial i przyszłość tego standardu
- Czego nauczysz się w tym rozdziale?
-
Potokowe przesyłanie danych
-
Rodzaje żądań danych
- Żądanie kontenera za pomocą znacznika <os:DataRequest>
- Żądanie danych zewnętrznych za pomocą znacznika <os:HttpRequest>
- Żądanie danych użytkowników za pomocą znacznika <os:PeopleRequest>
- Żądanie danych bieżącego użytkownika i właściciela za pomocą znaczników os:ViewerRequest i os:OwnerRequest
- Żądanie zawartości strumienia aplikacji za pomocą znacznika <os:ActivitiesRequest>
- Udostępnianie danych dla żądań zewnętrznych
- Korzystanie z potokowego przesyłania danych po stronie klienta
- Obsługa błędów generowanych przez potok danych
- Parametry dynamiczne
-
Rodzaje żądań danych
- Szablony OpenSocial
- Kilka dodatkowych znaczników — język znaczników OpenSocial
- Obsługa lokalizacji za pomocą pakietów komunikatów
- Biblioteki API protokołu OpenSocial REST
- Przyszłość standardu OpenSocial: obszary rozwoju
- Standard OpenSocial i rozproszone frameworki internetowe
- Budowanie kompletnego gadżetu
-
8. Zagadnienia związane z bezpieczeństwem aplikacji społecznościowych
- Czego nauczysz się w tym rozdziale?
- Wykonywanie zewnętrznego kodu za pośrednictwem ramek iframe
- Bezpieczny model — projekt Caja
- Dlaczego warto używać kompilatora Caja?
- Rodzaje ataków — jak Caja chroni użytkownika?
- Konfiguracja kompilatora Caja
- Przetwarzanie skryptów za pomocą kompilatora Caja z poziomu wiersza poleceń
- Uruchamianie kompilatora Caja z poziomu aplikacji internetowej
- Stosowanie kompilatora Caja dla gadżetu OpenSocial
- Wczesne wykrywanie niebezpiecznych elementów JavaScriptu za pomocą narzędzia JSLint
- Eksperymenty w środowisku Caja Playground
-
Wskazówki dotyczące pracy w środowisku Caja
- Implementacja modułowego kodu — kompilatora Caja nie należy stosować dla całego projektu
- Stosowanie wstępnie przetworzonych bibliotek JavaScriptu
- Nie należy używać Firebuga dla przetworzonego kodu źródłowego JavaScriptu
- Nie należy umieszczać zdarzeń w kodzie języka znaczników
- Centralizacja kodu JavaScriptu — stosowanie wyłącznie żądań danych i kodu języka znaczników
- Lżejsza alternatywa dla kompilatora Caja: narzędzie ADsafe
- ADsafe kontra Caja — którego narzędzia używać?
- Jak zaimplementować środowisko ADsafe?
- Budowanie kompletnego gadżetu
- Podsumowanie
-
9. Zabezpieczanie dostępu do grafu powiązań społecznościowych za pomocą standardu OAuth
- Punkt wyjścia — uwierzytelnianie podstawowe
-
Standard OAuth 1.0a
- Przepływ pracy w standardzie OAuth 1.0a
- Standard OAuth z perspektywy użytkownika końcowego
- Dwuetapowa autoryzacja OAuth kontra trzyetapowa autoryzacja OAuth
- Przykład implementacji trzyetapowej autoryzacji OAuth
- Narzędzia i wskazówki związane z diagnozowaniem problemów
-
OAuth 2
- Przepływ pracy w standardzie OAuth 2
- Przykład implementacji: Facebook
- Przykład implementacji: żądanie dodatkowych informacji na temat użytkownika w procesie autoryzacji OAuth w serwisie Facebook
- Przykład implementacji: aplikacja z perspektywy użytkownika końcowego
- Wskazówki dotyczące diagnozowania problemów z żądaniami
- Podsumowanie
-
10. Przyszłość serwisów społecznościowych: definiowanie obiektów społecznościowych za pośrednictwem rozproszonych frameworków sieciowych
- Czego nauczysz się w tym rozdziale?
- Protokół Open Graph — definiowanie stron internetowych jako obiektów społecznościowych
- Strumienie aktywności: standaryzacja aktywności społecznościowych
- WebFinger — rozszerzanie grafu powiązań społecznościowych na podstawie adresów poczty elektronicznej
-
Protokół OExchange — budowanie grafu udostępniania treści społecznościowych
- Jak działa protokół OExchange?
- Zastosowania protokołu OExchange
- Implementacja protokołu OExchange
- Protokół PubSubHubbub: rozpowszechnianie treści
- Protokół Salmon: ujednolicenie stron konwersacji
- Podsumowanie
-
11. Rozszerzanie grafu powiązań społecznościowych za pomocą standardu OpenID
- Standard OpenID
- Czy już teraz dysponuję implementacją standardu OpenID? Gdzie mam jej szukać?
- Procedura uwierzytelniania OpenID
- Dostawcy OpenID
- Omijanie problemów odkrywania domen w standardzie OpenID
-
Rozszerzenia standardu OpenID
- Rozszerzenie Simple Registration
-
Rozszerzenie Attribute Exchange
- Typy pól rozszerzenia Attribute Exchange: adresy
- Typy pól rozszerzenia Attribute Exchange: pozdrowienia audio i wideo
- Typy pól rozszerzenia Attribute Exchange: data urodzenia
- Typy pól rozszerzenia Attribute Exchange: poczta elektroniczna
- Typy pól rozszerzenia Attribute Exchange: obrazy
- Typy pól rozszerzenia Attribute Exchange: komunikatory
- Typy pól rozszerzenia Attribute Exchange: nazwisko
- Typy pól rozszerzenia Attribute Exchange: telefon
- Typy pól rozszerzenia Attribute Exchange: witryny internetowe
- Typy pól rozszerzenia Attribute Exchange: praca
- Typy pól rozszerzenia Attribute Exchange: pozostałe dane osobowe i preferencje użytkownika
- Rozszerzenie Provider Authentication Policy Extension
- Aktualnie tworzone rozszerzenia
-
Przykład implementacji: OpenID
- Implementacja standardu OpenID w języku PHP
- Implementacja standardu OpenID w języku Python
- Typowe błędy i techniki diagnostyczne
- Podsumowanie
-
12. Uwierzytelnianie hybrydowe — wygoda użytkownika i pełen dostęp do profilu
- Rozszerzenie hybrydy standardów OpenID i OAuth
- Kiedy należy używać standardu OpenID, a kiedy jego hybrydy ze standardem OAuth?
-
Przebieg uwierzytelniania w modelu hybrydowym na bazie standardów OpenID i OAuth
- Kroki 1. i 2.: odkrywanie (pierwsze dwa kroki procedury OpenID)
- Krok 3.: akceptacja uprawnień przez użytkownika
- Krok 4.: przekazanie stanu akceptacji/odrzucenia żądania OpenID i parametrów rozszerzenia hybrydowego
- Krok 5.: wymiana wstępnie zaakceptowanego tokenu żądania na token dostępu
- Krok 6.: generowanie podpisanych żądań dostępu do chronionych danych użytkownika
-
Przykład implementacji: OpenID, OAuth i Yahoo!
- Konfiguracja aplikacji: uzyskanie kluczy standardu OAuth na potrzeby procesu uwierzytelniania hybrydowego
- Implementacja uwierzytelniania hybrydowego w języku PHP
- Implementacja uwierzytelniania hybrydowego w języku Python
- Podsumowanie
-
A. Podstawowe zagadnienia związane z budową aplikacji internetowych
- Krótki przegląd standardów open source
- Interfejsy API usług sieciowych
- Kody statusu odpowiedzi protokołu HTTP
- Zasada tego samego pochodzenia
- Żądania architektury REST
- Mikroformaty i sieć semantyczna
- Instalacja systemu Subversion (SVN)
- Instalacja serwera HTTP Apache
- Konfiguracja środowiska PHP
- Konfiguracja środowiska języka Python
- B. Słownik pojęć
- C. O autorze
- Indeks
- Kolofon
- Copyright
Product information
- Title: Programowanie aplikacji na serwisy społecznościowe
- Author(s):
- Release date: December 2012
- Publisher(s): Helion
- ISBN: 97888324639441
You might also like
book
Testowanie bezpieczeństwa aplikacji internetowych. Receptury
Książka Testowanie bezpieczeństwa aplikacji internetowych. Receptury to napisany zrozumiałym językiem podręcznik, dzięki któremu szybko poznasz mechanizmy …
book
Mózg. Nieoficjalny podr?cznik
Sekretne ?ycie Twojego mózgu -- czyli mroczna podró? w g??b galaretowatej masy komórek Co Twój mózg …
book
Uczenie maszynowe w Pythonie
Z tego zwięzłego przewodnika po technikach uczenia maszynowego opartego na strukturalnych danych skorzystają programiści, badacze, osoby …
book
Wiersz poleceń Linuksa
Linux od dawna jest chętnie używanym systemem operacyjnym, na jego bazie powstało wiele dystrybucji odpowiadających zróżnicowanym …