Šta je novo?

Java napredni nivo

MirisKise

Flash Drive
Učlanjen(a)
15.02.2017
Poruke
4
Poena
1
Srdačan pozdrav, potrebna mi je pomoć kako bih napredovala u programiranju i konačno našla i neki posao.
Prvo da vam se svima zahvalim, jer čitajući vaše dobre savete ovde uspela sam da naučim osnove JAVA programskog jezika to znanje je sada npr nivoa da znam sve oblasti sa w3school samo dosta prošireno različitim kursevima i vežbanjem.
I sada ne znam šta dalje da li treba da studiozno učim hash mape, wrapper classes, niti?
Da li treba da učim detaljno GUI (Swing, JavaFX) šta konkretno?
Gde dobro naučiti JAVA paterne ?
Dakle meni treba vaša pomoć kako od Java programera koji je naučio osnove postati potpuni freack senior Java programer?😀😀
Dajte mi neke savete i najbitnije dajte mi molim vas linkove ili preporuku za neke kurseve na udemy, pluralsight.... ili bilo gde koje bih mogla odgledati a koji su po vama dobri i koji će mi pomoći da uđem na taj napredni nivo.
Jer na žalost nemam vremena i novca da upišem ETF , a to mi je bila životna želja.
 

Vegeta

3.5" Floppy
Učlanjen(a)
15.10.2011
Poruke
935
Poena
28
Nisam strucnjak za Javu, ali sam nesto malo zavirio ispod haube. Po meni najbitnije je da na naučíš sledece:

- maven, grandle, apache ant


GUI (Swing, JavaFX) po meni nije tolika bitna oblast u 2022, jer sve ide na Web, tako da bi se vise fokusirao na Web aplikacije. Pogledaj osnove servlet-a pa onda mozes uzeti u razmatranje jedan od frameworkova
Ali opet, za web se koriste drugi ("jednostavniji"/"moderniji") jezici i java gubi popularnost u ovoj oblasti. Ne znam kakvo je stanje u Srbiji, sta se tacno trazi u ovome trenutku.
 
Poslednja izmena:

SkyOfDust

Flash Drive
Učlanjen(a)
19.04.2021
Poruke
40
Poena
18
Java moze da se koristi i za pisalje web gui-a, na zalost, sto nije neko preterano lepo iskustvo, tako da slobodno mozes da zaobidjes.

Uci Spring boot/cloud. Kod nas na trzistu je najveci broj poslova koji su manje-vise jednostavni. Uglavnom se pisu BE aplikacije koje imaju nekakav RESToliki api, koji se koristi od strane FE aplikacije ili od strane drugih BE aplikacija. Takodje nije retko da se pisu aplikacije koje koriste API neke druge kompanije. U nekim slucajevima projekti koriste asinhronu komunikaciju, pa se u te svrhe koriste publish/subscribe messaging servisi.
Takodje, neke kompanije koriste cloud provajdere kao sto su aws, google, azure i slicno, pa shodno tome poznavanje nekog od tih sdk ili bar pojam o tome da oni postoje i koje usluge pruzaju, nije lose imati.
Dodao bih jos i da treba znati baze i integraciju sa bazama, bilo preko obicnih konektora ili neki ORM.
Trebalo bi da imas predstavu o multithreadingu - da znas sta je, kada i kako se koristi, koje su prednosti, a koje mane.
Znanje osnovnih struktura podataka ti moze dosta olaksati zivot kada dodje to pisanja algoritama. Sta je ordered, sta nije, sta podrzava duplikate, a sta ne, gde je pristup direktan, a gde je potrebno iterirati.

Mislim da je nepotrebno cekati da postanes ekspert da bi trazila posao, jer sada toliko razlicitih oblasti ima, da bi ti trebalo pet zivota da ih sve naucis.
Na kraju i da naucis sve, velika je verovatnoca da dve firme isti alat ne koriste na isti nacin, nego verovatno obe koriste pogresno.
Dovoljno je da prodjes pitanja za spring intervju i razjasnis sve sto ti nije jasno. Takodje da napravis neki projekat u kome ces demonstrirati to znanje - to ne mora da bude nista specijalno tesko, ali bi trebalo da pokaze ulozeni trud i da bude otprilike gotova celina.
To ce ti biti vise nego dovoljno da prodjes intervju i da postanes svesna problema koje spring resava i koncepata koje on koristi.

