Programista Java - XLK-JAVA-XL

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

Obecnie brak terminów otwartych

Zdalnie
  • 14.04 - dzienny (jeden 4-dniowy blok i dwa 3-dniowe, średnio co 2 tyg.)

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. Rzut oka na współczesny świat technologii programistycznych
    • Platformy systemowo-sprzętowe
    • Rodzaje aplikacji: frontend vs backend, aplikacje wsadowe, graficzne, webowe i mobilne; adekwatne technologie
    • Języki i paradygmaty programowania
    • Biblioteki i frameworki
  2. Podstawy programowania w języku Java
    • Platforma Java – dlaczego powstała, jej miejsce w dzisiejszym świecie IT, cechy charakterystyczne i zastosowania
    • Czym jest program w języku Java i jak go uruchomić?
    • Środowiska deweloperskie platformy Java
    • Struktura projektu: pliki źródłowe i skompilowane, katalogi, pakiety i klasy
    • Klasy i obiekty – podejście pierwsze: obiekt jako rekord z danymi, klasa jako wzorzec obiektu
    • Proste metody komunikacji z użytkownikiem: standardowe wejście i wyjście, okna dialogowe
    • Zmienne i typy. Podstawowe typy danych: liczby całkowite i z ułamkiem, napisy
    • Instrukcje sterujące języka Java: if, switch, while, for
  3. Podstawowe techniki programistyczne
    • Tworzenie sparametryzowanych funkcji i procedur
    • Pisanie pętli i prostych algorytmów
    • Wydzielanie powtarzających się fragmentów i schematów; podstawy refaktoryzacji
  4. Programowanie obiektowe w Javie
    • Struktura pamięci maszyny wirtualnej Javy; stos i sterta
    • Referencje i obiekty. Jak działa przypisanie i przekazywanie argumentów do metod
    • Dziedziczenie klas i nadpisywanie metod, polimorfizm
    • Interfejsy i klasy abstrakcyjne
    • Wyjątki w języku Java
  5. 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
  6. Najważniejsze klasy narzędziowe platformy Java SE:
    • Tablice i kolekcje; Java Collections Framework
    • Napisy, w tym podstawy wyrażeń regularnych
    • Obsługa daty i czasu
    • Wpływ właściwego doboru struktur danych na wydajność aplikacji
  7. Obsługa plików
    • Pliki binarne i tekstowe; bajty i znaki
    • Podstawowa obsługa plików w programach Javy
    • Popularne formaty zapisywania danych strukturalnych i podstawy ich obsługi w Javie: CSV, XML, JSON
  8. Testy i kontrola jakości kodu
    • Zapewnianie poprawności oprogramowania
    • Dobre i złe praktyki programistyczne
    • Uruchamianie programu w trybie debug
    • Wypisywanie informacji diagnostycznych (tzw. logów)
    • Testy jednostkowe w Javie
      • Istota testu jednostkowego
      • Biblioteka JUnit, typowa postać testu, proste asercje, uruchamianie
      • Dodatkowe biblioteki przydatne w pisaniu testów: AssertJ, Mockito
  9. Maven i zależności między projektami
    • Budowanie projektów Java: command-line/Ant/Maven/Gradle
    • Projekt jako biblioteka; zależności międy projektami
    • Centralne Repozytorium Mavena i wykorzystywanie bibliotek „trzeciej strony” we własnych projektach
      • Przegląd popularnych bibliotek open-source
    • 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
  10. Tworzenie aplikacji webowych na platformie Java+Spring
    • Podstawy HTML i CSS – w razie potrzeby
    • Zasada działania aplikacji webowej strony serwera
      • Protokół HTTP
      • Podstawy technologii serwletów w Javie
      • Aplikacje uruchamiane na serwerze; Apache Tomcat i inne serwery aplikacji
    • Framework aplikacyjny Spring
      • Tworzenie i uruchamianie projektu w oparciu o Spring Boot
      • Warstwy typowego projektu
      • Adnotacje i wstrzykiwanie zależności. Rola interfejsów w projektach Spring
    • 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 / inne)
      • Model: przekazywanie danych z aplikacji do widoku
      • Obsługa formularzy
      • Wzmianka o technologiach AJAX, REST i aplikacjach typu SPA
    • Zabezpieczanie aplikacji – podstawy Spring Security
  11. Baza danych w aplikacji webowej
    • Podstawy języka SQL
    • Projektowanie relacyjnych baz danych
      • Definiowanie tabel, typy kolumn
      • Klucze i inne więzy integralności
      • Unikanie redundancji, postacie normalne
    • Dostęp do baz danych z aplikacji Java
      • JDBC i bezpośrednie zadawanie zapytań SQL
      • Polecenia modyfikacji danych i praca z transakcjami
      • Podstawy obiektowego dostępu do baz danych (ORM) w technologii JPA/Hibernate
      • Warstwa danych („repository”) w aplikacji Spring
      • Automatyczne instancjonowanie interfejsu przez technologię Spring Data
  12. 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
  13. Wybrane elementy Java EE
    • Usługi sieciowe i architektura klient-serwer
    • Usługi 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:
  • 14.04 (D)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.