Projektowanie i implementacja wysokowydajnych aplikacji w języku

Podobne dokumenty
Program szkolenia: Symfony, nowoczesny framework PHP

PHP revisited - odświerzenie spojrzenia na programowanie w PHP

Program szkolenia: Zaawansowana architektura systemów PHP - projektowanie i implementacja skalowalnych aplikacji webowych

Tworzenie aplikacji bazodanowych

Program szkolenia: REST i Microservices w PHP

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Need for speed. Kliknij, aby edytować style wzorca tekstu jak sobie radzić z dużą ilością użytkowników i danych

Architektura systemów webowych wysokiej przepustowości. na przykładzie Wikia

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Szkolenie wycofane z oferty. Apache Cassandra - modelowanie, wydajność, analiza danych

Opis wdrożenia Platformy Technologicznej epodreczniki.pl na zasobach Poznańskiego Centrum Superkomputerowo-Sieciowego

Program szkolenia: Continuous Integration i Git

Wydajny Linux. Jakub Woźniak KN Sieci Komputerowych i Systemów Rozproszonych Tenesys

Ciągłe dostarczanie oprogramowania : kompletny przewodnik / Eberhard Wolff. Gliwice, cop Spis treści

Szczegółowy harmonogram rzeczowy realizacji prac systemu B2B

Rozwiązanie Compuware Data Center - Real User Monitoring

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1

Usługa: Testowanie wydajności oprogramowania

Autor: inż. Wojciech Zatorski Opiekun pracy: dr inż. Krzysztof Małecki

Prestige MJM Case Study

Hosting aplikacji on-line

Przetwarzanie danych w chmurze

Szkolenie autoryzowane. MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Parametry wydajnościowe systemów internetowych. Tomasz Rak, KIA

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

KARTA KURSU. Administracja serwerami WWW

Java Persistence API - zagadnienia zaawansowane

W3 Total Cache. Skuteczne przyśpieszanie WordPressa. Bartosz Romanowski

Klient SmartMedia Sp. z o.o., Dziennikus Sp. z o.o. Branża. IT, software. Okres realizacji. Lipiec nadal. Rodzaj usługi:

Ramowy plan kursu. Lp. Moduły Wyk. Lab. Przekazywane treści

Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource. Piotr Klimek. piko@piko.homelinux.net

Klient Medousa sp. z o.o. (Grupa Digital Avenue S.A.) Branża IT serwis społecznościowy. Okres realizacji Stale od początków istnienia Fotosik.

Spring Framework - wprowadzenie i zagadnienia zaawansowane

OPIS PRZEDMIOTU ZAMÓWIENIA

Tytuł szkolenia: Angular 4 - budowanie nowoczesnych i wydajnych aplikacji przeglądarkowych

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Dodatkowo, w przypadku modułu dotyczącego integracji z systemami partnerów, Wykonawca będzie przeprowadzał testy integracyjne.

Program szkolenia: Wprowadzenie do Domain Driven Design dla biznesu (część 0)

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

Scala - programowanie obiektowo-funkcyjne

Ruby i Ruby on Rails. Mateusz Drożdżyński

Architektura i mechanizmy systemu

znajomość języka programowania w stopniu podstawowym (np. C/C++, Java), umiejętność obsługi aplikacji Excel, OpenOffice Calc, itp.

thelabs portfolio thelabs portfolio

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

KOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL

Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family

Aurea BPM Dokumenty pod kontrolą

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

CMS Hitso od Autentiki opis techniczny

WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY UMIEJĘTNOŚCI I INNYCHY KOMPETENCJI

VMware View: Desktop Fast Track [v5.1] Dni: 5. Opis: Adresaci szkolenia

Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Piotr Bubacz Cloud Computing

Projektowanie: architektura baz danych

przedstawia Mariusz Gil

Skalowalna Platforma dla eksperymentów dużej skali typu Data Farming z wykorzystaniem środowisk organizacyjnie rozproszonych

LANDINGI.COM. Case Study. Klient Landingi.com. Branża IT, marketing i PR. Okres realizacji od grudnia 2013 do chwili obecnej.

ROZSZERZAJĄC FUNKCJONALNOŚCI MEMCACHED

Szkolenie: Testowanie wydajności (Performance Testing)

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Referat pracy dyplomowej

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014

Szkolenie wycofane z oferty

Systemy obiegu informacji i Protokół SWAP "CC"

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Polska Prowincja Zakonu Kaznodziejskiego (O.O. Dominikanów)

