Kategorie
Ebooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komputer w biurze
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Multimedialne szkolenia
- Nieruchomości
- Perswazja i NLP
- Podatki
- Polityka społeczna
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Raporty, analizy
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
E-prasa
- Architektura i wnętrza
- Biznes i Ekonomia
- Dom i ogród
- E-Biznes
- Finanse
- Finanse osobiste
- Firma
- Fotografia
- Informatyka
- Kadry i płace
- Komputery, Excel
- Księgowość
- Kultura i literatura
- Naukowe i akademickie
- Ochrona środowiska
- Opiniotwórcze
- Oświata
- Podatki
- Podróże
- Psychologia
- Religia
- Rolnictwo
- Rynek książki i prasy
- Transport i Spedycja
- Zdrowie i uroda
-
Historia
-
Informatyka
- Aplikacje biurowe
- Bazy danych
- Bioinformatyka
- Biznes IT
- CAD/CAM
- Digital Lifestyle
- DTP
- Elektronika
- Fotografia cyfrowa
- Grafika komputerowa
- Gry
- Hacking
- Hardware
- IT w ekonomii
- Pakiety naukowe
- Podręczniki szkolne
- Podstawy komputera
- Programowanie
- Programowanie mobilne
- Serwery internetowe
- Sieci komputerowe
- Start-up
- Systemy operacyjne
- Sztuczna inteligencja
- Technologia dla dzieci
- Webmasterstwo
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poemat
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Podręczniki szkolne
-
Popularnonaukowe i akademickie
- Archeologia
- Bibliotekoznawstwo
- Filmoznawstwo
- Filologia
- Filologia polska
- Filozofia
- Finanse i bankowość
- Geografia
- Gospodarka
- Handel. Gospodarka światowa
- Historia i archeologia
- Historia sztuki i architektury
- Kulturoznawstwo
- Lingwistyka
- Literaturoznawstwo
- Logistyka
- Matematyka
- Medycyna
- Nauki humanistyczne
- Pedagogika
- Pomoce naukowe
- Popularnonaukowa
- Pozostałe
- Psychologia
- Socjologia
- Teatrologia
- Teologia
- Teorie i nauki ekonomiczne
- Transport i spedycja
- Wychowanie fizyczne
- Zarządzanie i marketing
-
Poradniki
-
Poradniki do gier
-
Poradniki zawodowe i specjalistyczne
-
Prawo
- BHP
- Historia
- Kodeks drogowy. Prawo jazdy
- Nauki prawne
- Ochrona zdrowia
- Ogólne, kompendium wiedzy
- Podręczniki akademickie
- Pozostałe
- Prawo budowlane i lokalowe
- Prawo cywilne
- Prawo finansowe
- Prawo gospodarcze
- Prawo gospodarcze i handlowe
- Prawo karne
- Prawo karne. Przestępstwa karne. Kryminologia
- Prawo międzynarodowe
- Prawo międzynarodowe i zagraniczne
- Prawo ochrony zdrowia
- Prawo oświatowe
- Prawo podatkowe
- Prawo pracy i ubezpieczeń społecznych
- Prawo publiczne, konstytucyjne i administracyjne
- Prawo rodzinne i opiekuńcze
- Prawo rolne
- Prawo socjalne, prawo pracy
- Prawo Unii Europejskiej
- Przemysł
- Rolne i ochrona środowiska
- Słowniki i encyklopedie
- Zamówienia publiczne
- Zarządzanie
-
Przewodniki i podróże
- Afryka
- Albumy
- Ameryka Południowa
- Ameryka Środkowa i Północna
- Australia, Nowa Zelandia, Oceania
- Austria
- Azja
- Bałkany
- Bliski Wschód
- Bułgaria
- Chiny
- Chorwacja
- Czechy
- Dania
- Egipt
- Estonia
- Europa
- Francja
- Góry
- Grecja
- Hiszpania
- Holandia
- Islandia
- Litwa
- Łotwa
- Mapy, Plany miast, Atlasy
- Miniprzewodniki
- Niemcy
- Norwegia
- Podróże aktywne
- Polska
- Portugalia
- Pozostałe
- Rosja
- Rumunia
- Słowacja
- Słowenia
- Szwajcaria
- Szwecja
- Świat
- Turcja
- Ukraina
- Węgry
- Wielka Brytania
- Włochy
-
Psychologia
- Filozofie życiowe
- Kompetencje psychospołeczne
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Audiobooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Nieruchomości
- Perswazja i NLP
- Podatki
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
Historia
-
Informatyka
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Popularnonaukowe i akademickie
-
Poradniki
-
Poradniki zawodowe i specjalistyczne
-
Prawo
-
Przewodniki i podróże
-
Psychologia
- Filozofie życiowe
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Kursy video
-
Bazy danych
-
Big Data
-
Biznes, ekonomia i marketing
-
Cyberbezpieczeństwo
-
Data Science
-
DevOps
-
Dla dzieci
-
Elektronika
-
Grafika/Wideo/CAX
-
Gry
-
Microsoft Office
-
Narzędzia programistyczne
-
Programowanie
-
Rozwój osobisty
-
Sieci komputerowe
-
Systemy operacyjne
-
Testowanie oprogramowania
-
Urządzenia mobilne
-
UX/UI
-
Web development
-
Zarządzanie
Podcasty
- Ebooki
- Informatyka
- Programowanie
- Head First Ruby on Rails. Edycja polska
Szczegóły ebooka
Bez wysiłku poznaj niesamowite możliwości Ruby on Rails
i twórz wspaniałe aplikacje
Jeśli chcesz szybko i sprawnie budować internetowe aplikacje bazodanowe, warto, abyś poznał niezwykłe możliwości Rails. Ta wyjątkowa platforma programowania pozwala tworzyć w pełni funkcjonalne aplikacje z wykorzystaniem języka Ruby. Jej wielką zaletą jest to, że wszystkie zmiany wprowadzane do aplikacji można zobaczyć natychmiast po ich zapisaniu i odświeżeniu strony w przeglądarce. Dzieje się tak dzięki zastosowaniu języka Ruby, ponieważ kod w tym języku nie musi być kompilowany.
Książkę "Head First Ruby on Rails. Edycja polska" napisano w oparciu o najnowsze, skuteczne techniki ułatwiające zrozumienie i przyswajanie wiedzy. Dzięki temu szybko i bez trudności nauczysz się tworzyć interaktywne aplikacje internetowe za pomocą tej platformy. Dowiesz się, na czym polega współpraca z bazą danych, integracja z Ajaksem i XML oraz dynamiczne wykreślanie danych. Ponieważ to obrazy najlepiej przemawiają do Twojego umysłu, książka ta została bogato zilustrowana — abyś jak najszybciej poznał możliwości Rails i natychmiast zaczął wykorzystywać je w praktyce.
- Język Ruby
- Tworzenie tabel
- Wykonywanie migracji bazy danych
- Kod modelu, widoku i kontrolera
- Tworzenie formularza
- Sprawdzanie poprawności danych
- Zapobieganie błędom
- Dołączanie bibliotek Ajaksa
- Udostępnianie aplikacji użytkownikom
Wykorzystaj najnowsze metody uczenia się i szybko opanuj Ruby on Rails!
Wprowadzenie
- Dla kogo przeznaczona jest ta książka? (22)
- Wiemy, co sobie myślisz (23)
- Metapoznanie - myślenie o myśleniu (25)
- Oto, co możesz zrobić, by skłonić swój mózg do posłuszeństwa (27)
- Ważne informacje (28)
- Zespół korektorów merytorycznych (30)
- Podziękowania (31)
1. Początki
- Aplikacja musi robić wiele rzeczy (35)
- Co jest potrzebne aplikacji? (36)
- Rails służy do tworzenia aplikacji bazodanowych, takich jak system sprzedaży biletów (38)
- Nową aplikację tworzy się za pomocą polecenia rails (39)
- Teraz do domyślnej aplikacji trzeba dodać własny kod (41)
- Rusztowanie to kod GENEROWANY (42)
- W bazie danych nie ma jeszcze tabel! (46)
- Tabelę tworzy się dzięki wykonaniu migracji (47)
- Pięknie! Uratowałeś pracę kumpla! (51)
- By zmodyfikować aplikację, musisz przyjrzeć się jej architekturze (52)
- Trzy części Twojej aplikacji: model, widok i kontroler (53)
- Cała prawda o Rails (54)
- Trzy typy kodu przechowywane są w OSOBNYCH folderach (57)
- Trzeba zmodyfikować pliki WIDOKU (58)
- Edycja kodu HTML w widoku (59)
- Aplikacja musi teraz przechować większą liczbę informacji (63)
- Migracja to po prostu skrypt w języku Ruby (64)
- Rails może generować migracje (65)
- Nadaj swojej migracji odpowiednią nazwę, a Rails napisze za Ciebie kod (66)
- Migrację należy wykonać za pomocą rake (67)
- Sama zmiana bazy danych nie wystarczy (68)
- Dlaczego Rails mówi do mnie po angielsku? (75)
- Uczymy Rails języków obcych (76)
2. Poza rusztowaniem
- Rusztowanie robi O WIELE za dużo (85)
- Zaczynamy od wygenerowania modelu MeBay... (86)
- ...a następnie utworzymy tabelę za pomocą polecenia rake (87)
- Ale co z kontrolerem? (88)
- Widok tworzony jest przez szablon strony (90)
- Szablon strony zawiera kod HTML (91)
- Trasa mówi Rails, gdzie znajduje się strona (93)
- Widok nie ma danych do wyświetlenia (100)
- Co zatem powinna pokazywać strona? (101)
- Kontroler przesyła ogłoszenie do widoku (102)
- Rails zmienia rekord w obiekt (104)
- Dane znajdują się w pamięci, a strona internetowa je widzi (105)
- Jest problem - ludzie nie potrafią znaleźć żądanych stron (109)
- Trasy wykonywane są w kolejności (112)
- By przesłać dane do widoku, będziesz potrzebował kodu kontrolera (114)
- Strona indeksująca potrzebuje danych ze WSZYSTKICH rekordów (115)
- Metoda Ad.find(:all) wczytuje całą tabelę naraz (116)
- Dane zwracane są jako obiekt zwany tablicą (117)
- Tablica to ponumerowana sekwencja obiektów (118)
- Wczytanie wszystkich ogłoszeń za pomocą pętli for (122)
- Potrzebny nam kod HTML dla każdego elementu tablicy (123)
- Rails konwertuje szablony stron na kod języka Ruby (124)
- Pętle można dodawać do szablonów stron za pomocą scriptletów (125)
- Z każdym przejściem pętli strona generuje jeden odnośnik (126)
- Jak wygląda wygenerowany kod HTML? (127)
- Ale my mamy dwa szablony stron... czy powinniśmy zmieniać kod każdego z nich? (130)
- A co z nową treścią statyczną wysłaną przez MeBay? (133)
3. Wstawianie, uaktualnianie i usuwanie
- Ludzie chcą sami publikować ogłoszenia w Internecie (140)
- Wiesz już, jak budować aplikację publikującą dane z bazy (141)
- Zapisywanie danych działa dokładnie ODWROTNIE do ich odczytywania (142)
- Potrzebny nam formularz służący do dodawania danych oraz metoda akcji zapisująca te dane (143)
- Czy formularze i obiekty są ze sobą powiązane? (145)
- Rails może tworzyć formularze powiązane z obiektami modelu (146)
- Obiekt formularza @ad nie został utworzony (150)
- Obiekt formularza musi zostać utworzony przed wyświetleniem formularza (151)
- Obiekt ogłoszenia formularza zostanie utworzony w akcji new kontrolera (152)
- Każdy szablon strony ma teraz odpowiadającą mu metodę kontrolera (153)
- Formularz nie odsyła obiektu, odsyła DANE (155)
- Rails musi przekształcić dane na obiekt przed ich zapisaniem (156)
- Metoda create kontrolera krok po kroku (157)
- Kontroler musi zapisać rekord (158)
- Nie twórz nowej strony, użyj istniejącej (164)
- Jak jednak akcja kontrolera może wyświetlać stronę INNEJ akcji? (165)
- Przekierowania pozwalają kontrolerowi określić, który widok zostanie wyświetlony (166)
- Ale co się dzieje, kiedy ogłoszenie należy po opublikowaniu poprawić? (169)
- Uaktualnienie ogłoszenia przypomina utworzenie go... tylko jest trochę inne (170)
- Zamiast tworzyć ogłoszenie, musimy je odnaleźć; zamiast je zapisać, musimy je uaktualnić (171)
- Ograniczanie dostępu do funkcji (178)
- ...teraz jednak stare ogłoszenia trzeba usunąć (181)
- Wykonanie tego samodzielnie dało Ci możliwość zrobienia więcej, niż potrafi rusztowanie (187)
4. Wyszukiwanie w bazie danych
- Dbaj o siebie z Rubyville Health Club (190)
- Aplikacja w zasadzie wygląda dość podobnie... (193)
- Poprawimy rusztowanie (194)
- Zaprojektowanie opcji wyszukiwania (195)
- Zacznijmy od utworzenia formularza (196)
- Dodanie wyszukiwania do interfejsu (199)
- Jak możemy znaleźć rekordy klientów? (207)
- Potrzebne nam jedynie te rekordy, gdzie client_name = łańcuch wyszukiwania (208)
- Dla każdego atrybutu istnieje metoda wyszukująca (209)
- Musimy dopasować albo nazwisko klienta, albo trenera (214)
- Metody wyszukujące piszą zapytania do bazy danych (215)
- Musimy być w stanie zmodyfikować warunki wykorzystane w zapytaniu SQL (216)
5. Sprawdzanie poprawności danych
- Uwaga - pojawiły się niepoprawne dane (224)
- Kod sprawdzający poprawność danych przynależy do MODELU (226)
- Na potrzeby prostego sprawdzania poprawności danych Rails wykorzystuje walidatory (227)
- Jak działają walidatory? (228)
- Sprawdźmy, czy coś jest liczbą (230)
- Użytkownicy pomijają niektóre pola formularzy (232)
- Jak sprawdzamy obowiązkowe pola? (233)
- Walidatory są proste i działają dobrze (236)
- W MeBay wydarzyło się coś dziwnego (239)
- Walidatory sprawdzają, jednak nie wyświetlają błędów (240)
- Jeśli tworzysz własne strony, musisz także pisać własny kod komunikatów o błędach (243)
- Kontroler musi wiedzieć, czy wystąpił błąd (244)
- Nadal musimy wyświetlić komunikaty o błędach! (248)
- System MeBay wygląda przepięknie (250)
6. Tworzenie połączeń
- Linie Coconut Airways potrzebują nowego systemu rezerwacji (256)
- Chcemy widzieć loty i rezerwacje miejsc razem (258)
- Zobaczmy, co daje nam rusztowanie dla miejsc (259)
- Na stronie lotu musi się znaleźć formularz rezerwacji oraz lista miejsc (260)
- Jak możemy podzielić zawartość strony na odrębne pliki? (261)
- ERb SKŁADA nasze strony (265)
- Jak można utworzyć szablon częściowy formularza rezerwacji? (266)
- Teraz musimy dołączyć szablon częściowy do szablonu strony (267)
- Musimy przekazać szablonowi częściowemu miejsce! (270)
- Zmienne lokalne można przekazywać do szablonu częściowego (271)
- Niezbędny jest nam szablon częściowy dla listy miejsc (278)
- Ludzie trafiają na niewłaściwe loty (280)
- Powiązanie łączy ze sobą modele (281)
- Jak jednak definiujemy powiązanie? (283)
- Niektóre osoby mają jednak za duży bagaż (285)
- Musimy napisać WŁASNY walidator (286)
- Potrzebne nam jest ODWROTNE powiązanie (289)
- System wystartował w Coconut Airways (296)
7. Ajax
- Linie Coconut Airways mają nową ofertę (300)
- Które części strony najbardziej się zmieniają? (301)
- Czy przeglądarka nie uaktualnia zawsze całej strony? (306)
- Co INNEGO może wykonać żądanie? (307)
- Najpierw musimy dołączyć biblioteki Ajaksa... (308)
- ...a następnie dodać odnośnik "Odśwież" oparty na Ajaksie (309)
- Przeglądarka musi prosić o uaktualnienie (314)
- Czy jednak POWINNIŚMY nakazywać przeglądarce nieustanne proszenie? (315)
- Licznik obsługuje się podobnie jak przycisk czy odnośnik (316)
- Cała prawda o Ajaksie (320)
- Ktoś ma kłopot ze swoim wieczorem kawalerskim (321)
- Formularz musi wykonać żądanie oparte na Ajaksie (322)
- Formularz musi pozostawać pod KONTROLĄ JavaScriptu (323)
- Musimy zastąpić metodę create (325)
- Jaki efekt ma ten kod? (326)
- Teraz pojawił się problem z rezerwacjami lotów (331)
- Potrafimy uaktualnić jedną część strony naraz (332)
- Kontroler musi zamiast HTML zwracać kod w JavaScripcie (333)
- Co generuje Rails? (337)
- Jeśli nie powiesz, gdzie umieścić odpowiedź, zostanie ona wykonana (338)
8. XML i różne reprezentacje
- Zdobywanie szczytów świata (344)
- Użytkownicy nienawidzą interfejsu aplikacji! (345)
- Dane muszą się znaleźć na mapie (346)
- Musimy utworzyć nową akcję (347)
- Nowa akcja wydaje się działać... (348)
- Nowa strona potrzebuje mapy... w tym właśnie rzecz! (349)
- Jakiego typu kod jest nam potrzebny? (350)
- Kod ten działa jedynie dla serwera lokalnego (351)
- Teraz potrzebne nam dane mapy (352)
- Co zatem powinniśmy wygenerować? (354)
- Wygenerujemy kod XML z modelu (355)
- Obiekt modelu może generować kod XML (356)
- Jak powinien wyglądać taki kod kontrolera? (357)
- Tymczasem na wysokości kilku tysięcy metrów... (362)
- Musimy generować XML oraz HTML (363)
- XML i HTML to po prostu reprezentacje (365)
- W jaki sposób powinniśmy decydować, z którego formatu skorzystać? (366)
- Jak działa strona z mapą? (370)
- Kod jest gotowy do opublikowania (372)
- Kanały RSS to po prostu kod XML (380)
- Utworzymy akcję o nazwie news (381)
- Musimy zmienić strukturę kodu XML (384)
- Użyjemy nowego typu szablonu - XML Builder (385)
- Teraz dodajmy kanały RSS do stron (389)
- Zdobyłeś szczyt! (391)
9. Architektura REST i Ajax
- Zdarzeń jest zbyt dużo! (394)
- Mapa mogłaby pokazywać więcej szczegółów (395)
- Możemy rozszerzyć funkcjonalność mapy za pomocą Ajaksa (396)
- Jak jednak możemy przekształcić stronę indeksującą? (397)
- Co będzie musiała wygenerować akcja show? (398)
- Nowa funkcjonalność mapy jest pełnym sukcesem! (403)
- Musimy utworzyć żądania wykorzystujące Ajaksa (404)
- Szablon częściowy mapy pozwala nam wybrać akcję new (406)
- Jak możemy UDOWODNIĆ, że zdarzenie zostało zapisane? (411)
- Formularz musi uaktualnić zawartość elementu <div> wyskakującego okna (412)
- Lawina! (417)
- Jak działa to teraz... (418)
- Możemy umieścić odnośnik "Edit" w oknie wyskakującym (419)
- Zaczniemy od zmodyfikowania akcji edit (420)
- Na stronie show potrzebny nam jest także nowy odnośnik (422)
- Jak stosuje się metodę pomocniczą link_to? (423)
- Na pomoc spieszy odnośnik oparty na Ajaksie (427)
- Używamy niewłaściwej trasy! (429)
- Na wybór trasy ma wpływ metoda HTTP (430)
- Czym jest zatem metoda HTTP? (431)
- Witryna Head First Climbers Cię potrzebuje! (434)
10. Prawdziwe aplikacje
- Patrz! Eksperymenty z językiem Ruby! (441)
- Aplikacje internetowe muszą być testowane (442)
- Jakie rodzaje testów są dostępne? (443)
- Udostępnienie aplikacji użytkownikom (444)
- Jak zmienia się bazę danych? (445)
- Czym jest architektura REST? (446)
- Aplikacje internetowe pobłądziły (447)
- Życie na krawędzi (448)
- Uzyskanie dodatkowych informacji (449)
- Nieco dodatkowej lektury... (450)
- Książki Head First o podobnej tematyce (451)
- Koniec wycieczki... (453)
Skorowidz (455)
- Tytuł: Head First Ruby on Rails. Edycja polska
- Autor: David Griffiths
- Tytuł oryginału: Head First Rails: A learner's companion to Ruby on Rails
- Tłumaczenie: Anna Trojan
- ISBN: 978-83-246-6056-8, 9788324660568
- Data wydania: 2012-08-14
- Format: Ebook
- Identyfikator pozycji: hfror
- Wydawca: Helion