Elementarz Java #0 – zapowiedź

Nadszedł czas, aby ogłosić start największego projektu jakiego do tej pory jeszcze nie miałem okazji realizować na łamach bloga. Po wielu miesiącach pracy w końcu mogę napisać te słowa i przedstawić Wam plan na najbliższy czas. Panie i Panowie już 12 maja startuje #ElementarzJava czyli seria wpisów omawiających specyfikację jednego z najpopularniejszych języków programowania. Nie będzie to kolejny „kurs Javy” jakich można znaleźć całkiem sporo, będzie to coś o wiele bardziej interesującego. Przedstawię Wam na wielu różnych praktycznych przykładach, specyfikację tego języka, poruszę zagadnienia na temat których ciężko znaleźć materiały w polskim oraz anglojęzycznym internecie, a wszystko to zupełnie za darmo i w przystępnej skondensowanej formie.

Czy słyszałeś o Indonezyjskiej wyspie „Jawa” leżącej w Azji Południowo-Wschodniej, a należącej do grupy Wielkiej Wyspy Sundajskiej?

Projekt ten miał zostać uruchomiony jakiś czas temu, niestety trochę mi się przedłużyło, ale posypuję głowę popiołem i nadrabiam zaległości. Myślę, że będziecie naprawdę zadowoleni. #ElementarzJava to zbiór wielu ciekawych zagadnień związanych z Javą o których sam chciałbym przeczytać parę lat temu, kiedy rozpoczynałem moje studia informatyczne i zabrałem się za programowanie „na serio”. Przygotowanie tych artykułów to była masa pracy, ale też i dobrej zabawy. Nie ukrywam, że sam też trochę się nauczyłem – w końcu, aby dogłębnie przedstawić jakiś temat musiałem najpierw sam sprawdzić wszystkie możliwe „kruczki” i dokładnie doczytać w dokumentacji jak dany element działa. Koniec końców udało się! Dzisiaj nie pozostaje mi nic innego jak tylko zaprosić Was do dalszej lektury. Plan na najbliższe miesiące macie już ustalony.

Jak powstawał #ElementarzJava?

Całkiem niedawno na moim blogu pojawił się artykuł o tym jak zostałem certyfikowanym programistą Java – omówiłem na jego łamach proces przygotowań do egzaminu certyfikacyjnego Oracle Certified Associate Java Programmer I oraz jego przebieg. To właśnie wtedy, zrodził się w mojej głowie pomysł, aby wykorzystać notatki i dostarczyć Wam materiał, który będzie w przystępny sposób przedstawiał zagadnienia wymagane podczas procesu certyfikacji.

Dobierając tematykę poszczególnych wpisów kierowałem się głównie wymaganiami jakie stawiane są przez Oracle dla osób chcących zaliczyć wspomniany wcześniej certyfikat. Przygotowanie jednego takiego artykułu (a jest ich w sumie dziewięć) to około dwóch tygodni pracy. Są to obszerne materiały opisujące wiele różnych zagadnień i specyficznych konstrukcji o których pewnie mało kto słyszał. Czy ktoś z Was zastanawiał się kiedyś nad tym, że jeśli stała nie zostanie zainicjalizowana w momencie deklaracji, to spowoduje, że podczas kompilacji nie będzie ona traktowana jako stała? Co za tym idzie użycie jej w instrukcji case spowoduje błąd kompilacji – to tylko jeden z wielu przykładów jaki znajdziecie w przygotowanych przeze mnie wpisach.

Cała seria została podzielona na dziewięć różnych tematów. Na początku skupiłem się na omówieniu podstaw Javy, następnie typów danych, operatorów i konstrukcji warunkowych, tablic, pętli, metod i hermetyzacji, dziedziczenia, obsługi wyjątków i na koniec wybranych klas z API Java. Wszystko to odpowiada dokładnie tematyce egzaminu certyfikacyjnego OCAJP I.

Każde zagadnienie omówione jest na przykładzie konkretnego fragmentu kodu. Dokładnie opisuję w jaki sposób dana konstrukcja programistyczna jest interpretowana przez kompilator oraz jaki będzie efekt jej wywołania. Przykłady możecie sobie oczywiście sami skopiować, zmodyfikować i sprawdzić swoje przypuszczenia. Nie ukrywam, że jest to bardzo fajna zabawa, a przy okazji można się naprawdę dużo dowiedzieć.

Co już trzeba umieć?

Jak już wspomniałem wcześniej, #ElementarzJava nie jest kursem programowania w języku Java. Omawiam tutaj specyfikację tej technologii, zakładając, że czytelnik ma już pewną wiedzę na temat programowania zorientowanego obiektowo (dziedziczenia, polimorfizmu …), wie w jaki sposób funkcjonują proste konstrukcje programistyczne (zmienne, stałe, pętle, instrukcje warunkowe …), a przede wszystkim miał już jakąś styczność z Javą.

Materiały te będą idealne dla osób przygotowujących się do egzaminu certyfikacyjnego Oracle lub też chcących dogłębnie poznać używaną przez siebie technologię oraz usystematyzować dotychczas zdobytą wiedzę.

Do lektury zachęcam również wszystkich nieco mniej zaawansowanych. Wiele zagadnień może się w jej trakcie wyjaśnić, a w razie wątpliwości zachęcam do zadawania pytań w sekcji komentarzy, która będzie dostępna pod każdym z opublikowanych artykułów. Nie trzeba tutaj być Senior Java Developerem (sam certyfikat OCAJP I nie jest nawet przeznaczony dla takich osób) aby zrozumieć artykuły i czerpać z nich nowe przydatne informacje. Na ich łamach, co prawda nie wyjaśniam pojęć takich jak polimorfizm, ale myślę, że nawet jeśli nie mieliście styczności z tym zagadnieniem to i tak powinniście podczas analizy przykładów wydedukować o co chodzi. Jak nie, to dajcie znać i przygotuję osobny materiał.

Harmonogram publikacji

Pewnie interesuje Was, kiedy to wszystko będzie dostępne do poczytania Początkowo miałem publikować materiały co tydzień, ale stwierdziłem, że jednak lepszą opcją będą dwutygodniowe odstępy. Co prawda wszystkie te artykuły są w zasadzie gotowe i teoretycznie mógłbym je nawet wrzucić jednego dnia, ale chcę mieć czas, aby jeszcze przed publikacją sprawdzić czy nie ma jakiś merytorycznych błędów bądź innych niespodzianek. Jak już wspomniałem przy takim jedynym wpisie to cała masa pracy, a dla Was też będzie dobrze jak systematycznie będziecie opanowywali nowy materiał zanim przejdziecie do kolejnego artykułu.

Dla pełnej transparentności, poniżej zamieszczam wstępny harmonogram publikacji poszczególnych wpisów. Raczej nie wykluczam, żeby coś miało się zmienić względem tych założeń, ale oczywiście zastrzegam sobie prawo do ich modyfikacji w trakcie trwania serii (mam tutaj na myśli raczej drobną zmianę tematyki, co by się nie działo to terminy będę chciał dotrzymać).

Spis treści:

  1. Podstawy języka Java (kompilacja, zmienne, struktura klasy, pakiety),
  2. Typy danych w języku Java (deklaracja i inicjalizacja zmiennych, różnica między typami, garbage collection, typy opakowujące)
  3. Operatory i konstrukcje warunkowe w Java (użycie operatorów, porównywanie obiektów, instrukcje: if, if/else, switch),
  4. Tablice (charakterystyka tablic, tablice jedno i wielowymiarowe),
  5. Pętle (tworzenie pętli, instrukcje break i continue, etykiety),
  6. Metody oraz hermetyzacja (metody statyczne, przeciążanie metod, konstruktory, modyfikatory widoczności, hermetyzacja elementów klasy, parametry),
  7. Dziedziczenie (implementacja, przysłanianie metod, polimorfizm, rzutowanie),
  8. Obsługa wyjątków (kategorie wyjątków, łapanie wyjątków, klasy wyjątków),
  9. API Java (String, StringBuilder, data i czas, kolekcje, wyrażenia lambda).

Większość nowych treści będzie pojawiała się w sezonie wakacyjno-urlopowym, mam nadzieję, że ponadprzeciętna ilość wolnego czasu skusi Was do poznania czegoś nowego. Oczywiście wszystkie te materiały będą również dostępne na jesieni, zimie i do końca istnienia tego bloga. Być może w przyszłości będą nawet aktualizowane (ale tego obiecać na dzień dzisiejszy nie mogę). Korzystajcie do woli!

Na teraz, to wszystko z mojej strony. Zapraszam na bloga w najbliższy wtorek, kiedy ukaże się pierwszy z artykułów. Jeśli nie chcecie nic przegapić to zachęcam również do subskrypcji newslettera, gdzie regularnie będę wysyłał informacje o nowych wpisach, wraz z krótkim komentarzem. Formularz do zapisu znajdziecie po prawej stronie (jeśli czytacie bloga na komputerze) lub na dole strony (w przypadku urządzeń mobilnych). Tymczasem, życzę Wam miłej reszty dnia.

Pozdrawiam,

Łukasz Dudziński, autor bloga StrefaKodera.pl

Przeczytaj również

, , , , , , , , , ,

Dodaj komentarz

guest
0 komentarzy
Inline Feedbacks
View all comments

Pin It on Pinterest