Programista Java - XLK-JAVA-XL

  • Java
  • OOP
  • Spring
  • SQL
  • Maven
  • REST

Obecnie brak terminów otwartych

Edycja dzienna (jeden 4-dniowy blok i dwa 3-dniowe, średnio co 2 tyg.) Edycja weekendowa (zaoczna) (sob-niedz., średnio co 2 tygodnie)

Zdalnie

7 września - 8 grudnia 2021 21 sierpnia - 19 grudnia 2021

Zdalnie

9 października - 6 marca 2022

Warszawa

7 września - 8 grudnia 2021 21 sierpnia - 19 grudnia 2021

Warszawa

9 października - 6 marca 2022

Tryb zdalny: online na żywo z trenerem i grupą. Zobacz więcej o kursach zdalnych i zakł. "Terminy".
Można: zrezygnować do 15 dni przed startem; w każdej chwili przejść z trybu "na sali" na zdalny.
Kursy dostępne również na zamówienie, w terminie i lokalizacji do uzgodnienia, dla grup od 7 osób.

dla firm - netto
dla osób prywatnych - brutto (pokrywamy VAT)
dla podmiotów publicznych - zwolnione z VAT

Cena kursu: 7990 PLN

lub 1598 PLN miesięcznie (5 rat)

poczęstunek w cenie

stanowisko komputerowe w cenie

first minute (30+ dni do startu) - 3%

Kategoria: Java

Kompletny kurs języka i platformy Java od zupełnych podstaw do tworzenia wielowarstwowych aplikacji różnego typu. Obejmuje połączone programy kursów Nauka programowania i język Java (“poziom pierwszy”) oraz Programista backend – Java (“poziom drugi”).

Java to jeden z najpopularniejszych języków programowania, napędzający większość systemów biznesowych świata, pozwalający tworzyć zarówno rozbudowane systemy serwerowe, jak i zwykłe aplikacje użytkownika, w tym aplikacje mobilne. Nic dziwnego więc, że wśród ogłoszeń o pracę w branży IT tak duża część dotyczy programowania w języku Java.

Aby skutecznie tworzyć oprogramowanie w Javie, trzeba poznać zarówno sam język, jak i technologie towarzyszące, które umożliwiają budowanie kompletnych aplikacji. Ten kompleksowy kurs obejmuje jedno i drugie.

Z myślą o osobach, które nie miały dotąd styczności z programowaniem, na początku dużo czasu poświęcamy dobremu zrozumieniu spraw fundamentalnych: zmiennych, pętli, funkcji, czy zasad programowania obiektowego. Tempo pracy, szczególnie przez pierwsze dni, dostosowane jest do nauki od podstaw (z tego też powodu osoby już programujące w innych językach zachęcamy do zainteresowania się kursem Programista Java – fast track).

Z biegiem czasu i uzyskując coraz większą biegłość, będziemy poznawać technologie towarzyszące, które pozwalają tworzyć w oparciu o języka Java kompletne aplikacje różnego typu, m.in.: okienkowe (Swing), webowe (serwlety, Spring MVC), usługi restowe (JAX-RS i Spring). Dowiemy się jak na różne sposoby korzystać z baz danych (SQL, JDBC, Hibernate, Spring Data) i jak testować aplikacje (JUnit).

Czas trwania

160h

