Wszystko jest obiektem

Witam ponownie!

Planuję nagrać kurs – przewodnik po inżynierii programowania dla młodszych programistów Java. Materiały zostaną umieszczone na moim kanale w serwisie youtube. Kurs składałby się z wielu krótkich, kilkuminutowych odcinków, w którym chciałbym omówić jeden temat. Poniżej wstępna lista zagadnień, które zostaną omówione podczas kursu.

Wszystko jest obiektem – przewodnik młodszego programisty Java po inżynierii programowania

  1. Podstawy Javy
    – Typy podstawowe
    – Klasa String
    – HashCode i Equals
    – Slowko kluczowe final
    – Checked i Unchecked exception
    – Hermetyzacja. Modyfikatory dostepu
    – Klasa string
    – Coupling, cohesion
    – JVM
    – Algorytmy GC
    – Refleksja
    – Wyrażenia lambda
  1. Złożonoścć obliczeniowa. Kolekcje w Javie
  2. Git i SVN. Systemy kontroli wersji
  3. Continous Integration / Continous delivery
  4. Testy jednostkowe, data driven, testy integracyjne
  5. Maven – narzędzia do budowania projektu
  6. Dependency Injection, IOC
  7. SOLID
  8. Wzorce projektowe
  9. Java w świecie konteneryzacji
  10. REST i SOAP

 

Advertisements

Daj się poznać – podsumowanie

Blog konkursowy (łącznie 24 wpisy w kategorii “Daj się poznać!”)

