Kurs Java

Wprowadzenie

Koszyk Koszyk
  • Opis
  • Recenzje
  • Autor
  • Transkrypt
  • Pytania i odpowiedzi
  • QA

6 ocen

Wprowadzenie

Java, oraz ogólnie JVM, są obecnie jednym z najbardziej popularnych ekosystemów. Powstają w nim aplikacje biznesowe, mobilne oraz różne rozwiązania do rozproszonego przetwarzania danych bazujące na stacku Hadoop. Jest to ważny język nie tylko dla programistów samej Javy, ale również dla programistów innych języków - takich jak Kotlin, Scala czy Groovie. W tym kursie skupiamy się na języku i poszczególnych API dołączonych w ramach standardowej biblioteki, takich jak kolekcje, klasy do pracy z bazą danych czy też te pomagające radzić sobie z wielowątkowością w pisanych przez nas programach. Po tym kursie będziesz czuł się bardziej pewnie i będziesz mógł spokojnie zająć się poznawaniem frameworków i bibliotek typowych już dla konkretnych zastosowań Javy, na przykład takich jak Spring, Hibernate i Android SDK.

JVM

W poczatkowych lekcjach przyjrzymy sie pokladowi, na jakim bedziemy uruchamiali nasze programy. Wykorzystamy VisualVM do podgladania parametrów JVM. Zobaczymy równiez jakie zasoby sa tam dostepne oraz dowiesz sie jak monitorowac to, czy dobrze z nich korzystamy. Opowiemy Ci tez miedzy innymi o tym, jak zrobic heap i thread dump, oraz jak wlaczyc logi GC.

Wyrazenia regularne

Kolejne lekcje kursu zostaly poswiecone wyrazeniom regularnym. Wyrazenia regularne mozemy wykorzystac nie tylko do walidacji danych wprowadzania przez uzytkownika, ale równiez do dzielenia tekstu oraz wyluskiwania wystapien wzorców w duzym tekscie. W tym rozdziale dowiemy sie miedzy innymi tego, jak mozemy wykorzystac ten potencjal z poziomu Javy.

Typy generyczne

Dzieki typom generycznym jestesmy w stanie osiagnac bezpieczenstwo typów w trakcie kompilacji przy zachowaniu elastycznosci pisanego kodu. W nastepnym rozdziale kursu przyjrzymy sie temu, jak mozemy je wykorzystac, oraz w jaki sposób czasami nalezy z tego bezpieczenstwa zrezygnowac.

Interfejsy funkcyjne, strumienie i wyrazenia lambda

Interfejsy funkcyjne to sposób na przeniesienie odrobiny swiata programowania funkcyjnego do Javy. Gdy polaczymy je z wyrazeniami lambda oraz API strumieni pozwola nam pisac te sama logike w duzo bardziej przejrzysty sposób.

Kolekcje

Kolekcje, czyli listy, mapy, zbiory i kolejki to jedne z najczesciej wykorzystywanych klas w codziennej pracy. To jak dobrze poznamy ich mozliwosci ma ogromny wplyw na to, w jaki sposób bedziemy podchodzili do rozwiazywania wyzwan na naszej drodze.

Praca z plikami

System plików to zasób bez którego ciezko sobie poradzic. Pozwalaja nam na dostarczanie konfiguracji, danych wejsciowych i wyjsciowych, a przez to równiez integrowanie ze soba calych systemów.W tym rozdziale nauczymy sie korzystac z tych dobrodziejstw w bezpieczny sposób wykorzystujac m.in. IO Streams.

Wyrazanie czasu

Trzymanie daty w String to niekoniecznie najwygodniejszy sposób. Juz od pewnego czasu Java dysponuje bardzo wygodnym Date&Time API - zobaczymy, co mozemy w nim znalezc.

Wielowatkowosc

Wielowatkowosc nie jest prosta... i dlugo tak jeszcze pozostanie. Nawet jesli korzystamy z frameworków, które próbuja ja przed nami ukryc, to ciagle musimy byc swiadomi problemów jakie sie z nia wiaza. W tym rozdziale poznamy glówne problemy na jakie mozna natrafic programujac wielowatkowo w Javie. Poznamy równiez klasy, które zdecydowanie pomoga nam zapanowac nad ta zlozonoscia.

JDBC

JDBC to najbardziej podstawowy sposób laczenia sie z baza SQL z poziomu Javy. W wielu systemach/aplikacjach stosuje sie rozwiazania ORM takie jak JPA/Hibernate. Mimo wszystko warto wiedziec jak to pod spodem dziala oraz umiec poradzic sobie w aplikacjach, gdzie wybrano bardziej "lekkie" podejscie niz Hibernate.

Projekt

Na koniec kursu wykorzystamy zdobyta wiedze, aby stworzyc prosta aplikacje pozwalajaca na przechowywanie danych o wydatkach. Po stworzeniu coreu aplikacji, mozesz spróbowac uzupelnic go za pomoca GUI.

