Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Zanimljiv
  • Programiranjem java. Obuka programiranja na JAVA

Programiranjem java. Obuka programiranja na JAVA

  • 2 mjeseca Java EE obuke (2 puta tjedno po 4 sata)
  • ako pokažeš dobre rezultate (uspješno obraniš svoj projekt koji pišeš ova dva mjeseca), onda ti se nudi posao.
Firma je jako dobra, strana, poznata, a uvjeti za rad su odlični - jednom riječju, želio sam otići tamo puno više nego tamo gdje su mi već dali ponudu. Proces odabira uključivao je 3 faze:
  1. Obavljanje praktičnih zadataka kod kuće.
  2. Ako bude uspješan, bit ćete pozvani na kompjutersko testiranje u uredu.
  3. U slučaju uspješnog testiranja, obavit ćemo razgovor isti dan.
S praktični zadaci snašao sam se i bez posebne probleme- ovdje puno hvala JavaRushu i njihovim zadacima, nakon čega su se ovi zadaci činili prilično jednostavnima. Postojala su 3 zadatka: o RegExpu (Google je pomogao, jer ih ja nisam mogao podnijeti i nisam ih zapamtio), o algoritmima (prilično jednostavno, više kao mislilac) i o pisanju/čitanju iz datoteke (postoje puno takvih na tečaju JavaRush). Pozvan sam na kompjutersko testiranje. Pripremio sam se za testiranje na upitnoj stranici. Ovi testovi su puno pomogli, neka su se pitanja na kraju čak i ukrstila. Test sam uspješno položio, počeli su me intervjuirati. Vjerojatno nikada u životu neću zaboraviti ovaj intervju. Sve što je osoba koja me intervjuirala htjela čuti od mene bile su osnove teorije Jave, kao što su:
  • kako se provjerene iznimke razlikuju od neprovjerenih;
  • koje metode ima klasa Object i zašto su potrebne;
  • što su kolekcije i zašto su;
  • i malo o višenitnosti.
JavaRush je odličan tečaj, naučit će vas rješavati probleme i programirati, ali teoriju (za intervjue) treba učiti posebno, u što sam se uvjerio plivajući u ovim pitanjima kao riba u akvariju. Htjeli su me zamotati. Razumijem ga - gotovo ništa nisam mogao jasno odgovoriti, pokušao sam sve ispričati sa stajališta pisanja koda, a njega je zanimala teorija. Ali sigurno sam znao da stvarno želim ući u ovaj staž i znao sam da ću, ako mi se da vremena, sve nadoknaditi i naučiti nesretnu teoriju. Sve sam mu to ispričao, a on mi je krenuo u susret na pola puta - ponudio je da se ponovno nađemo za tjedan dana, ali za sada je dao popis tema (otprilike kako sam gore opisao) i rekao gdje se mogu naučiti - samo proročište tutorial, sadrži sve: http://docs.oracle.com/javase/tutorial/ Za tjedan dana sam temeljito proučio ovaj vodič i otišao na drugi intervju uoči dana kada se očekivalo da novi posao. Očigledno je osobu koja me intervjuirala najviše zahvatila moja odlučnost (znala sam da, ako uđem u ovaj staž, budućnost ovisi samo o meni – za dva mjeseca shvatit ću sve što trebam). Kako god bilo, ušao sam u ovaj pripravnički staž i odbio ići raditi na mjesto gdje mi je ranije ponuđeno. Tijekom 2 mjeseca upoznali smo se s mnogim temama iz Java EE, kao što su: Servleti, JSP, Hibernate JSF, Spring i još mnogo toga - nakon prakse bili smo upoznati (imali smo grubu ideju) o glavnom stacku Java tehnologije EE. Također, tijekom pripravničkog staža napisali smo vlastiti projekt koji smo na kraju morali uspješno prijaviti za zapošljavanje. Sjećam se samo svojih prvih osjećaja kad sam bila na prvom predavanju. Pogledao sam zadatak ovog projekta (izdan je odmah na prvom predavanju) i nisam ni razumio odakle početi i kako to učiniti. Sjećam se i što mi je trebalo da to uspješno napravim. Ova dva mjeseca gotovo sve misli u mojoj glavi bile su da je uspješno zaposlenje i ispunjenje sna u mojim rukama i ništa više. Nitko drugi nije ovisio o tome mogu li ja to učiniti. Samo od mene. Već sam dao otkaz, sjedio sam gotovo bez novca i bilo mi je jako teško. Sjedio sam ujutro, sjedio popodne, sjedio navečer, ali nisam se umorio od radovanja - ne sjećam se kada sam se još posvetio nečemu s takvom opsesijom. Ovo mi je vrijeme još jednom pomoglo da shvatim koliko volim programiranje i koliko bih voljela raditi na ovom području. Na maturi sam predstavio svoj projekt. Ja sam to jako dobro branio, očito puno bolje od očekivanog, a kao iznimka primljen sam ne na početnu poziciju, već odmah na poziciju Middle Java Developer. Bio je 9. prosinca 2014. Nisam mogao vjerovati, ali ponuda za posao bila je ispred mene na monitoru. Softverski inženjer. Ovo se dogodilo. 15. prosinca otišao sam na posao. Nikada mi se nije palo na pamet "prokletstvo, ne želim ići na posao." Svaki dan, izlazeći ujutro iz kuće, znam zašto idem na posao, što ću raditi i koliko to želim. Ovo je izuzetno ugodno. To je vrijedno toga i vrijedno cijene koju ste morali platiti da biste ostvarili svoj san. Svima vama koji zaista želite biti programeri želim da idete naprijed u postizanju svog cilja. To je više nego stvarno, vrlo je blizu, ali za to morate platiti. Platite izgubljenim vremenom, živcima, jer učiti nešto od nule stvarno nije najbolje lak korak. JavaGush mi je pomogao napraviti ove prve korake s lakoćom, a nisam okrenuo leđa programiranju na samom početku zbog prividne složenosti i obilja teorije. Na ovaj način sam uspio iznijeti svoju prilično ludu ideju ​​radikalne promjene područja profesionalna djelatnost(čak i u nedostatku tehničkog obrazovanja) do kraja. I definitivno možete.