summary
W ciągu ostatnich 3 miesięcy udało mi się napisać 24 posty konkursowe. Posty przygotowywałem w dwóch językach – polskim oraz angielskim. Wpisy w języku angielskim dotyczyły postępu w pracy nad projektem, natomiast te w języku polskim moich przemyśleń i doświadczeń związanych z samodzielną nauką programowania. Wpisy w języku polskim pojawiały się w niedzielę, a wpisy w języku angielskim – w środy.
activityDo promowania wpisów konkursowych starałem się wykorzystać portal wykop.pl. Podczas trwania konkursu, Java Dev Matt na swoim blogu (http://www.javadevmatt.pl/) opublikował post o osobach zmieniających branżę, gdzie również postanowiłem zgłosić krótką notatkę i zaprosić czytelników do odwiedzenia mojego bloga.

refereers

W marcu oraz w kwietniu wszystkie wpisy konkursowe udostępniałem na portalu wykop.pl. W maju postanowiłem ograniczyć promowanie bloga, aby móc ocenić jak promocja w poprzednich miesiącach wpłynie na odwiedziny strony.

views months

views weekly

Miesiącem w którym blog uzyskał najwięcej odwiedzin był kwiecień. Myślę, że udało się to osiągnąć dzięki materiałowi Java Dev Matta o zmianie branży. W tygodniu, w którym ukazał się ten wpis, liczba odsłon bloga wyraźnie zwiększyła się i zdecydowanie wyróżnia się na tle całego okresu konkursowego.

most popular day
Ze względu na promowanie niedzielnych wpisów w języku polskim, blog najczęściej odwiedzany był w poniedziałki. W pozostałe dni ruch był dużo niższy, ale nie wygasał całkowicie.

visitorsapril

Statystyczny czytelnik mojego bloga odwiedził stronę około 3 krotnie! Jest to dla mnie bardzo duże wyróżnienie, ponieważ oznacza to, że użytkownicy po przeczytaniu jednego posta wracali przeczytać kolejne posty w innym terminie.

Projekt konkursowy

Jako temat projektu konkursowego wybrałem napisanie aplikacji wspomagającej oglądanie streamów z meczów piłkarskich na platformę android. Projekt składał się z dwóch części – strony internetowej (web serivce) i aplikacji mobilnej.

landingpage.png

Do wykonania obu części projektu zdecydowałem się wybrać technologie skoncentrowane wokół języka Java. Strona internetowa została zrealizowana z wykorzystaniem frameworków Spring i Hibernate. Za część wizualną odpowiada HTML, CSS oraz Bootstrap. W celu przechowywania informacji o użytkownikach oraz ich ustawień wybrałem bazę danych PostgreSQL. Do budowy restowego Web Service-u wykorzystałem framwork Jersey. Narzędziem do budowania projektu był maven.

dashboard1

Oprócz Javy, do restowej komunikacji z zewnętrzną bazą statystyk piłkarskich, wykorzystałem język Groovy. Wykorzystane w projekcie API piłkarskie posiada informację o aktualnych wynikach spotkań, statystykach zespołów oraz tabelach ligowych.

dashboard2

Aplikacja mobilna została zbudowana w całości przy użyciu Android Studio. Narzędziem do budowania projektu był Gradle. Aplikacja mobilna obecnie pozwala na oglądanie streamów, sprawdzanie dzisiejszego harmonogramu rozgrywek, oraz przeglądanie historii aktywności użytkownika.

pv.png

Postęp prac projektowych oceniam na 80% w przypadku webservice-u oraz 60% dla aplikacji mobilnej. Głównym brakiem aplikacji mobilnej jest połączenie “na sztywno” i brak autoryzacji (w planach wykorzystanie tokenów OAuth). Pozostało jeszcze trochę pracy do końca projektu, ale ze względu na zakończenie konkursu postanowiłem podzielić się obecnym stanem zaawansowania.

stream

Jeśli jesteś zainteresowany obejrzeniem części webowej w akcji, jest on dostępny pod adresem http://streamplayer.herokuapp.com/
Uwaga: zalecam nie podawać prawdziwego hasła oraz adresu e-mail podczas rejestracji. Jeżeli strona nie ładuje się proszę spróbować ją odświeżyć – strona wykorzystuje darmową chmurę heroku i jeśli przez 30 minut nie było żadnego zapytania, strona przechodzi w stan uśpienia.

Podsumowanie

Chciałbym bardzo podziękować wszystkim, którzy odwiedzili mojego konkursowego bloga. Bardzo dziękuję wszystkim użytkownikom portalu wykop.pl, zarówno za krytykę, jak i za miłe słowa. Było to dla mnie coś na prawdę dużego, bo dzięki temu mogłem pracować nad jakością publikowanych materiałów, chociaż z pewnością nie zawsze mi się to udawało. Podczas trwania konkursu dostałem od was bardzo dużo wiadomości prywatnych z prośbą o porady i wskazówki, albo tak po prostu, żeby pogadać. Bardzo wam wszystkim dziękuję za dużą aktywność, bo to z pewnością dzięki temu w dużej mierze udało mi się jakoś przez te 3 miesiące regularnie blogować, bo miałem dla kogo!

Projekt, mimo iż nie udało mi się go jeszcze dokończyć, uznaję za udany. Na początku marca nie znałem żadnej wykorzystanej w projekcie technologii. Podczas trwania projektu nauczyłem się bardzo bardzo dużo i dzięki konkursowi wiem jak dużo pracy jeszcze przede mną. To była dla mnie wspaniała lekcja i polecam każdemu uczestnictwo w podobnych przedsięwzięciach. Mam nadzieję, że chociaż trochę dałem wam się poznać 🙂

Na koniec podrzucam krótki filmik promujący projekt

Jak to jest z tym rynkiem pracy?

Dwa miesiące i będziesz pracował. Na rynku pracy jest takie ssanie, że wystarczy ze masz 2 ręce, 2 nogi, trochę chęci i juz możesz być devem!

Przeczytałeś już te książki? To wiesz co, fajnie jakbyś nauczył się jeszcze trochę tego frameworku, trochę tego, tego i tamtego, no i jakieś algorytmy żeby przejść rozmowę i myślę, że bedzie ok. A i najlepiej zrób jeszcze jakiś projekt.
Hej ale czy przed chwilą nie mówiłeś mi, że jest jakieś super ssanie i nic nie trzeba wiedzieć?
Cykl życia inwestycji
Jako pierwsi potencjał inwestycyjny dostrzegają wielcy gracze, obeznani na rynku. To oni jako pierwsi inwestują w biznes. Następnie o potencjalnych zarobkach dowiadują się banki. Wiadomość o żyle złota rozprzestrzenia się. Do gry wkraczają fundusze inwestycyjne, drobni klienci indywidualni. O stopie zwrotu piszą już w gazetach, mówią w wieczornych wiadomościach. I wtedy właśnie Mirek i Halinka oglądają telewizję
–  “Super inwestycja, nieziemska stopa zwrotu!”
– Te, Halynka, yle to my mamy tych oszczemnosci?
– No trochę mamy
– To chodź zainwestujem, jak w telewizji mówio
I tak Mirek i Halinka wchodzą do biznesu. Przez kilka miesięcy inwestycja notuje jeszcze zyski, Mirek właśnie kupił sobie nowy garnitur, jest królem biznesu wśród znajomych. Jego kolega Janusz widzi w nim prawdziwy inewstorski talent! Wieczorem umówili się nawet na spotkanie, żeby porozmawiać o wielkim świecie! W tym momencie wycofują się pierwsi inwestorzy, najwięksi wygrani, rekiny biznesu. Następnie wycofują się banki, odnotowują nieco mniejsze zyski, ale to wciąż bardzo duże dochody. I tak krok po kroku, z inwestycji wychodzą kolejni gracze odnotowując coraz mniejsze zyski, aż dochodzimy do Halinki i Mirka, którzy wchodząc do interesu zbyt późno tracą większość swoich oszczędności, choć liczą na to, że jeszcze się odbiją.
Kurs programowania jak inwestycja Halinki i Mirka?
Czy pracodawcy rzeczywiście tak bardzo cenią osoby po kursach programowania i garściami biorą ich do pracy? Nie wiem, nie bylem na takim kursie, ale moim zdaniem z szukaniem pracy po kursie może być różnie. Chciałbym żebyś wiedział, że w pracy jako developer prawdopodobnie trafisz na rzeczy których nie da się nauczyć w domu. W wielu firmach stosuje się wewnętrzne frameworki i procedury, wykorzystuje wewnętrzne narzędzia. Wiedzy o takich frameworkach i narzędziach nie nauczysz się na żadnym kursie programowania.
Po trudnych studiach jest łatwiej?
Dlatego właśnie moim zdaniem warto uczyć się samodzielnie. Bo na koniec dnia oprócz wiedzy technicznej oraz tej najpotrzebniejszej rzeczy o nazwie “umiejętność rozwiązywania problemów” nauczysz sie czegoś sto tysięcy razy cenniejszego. Nauczysz się jak się uczyć. To na tym polega ta niewielka przewaga osób które przeszły trudne studia – oni umieją się uczyć.
Jak to jest z tym rynkiem pracy?
Dla osób bez wykształcenia kierunkowego, pokrewnego czy innego dopasowywalnego do pracy polegającej na rozwiązywaniu problemów, moim zdaniem droga samouka czy kursanta do zostania devem nie musi być wcale  łatwa. Jeśli dowiadujesz się o tym dopiero teraz, możesz być pewien, że jesteś jedną z wielu osób które usłyszały o technicznym eldorado i chciałyby zostać programistą 15k. Czy powinieneś z tego powodu zrezygnować? Absolutnie nie. Chciałbym, żebyś z tego powodu dał z siebie 10% więcej. Przeczytaj jeden artykuł wiecej. Obejrzyj jeszcze jeden material. Zrób ten jeden projekt więcej! Dostaw nogę, wyróżnij się! Nagroda jest tego warta.

Login successful!

Hello!

I finally made it :)! I made a connection between android application and my web app 😀 I am so proud!