WYKORZYSTANIE I ROZWÓJ WOLNEGO OPROGRAMOWANIA W WOJEWÓDZKIM WĘŹLE INFRASTRUKTURY INFORMACJI PRZESTRZENNEJ

Konsolidacja wysokowydajnych systemów IT. Macierze IBM DS8870 Serwery IBM Power Przykładowe wdrożenia

Szczegółowy opis zamówienia:

Środowisko publikacyjne oparte na XML-u. Szymon Zioło 1 maja 2004

Microsoft Azure Architect Technologies

Monitorowanie aplikacji i rozwiązywanie problemów

Skalowalne aplikacje internetowe wysokiej dostępności

Proces projektowania i wdrożenia serwisu internetowego

POSTANOWIENIE. z dnia 20 sierpnia 2018 roku

Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)

Niezbędne narzędzia. Przed rozpoczęciem pracy z PHP należy zainstalować odpowiednie narzędzia: środowisko PHP serwer WWW serwer baz danych MySQL

Rok szkolny 2015/16 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. ADMINISTROWANIE BAZAMI DANYCH kl. 4c

Zajęcia prowadzone przez MCT, auditora wiodącego systemów bezpieczeństwa informacji.

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

Full Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia

Przepełnienie bufora. SQL Injection Załączenie zewnętrznego kodu XSS. Nabycie uprawnień innego użytkownika/klienta/administratora

PRZEWODNIK PO PRZEDMIOCIE

Zaawansowane programowanie w języku C++

Seeon Enterprise Search Engine. Rozwiązanie obsługiwane przez eo Networks S.A.

Tematy dyplomów inżynierskich 2009 Katedra Inżynierii Oprogramowania

Rozwiązania bazodanowe EnterpriseDB

Aurea BPM. Lepsze procesy, lepsze wyniki Warszawa, 24 lipca 2013

Integracja komunikatora opartego o protokół XMPP z dużym portalem internetowym

Dni: 3. Opis: Adresaci szkolenia

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego radmat radmat@math.uni.lodz.

Dane bezpieczne w chmurze

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak

Transkrypt:

Program szkolenia: Projektowanie i implementacja wysokowydajnych aplikacji w języku PHP Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Projektowanie i implementacja wysokowydajnych aplikacji w języku PHP PHP-performance PHP developerzy 3 dni 60% wykłady / 40% warsztaty Szkolenie zostało przygotowane z myślą o programistach i architekach PHP, przed którymi zostało postawione zadanie zaprojektowania i implementacji wysokowydajnej aplikacji webowej. Szkolenie zawiera szereg praktycznych rozwiązań opracowanych na podstawie doświadczeń w dojrzałych projektach, obsługujących duży wolumen ruchu i działających w oparciu o rozbudowane infrastruktury serwerowe. Zalety szkolenia: Kruczki, które dadzą Ci realną przewagę Dostęp do wiedzy eksperckiej architekta systemów dużej skali (największy polski portal społecznościowy jak i największy komunikator) Strona: 1/6

Szczegółowy program: 1. Wprowadzenie 1.1. Dlaczego wydajność aplikacji ma znaczenie? 1.2. Flow obsługi requestu przez PHP 1.3. Wydajność a skalowalność, mity i fakty 2. Profilowanie i pomiary wydajności aplikacji 2.1. Metody i narzędzia przeprowadzanie testów obciążeniowych 2.1.1. ApacheBenchmark 2.1.2. Tsung 2.1.3. Selenium 2.1.4. JMeter 2.2. Monitorowanie aplikacji i serwera 2.2.1. NewRelic 2.2.2. Graphite / StatsD / Diamond 2.2.3. xhprof 2.3. Pułapki mikrooptymalizacji 3. Przyśpieszanie aplikacji PHP poprzez konfigurację stosu technologicznego 3.1. Dobór właściwego oprogramowania 3.1.1. Wersja PHP a performance aplikacji 3.1.2. Wybór web-serwera i związane z tym konsekwencje 3.1.2.1. Apache2 + mod_php 3.1.2.2. Lighttpd 3.1.2.3. nginx + php-fpm 3.2. Opcode caching Strona: 2/6