Program

  1. Wprowadzenie do programowania
    • Jak rozmawiać z komputerem?
      • Kod maszynowy i kod źródłowy
      • Języki programowania, kompilatory, interpretery
      • Proces, program, aplikacja
    • Rzut oka na współczesny świat technologii programistycznych
      • Rodzaje aplikacji: frontend vs backend, aplikacje wsadowe, graficzne, webowe i mobilne; adekwatne technologie
      • Przegląd języków i paradygmatów programowania
      • Platforma Java – dlaczego powstała, jej miejsce w dzisiejszym świecie IT, cechy charakterystyczne i zastosowania
      • Biblioteki i frameworki
  2. Konfiguracja środowiska pracy
    • Instalacja i konfiguracja platformy Java
      • Podstawy pracy w wierszu poleceń
      • Kompilacja i uruchamianie
      • Interaktywny interpreter jshell
    • Instalacja i konfiguracja wybranego środowiska deweloperskiego (IDE)
      • Przegląd środowisk właściwych dla języka Java
      • Zalety IDE i techniki pozwalające na sprawną pracę
  3. Pierwsze kroki w Javie
    • Budowa programu w języku Java
    • Struktura projektu: pliki źródłowe i skompilowane, katalogi, pakiety, klasy
    • Konwencje dot. nazw i formatowania kodu
    • Proste metody komunikacji z użytkownikiem: standardowe wejście i wyjście, okna dialogowe
  4. Podstawowe techniki programistyczne
    • Zmienne i typy
      • Podstawowe typy danych: liczby całkowite i z ułamkiem, napisy, typ logiczny
      • Wyrażenia arytmetyczne i logiczne
    • Instrukcje sterujące języka Java
      • Instrukcje warunkowe: if, switch
      • Pętle: while, for
      • Pisanie prostych algorytmów
    • Tablice
    • Elementy proceduralnego stylu programowania
      • Metody w języku Java
      • Tworzenie sparametryzowanych funkcji i procedur
      • Wydzielanie powtarzających się fragmentów kodu; podstawy refaktoryzacji
  5. Programowanie obiektowe w Javie
    • Obiektowy styl programowania
      • Czym są obiekty, czym są klasy?
      • Odniesienia do pojęć ze świata rzeczywistego
    • Obiekty i klasy technicznie
      • Elementy składowe klas, budowa obiektów
      • Struktura pamięci maszyny wirtualnej Javy; stos i sterta; referencje do obiektów
    • Dziedziczenie i interfejsy
      • Rozszerzanie klas i nadpisywanie metod
      • Polimorfizm, zasada podstawiania
      • Interfejsy i klasy abstrakcyjne
    • Enkapsulacja (hermetyzacja)
      • Modyfikatory widoczności
      • Techniki i korzyści z enkapsulacji
    • Wyjątki w języku Java
  6. Aplikacje z graficznym interfejsem użytkownika
    • GUI w programowaniu obiektowym: komponenty graficzne jako obiekty
    • Technologia Swing jako jedna z możliwości tworzenia GUI w Javie
    • Obsługa zdarzeń w aplikacji okienkowej
    • Budowanie interfejsu użytkownika na dwa sposoby: pisząc odpowiedni kod w Javie oraz za pomocą edytora graficznego
  7. Najważniejsze klasy narzędziowe platformy Java SE
    • Napisy
      • Klasa String: możliwości i ograniczenia
      • Budowanie napisów
      • Przetwarzanie tekstu, w tym podstawy wyrażeń regularnych
    • Kolekcje: listy, zbiory, słowniki; Java Collections Framework
      • Wykorzystanie w algorytmach i schematach przetwarzania danych
      • Wpływ właściwego doboru struktur danych na wydajność aplikacji
    • Podstawy funkcyjnych technik programowania: lambdy i strumienie
    • Obsługa daty i czasu
    • Obsługa plików
      • Pliki binarne i tekstowe, bajty i znaki, kodowania znaków
      • Strumienie wejścia/wyjścia i podstawowa obsługa plików w programach Javy
      • Klasa Files i operowanie na całych plikach
  8. Dodatkowe narzędzia, biblioteki i techniki pracy
    • GIT i kontrola wersji kodu
      • Zapisywanie i odtwarzanie historii zmian
      • Rozgałęzienia i ich późniejsze łączenie (branch/merge)
      • Repozytoria lokalne i zdalne; różne scenariusze pracy zespołowej
    • Testy i kontrola jakości kodu
      • Zapewnianie poprawności oprogramowania
      • Dobre i złe praktyki programistyczne
      • Wypisywanie informacji diagnostycznych (tzw. logów)
      • Uruchamianie programu w trybie debug
      • JUnit i testy jednostkowe w Javie
      • Dodatkowe biblioteki przydatne w pisaniu testów: AssertJ, Mockito
    • Popularne formaty zapisywania danych strukturalnych i podstawy ich obsługi w Javie: CSV, XML, JSON
      • Dostęp do zdalnych serwisów typu Web API / Rest API
  9. Maven jako standard budowy projektów w świecie Javy
    • Budowanie projektów Java: command-line/Ant/Maven/Gradle
    • Projekt jako biblioteka; zależności między projektami
    • Centralne Repozytorium Mavena i wykorzystywanie bibliotek „trzeciej strony” we własnych projektach
      • Przegląd użytecznych bibliotek programistycznych open source
  10. Tworzenie aplikacji webowych na platformie Java
    • Zasada działania aplikacji webowej strony serwera
      • Protokół HTTP
      • Podstawy HTML i CSS – w razie potrzeby
    • Podstawy technologii serwletów w Javie
      • Filozofia pracy na serwerze aplikacji. Czym jest Java Enterprise Edition?
      • Aplikacje uruchamiane na serwerze; RedHat WildFly i inne serwery aplikacji
  11. Framework aplikacyjny Spring
    • Tworzenie i uruchamianie projektu w oparciu o Spring Boot
    • Aplikacja webowa w technologii Spring MVC
      • Kontroler: rola, zasada działania, mapowanie URL-i i wybór metody na podstawie zapytania
      • Obsługa parametrów i nagłówków
      • Warstwa widoku i technologie szablonowe (JSP / Thymeleaf)
      • Model: przekazywanie danych z aplikacji do widoku
      • Obsługa formularzy
    • Zasada działania aplikacji Spring
      • Warstwy typowego projektu
      • Adnotacje i wstrzykiwanie zależności; rola interfejsów w projektach Spring
      • Różne sposoby inicjalizacji i wstrzykiwania komponentów („beanów”)
    • Zabezpieczanie aplikacji – podstawy Spring Security
  12. Bazy danych i ich obsługa w Javie
    • Wprowadzenie do technologii baz danych
      • Serwer baz danych (DBMS)
      • Koncepcja relacyjnych baz danych i pomysły alternatywne
      • Instalacja i konfiguracja PostgreSQL lub innego serwera baz danych
    • Podstawy języka SQL
      • Polecenie SELECT, wyrażenia i warunki
      • Sortowanie i grupowanie
      • Łączenie danych z wielu tabel
      • Wstawianie i aktualizacja danych
    • Projektowanie relacyjnych baz danych
      • Definiowanie tabel, typy kolumn
      • Klucze i inne więzy integralności
      • Unikanie redundancji, postacie normalne
    • JDBC i bezpośrednie zadawanie zapytań SQL z aplikacji Java
      • Zalety i wady bezpośredniego dostępu do baz danych
      • Modyfikacja danych i praca z transakcjami
    • Obiektowy dostęp do baz danych (ORM) w technologii JPA/Hibernate
      • Klasy encji; generowanie na podstawie tabel
      • Operacje odczytu i modyfikacji danych
      • Zadawanie własnych zapytań JPQL oraz natywnych
    • Dostęp do danych z aplikacji Spring
      • Warstwa danych („repository”) w aplikacji Spring
      • Automatyczne instancjonowanie interfejsu przez technologię Spring Data
  13. Usługi sieciowe („web services”)
    • Koncepcja SOA i rodzaje usług sieciowych
    • Usługi sieciowe typu SOAP
      • Technologia JAX-WS i tworzenie serwera SOAP w ramach Java EE
      • Generowanie i rola WSDL
      • Tworzenie klienta i architektura klient/serwer
    • Usługi typu REST
      • Zasoby, URL-e i metody HTTP
      • Technologia JAX-RS i tworzenie serwera REST w ramach Java EE
      • Parametry, nagłówki, odnośniki i przekierowania
      • Rozszerzanie JAX-RS o własne typy zawartości na przykładzie generowania PDF
      • Tworzenie serwera REST za pomocą Spring MVC
      • Dostęp do usług REST od strony klienta
  14. Java – elementy zaawansowane
    • Wątki i synchronizacja
      • Elementy wielowątkowości wbudowane w język Java
      • Klasy biblioteki standardowej wspierające wielowątkowość
    • Typy generyczne
    • Elementy programowania funkcyjnego od Javy 8
      • Wyrażenia lambda i referencje do metod
      • Strumienie i operacje na nich
      • Redukcje, kolektory i schematy przetwarzania danych
  15. Zastosowania języka i platformy Java
    • Tworzenie aplikacji tekstowych i wsadowych
      • Zastosowanie Javy do przetwarzania danych zawartych w plikach
    • Tworzenie aplikacji z graficznym interfejsem użytkownika
    • Tworzenie aplikacji webowych
      • w oparciu o serwlety i JSP (podstawy)
      • w oparciu o Spring MVC i Thymeleaf
    • Podstawy tworzenia usług sieciowych typu SOAP i REST