Dlaczego wybrac wlasnie ten kurs?

  1. Kurs wideo to najbardziej efektywna a zarazem najprzyjemniejsza forma nauki. Jest on tak prowadzony, bys caly czas mógl go sledzic z zainteresowaniem i zaangazowaniem, a takze czerpac satysfakcje ze zdobytej wiedzy!
  2. Wiedza, która otrzymujesz w tym kursie, to nie tylko sucha teoria, ale równiez wskazówki od praktyka z wieloletnim doswiadczeniem, dzieki którym duzo latwiej bedzie Ci opanowac material.
  3. Uczysz sie na praktycznych przykladach. Kurs, który masz przed soba to esencja praktycznej wiedzy i doswiadczenia a takze wzorów, które oszczedza Ci godziny pracy i poszukiwan.

Dla kogo jest ten kurs?

Ten kurs stworzony zostal przede wszystkim z mysla o osobach, które juz poznaly podstawy jezyka, takie jak zmienne, mechanizmy kontroli wykonania, klasy, typy generyczne.Jezeli chcesz poczuc sie swobodnie nie tylko jesli chodzi o mechanizmy jezyka, ale równiez pod wzgledem znajomosci standardowej biblioteki Javy - to kurs w sam raz dla Ciebie. Materialy beda przydatne dla studentów, którzy znaja juz podstawowa skladnie Javy; programistów Javy chcacych poszerzyc lub uporzadkowac swoja wiedze; programistów innych jezyków, którzy chca poznac inny stack technologiczny.

Autor: Rafał Solarski

5

Średnia ocen autora

Ten kurs nie posiada jeszcze transkryptu. Choć bardzo się staramy, wygenerowanie transkryptów do wszystkich kursów jest bardzo czasochłonne. W wielu przypadkach wymaga zaangażowania drogiego oprogramowania i godzin pracy przy poprawianiu transkryptu tak, aby był on możliwie jak najlepszy.

Zależy nam na tym, aby przygotować transkrypty do wszystkich naszych treści. To jedyny sposób dla osób niedosłyszących, aby mogły wygodnie uczyć się technologii. Poza tym, transkrypty ułatwiają skanowanie kursu w poszukiwaniu informacji i jego indeksowanie.

Szukamy osób, które mogłyby nam pomóc w poprawianiu transkryptów. Jeśli masz chwilę wolnego czasu i interesuje Cię dany kurs, w zamian za taką pomoc chętnie udostępnimy Ci wybrany materiał. Wyślij swoje zgłoszenie tutaj, jeśli możesz pomóc nam rozwijać platformę.

  • Informacje
  • Lekcje

Autor: Rafał Solarski

Czas: 8 godzin 35 minut

Aktualizacja: 26.05.2020

  • Certyfikat w ramach Ścieżki
  • Dostęp z urządzeń przenośnych
  • Licencje dla firm i szkół
Podaruj w prezencie

Wstęp

  • Wprowadzenie

  • Narzędzia

JVM

  • Wprowadzenie do visualVm i monitorowania procesu JVM

  • Heap i heap dump

  • Logi GC

  • Thread dump

Wyrażenia regularne

  • Kompilowanie i sprawdzanie dopasowania

  • Pisanie wyrażeń regularnych

  • Grupy i regiony

  • Iterowanie po wystąpieniach

  • Dzielenie tekstu

Typy generyczne

  • Podstawowy syntax

  • Wildcards

  • Raw types

  • Ograniczenia i podsumowanie

Wyrażenia lambda i strumienie

  • Interfejsy funkcyjne i lambdy

  • Wprowadzenie do strumieni

  • Dodatkowe właściwości strumieni

  • Dobre praktyki 1

  • Dobre praktyki 2

  • Dobre praktyki 3 - Wyjątki w lambdach

Kolekcje

  • Wstęp

  • Optional

  • List

  • Equals and Hashcode

  • Map

  • Set

  • Queue and Deque

Pliki i strumienie IO

  • Wstęp do pracy z plikami

  • Sposoby czytania pliku

  • Czytanie z pliku

  • Buforowanie odczytu

  • Zapis do pliku

  • Kodowanie pliku

  • Dostęp swobodny (Random Access)

  • Path

  • Metawiedza

  • Files - Operacje na plikach i pliki tymczasowe

Data i czas

  • Czas lokalny

  • Czas strefowy

  • Parsowanie i formatowanie

  • Arytmetyka na typach przechowujących czas

Współbieżność

  • Wstęp do współbieżności

  • Thread

  • ExecutorService

  • Future

  • CompletableFuture

  • Visibility problem

  • Race condition

  • Deadlock

  • Współbieżność - Projekt - Wymagania

  • Współbieżność - Projekt - Implementacja

JDBC - Praca z bazą danych

  • Wstęp do JDBC

  • Instalacja JDBC Driver

  • Podstawowa praca

  • PreparedStatement i SQL injection

  • Transakcje

Projekt

  • Wymagania

  • Model

  • Interfejs repozytorium

  • Implementacja repozytorium

  • Interfejsy do eksportu i loadu

  • CLI

  • Fat JAR

  • Zakończenie

}