[ pecarossaBegeja @ 19.01.2016. 23:24 ] @
Koliko je vremena potrebno da se nauči java?
[ plague @ 20.01.2016. 00:21 ] @
Zavisi kako hoces da primenis tvoje znanje?
Da napravis aplikaciju gde kada kliknes on napise "cao" ili da mozes da se zaposlis kao java programer?
[ jablan @ 20.01.2016. 07:41 ] @
http://norvig.com/21-days.html
[ deerbeer @ 20.01.2016. 10:41 ] @
Dobar clanak, ljudi su stvarno u nekoj zurbi uceci programiranje.
Dosta doprinose tome i "bombasticni" naslovi knjiga koji se mogu kupiti na trzistu, sto je zapravo samo marketing, a i ovdasnji mentalitet "lake i brze love".

Kao i svaki drugi zanat, tako i ovaj, zavisi od individualnog kapaciteta i treninga zelje i volje za usavrsavanjem.

[ pecarossaBegeja @ 20.01.2016. 16:35 ] @
Citat:
plague:
Zavisi kako hoces da primenis tvoje znanje?
Da napravis aplikaciju gde kada kliknes on napise "cao" ili da mozes da se zaposlis kao java programer?



Da mogu da se zaposlim kao java programer...
[ Aix @ 20.01.2016. 16:38 ] @
zar ti naslovi nisu onako metaforicni ? u 24h mozda kao 24 celine
[ Java Beograd @ 20.01.2016. 17:00 ] @
Ja programiram u javi od '99 i još uvek učim.


Nisi napisao da li si možda već C/C++/C# programer, ili programer koji profesionalno radi u IT na bilo kojoj drugoj platformi

Ako jesi, treba ti mesec - dva, dobra knjiga i mnogo rada

Ako nisi, a 'teo si da se negde zaposliš kao java programer, morao bi da upišeš neki kurs, pa još neki, pa da onda negde volontiraš (ili da radiš kao junior) pa posle oko godinu dana da šalješ CV-je. Pa ako te neko primi -lepo. Ako ne, onda i dalje učiš, volontiraš, i sve tako dok te neko ne primi.
[ Bynor @ 09.02.2016. 17:20 ] @
Predlazete nesto za online volontiranje osim GitHuba?