navikli smo brzi pristup informaciji i njenoj jednako brzoj apsorpciji. Više volimo petominutne video zapise nego duboka predavanja i kratke članke od knjiga. neću to tvrditi dobra knjiga o programiranju će zamijeniti bilo koji članak, nije. I sigurno neće zamijeniti praksu. Ipak, pravo razumijevanje osnova programiranja steklo je meni osobno nakon što sam, nakon što sam riješio stotine problema na tečaju programiranja i pročitao gomilu članaka, počeo paralelno proučavati teoriju iz knjiga i zašao duboko u njih. Već neko vrijeme tražim svoj osobni "najbolji Java tutorial za početnike". U nastavku donosim nekoliko knjiga koje su mi u većoj ili manjoj mjeri bile korisne u različitim fazama mog studija. "Za male" Sljedeće dvije knjige možete početi čitati na početku studija, paralelno s videom, ili, ako učite na JavaRushu, zajedno s prvim razinama. Oni su, posebno prvi, prikladni za osobe bez znanja programiranja.

Vodite prvo Java

Počeo sam s ovom knjigom, ne zato što mi se najviše sviđa, već zato što je najjednostavnija. Ova knjiga, prema mišljenju mnogih programera, jest najbolji tutorial Java od nule. Štoviše, to je uistinu i potpuno "od nule", odnosno pogodno je za one koji tek počinju i ne razumiju baš o kakvoj je zvijeri riječ - programiranju. Došla mi je prekasno. Mislim da to zato nisam mogao cijeniti. “Samo čitam” bilo je vrlo ugodno, ali sam dugo u njemu morao tražiti nešto specifično. Materijal je tamo prikazan slikovito, ali prilično površno (jer od nule!) i jednostavno nema puno tema i potrebnih objašnjenja. No, moja prijateljica, koju je naslijedila, bila je oduševljena njome i povikala da ovo nije samo najbolji udžbenik Java za početnike, već svjetsko remek-djelo i tako treba prezentirati složeno gradivo. prednosti:
  • Najbolji Java tutorial od nule, za puni čajnici, napisano živim jezikom;
  • Cool ilustracije i humor;
  • Objašnjenja uz primjere iz stvarnog života.
Nedostaci:
  • Previše "vode" za one koji su već ušli u temu;
  • Ne uvijek uspješne zagonetke i vježbe.

Herbert Schildt. Vodič za početnike u Java 8

Nakon što sam prelistao ovaj tutorial, pomislio sam da bi bio dobar za one koji vole tradicionalniji prikaz materijala nego u Headfirst, a ujedno traže tutorial ispočetka. Ponegdje je prikaz u knjizi vrlo detaljan, podsjeća na proširenu i prevedenu dokumentaciju s dobrim dobri primjeri. Ponekad, što se mene tiče, autor prijeđe granicu i počne previše žvakati, postane dosadno čitati... i odjednom - salto - i neko prilično teško mjesto gotovo istog trena sklizne, a vi ste potpuno zbunjeni pokušavajući shvatiti što a gdje si promašio. Međutim, ovakvih mjesta u knjizi nema previše, a poznajem ljude koji misle da je Vodič za početnike najbolji Java tutorial za one koji još ništa ne znaju. Osobno mi se činilo da nije baš glatko. Recimo da počnem sortirati po zbirkama, a umjesto ljudskog objašnjenja, oni mi gurnu zadatak na samostalno stvaranje Postavite na temelju nizova. Sjajan zadatak, ali prvo bih želio bolje razumjeti što su standardne kolekcije! Iako se i ova knjiga, kao i prethodna, smatra početničkom početničkom, moje iskustvo kao učitelja sugerira da je dobra samo u kombinaciji s drugim materijalima: prebacivaču humanističkih znanosti neće sve biti jednostavno i razumljivo. Najbolje od svega, "Vodič za početnike" prikladan je za nekoga tko je, u najmanju ruku, predavao programiranje (primjerice, na sveučilištu), davno postigao na njemu, a pritom mu se sviđa autorov stil prezentacije . prednosti:
  • Tradicionalno promišljeno predstavljanje osnova;
  • Dobri primjeri.
Nedostaci:
  • Postoje "skokovi" od "previše sažvakanog" do "izostavljenog";
  • Na mjestima je dosadno.
Inače, Herbert Schildt ima još jednu poznatu knjigu o programiranju - “Java 8. Potpuni vodič". Ovo je sasvim drugačiji udžbenik, temeljniji. Idemo k njemu. Reference i prošireni vodiči Knjige u ovom dijelu bit će korisne onima koji su se već u potpunosti uključili i traže knjige za bolje razumijevanje teorije i prakse.

Herbert Schildt "Java 8. Potpuni vodič"