3.2.1. Zasada działania i wpływ na performance aplikacji 3.2.2. Rozwiązania 3.2.2.1. APC 3.2.2.2. XCache 3.2.2.3. opcache 3.2.3. Przyśpieszanie aplikacji z włączonym opcode cache 3.2.3.1. Wykorzystanie buildów kodu źródłowego 3.2.3.2. Unikanie operacji fstat i związane z tym konsekwencje 3.2.4. Pozostałe aspekty 3.2.4.1. Wykorzystanie modułów opcode jako shared-memory user-cache 3.2.4.2. Monitorowanie skuteczności cache 3.2.4.3. Przegląd możliwych problemów i metod ich rozwiązania 4. Frameworki PHP 4.1. Przegląd popularnych frameworków PHP i ich natywnej wydajności 4.2. Tuning wydajności aplikacji poprzez wykorzystanie cache 4.2.1. Cache danych z bazy danych 4.2.2. Cache requestów HTTP 4.3. Tuning wydajności aplikacji poprzez jej architekturę 5. Optymalizacja schematu bazy danych i zapytań SQL (MySQL) 5.1. Silniki składowania danych i ich możliwości 5.2. Identyfikacja wąskich gardeł bazy danych 5.3. Podstawowa optymalizacja schematu bazy danych 5.4. Podstawowa optymalizacja zapytań SQL 6. Cache danych 6.1. Wprowadzenie do cache'owania danych Strona: 3/6

6.1.1. Cache hit vs miss 6.1.2. Algorytmy cache 6.1.3. Inwalidacja i czas życia cache 6.2. Narzędzia 6.2.1. Memcached 6.2.2. Redis 6.2.3. AWS ElastiCache 6.3. Strategie budowania cache 6.3.1. Przechowywanie danych per query vs per row 6.4. Przegląd typowych use-case'ów związanych z cache danych 6.5. Optymalizacja komunikacji pomiędzy aplikacją a serwerami cache 7. Odciążanie baz danych 7.1. Eliminacja części zapytań SQL i przenoszenie ich do dedykowanych rozwiązań 7.1.1. Full-Text-Search 7.1.1.1. Przegląd problemów wynikających z implementacji w języku SQL 7.1.1.2. Narzędzia 7.1.1.3. Full-Text-Search w MySQL 5 7.1.1.4. Sphinx 8. Cache requestów HTTP 8.1. Wprowadzenie do cache'owania danych 8.1.1. Nagłówki HTTP i ich obsługa w przeglądarce internetowej 8.1.2. Efektywność cache a obciążenie serwera aplikacji 8.2. Narzędzia 8.2.1. Nginx 8.2.2. Squid Strona: 4/6

8.2.3. Varnish 8.3. Konfiguracja i wykorzystanie serwera Varnish w stosie technologicznym 8.3.1. Zasada działania 8.3.2. Skuteczność i wydajność 8.3.3. Instalacja, konfiguracja oraz uruchomienie serwera Varnish 8.3.4. Wprowadzenie do języka VCL i jego możliwości 8.3.5. Podstawowe aspekty konfiguracji serwera Varnish i integracji z chronioną aplikacją 9. Wydajność frontendu aplikacji 9.1. Podstawowe techniki zwiększające szybkość działania aplikacji w przeglądarce internetowej 9.2. Optymalizacja komunikacji klient-serwer 10. Przetwarzanie danych w modelu asynchronicznym 10.1. Zmiana miejsca przetwarzania dużych ilości danych jako metoda przyśpieszenia aplikacji 10.2. Systemy kolejkowe 10.2.1. Zasada działania 10.2.2. Przegląd typowych use-case'ów związanuych z przetwarzaniem asynchronicznym 10.2.3. Narzędzia 10.2.3.1. Gearmand 10.2.3.2. RabbitMQ 10.2.3.3. Redis 10.2.3.4. AWS Simple Queue Service 10.2.4. Konfiguracja i wykorzystanie serwera RabbitMQ w stosie technologicznym 10.2.4.1. Instalacja i uruchomienie 10.2.4.2. Podstawowe aspekty pracy i możliwości serwera RabbitMQ Strona: 5/6

10.2.4.3. Generowanie i przetwarzanie wiadomości przesyłanych za pomocą kolejek 11. Skalowanie aplikacji 11.1. Korzyści wynikające z rozproszenia aplikacji pomiędzy większą liczbę serwerów 11.2. Podstawowe aspekty pracy z rozproszoną aplikacją 11.2.1. Kierownie ruchem użytkowników pomiędzy instancjami aplikacji 11.2.2. Utrzymanie sesji użytkownika 12. Dedykowane rozwiązania zewnętrzne 12.1. HHVM, maszyna wirtualna dla języka PHP Strona: 6/6