Sto se design paterna tice, knjiga "Head First Design Patterns" je dobra. Nakon toga mozes lako da nadjes na guglu spisak paterna koji su najkorisceniji i njih da naucis.
Na poslu ces nailaziti na dva tipa ljudi, one koji ne koriste svesno paterne i one koji svesno zloupotrebljavaju paterne i na konto navodne optimizacije nepotrebno komplikuju kod i ubacuju sve cega se sete u tom trenutku, a kasnije to resenje kopiraju dalje i tako sire svoj nepotrebno zakomplikovan kod.

Na kraju, koncepti su ti verovatno mnogo bitniji od sintakse, kako na pocetku karijere, tako i kasnije.
I mozda i najvaznija stvar, zelja za ucenjem. Nemoj da ti "to je tako" bude dovoljan odgovor.
 

MirisKise

Flash Drive
Učlanjen(a)
15.02.2017
Poruke
4
Poena
1
Nisam strucnjak za Javu, ali sam nesto malo zavirio ispod haube. Po meni najbitnije je da na naučíš sledece:

- maven, grandle, apache ant


GUI (Swing, JavaFX) po meni nije tolika bitna oblast u 2022, jer sve ide na Web, tako da bi se vise fokusirao na Web aplikacije. Pogledaj osnove servlet-a pa onda mozes uzeti u razmatranje jedan od frameworkova
Ali opet, za web se koriste drugi ("jednostavniji"/"moderniji") jezici i java gubi popularnost u ovoj oblasti. Ne znam kakvo je stanje u Srbiji, sta se tacno trazi u ovome trenutku.
Bacila sam se odmah danas na Servlete hvala ti mnogo na odgovoru puno mi znači pomoć, tesko je učiti ovako sam i pogubljen. Kada kažeš Java gubi na popularnosti, šta konkretno misliš?
 

MirisKise

Flash Drive
Učlanjen(a)
15.02.2017
Poruke
4
Poena
1
Java moze da se koristi i za pisalje web gui-a, na zalost, sto nije neko preterano lepo iskustvo, tako da slobodno mozes da zaobidjes.

Uci Spring boot/cloud. Kod nas na trzistu je najveci broj poslova koji su manje-vise jednostavni. Uglavnom se pisu BE aplikacije koje imaju nekakav RESToliki api, koji se koristi od strane FE aplikacije ili od strane drugih BE aplikacija. Takodje nije retko da se pisu aplikacije koje koriste API neke druge kompanije. U nekim slucajevima projekti koriste asinhronu komunikaciju, pa se u te svrhe koriste publish/subscribe messaging servisi.
Takodje, neke kompanije koriste cloud provajdere kao sto su aws, google, azure i slicno, pa shodno tome poznavanje nekog od tih sdk ili bar pojam o tome da oni postoje i koje usluge pruzaju, nije lose imati.
Dodao bih jos i da treba znati baze i integraciju sa bazama, bilo preko obicnih konektora ili neki ORM.
Trebalo bi da imas predstavu o multithreadingu - da znas sta je, kada i kako se koristi, koje su prednosti, a koje mane.
Znanje osnovnih struktura podataka ti moze dosta olaksati zivot kada dodje to pisanja algoritama. Sta je ordered, sta nije, sta podrzava duplikate, a sta ne, gde je pristup direktan, a gde je potrebno iterirati.

Mislim da je nepotrebno cekati da postanes ekspert da bi trazila posao, jer sada toliko razlicitih oblasti ima, da bi ti trebalo pet zivota da ih sve naucis.
Na kraju i da naucis sve, velika je verovatnoca da dve firme isti alat ne koriste na isti nacin, nego verovatno obe koriste pogresno.
Dovoljno je da prodjes pitanja za spring intervju i razjasnis sve sto ti nije jasno. Takodje da napravis neki projekat u kome ces demonstrirati to znanje - to ne mora da bude nista specijalno tesko, ali bi trebalo da pokaze ulozeni trud i da bude otprilike gotova celina.
To ce ti biti vise nego dovoljno da prodjes intervju i da postanes svesna problema koje spring resava i koncepata koje on koristi.

Sto se design paterna tice, knjiga "Head First Design Patterns" je dobra. Nakon toga mozes lako da nadjes na guglu spisak paterna koji su najkorisceniji i njih da naucis.
Na poslu ces nailaziti na dva tipa ljudi, one koji ne koriste svesno paterne i one koji svesno zloupotrebljavaju paterne i na konto navodne optimizacije nepotrebno komplikuju kod i ubacuju sve cega se sete u tom trenutku, a kasnije to resenje kopiraju dalje i tako sire svoj nepotrebno zakomplikovan kod.