Pobierz w wersji PDF

Training also available in English.

Przeznaczenie i wymagania

Kurs jest przeznaczony dla osób początkujących, które do tej pory nie programowały w żadnym języku, ale zdecydowanych na dłuższy wysiłek i przejście całej ścieżki kursowej od podstaw do praktycznych zastosowań.

Od uczestników wymagana jest znajomość ogólnej obsługi komputera (kopiowanie plików, korzystanie z edytora tekstu) i umiejętność sprawnego korzystania z klawiatury.

Programowanie, szczególnie na początku, jest trudne, a jego nauka jest porównywalna z nauką obcego języka lub gry na instrumencie muzycznym. Dlatego warunkiem skutecznego uczestnictwa w kursie jest zarezerwowanie odpowiedniej ilości czasu w domu na ćwiczenia.

W razie wątpliwości co do wyboru kursu na odpowiednim poziomie prosimy o kontakt z biurem. Zawsze chętnie doradzamy klientom.

Certyfikaty

Uczestnicy szkolenia otrzymują imienne certyfikaty sygnowane przez ALX.

Zapisz się na ten kurs

Wybierz interesujący Cię termin oraz miasto

Zdalnie:
  • 21.08 (Z)TooltipTriangle
  • 07.09 (D)TooltipTriangle
  • 09.10 (Z)TooltipTriangle
Warszawa:
  • 21.08 (Z)TooltipTriangle
  • 07.09 (D)TooltipTriangle
  • 09.10 (Z)TooltipTriangle

Żaden termin nie pasuje?

Podaj swój adres e-mail, a my powiadomimy Cię o przyszłych terminach

Masz pytanie?

Tu możesz zadać niezobowiązujące i szybkie pytanie na temat szkolenia

* Wyrażam zgodę na przetwarzanie danych osobowych przez „ALX” Sp. z o.o. Sp. k. z siedzibą w Warszawie w celu realizacji zgłoszenia.