We have 4 weeks left and I will do my best in order to provide as good solution as possible! You can find the way my android app works on the gif down below :):

ezgif.com-crop.gif

I was following this tutorial: http://www.androidhive.info/2012/08/android-session-management-using-shared-preferences/

Next week I am hoping to bring some huuuuge update on my progress on the project. Stay tuned 🙂

Simple doesn’t mean easy

Cześć!
Dziś z powodu majówki nie będzie wpisu, za to tradycyjnie jak to już bywało wcześniej w przypadku długich weekendów czy świąt chciałbym zaprosić Cię do obejrzenia ciekawej prezentacji, tym razem w języku angielskim. Jak dostać pracę u kogoś z “Wielkiej Czwórki”? Wystarczy kilka prostych kroków. Miłego oglądania!

A week with JEE, Java 8 and Maven

Hello!
This week I have been mostly learning some JEE, Maven and finally Java 8.

All this things I have learned this week made me like “wow”. I seem to look at the code of my project from diffrent perspective, it looks to me like it was so simple. I seem to understand software architecture much much better than I used to few weeks ago. As I have been mostly learning lately, all i can share with you today is some important materials about JEE, Java8 and Maven.

  1. Maven: The Complete Reference
    http://books.sonatype.com/mvnref-book/reference/index.html
  2. Java 8 and JEE video tutorials
    https://www.youtube.com/user/koushks/playlists

I think my next entry will be some code-related, as I am planning to get back to coding this weekend! So stay tuned 🙂