Na kraju, koncepti su ti verovatno mnogo bitniji od sintakse, kako na pocetku karijere, tako i kasnije.
I mozda i najvaznija stvar, zelja za ucenjem. Nemoj da ti "to je tako" bude dovoljan odgovor.
Okkk hvalaaa puno toga si mi napisao ovde i ja sam negde kontala da je JavaFX prevaziđena, ali vidim ga u fakultetskim programima po net-u pa me to navodi na mučenje mog mozga ionako pretrpanog gomilom nepotrebnih informacija😁 Pa definitivno mi treba neki juniorski posao, a volje imam na pretek. Našla sam neki kompletni kursić Spring boot na udemy-ju pa ću pokušati sa tim da napravi neku svoju web-aplikaciju i apliciram potom za prvi posao.
Ovo za paterne i njihovu zloupotrebu me je zasmejalo hehehe genijalno. Ja sam gledala samo Singleton i Template method pattern za sada.
 

Vegeta

3.5" Floppy
Učlanjen(a)
15.10.2011
Poruke
935
Poena
28
Java se ranije koristila za izradu Web aplikacija ali ovo mesto je kasnije preuzela JavaScript sa njenim framework-ovima.
Onda se Java koristila za izradu androdi aplikacija, ali zbog zaguljenog Oracle-a, ovo mesto je preuzeo Kotlin.
Dosta toga se u poslednje vreme promenilo (oziveli su jezik ubacivanjem novog sadrzaja), ali popularnost i dalje opada.


Ali, opet programiranje u Java ne moze da skodi. Jednom kada savladas smisao OOP, na sta te sama Java dobro pripremi, promena alata (programskog jezika) ce biti manje bolna.
 

zamzung

3.5" Floppy
Učlanjen(a)
30.09.2012
Poruke
783
Poena
93
Java danas u Srbiji mislim da se koristi za outsouce i banking.
Licno ne znam za druge. Mozda i dalje za Android app development ali mislim da se to gasi lagano kako rece Vegeta.

Poznanik koji nikad nije programirao, je konkuriosao za testera. Besplatn obuka za one koji bi da menjaju profesiju a iz Beograda su.
U prici sam shvatio da su mu rekli da uci Javu. Ovo je kurs.
 

zamzung

3.5" Floppy
Učlanjen(a)
30.09.2012
Poruke
783
Poena
93
Loše sam se izrazio. Pod outsource sam mislio na strane projekte , naše firme ih rade ali sam se sureo svega par puta i to su isto bili
bankarski / poslovni softver koji je radjen u Javi i koji je trebao nadogradnju i/ili održavanje.
Svaki ozbiljan biznis gleda da se veže za jaku kompaniju i ne želi da kroz 5-10 godina mora da žuri-juri i prepisuje sve u nešto novo jer je staro ispalo iz trenda.
Tako da kada se bira Java , zapravo se bira Oracle.
C# /Asp / Net -> bira se Microsoft.
...
Vezuje se za kompaniju i njene usluge. Navedeno nije loše, niti mi je cilj bio da postavim u negativnom kontekstu.
Java jezik se i dalje dobro kotira.
Moje viđenje stvari.
 

Froiibaad

3.5" Floppy
Učlanjen(a)
24.08.2007
Poruke
567
Poena
28
@MirisKise uzmi napravi svoju web aplikaciju za telefonski imenik koji mogu da dele više korisnika koristeći spring boot za backend. Onda dodaj login user/password. Napravi neki rudimentaran frontend da ne moraš sve kroz API pozive. Probaj da dodaš login preko gmail-a/github-a. Listanje kontakata, edit, dodavanje novih, smestanje svega toga u bazu. Dodaj keš, da ne moraš svaki put da zoveš bazu za podatke koji su već skoro dohvatani. Uz svaki korak, gledaj, čitaj, uči. Baeldung je tvoj drug. Saznaj šta je spock i zašto je kul. Otkrij ko su Martin Fowler, Ken Kouse, Joshua Bloch.

Uporedo uz projekat, gruvaj sajtove kao codility i slično i rešavaj algoritamske probleme u Javi. Nauči strukture podataka i algoritme. Doći će dobro za intervjue.

Velike firme primaju ljude na praksu svakih 3-6 meseci. Kad se osetiš komforno da možeš da odradiš problemčiće u Javi, javi se, možda neko moj ima poziciju za praktikanta.
 
Vrh Dno