Witam , czytam już czwartą książkę na temat javy i za każdym razem gdy rozpoczynam kolejną to tak jakbym zaczynał naukę od nowa.Nie pamiętam 90% rzeczy. Niby wszystko rozumiem ale nie mogę zapamiętać na dłużej niż kilka dni.
W sumie mam zaplanowane do przeczytania jeszcze 11 pozycji , a następnie przejść do czytania o frameworkach, androidzie itp ale zaczynam się obawiać czy sytuacja nie będzie taka,że znowu wszystko zapomnę i tylko zmarnuję czas. Czy znacie jakiś sposób na zwiększenie efektywności uczenia się/ poprawę pamięci ?
Ja kiedyś przeczytałem, parę książek o sporcie niestety nie zrobiło to ze mnie olimpijczyka. Zacznij coś pisać, żadnej umiejętności nie nabędziesz czytając o niej.
Tak jak poprzednik: umiejętności nabywa się praktyką, a nie czytaniem o cudzej praktyce ;)
Nie nauczysz się naprawiać samochodów, jeśli nie zaczniesz ich naprawiać.
czytam już czwartą książkę (...) mam zaplanowane do przeczytania jeszcze 11 pozycji , a następnie przejść do czytania o frameworkach, androidzie itp
hahaha :D
niedługo będziesz mógł napisać własną książkę pt.: "Jak marnować czas"
A po jakich lub na studiach jesteś?
A jaka to różnica?
Zasadnicza
Jak jesteś typowym humanistą, to nic dziwnego ;D
Nie jestem humanistą, mam tylko problemy z pamięcią. Przeciez napisałem że wszystko rozumiem.
"Uczę się angielskiego. Przeczytałem już pięć słowników i cztery kompendia gramatyczne, a wszystko zapominam"
Uczysz się na sucho. Taka nauka jest mało warta. Teoria to tylko punkt wyjścia do praktyki. Poczytasz - pokoduj, przećwicz, posprawdzaj. Tak to działa. Inaczej wszystko ci wyleci ze łba.
Najlepszą, nieśmiertelną poradę daje Fatal1ty (jeden z pierwszych profesjonalnych graczy komputerowych), warto wziąć ją sobie do serca:
Jeśli mam być szczery to w taki sposób jak napisałeś nauczyłem się całkiem nieźle angielskiego.Natomiast chodzenie na zajęcia praktyczne nic mi nie dało. A co do ćwiczenia javy to nie mam weny twórczej żeby coś napisać co miałoby sens, zwlaszcza że postanowiłem że nie będę uczył się tworzenia gui a do androida i frameworków webowych jeszcze nie doszedłem.
W takim razie nie pozostaje nic innego jak życzyć powodzenia z kontynuacją obecnego podejścia.
Czy wielogodzinne szukanie w dokumentacji i forum stackoverflow odpowiedzi jak napisać kolejną linijkę kodu liczy się jako ta cenna praktyka ? Nie lepiej najpierw wykuć api na pamięć i starać się rozwiązać problem na podstawie tego co ma się w głowie a nie tego co poda na tacy jakiś forumowicz ?
Jak tak lubisz czytać to polecam:
Jagodzińska "Psychologia pamięci" 2008
Włodarski "Psychologia uczenia się" 1977
Zapoznaj się z krzywą zapominania to zrozumiesz dlaczego tylko 10% pozostaje ci w głowie.
jak nie kumasz Javy to spróbuj Haskell, albo Scala. Jak pojmujesz matematykę to w tych dwóch ostatnich może się odnajdziesz.
Ale ja rozumiem jave i bardzo lubie tylko w takim tempie zajmie mi chyba kilka lat zanim bede znać dokumentacje na pamiec i bede mogl zaczac cos programować :(
mam jeszcze pytanie odnośnie php czy ten język ma mniej tych gotowych klas i metod do wykucia się na pamięć ? Bo jak rozumiem mechanizmy języka są podobne jak w javie?
Mi też Java nie wchodziła, zmieniłem na Ruby i jest szybko, prosto i przyjemnie. Ruby jak dla mnie łatwiejszy od JavaScript, Javy i Pythona oraz PHP. Dla mnie składnia Ruby jest czytelna.
Kurde koleś nie chodzi o to żeby wykuć API na pamięc, nawet Wojciech Seliga nie zna całego API Javy na pamięć.
Przeczytaj te najważniejsze rzeczy i pisz nawet małe fragmenty kodu. Jak będziesz sę np. uczył o interfejsach zrób jakiś prosty interfejs Shape i klase Rectangle która implementuje ten interfejs.
Chociaż mam wrażenie że OP to trol
To możecie mi napisać które pakiety/ klasy są ważne i trzeba je znać a które można pominąć ?
ps. nie jestem troll , to ktoś inny ja jestem na tym forum od niedawna
naprzyklad wczoraj i dziś czytam o klasach zagnieżdżonych, anonimowych, wewnętrznych i sie zastanawiam co by tu zaprogramować przy ich użyciu i nie wiem nawet do czego one byłyby przydatne i jakiś szerszy kontekst ich użycia. jak żyć ?:/
Najlepiej uczyć się w kolejności alfabetycznej, żeby jakiś porządek sobie trzymać
Api warto znac ale tak jak wyzej pisano nie jest to nad czym powinienes sie skupiac.
Kolejnosc zwykle jest taka:
- proste programiki z minimalnym lub zerowym udzialem api
- wlasne implementacje struktur danych i algorytmow
- rozbudowane programy z maks. wykorzystaniem api
- wykucie najwazniejszych obszarow api (np na egzamin lub dla wygody)
- poznawanie szczegolow i mniej znanych elementow api w trakcie pracy lub praktyki
To co na pewno warto zglebiac to pakiety:
java.lang.*
java.util.*
java.io.*
Poznanie składni to podstaw podstaw i zasadniczo Java, Python, Ruby czy PHP masz z grubsza to samo - klasy, obiekty, metody, dziedziczenie, struktury danych. Aby dobrze poznać Javę - a nie dowolny język programowania obiektowego - warto od samemu początku kodować - cokolwiek! i zacząć ogarniać rzeczy specyficzne dla Javy - pokminić jak działa JVM, wgryźć się w Androida albo w Spring Boota, ogarnąć dobrze Maven / Gradle'a. To jak z odchudzaniem - nie ma drogi na skróty ;)
A moze mi ktos wyjasnic na temat spring boot bo z tego co rozumiem to taki spring z automatyczną konfiguracją ale czy to zastępuje w całości spring mvc data security itd ?
Niczego nie "zastępuje". To jest po prostu cos co ułatwia konfiguracje tych innych komponentów.
Czyli i tak muszę się uczyć na temat mvc data itp żeby używać boot ?
Nie. Ale jeśli chciałbyś użyć w projekcie np. Spring MVC czy Spring Data to musisz umieć ich używać i Boot nijak tego nie zmieni ;]
Fajne przykłady i "konkretna" teoria, czyli bez lania wody... jak ma to miejsce w książkach, jest tu:
https://www.javatpoint.com/java-tutorial
Wymyśl coś podobnego do tych przykładów i pisz....
następnie znajdź sobie jakieś pomysły na projekty np.rejestracja hotelowa (pomocny tu jest git - aby podejrzeć szkielet programu).