Odlučio sam preuzeti ovu knjigu s interneta kako bih je procijenio, a zatim - kupiti ili ne kupiti. Bez šale, 1300 stranica teksta! Pa, cijena je impresivna ništa manje od volumena. Isto sam učinio i s dvotomnom Professional's Library Kay Horstmann (više o tome u nastavku). Gledajući unaprijed, reći ću da sam se odlučio za drugu. Zašto? Jer u knjizi „Java. Kompletan vodič, vidio sam iste nedostatke kao i u Vodiču za početnike. Nekad se žvače, nekad zgužva, ali pritom nije samo zgužvana, nego nekako verbozno zgužvana. Vjerojatno je to autorov stil i mislim da će se nekome svidjeti, bolje rečeno, u smislu razmišljanja. Sve u svemu, "Java 8. Potpuni vodič" dobra je referenca za Javu. No osobno mi se više svidjelo predstavljanje istih tema u nekoj drugoj knjizi. prednosti:
  • Potpuni vodič. Čini se da ima sve teme koje početnik mora znati, a ne samo početnik.
  • Detaljna objašnjenja.
Nedostaci:
  • Puno vode (ali nekima bi se moglo svidjeti!);
  • Ruski prijevod nije najbolji.

Java. Profesionalna knjižnica, Kay S. Horstmann, Gary Cornell

Knjige Schildta i Horstmanna često se međusobno uspoređuju. Obojica imaju vjerne obožavatelje. Za mene je upravo Horstmannova dvotomna knjiga najbolji udžbenik Java. Također mi je postala referentna knjiga na početnoj i srednjoj razini JavaRusha. Kad nisam razumio neku temu, uglavnom sam se penjao na Horstmanna, a on je dosta toga razjasnio. Knjiga pokriva sve, od sintakse do višenitnog programiranja, lokalizacije aplikacija i rada s XML-om. I neka vas naziv "Knjižnica stručnjaka" ne uplaši (to je ono što me prestrašilo), osnove su ovdje prilično dobro posložene. Osim toga, korisno ga je povremeno ponovno čitati kako biste osvježili i pojednostavili znanje. Kažu da i profesionalci u tome pronađu nešto korisno... Ne znam. Postanite profesionalac - recite mi! prednosti:
  • Uz impresivan broj stranica - malo vode (za razliku od Schildta).
  • Sadrži sve što je potrebno početniku.
  • Otkriva Javu 8.
  • Dobar prikaz tema o zbirkama i genericima.
  • Vrlo dobro se slaže s JavaRushom. Dođite do teme, riješite probleme, u nekom trenutku nešto ne razumijete - gledajte Horstmanna, pokušajte ponovo.
Nedostaci:
  • Neki će možda misliti da je knjiga pomalo suha;
  • Nema prakse;
  • Ruski prijevod s greškama.

Java. Metode programiranja. Blinov, Romančik

Jednom sam pročitao na forumu da postoji takva knjiga "Industrijsko programiranje", i ima dobrih problema. Pokazalo se - nisu lagali. Pronašao sam njegovu PDF kopiju na bjeloruskoj web stranici EPAM-a. Tamo izdanje nije najnovije (na Javi 6), ali je knjiga napisana kao solidan sveučilišni udžbenik, odnosno ponegdje je prezentacija pomalo teška, akademska. ALI! Ima stvarno jako dobra kompilacija Zadaci programiranja na Javi, kao i testnih zadataka. Rečeno je da EPAM pripravnici uče iz ove knjige, a također su je usvojili i mnogi izvanmrežni Java tečajevi.

Tamo je pristup zadacima malo drugačiji od JavaRusha, odnosno u prosjeku su zadaci ovdje malo kompliciraniji i svaki od njih je nešto poput... ne mini, nego mikroprojekta. Stoga ga preporučam čak i studentima JavaRusha, budući da je nedostatak praktične strane kolegija to što su svi zadaci u njemu već u potpunosti osmišljeni i previše savjeta. Recimo da su mi OOP problemi iz ove zbirke pomogli da vrlo dobro razumijem ovaj OOP, zajedno s knjigama "trajnih klasika", o kojima pišem u nastavku. Knjiga je napisana kao za buduće "veslače", stoga opisuje Hibernate tehnologije za razvoj distribuiranih sustava, kao i Osnove HTML-a, XML, JavaScript. "Industrijsko programiranje" - ako ne najbolji Java tutorial, onda vrlo dobar tutorial. Ali na to morate doći već spremni. Recimo nakon desetak ili dvije razine JavaRusha. Kasnije sam otkrio njezino novije i revidirano izdanje, već pod nazivom „Java. Metode programiranja".

prednosti:
  • Izvrstan izbor zadataka i testnih zadataka;
  • Postoji službena osoba besplatna verzija(Vjerujem da je službeno, jer nije na nekom root trackeru, već na EPAM web stranici);
  • Usporedba s C++.
  • Prilika da shvatite što se događa u EPAM praksi.
Nedostaci:
  • Previše temeljno. Ali za ponavljanje s praksom - prikladno.
  • Nema Java 8.
Bezvremenski klasik Knjige o kojima pišem u nastavku mogu se nazvati svetim tekstovima za početnike i trajne Javiiste.

Učinkovita Java autora Joshue Blocha

Ovo je samo blago, a ne knjiga i posvećena je Osnovni principi jezik od jednog od njegovih autora Joshue Blocha. Najvjerojatnije ste već koristili njegove biblioteke (na primjer, u Java kolekciji). odmah ću reći: potpuni novajlije, osim nekim štreberima-brzičarima, knjiga Efektivna Java nije potrebna. Najprije je bolje naučiti sintaksu i barem malo vježbati programiranje, da tako kažem, "kako bi popunili neravnine", a zatim prihvatiti kreaciju Joshue Blocha. Knjiga će biti korisna onima koji žele istinski razumjeti Javu, formu pravi pristup kada programirate na ovom jeziku, razumjeti ne samo kako to učiniti, već i zašto to trebate učiniti na taj način. I također za one koji žele duboko razumjeti OOP (u principu, to su međusobno povezane stvari). Ova knjiga je najbolji Java udžbenik za objektno orijentirano programiranje. Prednosti
  • Sjajna prezentacija materijala na temu OOP-a.
  • S obzirom na to najbolje prakse programiranje.
  • Autor jako dobro poznaje Javu iznutra.
