Niniejsza ściąga jest spisem moich porad i obserwacji z drogi
przebranżowienia na Junior Java Developera. Ściąga ta nie jest jedną jedyną w 100%
słuszną drogą nauki, a jedynie subiektywnymi sugestiami.
Znajdziesz tutaj porady, polecane źródła do nauki, przydatne programy, roadmape oraz inne
materiały.
- Angielski
- Core
- JVM
- Podstawowa składnia
- Typy danych, operatory i wyrażenia
- Klasy
- Instrukcje warunkowe
- Operatory
- Pętle
- Tablice i kolekcje
- Przetwarzanie danych
- Praca na plikach
- Streamy
- Algorytmy
- Polimorfizm, interfejsy i klasy wewnętrzne
- Programowanie obiektowe
- Typy generyczne
- Programowanie współbieżne [podstawy]
- Debugowanie
- Garbage collector
- JavaFX [nie obowiązkowo]
- Maven & Gradle
- Internet & protokół HTTP
- SQL/NoSQL Databases
- MySQL
- Postgres
- H2Database
- NoSQL [podstawy]
- API & Rest API
- GIT & kontrola wersji
- Spring/SpringBoot
- Validation
- Spring Web
- Security
- Spring Data
- ORM
- Spring Data JPA
- Hibernate
- Testy
- Junit
- Mockito
- Test containers [nie obowiązkowo]
- Clean Code & paradygmaty
- KISS
- SOLID
- DRY
- Wzorce projektowe
- builder
- adapter
- strategia
- Logowanie w aplikacji
- Docker [podstawy]
- Linux [podstawy]
- Mikroserwisy [nie obowiązkowo]
- Message Broker (RabbitMQ/Kafka) [nie obowiązkowo]
Nice to have:
- HTML & CSS
- Ogólna wiedza o komputerach
- Good research skills
Jest to roadmapa sugerowana przeze mnie, możesz poszperać w internecie za innymi roadmapami które bardziej będą Ci odpowiadać np:
- https://roadmap.sh/
- https://clockworkjava.pl/
- https://www.programujodpodstaw.pl/ [płatne]
- https://www.javappa.com/
Mimo że staram się wybierać tylko dobre źródła, to znajdziesz tutaj źródła bardziej zalecane oraz mniej zalecane. Przy każdym z nich znajdziesz symbol, który odpowiadający ocenie danego źródła. Na ocenę wpływa jakość materiałów, ilość praktycznych zadań, format materiałów.
Oznaczenie | Znaczenie |
---|---|
❤️ | Najbardziej zalecane źródło |
💚 | Średnio zalecane źródło |
💙 | Najmniej zalecane źródło |
Note To, że źródło jest najmniej zalecane, nie znaczy, że jest złe!
Większość internetu jest w języku angielskim w tym potencjalne rozwiązania Twoich przyszłych problemów programistycznych,
jak i dokumentacja techniczna, której prędzej czy później zaczniesz używać.
Także podstawowa znajomość angielskiego będzie
niemalże niezbędna, a im lepiej władasz tym językiem, tym więcej drzwi się przed Tobą otworzy. Przez cały czas nauki
Javy trzeba szlifować swój język poprzez czytanie artykułów (jeśli nie wszystko rozumiesz to wspomagać się tłumaczem), oglądanie
filmów na YouTube w języku angielskim, słuchanie podcastów oraz naukę angielskiego.
- Polecam zainstalować plugin do przegląradki umożliwiający szybkie tłumaczenie tekstu na stronie internetowej
- Zamiast znanego Google Translate polecam mniej znany, ale naturalniej tłumaczący DeepL
- ❤️ Jeśli chcesz pod szlifować wymowę możesz śmiało wpadać na discord English gdzie spotykają się osoby z całego świata by razem rozwijać swój angielski
- Dobrym startem są również aplikacje mobilne takie jak Duolingo
- Jeśli chcesz przetłumaczyć formalne dokumenty (np. CV), w których nie ma miejsca na wpadki to warto pamiętać o istnieniu takich stron jak Turbo Tłumaczenia
Im szybciej zaczniesz otaczać się językiem angielskim, tym lepiej dla przyszłego Ciebie;)
-
Darmowe
- ❤️ Kurs Uniwersytetu Helsinki - certyfikowany kurs z Uniwersytetu Helsinki. Jesteśmy prowadzeni przez kurs za rękę. Polecam ze względu na to, że mocno stawia na praktykę i robimy setki mniejszych lub większych zadań, których poprawność jest sprawdzana przez testy automatyczne.
- ❤️ JetBrains Adacemy - darmowy kurs od JestBrainsów (tylko przy rejestracji z reflinka np tego: LINK)
- 💙 Udemy Java for Complete Begginers - kurs video dla totalnie początkujących na Udemy
- 💚 JavaStart - kurs Javy od podstaw w języku polskim
- 💙 CodeAcademy - interaktywny kurs Javy, dotykający totalnych podstaw. Dzięki niemu można w łatwy sposób liznąć programowania, nawet jeśli masz umysł humanistyczny.
- 💚 PJWSTK - mimo że dość stare materiały to treściwe i udostępnione za darmo przez Polsko Japońską Akademię Technik Komputerowych. Znajdziesz tutaj nie tylko kurs Javy ale sporo innych wartościowych materiałów
-
Płatne
- ❤️ JavaStart - rozszerzony kurs od JavaStart
- ❤️ JetBrains Adacemy - to samo co za darmo z reflinka wyżej, ale jeśli nie zdążyłeś w 3-miesięczny okres próbny, to możesz wykupić subskrypcję. Płacisz za dostęp do całej platformy i wszystkich kursó, dlatego jeśli szybko będziesz przerabiał materiał, to cena końcowa nie wyjdzie taka zła.
- Darmowe
- Darmowe
- ❤️ Protokół HTTP - co warto wiedzieć? - może nie jest to tutorial, ale w pigułce podane są tematy, które MUSISZ wiedzieć! Temat HTTP będzie z Tobą przez całą karierę w IT ;)
- ❤️ Niezbędnik Juniora protokół HTTP - przystępnie opisany protokół HTTP na blogu Kobiety do Kodu
- 💙 How the Internet Works in 5 Minutes
- 💚 Niezbędnik Juniora jak działa internet?
- Darmowe
- ❤️ Learn SQL in 60 minutes
- ❤️ Kurs SQL - podstawy - skoncentrowany, praktyczny poradnik o SQL, niestety brak jest zadań praktycznych, ale można poćwiczyć np. na Hackerrank lub na tzw. katas (linki poniżej)
- ❤️ HackerRank SQL - zadania z SQL w interaktywnym wydaniu. Podzielone na trudność, oraz tematy.
- 💚 SQL Kata - są to zestaawy mini zadań praktycznych przygotowanych przez innych userów, podzielonych na trudność oraz tematy. Tak zwane katas można znaleźć
- 💙 Kurs SQL z Kanał o Wszystkim - spoko kurs SQL, lecz nie porusza tylu zagadnień i tematów jak poprzednie kursy
- ❤️ Spring Boot Java H2 Database - praktyczny tutorial, pokazujacy config H2 Database z naszym projektem
- 💚 Baza danych H2 - jest to lekki silnik bazy danych. który doskonale sprawdza się do mini projektów Springowych.
- Darmowe
- ❤️ Wszystko o REST API w Javie - bardzo dobrze przedstawiona wiedza o Rest API od Mateusza Dąbrowskiego
- ❤️ 15 zasad przy budowie Rest API - zwięźle i na temat przedstawiona konwencja tworzenia Rest API
- ❤️ API tutorial
- 💚 Tworzenie Rest API w SpringBoot - w 60 minut Kamil Brzeziński przeprowadzi nas przez różne tematy i pokaże jak tworzy się Rest API w SpringBoot. Warto sobie obejrzeć nawet jak nie rozumiemy pewnych zagadnień, żeby mieć wyobrażenie, co robi API i do czego się je wykorzystuje.
- Darmowe
- ❤️ Kurs Gita w praktyce - kurs od Łysego z IT
- ❤️ Git i GitHub w 60 minut
- ❤️ Git & GitHub Tutorial for Beginners
- ❤️ OhShitGit - przy nauce Gita na pewno zdarzą Ci się fuck upy, które chciałbyś cofnąć, wtedy wchodzi on cały na biało: OhShietGit.com
- ❤️ Git Katas - w nauce najważniejsza jest praktyka, dlatego tutaj znajdziesz zestaw mini zadań do praktycznej nauki Gita!
- Darmowe
- https://www.baeldung.com/
- https://refactoring.guru/
- https://www.youtube.com/c/Zaprogramuj%C5%BBycie
- https://javappa.com/
- https://nullpointerexception.pl/blog/
- http://edu.pjwstk.edu.pl/wyklady/
- https://kobietydokodu.pl/tag/java/
- https://open.agh.edu.pl/kategorie/informatyka/?orderby=popularity
- https://www.pja.edu.pl/biblioteka/repozytoria
- https://ocw.mit.edu/search/?d=Electrical%20Engineering%20and%20Computer%20Science
- https://academicearth.org/computer-science/
- Kanały JUG na YouTube
- InteliJ IDEA - IDE idealne do Javy
- Postman - narzędzie do wysyłania requestów HTTP oraz testowania API
- Ditto Clipboard - pozwala przeglądać historię skopiowanych treści oraz zarządzać nimi.
- ConEmu - wygodna nakładka na terminal, pozwalająca na wygodne korzystanie oraz personalizowanie konsoli
- Grammarly - plugin automatycznie sprawdzający poprawność tekstu wraz z sugerowaniem poprawek.