Java Spring, recenzja kursu wideo z Videopoint.pl

vsprku_smallKażdy, kto zawodowo programuje w obojętnie jakim języku wie, że bez wsparcia frameworków nasze życie byłoby znacznie trudniejsze. Tak jak Python ma swojego Django, PHP – Symfony, czy Ruby Railsa, tak w Javie bez znajomości Springa ciężko będzie znaleźć komukolwiek zatrudnienie. Praktycznie w każdej ofercie pracy dla osób programujących w Javie, wśród wymagań znajdziemy znajomość frameworka Spring.

Poniżej krótko zrecenzuję kurs wideo „Spring. Kurs video. Poziom pierwszy. Prosty sposób na zaawansowane aplikacje w Javie” dostępny na Videopoint.pl, ale na początek kilka słów o samym Springu.

Czym jest Spring

W skrócie jest on open source’owym frameworkiem dla tworzenia aplikacji w Javie. Jego pierwsze wersje zostały napisane przez Roda Johnsona na bazie kodu opublikowanego w jego książce „Expert One-on-One J2EE Design and Development” w roku 2002.

Spring składa się z wielu modułów, które dostarczają różne usługi, np:

  • Spring Core Container (podstawowy moduł dostarczający BeanFactory czy ApplicationContext)
  • Kontener IoC (z angielskiego Inversion of Control) – dzięki niemu można konfigurować aplikację przez tzw. wstrzykiwanie zależności (Dependency Injection).
    Na przykład – jeśli obiekt klasy Foo wykonuje operację na obiekcie klasy Bar, to postępując tradycyjnie, do klasy Foo musiałby być przekazany obiekt klasy Bar lub klasa Foo sama musiałaby utworzyć nową instancję Bar.
    W springowym podejściu IoC, obiekt klasy Bar zostanie dostarczony przez zewnętrzny proces w czasie wykonania programu. Zostanie tzw. wstrzyknięta zależność dla klasy Foo.
  • Programowania aspektowego
    Cytując Wikipedię: „AOP, działa na zasadzie Dynamicznego Proxy (ang. Dynamic Proxy, dynamicznego – w sensie tworzenia go w czasie wykonania programu). Przykładowo, za pomocą AOP można do mutatorów (ang. setters, mutators) klasy DAO automatycznie dodać fragmenty kodu zarządzające transakcjami. AOP działa na zasadzie wzorca dekorator, który w tym przypadku dekoruje metody klasy dodatkowym kodem wykonywanym fabrykując proxy. Proxy to opakowuje istniejący obiekt DAO; wywołanie metod DAO przez stworzony AOP obiekt opakowujący wywołuje dodatkowo kod zarządzający transakcjami.”.
  • Oraz: dostępu do danych, obsługi transakcji, Model-Widok-Kontroler, zdalnego dostępu, autoryzacji i uwierzytelniania, zdalnego zarządzania JMX, komunikatów JMS, obsługi testowania.

Historia jego rozwoju to:

  • Wersja 1.0, 2004
  • Wersja 2.0, 2006
  • Wersja 3.0, 2009 (JDK 5+)
  • Wersja 4.0, 2013 (JDK 6+)
  • W bieżącym kwartale (tj. drugim 2016) będzie wydana wersja 4.3.
  • Wydanie wersji 5.0 planowane jest na ostatni kwartał 2016.
    Minimalnym wymaganiem będzie Java 8. Tutaj JIRA backlog.

To co trzeba podkreślić, to fakt, że Spring posiada świetną dokumentację, wiele tutoriali i poradników.

Recenzja kursu z Videopoint.pl

videopoint_offline

Wersja offline

Niedawno polski Videopoint.pl wydał kurs pod tytułem „Spring. Kurs video. Poziom pierwszy. Prosty sposób na zaawansowane aplikacje w Javie” autorstwa Dobromira Matusiewicza. Dobromir jest starszym projektantem w Asseco Poland SA i od kilkunastu lat zajmuje się tworzeniem oprogramowania dla banków. Współpracuje z Politechniką Rzeszowską.

Cały kurs wideo trwa ok. 3 godzin i 20 minut. Można oglądać go bezpośrednio z panelu klienta jak i całkowicie offline po uprzednim pobraniu na dysk komputera czy kartę telefonu. Sam oglądałem go na telefonie komórkowych z ekranem 4,7 cala i było całkiem ok. Jakość obrazu jest dobra i wszystkie listingi kodu były czytelne.

W wersji offline dostajemy zipa po rozpakowaniu którego dostępny jest plik html z listą wszystkich lekcji, a w katalogu video znajdziemy poszczególne pliki w formacie mp4. Łącznie jest ich 44.

Dużym plusem materiału jest to, że autor przez wszystkie lekcje rozwija jedną przykładową aplikację, której celem jest pobieranie i konwersja kursów walut. Zaczyna się od podstawowej konfiguracji programu zarówno za pomocą adnotacji Springowych, czy w XML, a kończy na pobieraniu danych i komunikacji z bazą danych. W międzyczasie można dosyć szybko zrozumieć na czym polega „wstrzykiwanie zależności” z czego znany jest Spring, czy dowiedzieć się jak w Javie obsługuje się wielojęzykowość.

Dla kogo jest ten kurs, a dla kogo nie?

Moja ocena jest taka – kurs ten nie jest z pewnością przeznaczony dla osób całkiem początkujących w Javie. Autor często mówi skrótami myślowymi, które naturalnie rozumie każdy obyty z Javą programista. Z drugiej strony nie jest on również dedykowany dla programistów mających już jakiekolwiek doświadczenie ze Springiem. Sądzę, że lekcje wideo dedykowane są dla osób znających już Javę, ale nie mających doświadczenia z tym frameworkiem.