Nedostaci
  • Za sada nema prijevoda najnovijeg izdanja knjige (trećeg).

Filozofija Java, Bruce Eckel

Naslov ove knjige govori sam za sebe. Ovo je još jedna "alfa i omega" za sve koji žele poznavati Javu! U ovoj ćete knjizi pronaći dobre i jasne primjere, a iz njih ćete razumjeti kako Java radi. Teško mi je reći koja je od dvije knjige "Java Philosophy" ili " Učinkovito programiranje" - bolje je. Rekao bih da je Eckel nešto vjerniji početnicima, dok Bloch zahtijeva nekakvo iskustvo. Prvi put sam pročitao jedno poglavlje iz Java filozofije kad sam tek počeo učiti JavaRush (čini se da je na jednoj od ranih razina bio naveden u preporučenoj). Onda mi nije došla. Ali nakon razine 10 ili 12 - to je bila pjesma! I, reći ću, vrlo korisna pjesma. Na to sam se vratio kasnije, kada sam došao na Učinkovito programiranje. Dopustite mi da to kažem ovako: neka Bloch i Eckel govore o istoj stvari, ali na različite načine, i daju različite primjere. Prednosti
  • Duboko izlaganje Java principa od profesionalca;
  • Bit će dobro za one koji prelaze s drugih jezika - postoje mnoge usporedbe s C ++, na primjer.
  • Čini mi se da ga možete početi čitati od razine 10, ali Eckel - malo kasnije.
Nedostaci
  • Vrlo neuspješni prijevodi na ruski;
  • Nedostatak novog izdanja knjige na ruskom jeziku.

Kratki zaključci

  1. Najbolji Java tutorial od nule za one koji ne znaju baš ništa - Head First Java;
  2. Najbolji Java udžbenik i priručnik je The Pro's Library. I, naravno, Oracle dokumentacija.
  3. Najbolja zbirka zadataka Java programiranja - JavaRush. Pa, među knjigama - “Java. Metode programiranja.
  4. Najbolji trajni klasici su "Java Philosophy" i "Effective Java". Ovo je obavezno štivo za sve koji odluče razumjeti sve stvarno, za duboko razumijevanje. Ali bolje ih je čitati postupno i uz dogovor.
  5. Dodatni zaključak: postoji mogućnost - čitajte na engleskom. Ruski prijevodi su uglavnom vrlo slabi.

Pozdrav dragi čitatelju. Dugo sam želio napisati sličan članak, ali ili nije bilo dovoljno vremena, ili se umiješala izdajnička lijenost. No, kako god bilo, ipak sam uspio sabrati misli kako bih napisao nešto što će vam donijeti, nadam se, neku korist. Svoje znanje i iskustvo ću rado podijeliti, a vama zauzvrat pripada vrijeme i pažnja. Po mom mišljenju, ovu publikaciju pogodno za one koji su spremni odlučivati ​​u svojim interesima i žele povezati svoje živote s IT - na ovaj ili onaj način. Pa, idemo!

Odabir programskog jezika

Publikacija počinje izgledati kao mnogi slični materijali. Prema zakonu žanra, morat ću napisati naziv para od tri programska jezika, navesti nekoliko prednosti i nedostataka i, kao rezultat, bez odgovora na pitanje, prijeći na sljedeći dio. Djelomično ima i istine u tome, jer svatko za sebe bira jezik koji mu je bliži, na temelju toga kakvu vrstu proizvoda želi razvijati u budućnosti. Većina vas je u školi učila Turbo Pascal i teško da će vam biti novost da se sada gotovo ništa ne piše na ovom jeziku. Dakle u ovaj slučaj, jezik trebate birati mudro, iako znanja nikad nema puno, no ako se želite u kratkom vremenskom razdoblju učinkovito svrstati u red programera, izboru jezika se mora pristupiti mudro. Na samom početku zapamtite: dobar programer nikada neće biti gladan, au većini slučajeva moći će kupiti puno kavijara(ova je definicija prikladna za bilo koju specijalnost, ali niti jedna specijalnost vam neće dati takvu slobodu u odabiru mjesta rada, kako u smislu tvrtki tako i zemalja - on je programer i programer u Indiji).

Logično je da što je jezik popularniji i potražnja, veća je vjerojatnost da će se u budućnosti naći posao, a jezik bi trebao biti lak za učenje. Jer iako pišu na C ++ veliki broj igre i dobiti dobar novac za to, početnik, pogotovo ne upoznat s OOP-om (objektno orijentirano programiranje), bolje je staviti ovaj jezik k vragu na neko vrijeme. Na sljedećoj poveznici nalazi se popis najpopularnijih programskih jezika u 2014. godini, a kao što vidite, na prvom mjestu je Java, zatim C jezici, zatim Phyton, JavaScript, PHP, Ruby itd. Ako sami tražite takvu statistiku, to ćete vidjeti različiti izvori mjesta su zauzeta na različite načine, ali općenito će prvih 10 mjesta u sadržaju biti svugdje isto.

Ako se obratite drugom, što se temelji na analizi slobodnih radnih mjesta objavljenih na Twitteru, vidjet ćete vrlo sličnu situaciju s prvim primjerom. I da, oba članka su na engleskom, naviknite se, ako želite postati programer, zapamtite da je gotovo sva dokumentacija i izvori korisna informacija su napisane na engleskom, pa ako je vaše znanje ovog jezika prilično slabo, dodajte na svoj popis obaveza za sutra i za blisku budućnost da naučite i vježbate engleski. Mislim da ću čak napisati poseban članak o učenju stranog jezika.

