Techniki Zaawansowane
8 godz. 35 min · Java · Full-stack i Programowanie
Rafał SolarskiW 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.
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.
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 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, 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.
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.
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 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 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.
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.
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.
Cześć to jest lekcja w trakcie której pokażę
jak dzielić tekst wykorzystując wyrażenia regularne tutaj
mamy szablon dzięki któremu otrzymujemy pierwszą linię z pliku lorem i aby
podzielić taką linię możemy wykorzystać first line split
czyli wykorzystujemy metodę split na stringu i teraz tutaj ten
regex który podajemy na tej metodzie jest trochę innym regex'em z tego względu że wcześniej
używaliśmy regex'u do matchowania do literowania a teraz musimy podać regex
który zmatchuje się dla fragmentu który ma być
separatorem w tym pliku załóżmy że chcemy podzielić te linie po
słowach czyli tymi separatorami w tym momencie będą spacje
znaki nowych linii akurat tutaj mamy jedną linię więc
akurat nie ale na przykład przecinki kropki
prawda więc możemy to podzielić wykorzystując taki
znak i to jest non
word character czyli znaki które nie
są znakami tak zwanymi które mogą być w wyrazie tak i
jak zajrzymy do środka co to jest czyli tak jak wcześniej zaglądam
do klasy pattern tutaj w tym non word character będzie
mi wszystko co nie jest od a do z małe wielkie i cyfry
oraz znak podkreślenia czyli między innymi nasze przecinki kropki i tak dalej teraz
w wyniku podzielenia tego tej wyjściowej linii otrzymujemy
array i jest to array list stringów możemy go sobie
wyświetlić wykorzystując na przykład w pętlę foreach okej
tutaj mamy wyrazy z tej linii tutaj jeszcze zauważ że wykorzystałem
kwantyfikator plusa czyli w niego wpada jeden bądź
więcej znaków czyli na przykład kropka
spacja dwie spacje tak takie sytuacje też zostały
uwzględnione wtedy ten regex jak złapie większy fragmencik który
nie jest wyrazami tutaj mogę pokazać na przykładzie na przykład
złapie coś takiego tak to będzie wtedy też zostanie separatorem kropka spacja tutaj
jest jeden ze sposobów w jaki możemy właśnie zesplitować całą linię tego stringa
czyli wywołując speed na stream po prostu ale
również możemy wykorzystać wcześniej skomplikowane wyrażenie wykorzystując
po prostu pattern compile a następnie split na
obiekcie patternu wygląda to w ten sposób jeszcze
innym sposobem w jaki możemy dokonać tego podziału jest wykonanie wykorzystanie
metody split at stream wtedy otrzymamy już obiekt ze streamu
dzięki czemu będzie trochę wygodniej tak mamy stream więc
jest to pierwsze lazy czego się dowiemy później w lekcji
o streamach a po drugie jest to api trochę przyjemniejsze dla
niektórych okej tak to wygląda no i to są trzy
proponowane przeze mnie sposoby w jakie możesz podzielić wejściowy string
wyjściowy tekst używając regex'ów nie jest to jakieś super
trudne po prostu wykorzystaj te metody która jest dla ciebie najwygodniejsza okej
to wszystko w tej lekcji jest to również koniec rozdziału o wyrażeniach regularnych gratuluję
ci wytrwałości i widzimy się w kolejnym rozdziale