Hvala unapred na odgovoru
[ leka @ 26.02.2016. 09:17 ] @
Programski jezik se najbolje i najlakse nauci kad radis na konkretnom projektu. Stoga predlazem da uradis sledece: provedi par sati razmisljajuci o tome da li si se ikada zapitao "eh, sto nema program da uradi X", gde je X solucija za neki problem. Ili jos bolje "treba mi program koji radi X, ali me mrzi da jurim po Internetu". :) Onda instaliras neko besplatno radno okruzenje za programski jezik koji zelis da naucis, i pocnes od pocetka. Procitas dokumentaciju na sajtu tog programskog jezika (maltene SVAKI programski jezik ima "language specification", ako nista drugo - kad je Java u pitanju, pocni sa https://docs.oracle.com/javase/tutorial/) i pocnes od nekih obicnih stvari. Sto obicnije, to bolje, jer ti si pocetnik, i treba da se u pocetku bavis sa najprostijim stvarima tipa rad sa brojevima, stringovima, korisnickim tipovima (klasama kad je Java u pitanju), nacin organizacije programa (paketi, moduli), itd.

Ljudi u ovom stadijumu prave veliku gresku - pocnu od komplikovanih stvari.

Recimo da si odlucio da razvijas program u Javi koji ce da ti pomogne da organizujes svoje video fajlove (recimo imas gomilu Xvid, DivX, AVI, MPG, etc fajlova na disku i nemas pojma sta je sta). Kao pocetnik u Javi neces odmah da pocnes da radis na DAO implementaciji (ili necem slicnom), i sigurno neces odmah da pocnes da koristis neko JPA resenje za rad sa bazom podataka... Umesto toga, naucices kako se radi sa fajlovima, kako ces da otvoris fajl i u njega upises podatke. Recimo, za pocetak ces da radis sa CSV fajlovima. Na samom pocetku tvoj program ce biti jedna jedina Java klasa koja radi sve. Naravno to zavisi koliko si stvari iz Java Tutorial-a shvatio. Sto se vise budes "zagrejao", sve ce te vise i vise interesovati "a kako da uradim ovo, kako da uradim ono" i vremenom ces naci odgovore na svoja pitanja. Maltene na svako Java pitanje postoji odgovor na StackOverflow.com ...
[ Bynor @ 26.02.2016. 09:46 ] @
Hvala Leka na savetu, cenim tvoj detaljan odgovor, od velike je pomoci. Upravo tako i radim, uzeo sam par online kurseva na udemy za 7£ i dobio video sadrzaj kao i codove koje prate lekcije pa tako kombinujem.

P.S. vidim da si u Londonu kao i ja :)
[ Rusi @ 26.02.2016. 11:58 ] @
Bynor, na udemy-ju ima kurseva na kojima radis kroz projekte. Ako nemas nista protiv podeli sa nama koje si kurseve uzeo i eventualno posle nekog vremena da napises kratki review.
[ Bynor @ 26.02.2016. 14:10 ] @
Trenutno radim ovaj kurs "The Complete Java Developer Course" i mogu reci da je veoma dobar. Profesor odgovara na pitanja redovno, lekcije su bogate sa dosta primera. Svi kodovi se mogu skinuti. Tako da svima predlazem. Sledeci kurs koji sam uzeo je "Projects in Java" jos nisam poceo da ga radim ali tu ce biti projekta od media playera do igrica, messangera, apleta, camera itd. Takodje postoji i besplatnih kurseva na udemy-u ali su daleko bolji ovi placeni. Predlozio bi svima koji planiraju da uce da naprave account i dobice email sa posebnim akcijama. Ja sam kurs platio 12$ a kostao je ranije oko 300-350 $ samo treba sacekati neku akciju kojih ima cesto, pogotovo za black friday ili oko praznika.
[ gibaracione @ 09.04.2016. 06:25 ] @
Postavicu pitanje u ovoj temi posto sam takodje pocetnik pa da ne otvaram novu.

Po zanimanju sam Softwate Tester i odlucio sam da u slobodno vreme ucim Java Web Development (sa ciljem da kao tester budem vise upoznat sa tehnologijama koje testiram). Nakon ucenja osnova jave (2 meseca), poceo sam sa kursom "Servlets and JSPs: Creating Web Applications with Java" od John Purcell-a.
Moj problem je sto sam nestrpljiv, neke ideje koje imam hocu da implementiram sa mojim limitiranim znanjem i onda zavrsim isfrustriran (inace zavrti mi se u glavi kad vidim sta mi treba da bih napravio kakvu takvu aplikaciju).
Deploy aplikacije radim na Openshift (Platform-as-a-Service) tako da mogu da mogu da je vidim na web-u.

Da li mogu da dobijem neki savet, kako da postepeno savladavam java web development, tako da i sa limitiranim znanjem koje imam mogu nesto da napravim da bih imao osecaj da sam nesto uradio i napredovao?
[ banesss @ 25.05.2016. 22:06 ] @
@gibaracione Predlozem ti da pogledas Spring framework.
Konkretno spring-boot. Za par minuta imas up-and running aplikaciju kojoj onda postepeno dodajes funkcionalnosti i zadovoljno gledas kako raste :)

Vise informacija na http://spring.io/



[ nemnesic @ 25.05.2016. 22:11 ] @
Slazem se sa banesss
[ Bynor @ 26.05.2016. 09:16 ] @
Kolko se ja razumem JSP i servleti su osnova za Spring?
[ banesss @ 26.05.2016. 12:46 ] @
Servleti su najcesce obicne java klasa koje odgovaraju na neki network request.
Obicno se radi o HTTP zahtevu (Request-response). Http nije jedini protokol, mada je najrasprostranjeniji.
Servleti zive u Servlet containeru koji je odgovoran za pravilno parsiranje zahteva

Uvek imas opciju da handlujes inbound upite tako sto ces pisati klasicne servlete, medjutim daleko ti je lakse da koristis @Controller ili @RestController annotacije specificne za spring framework.
Na taj nacin sve RequestMapping metode ce biti mapirane u DispatcherServlet-u koji ce da sluzi kao jedan veliki servlet ispred svih tvojih kontrolera.

Tako da u tom smislu, svakako da su servleti osnova za spring web aplikacije.

Sto se tice JSP. U sustini jsp je prevazidjen u potpunosti, pogotovo zbog konflikta sa Embedded servlet containerima (koji su sada defakto standard) i jednostavno postoje bolja resenja za serviranje view-a od jsp.
Najpopularniji template engine za javu je Thymeleaf mada ja ponekada koristim i Velocity.

As a side note ja licno nisam napisao klasicnu MVC aplikaciju dosta dugo. U zadnje vreme pisem skoro ekskluzivno RESTFul service, koji kao odgovor na request ne vracaju View (prikaz) nego reprezentaciju u JSON ili XML formatu u zavisnosti od toga sta klijent zeli, tako da se ti kao, server-side developer vise ne bavis prikazima.

Spring, iako je java framework je narastao poprilicno, pa zahteva poprilicno ucenja.

Sam pogled na stranicu https://spring.io/docs/reference ce ti biti dovoljan da razumes o cemu pricam.

Ono sto ces koristiti u every-day aplikacijama je spring-boot, spring-security, spring-data-jpa (sve ostalo bude specificno od projekta do projekta).








[ vukdj @ 30.05.2016. 11:22 ] @
Kratak odgovor - nikad se ne moze do kraja nauciti.
Za neko prakaticno primenjivo znanje - oko godinu dana.

Odgovor za gibaracione i banesss
Ne predlazem Spring Boot za pocetak. Tu je gomila osnovnih stvari zamaskirano i iza zavese, mozes da naucis napamet anotacije i pokrenes brzo kod, ali nikad neces razumeti sta tacno radi. Treba imati strpljenja. Predlazem ucenje ovim redosledom
Osnove jezika, iz bilo koje knjige za to. Za Javu 8 odmah od pocetka.
Osnove servleta i web programiranja, kako rade web kontejneri.
Spring, ali od pocetka, znaci xml konfiguracija pa dalje. Za ovo slobodno uzmi knjigu za Spring 2, osnove se nisu nimalo promenile.

I uvek, u medjuvremenu, pre i posle svega ovoga knjigu Joshua Bloch-a Effective Java.
[ goropad @ 30.05.2016. 11:46 ] @
Kad vec pricate o javi, jedno moje pitanje, jel moze java kod da se kompajlira i da bude nezavisan od virtuelne masine, da program bude izvrsan tipa .exe
[ djordje1979 @ 30.05.2016. 12:45 ] @
http://launch4j.sourceforge.net/
[ djoka_l @ 30.05.2016. 13:00 ] @
Može da se napravi exe, kao što je napisao moj imenjak.
NE MOŽE da bude nezavisan od virtuelne mašine - čak i onaj gornji program zahteva da se na sistemu nalazi JRE ili JDK.
[ goropad @ 30.05.2016. 13:50 ] @
Hvala djoko, to me je zanimalo. Znaci stari programi koji se oslanjaju samo na srz os-a vise se ne prave. Ili treba .net ili jre ili trista cuda :)
[ jablan @ 30.05.2016. 14:23 ] @
I ti programi koji "se oslanjaju na srž OS-a" zahtevaju brdo biblioteka, tako da nema tu neke velike razlike. Samo posmatraj JRE ili .NET kao deo OS-a (zapravo, koliko znam, .NET i dolazi uz OS). :)
[ banesss @ 30.05.2016. 21:31 ] @
@vukdj Slazem se u potpunosti.

Kolega gibaracione je ostavio utisak da je nestrpljiv i da zeli da ima vidljive rezultate sad i odmah, te sam mu iz tog razloga predlozio spring-boot.
Ukoliko je cilj razumevanje kompletnog procesa, a ne na tacni dobiti stotinak konfiguracionih bean-ova koje spring boot nudi out of the box,
onda bih preporucio da zaobidje spring i hibernate u potpunosti i krene sa core javom, klasicnim jdbc,prepared statementima i nativ sql, pa lagano,kada bude spreman, napreduje preko spring mvc do spring boot-a.
Sto se tice vremena potrebnog za sticanje upotrebljivog znanja. 12 - 18 meseci ozbiljnog rada za poziciju junior programera (moje misljenje. Not necessarily a fact!:).



[ Mister Big Time @ 30.05.2016. 23:36 ] @
Citat:
goropad:
Hvala djoko, to me je zanimalo. Znaci stari programi koji se oslanjaju samo na srz os-a vise se ne prave. Ili treba .net ili jre ili trista cuda :)


Upravo su ogromjace zvane Java i .NET glavni krivci za takav iskrivljen pogled na svet gde sve mora biti glomazno i sa 8 GB RAM-a za aplikaciju koju dobar C programer napise u 250 KB i jos ga staticki linkuje (bundle) i vozi.


[ Ivan Dimkovic @ 30.05.2016. 23:50 ] @
Pomenu vec jablan, evo da i ja dodam: prakticno svaka komercijalna aplikacija pisana i u C-u (zapravo C++-u, sumnjam da ima puno ANSI-C novih stvari na PC-u bar) danas ce linkovati gomilu framework-a i imati brdo biblioteka sve u svemu zauzimajuci desetine ili stotine (ili cak vise) MB na disku sa svim tim stvarima.

U 250 KB staticki linkovano moze da stane jako malo optimizovanog (za brzinu) native koda, sama CRT biblioteka ce zauzimati bar nekoliko desetina KB, ostalo je kod - pricamo mozda o nekoliko desetina hiljada linija max. sto je nista za danasnje pojmove.

Pricam o regularno pisanom kodu, ne o nekom takmicenju za 4K intro ili sl. - dakle, sa svim "overheadom" koji je posledica modernog rapidnog razvoja.

Osim ako neko nije optimizovao bas za footprint, a to nema komercijalnog smisla za generalne aplikacije, pojesces stotine MB okreni-obrni, bilo da je Java, .NET ili C++, samo sto neces platiti na mostu - platices na cupriji :)

Mislim to je moje misljenje, nekog ko i dalje pise svoje stvari u C/C++-u umesto da ih... sta znam... skriptuje u Pythonu kao sav posten svet.
[ goropad @ 31.05.2016. 00:03 ] @
Jos bih dodao, a slazem se da su java i .net ogromnjace, kao i svi ti silni frimevorci, a cuce kao leglo potencijalnih virusa...nego bih dodao, da je nekada bilo kupis kompjuter i cekas novi softver da bi sve bilo bolje i lepse, danas svaki novi softver vuce za sobom i najnoviji hardver, tako da mozemo zakljuciti da se softver mnogo brze razvija od hardvera, nekad je bilo obrnuto. I tu je cela problematika, sigurno je lakse kupiti kompjuter i cukati nesto do iznemoglosti, nesto se i nauci, nego cepati mozak sa mikro i nanotehnologijama i ko zna cim vise...

no to je globalni fenomen, vazno je da se pare trose a i megabajti, sto na hardu, sto u mrezi, sve nam je malo :)

i da svakim apdejtom sve mi je teze i teze, onako na dusi :)
[ jablan @ 31.05.2016. 10:12 ] @
Citat:
Mister Big Time:
Upravo su ogromjace zvane Java i .NET glavni krivci za takav iskrivljen pogled na svet gde sve mora biti glomazno i sa 8 GB RAM-a za aplikaciju koju dobar C programer napise u 250 KB i jos ga staticki linkuje (bundle) i vozi.

Evo upravo sam iskompajlirao minimalnu Java GUI aplikaciju odavde: http://www.javapractices.com/topic/TopicAction.do?Id=231

Kompajlirani fajl ima nešto preko jednog KILOBAJTA. I kompajler i rantajm sam već imao na mašini, iako se ne bavim Java programiranjem.
[ Bynor @ 01.06.2016. 14:19 ] @
Preporucuje neko od vas projekat recimo sa git huba za ucenje? Preporucio bih svima da grade profil na stackoverflow.com sto podrazumeva resavanje problema i dobijanje ocene za isto.