Na temelju ova dva izvora već možemo zamisliti koji su programski jezici sada "u modi". Kao što ime govori, autor članka za sebe je odabrao Javu. Iako ga smatram najboljim za učenje OOP-a, ima mnogo ljudi koji se neće složiti sa mnom, i to je logično – koliko ljudi toliko i mišljenja. Ovdje smo na malom raskrižju: odaberite Java, C# (jako sličan Javi), Phyton, ako želimo raditi s punjenjem programa i aplikacija (back-end) ili PHP, JavaScript, HTML, ako želimo raditi web razvoj (front-end). U prvom slučaju odabrao bih Javu, a u drugom PHP, iako opet, više je po vašem ukusu, morate tražiti informacije o raznim jezicima i općenito razumjeti što želite učiniti. Za razmišljanje, ovdje je izbor jezika koji se koriste u najvećim internetskim tvrtkama na svijetu.

Dva su glavna razloga zašto bih izabrao ili Javu ili PHP. Prvi su jako popularni jezici i neće biti teško pronaći odgovarajući posao, a drugi je da ni na jednom drugom jeziku nećete naći toliko nastavnog materijala kao na ova dva, i na ruskom i na engleskom.

Obrazovanje

Dakle, došli smo do faze u koju većina ljudi dolazi bez problema, ali ovo razdoblje je s pravom jedno od najtežih u karijeri programera. Iako programer uči cijeli život, vrijeme kada počinje činiti prve korake uvelike određuje njegovu daljnju sudbinu. Općenito, trening testira osobu na snagu, hoće li izdržati, neće li izgubiti interes za mjesec dana (kao što neki ljudi čine), hoće li moći doći do kraja i savladati osnovno znanje, na koji će se tada naslagati čitavi slojevi informacija.

Općenito, imam svoju teoriju, koju sam više puta potvrdio u praksi: Apsolutno sve se može naučiti za 1 godinu.. Vjerujte mi, ovo je apsolutna istina, nekima će možda trebati i manje vremena, ali ako čovjek godinu dana ne prestane odustajati i mudro pristupi učenju, onda mu je gotovo nemoguće ne naučiti. To nije samo u programiranju, u apsolutno bilo kojem području: ako želite svirati gitaru - nema problema (nije mi trebalo puno vremena i truda), naučite argentinski tango, surfajte - sve će to trajati godinu dana. Glavna stvar je naučiti!

U ovom slučaju razmotrit ću jezik Java, budući da mi je još bliži. Srećom, internet je prepun ljudi koji doniraju kako bi pomogli drugima u učenju, pa vam nije teško pronaći pravi materijal za vas. , koju možete gledati kroz zidove svog udobnog stana olovkom i papirom (zasad samo na ruskom). Za one koji su navikli čitati materijal koji se prenosi, opet, internet pruža velike prilike a ovo je samo jedno od mnogih web-mjesta s uputama za Java. Postoji više nego dovoljno teorija, ali ne mogu reći o takvoj web stranici za obuku kao što je Coursera.org, gdje možete pronaći tečajeve na raznim jezicima i raznim područjima, uključujući programiranje - opet, sve je apsolutno besplatno. Ne postoje jedna ili dvije takve stranice, samo trebate pogledati.

No, koliko god teorija bila kognitivna, programiranje ne može bez prakse. No i ovdje je pola posla već obavljeno za nas i nema potrebe tražiti razne zadatke za usavršavanje naših vještina, servis poput JavaRush-a će u tome puno pomoći. Općenito, ova stranica nudi i teoriju i praksu, počevši od jednostavnog umnožavanja koda s ekrana i završavajući složenim zadacima, pa čak nudi i opuštanje i gledanje zloglasne animirane serije tijekom pauza. Prema riječima autora, oni koji su dosegli razinu 20 u službi imat će dovoljno znanja da se zaposle u IT tvrtki.

I naravno, netko će pitati, ali što je s knjigom? Nije li ih potrebno pročitati, a ako treba, što onda? Na to ću odgovoriti da nitko nikad nije postao gluplji od čitanja knjiga. Ima i dosta knjiga, ali navest ću samo mali dio njih:

Pomoć u praksi

Kao što je već spomenuto, praksa je sastavni dio svakog treninga, posebno u programiranju. Ovdje morate kodirati i kodirati, sve do mišićne memorije vaših prstiju. Ovo je, naravno, malo pretjerano, ali u početku ćete stvarno morati jako udarati po tipkama kako biste zapamtili značenja raznih struktura, tako da ćete ih u budućnosti koristiti gotovo automatski.

Mnogi programeri početnici u početku imaju mnogo pitanja, posebno kada to učiniti samostalan zadatak. Ovo je u redu. Ali u takvim situacijama morate shvatiti da se na gotovo svako pitanje koje imate može odgovoriti na internetu. Malo je vjerojatno da ćete prvi naići na to, stoga nemojte žuriti postavljati pitanja na raznim forumima programera (o čemu ću pisati malo kasnije). Sjednite na minutu, ispravno formulirajte problem u svojoj glavi i hrabro ga potražite u tražilici. Sigurno će većina tražiti na ruskom, ali ne zaboravite da je jezik programera engleski, pa ako niste pronašli odgovor u velikom i moćnom, trebali biste potražiti na jeziku koji su svi učili u školi, ali nikada nisu naučili . Ali ako se i u ovom slučaju pokazalo da nigdje nema odgovora na vaše pitanje, u bitku ulaze najbolji internetski forumi:

  • Cyberforum - po mom mišljenju, najpopularniji IT forum na ruskom govornom području, ovdje možete pronaći odgovore na pitanja, i to ne samo iz područja programiranja;
  • Forum programera - veliki forum na ruskom jeziku;
  • Searchengines je zloglasan forum, ali je više specijaliziran za web programiranje;
  • Stack overflow - i ne bojim se ovih riječi, ovo je najpopularniji IT forum na svijetu, ovdje ćete pronaći odgovore na gotovo sva vaša pitanja;
  • Dev shed je također veliki engleski forum;
  • Quora je forum koji nije izravno specijaliziran za programiranje, ali Velika prilika da ćete dobiti odgovor od pravog profesionalca.

Forumi su, naravno, jedini način dobiti odgovore na svoja pitanja. U svojoj praksi programeri posvuda rade s službenikom dokumentacija jezik na kojem pišu. Opisuje kako funkcioniraju određene klase i sučelja, ponekad je dokumentacija jedini izvor koji može pomoći u rješavanju problema, jer je to samo na početno stanje svi imaju slična pitanja i mogu se naći bez problema rješenja po principu ključ u ruke, ali što više ulaziš u divljinu, sve je teže i teže pronaći odgovore, pa se moraš osloniti na svoju, nadam se, već pametnu glavu.

Sastavljanje koda

Napisao sam već dosta toga, naravno, teško je obraditi tako veliku temu u okviru jednog članka, ali mislim da su prvi koraci već napravljeni i da bi u vama trebali izazvati odgovarajuća razmišljanja. Mislim da je ovo tek prvi članak u seriji "Kako postati programer" i, sukladno tome, "zašto?", ako ste na raskrižju i još ne znate kojim putem krenuti. Sljedeći put ću se dotaknuti materijalno zanimljivijih stvari, nije tajna da programeri nisu jadni ljudi, a gdje će i koliko će dobiti, vidjet ćemo sljedeći put.

Za kraj, za one koji žele zaista postati programer, želim da uhvatite bika za rogove, skupite svu svoju volju u šaku i radite što želite. Prije mene je to već tisuću puta rečeno, ali ponavljam, glavno je želja i rad. Tada će vam sve uspjeti. Zapamtite najvažnije: učiti programske jezike i razne tehnologije ne kao cilj, nego kao SREDSTVO. Zamislite samo mogućnosti koje se otvaraju pred vama. Možda ćete postati jedan od onih koji mijenjaju svijet u stvarnom vremenu. Pa sretno i hvala na gledanju!

Video bonus

Oznake: Dodajte oznake

Programiram na Javi već 7 godina. Ali na poslu često morate trenirati novu generaciju. S tim u vezi odlučio sam napraviti neku cheat sheet, koja će, nadam se, biti korisna za Habrchana. Ako netko može pomoći dopuniti informacije iz ovog članka nečim, onda pišite! Tako:

Osnovni resursi za početno učenje

  • www.javable.com - stranica sa člancima i tutorialom o Javi Sve je uglavnom na ruskom jeziku.
  • www.exampledepot.com - vrlo koristan resurs gdje se prikupljaju kratki primjeri korištenje klasa za određene pakete
  • java.sun.com - ne možete bez izvornog izvora. Za svakog Java programera, JavaDoc bi trebao biti konačna istina. Također ovdje možete pronaći niz tutorijala o svim mogućim temama.

Osnovni Java paketi

Ispod je popis Java paketa koje bi programer trebao tečno poznavati. Preporuča se upoznati s njima i putem JavaDocsa i uz pomoć www.exampledepot.com. Svi paketi su raspoređeni prema preporučenom redoslijedu za proučavanje. Dakle:
  1. java.lang je temelj osnova. Svaki razred u ovom paketu zahtijeva posebnu pažnju.
  2. java.io - nijedan program ne može bez I/O operacija.
  3. java.util - Paket u osnovi sadrži sve što vam je potrebno za rad s zbirkama: zbirka, nabrajanje, skup, popis, karta itd. itd.
  4. java.net - sadrži glavne klase za rad s mrežom.
  5. java.text - sve što vam je potrebno za formatiranje teksta
  6. java.lang.reflect - Java ne bi bila Java da nije Reflection Reflection briše granicu između podataka i koda.
  7. javax.sql - sve što vam je potrebno za rad s bazama podataka
  8. javax.xml.* , org.w3c.dom.* , org.xml.sax.* - rad s XML-om jednostavno je nezamisliv bez ovih paketa

Resursi za proširenje vidika

  • onjava.com - prije ili kasnije, sve vijesti iz svijeta Java završe ovdje
  • www.javaspecialists.eu - resurs koristan i za početnike i za napredne programere, jer sadrži mnogo članaka o zamršenostima rada s Javom.
  • www.theserverside.com - Preporuča se pretplatiti se na RSS, jer vrlo zanimljive stvari o Javi često prolaze kroz njih.

Java knjižnice koje bi svi trebali znati

Java ne završava samo poznavanjem značajki JSDK. Da biste se osjećali ugodno, morate poznavati desetak ili dvije korištene knjižnice trećih strana Java programeri svugdje, posvuda. Pa počnimo s osnovama:
  • Commons Lang – ono što je „zaboravljeno“ uključiti u JDK
  • Commons Math je izvrstan dodatak java.math
  • Commons Logging - sječa mora biti kompetentna. Da bi System.out.println prikazivao zapisnike, programeri početnici bi trebali odsjeći ruke nakon tjedan dana obuke.