Poniżej krótki fragment:

Czego się nauczycie?

W trakcie przerabiania materiału:vsprku

  1. Poznacie Środowisko STS (Spring Tool Suite) i będziecie rozwijać przykładowy mavenowy projekt przez wszystkie lekcje.
  2. Zrozumiecie działanie wstrzykiwania zależności IoC.
  3. Będziecie umieli konfigurować aplikację za pomocą klas Javy oraz plików XML.
  4. Nauczycie się konfiguracji automatycznego wstrzykiwania zależności (@Autowired).
  5. Opanujecie ustawienia automatycznego skanowania komponentów (wraz z filtrowaniem).
  6. Dowiecie się jak pracować z profilami.
  7. Skonfigurujecie aplikację za pomocą właściwości (zmienne systemowe przekazywane podczas uruchamiania oraz zmienne środowiskowe).
  8. Wykonacie wielojęzykową wersję aplikacji (i18n i Javovy ResourceBundleMessageSource).
  9. Zamienicie standardowe logowanie commons-loging na rzecz log4j (bridge slf4j)
  10. Nauczycie się pracy z bazami danych (Spring Jdbc), wykonywania zapytań DDL i DML, konfiguracji JdbcTemplate, tworzenia klas DAO i mapowania rekordów na obiekty, itp.
  11. Zapoznacie się z takimi adnotacjami jak: @Configuration, @Bean, @ConstructorProperties, @Autowired, @ComponentScan, @Service, @Filter, @Primary, @Qualifier, @Profile, @PropertySource, @Value, @Import

W pakiecie otrzymuje się gratis ebook „Spring Framework. Wprowadzenie do tworzenia aplikacji. Wydanie II„!

spfrwpWydawca zrobił świetną promocję dodając gratis prawie 500-stronicową książkę o Springu zawierającą 15 rozdziałów w formie ebooka autorstwa J Sharmy i Ashisha Sarina. Właśnie tą książkę polecałem już wcześniej na Facebooku osobom chcącym zacząć zabawę ze Springiem. Jednak nie wiem czy jest to stała, czy tylko okresowa promocja (nie informują o tym w regulaminie).

Podsumowanie

Cena ponad trzygodzinnego kursu z dołączonym ebookiem to 59 złotych (maj 2016), podczas gdy sama tylko książka w wersji drukowanej kosztuje o 10 zł więcej.

Notka z dnia 5 maja 2016
Kurs trafił na promocję tygodnia z obniżoną ceną do 41,30 zł łącznie z ebookiem.

Warto kupić? Sądzę że warto, ale tak jak pisałem wcześniej, polecam ją tym, którzy znają już core Javę.

Oczywiście można się przyczepić do kilku kwestii – np. do dosyć częstego powtarzania przez autora słów „framework Spring” (zwłaszcza w początkowych filmach). W lekcji 7 możemy usłyszeć że wartość „numer hashcode jest unikalny dla różnych obiektów”. Osoba z wieloletnim doświadczeniem oczywiście zna kontrakt hashcode() i equals() i wie, że nawet obiekty tej samej klasy mogą mieć identyczny hashcode. Przykład? Stringi „FB” i „Ea” zwracają identyczny hashcode równy 2236:

Zapewne autor również o tym wie, ale to właśnie przykład takiego skrótu myślowego.

Tak czy inaczej polecam ten kurs, zwłaszcza że dołączona jest do niego gratis książka. Materiał wideo zdecydowanie dla początkujących, książka natomiast również dla tych doświadczonych ze Springiem.

Jest on dostępny TUTAJ.


Wraz z publikacją tego artykułu ogłosiłem na Facebooku informację na temat konkursu, w którym do wygrania będą TRZY darmowe kursy Springa z Videopoint.pl!

To również może Cię zainteresować:

  • Fundamenty języka JavaFundamenty języka Java Niecały miesiąc temu zostałem poproszony przez Strefę Kursów o ocenę ich nowo wydanego materiału dla osób chcących zacząć naukę programowania w Javie: "Fundamenty języka Java". Przerobiłem […]
  • 10-letni chłopak zdobył 100% na egzaminie OCPJP z Javy!10-letni chłopak zdobył 100% na egzaminie OCPJP z Javy! W zeszłym roku Ronil Shah zaskoczył prawie wszystkich zdobywając sto procent punktów w egzaminie z Javy OCPJP. Jednak to nie wszystko. Najciekawsze jest to, że egzamin ten przewidziany […]
  • Programowanie funkcyjne w Javie.Programowanie funkcyjne w Javie. Co nieco o programowaniu funkcyjnym. Czy możliwe jest całkowite usunięcie ze swojego kodu wyrażeń typu if / else, for, while, do while? Wydaje się to niemożliwe, bo wielu programistów […]
  • Java JNA #2, Total CommanderJava JNA #2, Total Commander W poprzednim wpisie zrobiłem krótkie wprowadzenie do wykorzystywania biblioteki user32.dll przez Javę do pobierania informacji z innych aplikacji okienkowych. Poniżej rozszerzymy nasze […]
  • HTML, CSS 2.1 i dokumenty PDFHTML, CSS 2.1 i dokumenty PDF W ostatnim czasie realizowałem projekt w którym należało zaprojektować ok. sto dokumentów PDF w postaci różnego rodzaju wniosków, w różnym układzie. Ten, kto kiedykolwiek generował […]
  • Mapowanie XML obiektów Java – JAXBMapowanie XML obiektów Java – JAXB Podczas tworzenia oprogramowania na każdym kroku mamy kontakt z danymi w formacie XML. Opiszę tutaj jeden ze sposobów konwersji danych w obie strony Java <-> XML. Ale na […]

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *