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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Wątki i synchronizacja
- Wybrane elementy Java EE
- Usługi sieciowe i architektura klient-serwer
- Usługi REST
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.
Zobacz też:
- Nauka programowania i język Java (kurs zawodowy - bootcamp)
- Programista backend - Java (kurs zawodowy - bootcamp)
- Programista Java (Fast track) (kurs zawodowy - bootcamp)
- Programista Android (kurs zawodowy - bootcamp)
- Tester automatyzujący (Java) (kurs zawodowy - bootcamp)
- Nauka programowania dla młodzieży (kurs zawodowy - bootcamp)
- Język Java dla programistów
- Klasyczne aplikacje webowe na platformie Java EE: servlet, JSP, JSF
- Spring MVC, Hibernate; webowe aplikacje biznesowe
- Usługi sieciowe SOAP na platformie Java (JAX-WS)
- Usługi sieciowe REST na platformie Java (JAX-RS)
- Przetwarzanie XML-a w Javie
- Budowanie komponentów biznesowych w technologii EJB 3.1 / CDI / Java EE 6
- Budowanie logiki biznesowej w Spring i Hibernate
- Wprowadzenie do Amazon Web Services
- Wprowadzenie do GIT
Zapisz się na ten kurs
Wybierz interesujący Cię termin oraz miasto
Zdalnie:
- 14.04 (D)TooltipTriangle