Pozdrav dragi čitatelju. Dugo sam želio napisati sličan članak, ali ili nije bilo dovoljno vremena, ili se umiješala izdajnička lijenost. No, kako god bilo, ipak sam uspio sabrati misli kako bih napisao nešto što će vam donijeti, nadam se, neku korist. Svoje znanje i iskustvo ću rado podijeliti, a vama zauzvrat pripada vrijeme i pažnja. Po mom mišljenju, ova je publikacija prikladna za one koji su spremni odlučivati ​​u svojim interesima i žele povezati svoje živote s IT - na ovaj ili onaj način. Pa, idemo!

Odabir programskog jezika

Publikacija počinje izgledati kao mnogi slični materijali. Prema zakonu žanra, morat ću napisati naziv para od tri programska jezika, navesti nekoliko prednosti i nedostataka i, kao rezultat, bez odgovora na pitanje, prijeći na sljedeći dio. Djelomično ima i istine u tome, jer svatko za sebe bira jezik koji mu je bliži, na temelju toga kakvu vrstu proizvoda želi razvijati u budućnosti. Većina vas je u školi učila Turbo Pascal i teško da će vam biti novost da se sada gotovo ništa ne piše na ovom jeziku. Dakle, u ovom slučaju jezik trebate birati mudro, iako znanja nikad nema puno, ali ako se želite u kratkom roku učinkovito ubaciti u red programera, izboru jezika se mora pristupiti mudro. Na samom početku zapamtite: dobar programer nikada neće ostati gladan, a u većini slučajeva moći će sebi kupiti puno kavijara(ova je definicija prikladna za bilo koju specijalnost, ali niti jedna specijalnost vam neće dati takvu slobodu u odabiru mjesta rada, kako u smislu tvrtki tako i zemalja - on je programer i programer u Indiji).

Logično je da što je jezik popularniji i potražnja, veća je vjerojatnost da će se u budućnosti naći posao, a jezik bi trebao biti lak za učenje. Jer, iako je velik broj igara napisan na C ++ i za to se dobro zarađuje, bolje je za početnika, posebno neupoznatog s OOP-om (objektno orijentirano programiranje), ovaj jezik nakratko staviti k vragu. Na sljedećoj poveznici nalazi se popis najpopularnijih programskih jezika u 2014. godini, a kao što vidite, na prvom mjestu je Java, zatim C jezici, zatim Phyton, JavaScript, PHP, Ruby itd. Ako sami tražite takvu statistiku, vidjet ćete da su mjesta različito zauzeta u različitim izvorima, ali općenito će se prvih 10 mjesta u sadržaju posvuda poklapati.

Ako se obratite drugom, što se temelji na analizi slobodnih radnih mjesta objavljenih na Twitteru, vidjet ćete vrlo sličnu situaciju s prvim primjerom. I da, oba članka su na engleskom, naviknite se, ako želite postati programer, zapamtite da su gotovo sva dokumentacija i izvori korisnih informacija napisani na engleskom, pa ako vam je poznavanje ovog jezika prilično slabo, dodajte sami na vaš popis obaveza za sutra i blisku budućnost da naučite i vježbate engleski. Mislim da ću čak napisati poseban članak o učenju stranog jezika.

Na temelju ova dva izvora već možemo zamisliti koji su programski jezici sada "u modi". Kao što ime govori, autor članka za sebe je odabrao Javu. Iako ga smatram najboljim za učenje OOP-a, ima mnogo ljudi koji se neće složiti sa mnom, i to je logično – koliko ljudi toliko i mišljenja. Ovdje smo na malom raskrižju: odaberite Java, C# (jako sličan Javi), Phyton, ako želimo raditi s punjenjem programa i aplikacija (back-end) ili PHP, JavaScript, HTML, ako želimo raditi web razvoj (front-end). U prvom slučaju bih odabrao Javu, a u drugom PHP, iako opet, ovo je više po vašem ukusu, već morate tražiti informacije o raznim jezicima ​​​i općenito razumjeti što želite raditi. Za razmišljanje, ovdje je izbor jezika koji se koriste u najvećim internetskim tvrtkama na svijetu.

Dva su glavna razloga zašto bih izabrao ili Javu ili PHP. Prvi su jako popularni jezici i neće biti teško pronaći odgovarajući posao, a drugi je da ni na jednom drugom jeziku nećete naći toliko nastavnog materijala kao na ova dva, i na ruskom i na engleskom.

Obrazovanje

Dakle, došli smo do faze u koju većina ljudi dolazi bez problema, ali ovo razdoblje je s pravom jedno od najtežih u karijeri programera. Iako programer uči cijeli život, vrijeme kada počinje činiti prve korake uvelike određuje njegovu daljnju sudbinu. Općenito, trening ispituje osobu na snagu, hoće li izdržati, neće li izgubiti interes za mjesec dana (kao što neki ljudi čine), hoće li moći doći do kraja i savladati osnovna znanja, na kojima se nanose čitavi slojevi. informacija će tada biti slojevita.

Općenito, imam svoju teoriju, koju sam više puta potvrdio u praksi: Apsolutno sve se može naučiti za 1 godinu.. Vjerujte mi, ovo je apsolutna istina, nekima će možda trebati i manje vremena, ali ako čovjek godinu dana ne prestane odustajati i mudro pristupi učenju, onda mu je gotovo nemoguće ne naučiti. To nije samo u programiranju, u apsolutno bilo kojem području: ako želite svirati gitaru - nema problema (nije mi trebalo puno vremena i truda), naučite argentinski tango, surfajte - sve će to trajati godinu dana. Glavna stvar je naučiti!

U ovom slučaju razmotrit ću jezik Java, budući da mi je još bliži. Srećom, internet je prepun ljudi koji doniraju kako bi pomogli drugima u učenju, pa vam nije teško pronaći pravi materijal za vas. , koju možete gledati kroz zidove svog udobnog stana olovkom i papirom (zasad samo na ruskom). Za one koji su navikli čitati gradivo, opet internet pruža velike mogućnosti i ovo je samo jedna od raznih stranica s Java lekcijama. Teorija je više nego dovoljno, ali ne mogu reći za takvu stranicu za obuku kao što je Coursera.org, gdje možete pronaći tečajeve za obuku na raznim jezicima ​​​​​i u raznim područjima, uključujući programiranje - opet, sve je apsolutno besplatno . Ne postoje jedna ili dvije takve stranice, samo trebate pogledati.

No, koliko god teorija bila kognitivna, programiranje ne može bez prakse. No i ovdje je pola posla već obavljeno za nas i nema potrebe tražiti razne zadatke za usavršavanje naših vještina, servis poput JavaRush-a će u tome puno pomoći. Općenito, ova stranica nudi i teoriju i praksu, počevši od jednostavnog umnožavanja koda s ekrana i završavajući složenim zadacima, pa čak nudi i opuštanje i gledanje zloglasne animirane serije tijekom pauza. Prema riječima autora, oni koji su dosegli razinu 20 u službi imat će dovoljno znanja da se zaposle u IT tvrtki.

I naravno, netko će pitati, ali što je s knjigom? Nije li ih potrebno pročitati, a ako treba, što onda? Na to ću odgovoriti da nitko nikad nije postao gluplji od čitanja knjiga. Ima i dosta knjiga, ali navest ću samo mali dio njih:

Pomoć u praksi

Kao što je već spomenuto, praksa je sastavni dio svakog treninga, posebno u programiranju. Ovdje morate kodirati i kodirati, sve do mišićne memorije vaših prstiju. Ovo je, naravno, malo pretjerano, ali u početku ćete stvarno morati jako udarati po tipkama kako biste zapamtili značenja raznih struktura, tako da ćete ih u budućnosti koristiti gotovo automatski.

Mnogi programeri početnici isprva imaju velik broj pitanja, osobito kada trebaju izvršiti samostalan zadatak. Ovo je u redu. Ali u takvim situacijama morate shvatiti da se na gotovo svako pitanje koje imate može odgovoriti na internetu. Malo je vjerojatno da ćete prvi naići na to, stoga nemojte žuriti postavljati pitanja na raznim forumima programera (o čemu ću pisati malo kasnije). Sjednite na minutu, ispravno formulirajte problem u svojoj glavi i hrabro ga potražite u tražilici. Sigurno će većina tražiti na ruskom, ali ne zaboravite da je jezik programera engleski, pa ako niste pronašli odgovor u velikom i moćnom, trebali biste potražiti na jeziku koji su svi učili u školi, ali nikada nisu naučili . Ali ako se i u ovom slučaju pokazalo da nigdje nema odgovora na vaše pitanje, u bitku ulaze najbolji internetski forumi:

  • Cyberforum - po mom mišljenju, najpopularniji IT forum na ruskom govornom području, ovdje možete pronaći odgovore na pitanja, i to ne samo iz područja programiranja;
  • Forum programera - veliki forum na ruskom jeziku;
  • Searchengines je zloglasan forum, ali je više specijaliziran za web programiranje;
  • Stack overflow - i ne bojim se ovih riječi, ovo je najpopularniji IT forum na svijetu, ovdje ćete pronaći odgovore na gotovo sva vaša pitanja;
  • Dev shed je također veliki engleski forum;
  • Quora nije forum za kodiranje, ali postoji velika šansa da ćete dobiti odgovor od pravog profesionalca.

Forumi, naravno, nisu jedini način da dobijete odgovore na svoja pitanja. U svojoj praksi programeri posvuda rade s službenikom dokumentacija jezik na kojem pišu. Opisuje kako funkcioniraju određene klase i sučelja, ponekad je dokumentacija jedini izvor koji može pomoći u rješavanju problema, jer tek u početnoj fazi svi imaju slična pitanja i lako možete pronaći gotova rješenja, ali što dalje idete u džunglu, sve je teže i teže pronaći odgovore, pa se morate osloniti na svoju, nadam se, već pametnu glavu.

Sastavljanje koda

Napisao sam već dosta toga, naravno, teško je obraditi tako veliku temu u okviru jednog članka, ali mislim da su prvi koraci već napravljeni i da bi u vama trebali izazvati odgovarajuća razmišljanja. Mislim da je ovo tek prvi članak u seriji "Kako postati programer" i, sukladno tome, "zašto?", ako ste na raskrižju i još ne znate kojim putem krenuti. Sljedeći put ću se dotaknuti materijalno zanimljivijih stvari, nije tajna da programeri nisu jadni ljudi, a gdje će i koliko će dobiti, vidjet ćemo sljedeći put.

Za kraj, za one koji žele zaista postati programer, želim da uhvatite bika za rogove, skupite svu svoju volju u šaku i radite što želite. Prije mene je to već tisuću puta rečeno, ali ponavljam, glavno je želja i rad. Tada će vam sve uspjeti. Zapamtite najvažnije: doživljavaju proučavanje programskih jezika i raznih tehnologija ne kao cilj, već kao SREDSTVO. Zamislite samo mogućnosti koje se otvaraju pred vama. Možda ćete postati jedan od onih koji mijenjaju svijet u stvarnom vremenu. Pa sretno i hvala na gledanju!

Video bonus

Oznake:

  • kako postati programer
  • naučiti programirati
  • nauči java
Dodaj oznake

Vrhunski povezani članci