Katalog produktów w MongoDB na przykładzie Nokaut.plPiotr Duda
Podsumowanie 5 lat MongoDB w Nokaut.pl:
- dlaczego zostało wybrane MongoDB,
- konfiguracja klastra,
- kwestie administracyjne (monitoring, alerty, backup),
- szukanie wolnych zapytań,
- uwagi do wydajności,
- co jest według Nas dobre i a co złe w MongoDB
Katalog produktów w MongoDB na przykładzie Nokaut.plPiotr Duda
Podsumowanie 5 lat MongoDB w Nokaut.pl:
- dlaczego zostało wybrane MongoDB,
- konfiguracja klastra,
- kwestie administracyjne (monitoring, alerty, backup),
- szukanie wolnych zapytań,
- uwagi do wydajności,
- co jest według Nas dobre i a co złe w MongoDB
Wyczerpujące omówienie najpopularniejszego środowiskado tworzenia dynamicznych witryn WWW
* Poznaj zasady programowania w PHP5 i w pełni wykorzystaj jego nowe możliwości
* Zastosuj bazę danych jako zaplecze dla stron WWW
* Zaprojektuj i stwórz dynamiczną witrynę WWW za pomocą PHP i MySQL
O PHP i MySQL słyszał już chyba każdy, kto zajmuje się projektowaniem witryn WWW. Skrypty napisane w języku PHP i korzystające z bazy danych MySQL "napędzają" tysiące dynamicznych stron WWW -- sklepów, portali oraz aplikacji e-commerce. Duet PHP i MySQL to stabilne, wydajne i proste do opanowania środowisko o ogromnych możliwościach. Dostępne są nieodpłatnie, co jest jednym z głównych powodów ich popularności. Za ich pomocą można stworzyć zarówno proste wiadomości na stronie WWW, jak i rozbudowane systemy autoryzacji użytkowników, płatności elektronicznych, galerii i wiele innych aplikacji internetowych.
"PHP5 i MySQL. Biblia" to kompleksowe omówienie zagadnień związanych z tworzeniem witryn WWW z wykorzystaniem tych technologii. Przedstawia zasady programowania w języku PHP5 z uwzględnieniem reguł projektowania obiektowego. Opisuje bazę danych MySQL, język SQL oraz sposoby połączenia skryptów PHP z tabelami w bazie danych. Czytając ją, nauczysz się osadzać kod PHP w dokumentach HTML, korzystać z mechanizmów obsługi sesji oraz języka XML, korzystać z innych baz danych oraz zabezpieczać witryny WWW stworzone za pomocą PHP. Dowiesz się, jak zaimplementować obsługę wyjątków oraz jak usuwać błędy z kodu źródłowego. Napiszesz skrypty stanowiące komponenty rozbudowanego dynamicznego serwisu WWW, które z powodzeniem będziesz mógł wykorzystać w wielu swoich projektach.
* Typy danych, zmienne, polecenia i funkcje w PHP
* Operacje na tekstach, wartościach liczbowych i tablicach
* Administrowanie bazą MySQL
* Łączenie skryptów PHP z bazą danych
* Tworzenie elementów generowanych dynamicznie
* Programowanie obiektowe w PHP
* Mechanizmy obsługi sesji i plików cookie
* Korzystanie z biblioteki PEAR
* Obsługa wyjątków i usuwanie błędów z kodów źródłowych
* Korzystanie z baz danych PostgreSQL oraz Oracle
* Łączenie PHP z JavaScript i Javą
* Przetwarzanie plików XML i tworzenie usług sieciowych
* Generowanie grafiki za pomocą PHP
* Uwierzytelnianie użytkowników
W tej książce znajdziesz wszystko, czego potrzebujeszaby w pełni wykorzystać możliwości PHP i MySQL.
Optymalizacyjna magia, czyli jak wyciągać króliki z kapelusza SzymonSadlo
Wydajność aplikacji to trudny temat, często specyficzny dla danej aplikacji, a optymalizacja czasami postrzegana jest jako czarna magia. Czy z tego kapelusza można wyciągać białe króliki? Można. Na bazie konkretnej aplikacji pokażę na co zwracać uwagę oraz jakie usprawnienia wprowadzać, aby ze swojego kodu, od podstaw, krok po kroku wyciągnać coraz więcej.
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...PROIDEA
Krzysztof Rychlicki-Kicior
Language: Polish
Dawno temu, gdy w kodzie HTML królowały znaczniki FONT i MARQUEE, a zamiast AJAX-a stosowano ukryte ramki, błyskawiczną i dwustronną komunikację z serwerem można było osiągnąć jedynie za pomocą specjalnych wtyczek - np. we wszelkiej maści czatach królowała wówczas Java i applety. Z upływem lat sytuacja poprawiła się, dzięki zastosowaniu AJAX-a czy long pollingu, jednak wciąż była daleka od ideału. Na szczęście, obecnie programiści są w znacznie lepszej sytuacji - dzięki WebSocketom bez żadnego problemu są w stanie zaimplementować komunikację w czasie rzeczywistym, niezbędną np. do gier online, aplikacji do komunikacji czy aplikacji finansowych.
W ramach tego wykładu słuchacze zapoznają się z różnymi koncepcjami stosowanymi w komunikacji pomiędzy przeglądarką a serwerem HTTP, z uwzględnieniem WebSocketów. Oprócz tego zostaną przedstawione mechanizmy obsługi WS od strony serwera, na przykładzie Node.js i Socket.IO. Różne rozwiązania zostaną poddane porównaniu pod kątem wydajności. Mimo licznych zalet, WebSockety niosą za sobą pewne problemy - zostaną one również poddane analizie.
Wyczerpujące omówienie najpopularniejszego środowiskado tworzenia dynamicznych witryn WWW
* Poznaj zasady programowania w PHP5 i w pełni wykorzystaj jego nowe możliwości
* Zastosuj bazę danych jako zaplecze dla stron WWW
* Zaprojektuj i stwórz dynamiczną witrynę WWW za pomocą PHP i MySQL
O PHP i MySQL słyszał już chyba każdy, kto zajmuje się projektowaniem witryn WWW. Skrypty napisane w języku PHP i korzystające z bazy danych MySQL "napędzają" tysiące dynamicznych stron WWW -- sklepów, portali oraz aplikacji e-commerce. Duet PHP i MySQL to stabilne, wydajne i proste do opanowania środowisko o ogromnych możliwościach. Dostępne są nieodpłatnie, co jest jednym z głównych powodów ich popularności. Za ich pomocą można stworzyć zarówno proste wiadomości na stronie WWW, jak i rozbudowane systemy autoryzacji użytkowników, płatności elektronicznych, galerii i wiele innych aplikacji internetowych.
"PHP5 i MySQL. Biblia" to kompleksowe omówienie zagadnień związanych z tworzeniem witryn WWW z wykorzystaniem tych technologii. Przedstawia zasady programowania w języku PHP5 z uwzględnieniem reguł projektowania obiektowego. Opisuje bazę danych MySQL, język SQL oraz sposoby połączenia skryptów PHP z tabelami w bazie danych. Czytając ją, nauczysz się osadzać kod PHP w dokumentach HTML, korzystać z mechanizmów obsługi sesji oraz języka XML, korzystać z innych baz danych oraz zabezpieczać witryny WWW stworzone za pomocą PHP. Dowiesz się, jak zaimplementować obsługę wyjątków oraz jak usuwać błędy z kodu źródłowego. Napiszesz skrypty stanowiące komponenty rozbudowanego dynamicznego serwisu WWW, które z powodzeniem będziesz mógł wykorzystać w wielu swoich projektach.
* Typy danych, zmienne, polecenia i funkcje w PHP
* Operacje na tekstach, wartościach liczbowych i tablicach
* Administrowanie bazą MySQL
* Łączenie skryptów PHP z bazą danych
* Tworzenie elementów generowanych dynamicznie
* Programowanie obiektowe w PHP
* Mechanizmy obsługi sesji i plików cookie
* Korzystanie z biblioteki PEAR
* Obsługa wyjątków i usuwanie błędów z kodów źródłowych
* Korzystanie z baz danych PostgreSQL oraz Oracle
* Łączenie PHP z JavaScript i Javą
* Przetwarzanie plików XML i tworzenie usług sieciowych
* Generowanie grafiki za pomocą PHP
* Uwierzytelnianie użytkowników
W tej książce znajdziesz wszystko, czego potrzebujeszaby w pełni wykorzystać możliwości PHP i MySQL.
Optymalizacyjna magia, czyli jak wyciągać króliki z kapelusza SzymonSadlo
Wydajność aplikacji to trudny temat, często specyficzny dla danej aplikacji, a optymalizacja czasami postrzegana jest jako czarna magia. Czy z tego kapelusza można wyciągać białe króliki? Można. Na bazie konkretnej aplikacji pokażę na co zwracać uwagę oraz jakie usprawnienia wprowadzać, aby ze swojego kodu, od podstaw, krok po kroku wyciągnać coraz więcej.
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...PROIDEA
Krzysztof Rychlicki-Kicior
Language: Polish
Dawno temu, gdy w kodzie HTML królowały znaczniki FONT i MARQUEE, a zamiast AJAX-a stosowano ukryte ramki, błyskawiczną i dwustronną komunikację z serwerem można było osiągnąć jedynie za pomocą specjalnych wtyczek - np. we wszelkiej maści czatach królowała wówczas Java i applety. Z upływem lat sytuacja poprawiła się, dzięki zastosowaniu AJAX-a czy long pollingu, jednak wciąż była daleka od ideału. Na szczęście, obecnie programiści są w znacznie lepszej sytuacji - dzięki WebSocketom bez żadnego problemu są w stanie zaimplementować komunikację w czasie rzeczywistym, niezbędną np. do gier online, aplikacji do komunikacji czy aplikacji finansowych.
W ramach tego wykładu słuchacze zapoznają się z różnymi koncepcjami stosowanymi w komunikacji pomiędzy przeglądarką a serwerem HTTP, z uwzględnieniem WebSocketów. Oprócz tego zostaną przedstawione mechanizmy obsługi WS od strony serwera, na przykładzie Node.js i Socket.IO. Różne rozwiązania zostaną poddane porównaniu pod kątem wydajności. Mimo licznych zalet, WebSockety niosą za sobą pewne problemy - zostaną one również poddane analizie.
Prezentacja przedstawi charakterystykę rynku druku 3D – kto na nim dzisiaj najwięcej zyskuje? Czy są to producenci drukarek? Materiałów eksploatacyjnych? Wzorców? A może usługi? Jak będzie w przyszłości? Jakie są teraz największe wyzwania? Czy druk 3D ma ambicje stać się tak popularny jak zwykłe drukarki? Czy powstaną (a może już są) punkty „ksero 3D”? Gdy się już zdecydujemy – szybkie tips & tricks składania własnej drukarki 3D.
user research for a B2B mobile based service. Contextual enquiry and user research was carried out to identify gaps and opportunities in the existing version of Nokia Tej - a B2B enterprise service
Projektowanie wysokowydajnych i skalowalnych serwisów WWW - Warstwa aplikacjiAntoni Orfin
Część pierwsza prezentacji pochodzącej z warsztatów skupiających się na zagadnieniach projektowania i wytwarzania wysokowydajnych i skalowalnych serwisów webowych.
Prezentacja opisuje problemy związane z warstwą aplikacji:
- Rodzaje skalowania
- Architektury nastawione na zapewnienie wysokiej wydajności i skalowalności
- Zagadnienia Load-Balancingu
- Metody cache'owanie - n-Tier Cache, Varnish, Redis
- Service Oriented Architecture
Język PHP to jedna z najpopularniejszych platform programistycznych służących do tworzenia aplikacji internetowych. Wszędzie tam, gdzie zamierzamy dynamicznie generować treść witryny, gromadzić i przetwarzać dane, identyfikować użytkowników strony lub wysyłać pliki do witryny WWW, wykorzystujemy PHP. Gdy pojawiają się problemy, wertujemy książki, szukając porad i przykładów. Jeśli przydatne wskazówki znajdują się w jednym miejscu, praca szybko posuwa się do przodu.
Przyspiesz proces tworzenia aplikacji w PHP
-- wykorzystaj gotowe fragmenty kodu.
Książka "PHP. Rozmówki" to zbiór ponad 100 przykładów kodu opatrzonych komentarzami i dokładnie przetestowanych w różnych systemach operacyjnych i przeglądarkach. Autor podpowiada gotowe rozwiązania problemów, z którymi borykają się na co dzień programiści PHP. Przykładowy kod z łatwością można dostosować do własnych potrzeb, przyspieszając w ten sposób pracę nad aplikacją i zwiększając produktywność.
* Operacje na łańcuchach tekstowych
* Stosowanie wyrażeń regularnych
* Przetwarzanie tablic
* Operacje na datach
* Obsługa formularzy WWW
* Uwierzytelnianie użytkowników
* Stosowanie plików cookie i mechanizmów sesji
* Praca z systemem plików na serwerze
* Połączenia z bazami danych
* Przetwarzanie dokumentów XML
* Komunikacja z usługami sieciowymi
Do efektywnej pracy z PHP wystarczy ta książka --zatem po co korzystać z opasłych tomów?
Tworzenie dynamicznych witryn WWWza pomocą technologii open source
* Zainstaluj i skonfiguruj serwery oraz narzędzia
* Połącz aplikację internetową z bazą danych
* Napisz samodzielnie system zarządzania treścią witryny
PHP, Apache i MySQL to najpopularniejsze obecnie technologie służące do tworzenia i udostępniania w sieci dynamicznych witryn WWW. Łączy je jedna wspólna cecha -- wszystkie dostępne są na licencji open source, co oznacza, że korzystanie z nich nie wiąże się z żadnymi opłatami. PHP to język programowania służący do pisania aplikacji internetowych, MySQL to baza danych, która przechowuje informacje wyświetlane na stronach, a Apache to serwer WWW, dzięki któremu witryny te dostępne są w internecie. Za pomocą tych narzędzi tworzone są portale, sklepy internetowe, fora dyskusyjne i inne strony, z których codziennie korzystają dziesiątki tysięcy użytkowników sieci.
"PHP5, Apache i MySQL. Od podstaw” to podręcznik dla tych użytkowników, którzy chcą poznać sposoby tworzenia dynamicznych witryn WWW w oparciu o te technologie. Przedstawia zasady pisania aplikacji internetowych, stosowania w nich formularzy z mechanizmem weryfikacji poprawności wpisanych danych, łączenia aplikacji z bazą danych i modyfikowania elementów graficznych za pomocą PHP. Opisano tu także sposoby przechowywania danych użytkownika w plikach cookie, mechanizmy wysyłania poczty elektronicznej, obsługi błędów i ograniczania dostępu do określonych obszarów witryny za pomocą nazwy użytkownika i hasła. Każde zagadnienie zaprezentowano na rzeczywistych przykładach dynamicznych witryn WWW.
* Instalacja i konfiguracja Apache, PHP i MySQL-a
* Podstawowe elementy języka PHP
* Komunikacja z bazą danych
* Wyświetlanie oraz modyfikowanie danych
* Obsługa formularzy i weryfikacja poprawności wpisów
* Korzystanie z elementów graficznych i zastosowanie biblioteki GD
* Obsługa błędów
* Komunikacja za pomocą poczty elektronicznej
* Mechanizmy logowania i personalizacji serwisu
* System zarządzania treścią serwisu WWW
* Lista mailingowa i forum dyskusyjne
* Elementy sklepu internetowego
* Analiza ruchu w witrynie WWW za pomocą statystyk
Poznaj najnowsze technologie tworzenia dynamicznych witryn WWW
Coraz więcej serwisów internetowych składa się nie tylko z atrakcyjnego interfejsu użytkownika, ale także z rozbudowanych aplikacji działających na serwerze. Są one najczęściej oparte o bazy danych, które przechowują dane i zapewniają szybki do nich dostęp. Jeśli chcesz w krótkim czasie nauczyć się tworzyć takie aplikacje, znalazłeś właściwą książkę.
"PHP i MySQL. Dynamiczne strony WWW" nauczy Cię tworzenia dynamicznych serwisów internetowych z wykorzystaniem PHP i MySQL-a. Książka przekaże Ci wiedzę niezbędną dla projektantów rozwiązań internetowych. Wszystkie zagadnienia opisane są "krok po kroku", każdemu z nich towarzyszy też odpowiedni rysunek. Przykłady odzwierciedlają problemy, z którymi projektanci stron internetowych spotykają się na co dzień.
Książka opisuje:
* Podstawy programowania w PHP
* Tworzenie dynamicznych stron internetowych z użyciem PHP
* Zasady projektowanie baz danych
* Język SQL
* Korzystanie z systemu zarządzania bazami danych MySQL
* Łączenie PHP z systemem MySQL
* Użycie sesji
* Zabezpieczanie stron internetowych przed dostępem nieuprawnionych osób
* Przykładowe aplikacje: rejestracja użytkowników i sklep internetowy
Treść książki uzupełniają dodatki opisujące sposób instalacji omawianych w niej narzędzi oraz dodatkowe, przydatne aplikacje.
Jeśli chcesz w szybko nauczyć się programowania dynamicznych serwisów internetowych, ta książka będzie Twoim intensywnym kursem. Już po przeczytaniu kilku rozdziałów będziesz w stanie pisać pierwsze programy w PHP korzystające z bazy MySQL, a po przeczytaniu całej książki poradzisz sobie również z tworzeniem bardziej rozbudowanych aplikacji.
- jak tworzyć testowalne aplikacje stosując wzorzec Dependency Injection (bez frameworków!).
- jak node.js pomógł rozwiązać problemy kulturowe a programiści przestali nadużywać Single Page App'y
- jak komunikować się po HTTP z niestabilnymi mikrousługami
- jak automatyzować infrastrukturę Heroku z użyciem kodu JS
Carly Rae Jepsen pomoże mi wytłumaczyć dlaczego nie używamy callbacków.
A na koniec zdradzę dlaczego jestem gruby od tego JS.
Prezentacja dotyczy architektury aplikacji internetowych od strony back-endu oraz front-endu działającego w środowisku wykonania przeglądarek internetowych.
Czy następuje taki moment w życiu programisty, kiedy może on stwierdzić, że jego warsztat jest już doskonały? Nie, jeżeli pracuje w technologiach internetowych. Ta dziedzina informatyki rozwija się w niesamowicie szybkim tempie, a stworzone wczoraj rozwiązania warto stosować już dziś! Podczas prelekcji słuchacze poznają aktualne możliwości, jakie dają web developerowi różne biblioteki, narzędzia developerskie oraz usługi.
Apache to jeden z najpopularniejszych serwerów WWW. Dostępny nieodpłatnie na licencji open source jest "motorem napędowym" ponad 70% witryn WWW w internecie. W miarę rozwoju serwera Apache jego możliwości i złożoność wzrosły do tego stopnia, że początkujący użytkownicy mogą czuć się przytłoczeni samą koniecznością jego skonfigurowania. Właściwe dostrojenie działania serwera wymaga modyfikowania plików konfiguracyjnych i odpowiedniego dobrania parametrów dyrektyw w nich zawartych. Na szczęście większość typowych funkcji realizuje się w podobny sposób na wszystkich platformach systemowych.
Książka "Apache. Rozmówki" to zestawienie najistotniejszych wiadomości dotyczących konfigurowania serwera Apache i administrowania nim. Można tam znaleźć także wiele przykładów i konkretnych wskazówek. Przeczytaj, a dowiesz się, jak zainstalować serwer Apache w różnych systemach operacyjnych oraz jak uruchomić go i zatrzymać. Nauczysz się diagnozować przyczyny niewłaściwego działania serwera i korzystać z dzienników. Poznasz sposoby łączenia katalogów zawierających pliki stron WWW z odpowiednimi adresami URL, zabezpieczania serwera i zestawiania połączeń szyfrowanych SSL/TLS. Proste stanie się dla Ciebie także maksymalizowanie wydajności serwera.
Książka zawiera omówienie takich oto zagadnień:
* instalowanie Apache´a w systemach Windows i Linux
* włączanie i wyłączanie serwera oraz jego pojedynczych modułów
* struktura plików konfiguracyjnych
* analiza dzienników serwera
* odwzorowywanie adresów URL
* metody uwierzytelniania użytkowników
* stosowanie certyfikatów SSL
* korzystanie z protokołu WebDAV
* poprawa wydajności Apache´a
Dzięki niej szybko skonfigurujesz serwer Apache, a kilkusetstronicowe instrukcje obsługi przestaną Ci być potrzebne.
Mówi się, że „the next big thing” leży gdzieś pomiędzy wearable tech a upowszechnieniem koncepcji Internetu rzeczy. A połączenie tych 2 nurtów ma stanowić kolejny przełom technologiczny, gdzie zostanie zatarta granica między człowiekiem a technologią. Już teraz do naszego życia pukają inteligentne okulary, zegarki, opaski. Telefony monitorują naszą aktywność na każdym kroku. Jak przygotować swój biznes lub karierę do tej rzekomej rewolucji? Gdzie szukać wzorców i inspiracji? Czy pisarze sci-fi mieli rację, ostrzegając, że im więcej w nas maszyny, tym mniej człowieka.
Czy samochód może być wearable? Czym tak naprawdę będzie Automotive-Human-Machine-Interface? Kiedy rozszerzona rzeczywistość zastąpi człowieka? Czy autonomiczne samochody połączą się w grid i jakie to ma konsekwencje? Jak rozwijać się będą systemy nawigacji kolejnej generacji? Prezentacja pokaże najnowsze trendy w branży Automotive i projekty realizowane w REC-Global.
Wideo na http://www.netcamp.pl
Prezentacja ma na celu przedstawienie Google Glass – gadżetu, który niebawem pojawi się w sprzedaży detalicznej i otworzy nowe możliwości przed użytkownikami. Jednocześnie twórcy oprogramowania na platformy mobilne staną przed nowymi wyzwaniami związanymi m.in. z projektowaniem interfejsów i sposobie interakcji z urządzeniem. Podczas prezentacji zostaną także omówione podstawowe zagadnienia związane z tworzeniem natywnych aplikacji na Google Glass oraz framework’a Mirror API.
Wideo na http://www.netcamp.pl
Marketing Automation to ostatnio bardzo modny trend w działaniach email marketingowych, warto jednak zastanowić się kiedy warto zainwestować w działania MA i od których zacząć. Tomek pokaże w prezentacji ciekawe przykłady i wybrane case studies.
Prezentacji pokaże jak API podnosi wartość usługi, która je udostępnia a często jest niezbędne do jego istnienia, zwłaszcza w e-commerce. Zobaczymy też jak można wykorzystać API do rozwijania i tworzenia własnych produktów. Przemek udowodni że API nie jest takie straszne jak je malują :)
Nazwa domeny internetowej, będąca nazwą firmy lub produktu, ma kluczowe znaczenie w e-biznesie. Od strony technicznej łatwo ją zarejestrować, jednak wiele wysiłku należy włożyć aby ją odzyskać lub obronić się przed jej przejęciem. Nie można zapomnieć także o tym, że nazwa domeny funkcjonuje obok innych form zabezpieczenia nazw, współtworząc szerszy system prawnej ochrony. Rafał opowie o procedurach w zakresie sporów domenowych oraz o innych formach prawnych zabezpieczenia nazwy firmy i produktu w e-biznesie.
Budowanie wzrostu liczby użytkowników jest niezwykle ważne, jednak bardzo często bywa tak, że im wyżej się wejdzie, z tym większej wysokości się spadnie. Szybki przyrost użytkowników bez przemyślanych działań mających na celu zachęcenie ich do powrotu do aplikacji – często są to działania podjęte już na etapie jej tworzenia – może skończyć się bolesną klęską.
2. Z czym się zmagamy?
✤ 24 miliony unikalnych użytkowników miesięcznie
✤ 10 milionów zapytań do wyszukiwarki na dobę
✤ Ponad 50 milionów rekordów w bazie danych
Rozkład obciążenia serwerów
68%
600 sesji na sekundę do load balancera
15%
static frontend openx
17%
3. Infrastruktura serwisu
✤ 18 maszyn do obsługi frontendu
✤ 3 maszyny do przechowywania statycznej zawartości
✤ 14 serwerów do Sphinxa
✤ 6 serwerów bazodanowych
✤ 3 load balancery rozdzielające ruch
✤ Wydzielenie serwerów ułatwia monitorowanie oraz replikowanie
poszczególnych węzłów danych
5. Początki serwisu
✤ Wyszukiwarka multimediów
✤ Jeden fizyczny serwer na którym znajdował się serwer HTTP, baza danych
oraz interpreter PHP
✤ Wyszukiwanie oparte o MySQL (full-text search)
✤ Rosnący ruch - problemy z MySQL
6. Prawdziwy start
✤ Decyzje:
✤ Przepisanie frontendu z użyciem Zend Framework
✤ Wykorzystanie Zend_Search_Lucene
✤ Problemy:
✤ Długie czasy wyszukiwań
✤ Długie czasy przebudowy indeksów, problemy ze stabilnością
✤ Próby integracji Lucene Java
7. Sphinx
✤ API - prosta i szybka integracja z PHP
✤ Budowa indexów z danych pobranych z MySQL
✤ Szybka przebudowa indeksów
✤ Możliwości filtrowania - filtry numeryczne i tekstowe
8. Sphinx - skalowalność
Frontend
Szukaj
Serwer HTTP
Żądanie
Sphinx distributed search
index 1/n index 1/n index 1/n ......... index 1/n
10. Sphinx - optymalizacja
✤ Podział na klastry usługowe
✤ Podział indexów wg schematu main+delta
✤ Główny index przebudowywany bardzo rzadko
✤ Delty przebudowywane kilka razy dziennie
✤ Cachowanie zapytań i mechanizmy odświeżania
✤ Pomijanie słów kluczowych - przykładowo "rar"
11. Optymalizacje odwołań I/O
✤ Kompresja CSS/JavaScript/HTML
✤ Redukcja ilości odwołań do JavaScript/CSS
✤ Grafika oparta na sprite-ach
✤ Użycie akceleratora PHP (xcache)
12. Sharding - optymalizacja na przyszłość
Dane
PHP Decyzja wyboru sharda
Zapis danych do odpowiedniej bazy
Shard 1 Shard 2
✤ Podział danych na dwie bazy
✤ Możliwość późniejszego skalowania - manipulowanie danymi
✤ Denormalizacja bazy
13. Optymalizować, ale kiedy ?
✤ Optymalizacja na etapie wytwarzania oprogramowania nie koniecznie jest
dobra
✤ Optymalizacja powinna być reakcją na wzrastające obciążenie
✤ Optymalizacja powinna wynikać z obserwacji działania aplikacji
✤ ilość wizyt/odsłon - sprawa oczywista
✤ obciążenie serwerów/usług - load i/o sieciowe, i/o dysków, zapytania
do serwerów http, bazy danych, systemów cache itp.
14. Plany na przyszłość
✤ W planach testy takich rozwiązań jak:
✤ PHP HipHop
✤ Cassandra