Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Zanimljivo
  • Java programiranjem. Obuka za JAVA programiranje

Java programiranjem. Obuka za JAVA programiranje

  • 2 mjeseca Java EE obuke (2 puta sedmično po 4 sata)
  • ako pokažete dobre rezultate (uspješno odbranite svoj projekat koji ste pisali ova dva mjeseca), onda vam se nudi posao.
Firma je jako dobra, strana, poznata, a uslovi za rad su odlični – ukratko, želeo sam da odem tamo mnogo više od mesta gde su mi već dali ponudu. Selekcija za obuku sa njom se odvijala u 3 faze:
  1. Obavljanje praktičnih zadataka kod kuće.
  2. Ako bude uspješan, pozvani ste na kompjutersko testiranje u kancelariji.
  3. Ako test bude uspješan, bit ćete intervjuisani istog dana.
WITH praktični zadaci Uspeo sam i bez posebne probleme- ovdje puno hvala JavaRush-u i njihovim zadacima, nakon čega su se ovi zadaci činili prilično jednostavnima. Postojala su 3 zadatka: o RegExp-u (Google je pomogao, jer ih ni sam nisam mogao podnijeti i nisam zapamtio), o algoritmima (prilično jednostavno, više mentalna vježba) i o pisanju/čitanju iz datoteke (postoje puno ovih u kursu JavaRush). Pozvan sam na kompjutersko testiranje. Pripremio sam se za testiranje koristeći web stranicu quizful. Ovi testovi su mnogo pomogli, neka pitanja su se čak i preklapala. Test sam uspješno položio i počeli su me intervjuirati. Vjerovatno nikada u životu neću zaboraviti ovaj intervju. Sve što je osoba koja me intervjuisala željela da čuje od mene bile su osnove teorije Jave, kao što su:
  • koja je razlika između provjerenih izuzetaka i neprovjerenih;
  • koje metode ima klasa Object i zašto su potrebne;
  • koje vrste zbirki postoje i zašto postoje;
  • i malo o višenitnosti.
JavaRush je odličan kurs, naučit će vas rješavati probleme i programirati, ali teoriju (za intervjue) je potrebno učiti posebno, u što sam se uvjerio plivajući u ovim temama kao riba u akvarijumu. Hteli su da me umotaju. Razumijem ga - gotovo ništa nisam mogao jasno odgovoriti, pokušao sam sve ispričati sa stanovišta pisanja koda, ali njega je zanimala teorija. Ali sigurno sam znao da zaista želim da uđem u ovaj staž, i znao sam da ću, ako mi daju vremena, sve ovo uhvatiti i naučiti nesretnu teoriju. Rekao sam mu sve ovo, a on me je sreo na pola puta - ponudio je da se ponovo nađemo za nedelju dana, ali mi je za sada dao listu tema (otprilike kako sam gore opisao) i rekao gde se mogu naučiti - samo Oracle tutorial , sadrži sve: http://docs.oracle.com/javase/tutorial/ Tokom nedelju dana, detaljno sam proučio ovaj vodič i otišao na drugi intervju uoči dana kada se očekivalo da novi posao. Očigledno, osobu koja me intervjuisala najviše je impresionirao moj smisao za svrhu (znao sam da ako prihvatim ovaj staž, šta će dalje zavisiti samo od mene – za dva meseca bih shvatio sve što mi treba). Kako god bilo, prihvatio sam ovu praksu i odbio da idem na posao na mjesto gdje mi je ranije ponuđeno. Tokom 2 meseca upoznali smo se sa mnogim temama iz Java EE, kao što su: Servleti, JSP, Hibernate JSF, Spring i još mnogo, mnogo više – na osnovu rezultata prakse, bili smo upoznati (imali smo grubo ideja) o glavnom steku Java tehnologije EE. Takođe, tokom prakse smo napisali sopstveni projekat koji je na kraju morao da bude uspešno predstavljen za zapošljavanje. Sjećam se samo svojih prvih osjećaja kada sam bila na prvom predavanju. Pogledao sam zadatak za ovaj projekat (dat je odmah na prvom predavanju) i nisam ni shvatio odakle da počnem i kako da to uradim. Sjećam se i šta mi je trebalo da to uspješno uradim. Ova dva mjeseca skoro sve misli u mojoj glavi bile su da je uspješno zaposlenje i ispunjenje sna u mojim rukama i ništa više. Nije zavisilo ni od koga drugog da li ću ja to moći. Samo od mene. Već sam dao otkaz, skoro da nisam imao novca i bilo je jako teško. Sedeo sam ujutru, sedeo danju, sedeo uveče, ali nikad se nisam umorio od radovanja - ne sećam se kada sam se nečemu posvetio takvom opsesijom. Ovaj put mi je još jednom pomogao da shvatim koliko volim programiranje i koliko bih volio da radim u ovoj oblasti. Na maturi sam predstavio svoj projekat. Odbranio sam je zaista dobro, očigledno mnogo bolje nego što se očekivalo, a kao izuzetak nisam angažovan na početnoj poziciji, već odmah na poziciji Middle Java Developer. Bio je 9. decembar 2014. Nisam mogao vjerovati, ali ponuda za posao je bila ispred mene na monitoru. Softverski inženjer. Ovo se desilo. Vratio sam se na posao 15. decembra. Nikada mi se nije palo na pamet „prokletstvo, ne želim da idem na posao“. Svaki dan, odlazeći ujutro od kuće, znam zašto idem na posao, šta ću raditi i koliko to želim. Ovo me čini nevjerovatno sretnim. Vrijedilo je i vrijedilo je cijene koju ste morali platiti da biste ostvarili svoj san. Svima vama koji zaista želite da budete programeri želim da napredujete u postizanju svog cilja. To je više nego stvarno, vrlo je blizu, ali morate platiti za to. Platite izgubljenim vremenom i živcima, jer učiti nešto od nule zaista nije najbolje lagani korak. JavaRush mi je pomogao da ove prve korake napravim s lakoćom, a ja nisam bio taj koji je odustao od programiranja na samom početku zbog prividne složenosti i obilja teorije. Tako sam uspio dovršiti svoju prilično ludu ideju o radikalnoj promjeni područja profesionalna aktivnost(čak i u nedostatku tehničkog obrazovanja) do kraja. I definitivno možete.

Navikli smo brz pristup informaciji i njenoj jednako brzoj apsorpciji. Više volimo petominutne video zapise nego duboka predavanja i kratke članke od knjiga. Neću to reći dobra knjiga o programiranju će zamijeniti bilo koji članak, to nije tako. I sigurno neće zamijeniti praksu. Međutim, za mene lično, pravo razumijevanje osnova programiranja došlo je nakon što sam, nakon što sam riješio stotine problema na kursu programiranja i pročitao gomilu članaka, počeo istovremeno proučavati teoriju iz knjiga i dobro se udubljivao u njih. Već neko vrijeme tražim svoj lični „najbolji Java tutorial za početnike“. U nastavku donosim nekoliko knjiga koje su mi bile korisne u većoj ili manjoj mjeri u različitim fazama mog studija. "Za mališane" Sljedeće dvije knjige možete početi čitati na početku studija, paralelno sa videom, ili, ako učite uz JavaRush, zajedno sa prvim nivoima. Oni su, posebno prvi, pogodni za ljude sa nultom programskom pozadinom.

Head First Java

Počeo sam sa ovom knjigom ne zato što mi je omiljena, već zato što je najjednostavnija. Ova knjiga, prema mišljenju mnogih programera, jeste najbolji tutorijal Java od nule. Štoviše, zaista je i potpuno "od nule", odnosno pogodan je za one koji tek počinju i još ne razumiju kakva je vrsta programiranja zvijeri. Došla mi je prekasno. Mislim da to zato nisam mogao cijeniti. Bilo je veoma prijatno „samo pročitati“, ali sam morao dugo da tražim nešto konkretno u njemu. Materijal je tamo prikazan slikovito, ali prilično površno (jer je ispočetka!), a mnoge teme i potrebna objašnjenja jednostavno nema. Ali moj prijatelj, kojem je to naslijedio, bio je oduševljen njome i viknuo da ovo nije samo najbolji udžbenik Java za početnike, već pravo svjetsko remek-djelo i tako treba predstaviti složen materijal. Prednosti:
  • Najbolji Java tutorial od nule, za puni čajnici, napisano živim jezikom;
  • Cool ilustracije i humor;
  • Objašnjenja sa primjerima iz stvarnog života.
Nedostaci:
  • Puno “vode” za one koji su već ušli u temu;
  • Ne uvijek uspješne zagonetke i vježbe.

Herbert Shildt. Java 8 Vodič za početnike

Nakon što sam pregledao ovaj udžbenik, pomislio sam da bi bio prikladan za one koji vole tradicionalniju prezentaciju materijala nego u Headfirst, a u isto vrijeme traže tutorijal od nule. Ponegdje je prikaz u knjizi vrlo detaljan, podsjeća na proširenu i prevedenu dokumentaciju sa dobrim jasnim primjerima. Ponekad, što se mene tiče, autor pređe granicu i počne previše da žvaće, čitanje postane dosadno... i odjednom - salto - i neko prilično složeno mesto se promaši skoro trenutno, a vi ste potpuno zbunjeni pokušavajući da shvatite šta i gde promašio si. Međutim, takvih pasusa u knjizi nema previše, a poznajem ljude koji vjeruju da je Vodič za početnike najbolji Java tutorial za one koji još ništa ne znaju. Lično, nije mi bilo baš glatko. Recimo da počnem sortirati po zbirkama, i umjesto ljudskog objašnjenja, oni mi daju zadatak samostvaranje Postavite na osnovu nizova. Sjajan problem, ali prvo bih želio bolje razumjeti šta su standardne kolekcije! Iako se ova knjiga, kao i prethodna, smatra udžbenikom za početnike, moje iskustvo kao nastavnika govori da je dobra samo u kombinaciji sa drugim materijalima: studentu humanističkih nauka neće sve biti jednostavno i razumljivo. “Vodič za početnike” je najprikladniji za nekoga ko je barem naučio programiranje (na primjer, na fakultetu), davno ga je odustao, a pritom voli autorov stil izlaganja. Prednosti:
  • Tradicionalno promišljeno predstavljanje osnova;
  • Dobri primjeri.
Nedostaci:
  • Postoje “skokovi” sa “previše sažvakanog” na “brzo rečeno”;
  • Na mjestima pomalo dosadno.
Inače, Herbert Schildt ima još jednu poznatu knjigu o programiranju - “Java 8. Kompletan vodič" Ovo je potpuno drugačiji udžbenik, fundamentalniji. Idemo dalje. Reference i napredni 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 Shildt "Java 8. Potpuni vodič"

Odlučio sam da preuzmem ovu knjigu sa interneta da je procenim, a zatim odlučim da li da je kupim ili ne. Bez šale, 1300 stranica teksta! Pa, cijena nije ništa manje impresivna od količine. Ja sam uradio potpuno istu stvar sa dvotomnom “Profesionalnom bibliotekom” Kay Horstmann (više o tome u nastavku). Gledajući unapred, reći ću da sam izabrao drugu. Zašto? Jer u knjizi „Java. Kompletan vodič“ vidio sam iste nedostatke kao i u „Vodiču za početnike“. Nekad je sažvakana, nekad zgužvana, ali u isto vreme nije samo zgužvana, već nekako verbozno zgužvana. Ovo je vjerovatno autorov stil i mislim da će se nekome svidjeti, odnosno njihov način razmišljanja. Sve u svemu, Java 8: The Definitive Guide je dobra referentna knjiga za Javu. Ali lično mi se više dopalo predstavljanje istih tema u nekoj drugoj knjizi. Prednosti:
  • Kompletan vodič. Čini se da ima sve teme koje početnik, a ne samo početnik, mora znati.
  • Detaljna objašnjenja.
Nedostaci:
  • Puno vode (ali nekima bi se to moglo svidjeti!);
  • Ruski prijevod nije najbolji.

Java. The Professional's Library, Kay S. Horstmann, Gary Cornell

Šildove i Horstmanove knjige često se porede jedna sa drugom. Obojica imaju vjerne fanove. Za mene je Horstmannova dvotomna knjiga najbolji udžbenik o Javi. Takođe je postala referentna knjiga za mene na početnim i srednjim nivoima JavaRusha. Kada nisam razumio neku temu, uglavnom sam se obraćao Horstmannu, a on je razjasnio mnoge stvari. Knjiga pokriva sve od sintakse do višenitnog programiranja, lokalizacije aplikacija i rada sa XML-om. I ne dozvolite da vas naziv "Profesionalna biblioteka" uplaši (to je ono što je mene uplašilo), osnove su prilično dobro pokrivene. Osim toga, korisno je povremeno ga ponovo čitati kako biste osvježili i organizirali svoje znanje. Kažu da i profesionalci u tome pronađu nešto korisno za sebe... Ne znam. Ako postanem profesionalac, reći ću vam! Prednosti:
  • Uz impresivan broj stranica, malo je vode (za razliku od Schildta).
  • Sadrži sve što je potrebno početnicima.
  • Otkriva Java 8.
  • Dobra prezentacija tema o kolekcijama i genericima.
  • Vrlo dobro se slaže sa JavaRush-om. Dođite do teme, riješite probleme, u nekom trenutku nešto ne razumijete - gledajte Horstmanna, pokušajte ponovo.
Nedostaci:
  • Nekima će knjiga biti malo suva;
  • Nema prakse;
  • Ruski prevod sa greškama.

"java" Metode programiranja". Blinov, Romanchik

Jednom sam pročitao na jednom forumu da postoji knjiga pod nazivom “Industrijsko programiranje” i imala je dobrih problema. Ispostavilo se da nisu lagali. Pronašao sam kopiju u PDF-u na bjeloruskoj web stranici EPAM-a. Tamošnja publikacija nije najnovija (na Javi 6), ali je knjiga napisana kao solidan univerzitetski udžbenik, odnosno na mjestima je prezentacija pomalo teška i akademska. ALI! Zaista ima mnogo dobra kolekcija Java programski zadaci, kao i test zadataka. Kažu da polaznici EPAM-a uče iz ove knjige, a usvojena je i na mnogim vanmrežnim Java kursevima.

Pristup zadacima tamo je malo drugačiji od JavaRush-a, odnosno u proseku su zadaci ovde malo komplikovaniji i svaki od njih je nešto kao... ne mini, već mikro projekat. Stoga JavaRush preporučujem čak i studentima, jer smatram da je nedostatak praktične strane kursa to što su svi zadaci u njemu već u potpunosti osmišljeni i ima previše savjeta. Recimo, OOP problemi iz ove kolekcije su mi pomogli da dobro shvatim ovaj OOP, zajedno sa knjigama „bezvremenih klasika“ o kojima pišem u nastavku. Knjiga je napisana kao za buduće „veslače“, stoga opisuje Hibernate tehnologije za razvoj distribuiranih sistema, kao i HTML osnove, 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 dva nivoa JavaRusha. Kasnije sam otkrio njeno novije i revidirano izdanje, već pod nazivom „Java. Metode programiranja."

Prednosti:
  • Odličan izbor zadataka i test zadataka;
  • Postoji službenik besplatna verzija(Vjerujem da je službeno, jer nije na nekom root trackeru, već na EPAM web stranici);
  • Poređenje sa C++.
  • Prilika da shvatite šta ulazi u EPAM staž.
Nedostaci:
  • Previše fundamentalna prezentacija. Ali za ponavljanje s vježbom bit će prikladno.
  • Nema Java 8.
Bezvremenski klasik Knjige o kojima pišem u nastavku mogu se nazvati svetim tekstovima za početnike i napredne “javiste”.

Efektivna Java, Joshua Bloch

To je samo blago, a ne knjiga, i posvećena je osnovni principi jezika jednog od njegovih autora Joshue Blocha. Najvjerovatnije ste već koristili njegove biblioteke (na primjer, u Java kolekciji). Odmah da rezervišem: za potpune početnike, osim nekih čudesa za brzo učenje, knjiga Efektivna Java nije potrebna. Prvo, bolje je savladati sintaksu i steći barem malo prakse u programiranju, da tako kažem, "naviknite se na to", a zatim prihvatite kreaciju Joshue Blocha. Knjiga će biti korisna za one koji žele istinski razumjeti Javu, razviti pravi pristup Kada programirate na ovom jeziku, razumete ne samo kako se to radi, već i sve ostalo što treba da uradite upravo na taj način. I za one koji žele duboko razumjeti OOP (u principu, to su međusobno povezane stvari). Ova knjiga je najbolji udžbenik o Javi u kontekstu objektno orijentisanog pristupa programiranju. Prednosti
  • Sjajna prezentacija materijala na temu OOP-a.
  • Dato najbolje prakse programiranje.
  • Autor jako dobro poznaje Javu iznutra.
Nedostaci
  • Još nema prijevoda najnovijeg izdanja knjige (trećeg).

Java filozofija, Bruce Eckel

Naslov ove knjige govori sam za sebe. Ovo je još jedna “alfa i omega” za sve koji žele da znaju Javu! U ovoj knjizi ćete naći dobre i jasne primjere, a iz njih će biti jasno kako Java funkcionira. Teško mi je reći koja je od ove dvije knjige "Filozofija Jave" ili " Efikasno programiranje“ – bolje. Rekao bih da je Eckel nešto više prijateljski raspoložen prema početnicima, dok Bloch zahtijeva određeno iskustvo. Prvi put sam pročitao poglavlje iz „Java filozofije“ kada sam tek počinjao da učim JavaRush (mislim da je naveden kao preporučen na jednom od ranih nivoa). Onda mi nije odgovarala. Ali nakon nivoa 10 ili 12 - to je bila pjesma! I, reći ću, veoma korisna pjesma. Vratio sam se na to kasnije, kada sam došao na Efektivno programiranje. Reći ću ovo: neka Bloch i Eckel govore o istoj stvari, ali na različite načine, i daju različite primjere. Prednosti
  • Detaljna prezentacija Java principa od profesionalca;
  • Biće dobro za one koji prelaze sa drugih jezika - ima mnogo poređenja sa C++, na primer.
  • Čini mi se da ga možete početi čitati na nivou 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 ništa - Head First Java;
  2. Najbolji Java referentni udžbenik i referentna knjiga je “Profesionalna biblioteka”. I, naravno, Oracle dokumentacija.
  3. Najbolja zbirka zadataka Java programiranja - JavaRush. Pa, među knjigama - “Java. Metode programiranja".
  4. Najbolji bezvremenski klasici su “Filozofija Jave” i “Efektivna Java”. Ovo je obavezno čitanje za sve koji su odlučili da sve razumiju stvarno, za duboko razumijevanje. Ali bolje ih je čitati postepeno i po redu.
  5. Dodatni zaključak: postoji prilika - čitajte na engleskom. Ruski prijevodi su općenito vrlo slabi.

Zdravo dragi čitaoče. Odavno sam želeo da napišem ovakav članak, ali ili nisam imao dovoljno vremena ili mi se izdajnička lenjost isprečila na putu. Ali, kako god bilo, ipak sam uspio da se saberem da napišem nešto što će vam, nadam se, donijeti neku korist. Rado ću podijeliti svoje znanje i iskustvo, a zauzvrat ćete dobiti vrijeme i pažnju. Po mom mišljenju, ovu publikaciju Pogodno za one koji su spremni da odlučuju o svojim interesima i žele da povežu svoje živote sa IT - na ovaj ili onaj način. Dakle, idemo!

Odabir programskog jezika

Publikacija počinje da liči na mnoge slične materijale. Po zakonu žanra, moraću da napišem naziv za par od tri programska jezika, navedem par prednosti i nedostataka i na kraju, bez odgovora na pitanje, pređem na sledeći deo. Djelomično u tome ima istine, jer svako bira jezik koji mu je bliži, na osnovu toga koju vrstu proizvoda želi razvijati u budućnosti. Većina vas je učila Turbo Pascal u školi i teško da će vam biti novost da se sada skoro ništa ne piše na ovom jeziku. Dakle unutra u ovom slučaju, jezik treba da birate mudro, iako nikada ne možete imati previše znanja, ali ako želite da se efikasno ubacite u red programera u kratkom vremenskom periodu, morate mudro pristupiti izboru jezika. Na samom početku zapamtite: dobar programer nikada neće ostati gladan, au većini slučajeva moći će sebi da kupi dosta kavijara(ova definicija je prikladna za bilo koju specijalnost, ali nijedna specijalnost vam neće dati takvu slobodu da birate gdje ćete raditi, kako po kompanijama tako i po zemljama - on je programer i programer u Indiji).

Logično je da što je jezik popularniji i traženiji, veće su šanse za pronalaženje posla u budućnosti, a jezik bi trebao biti lak za učenje. Jer iako pišu na C++ veliki broj igre i zaradite dobar novac za to, početnik, posebno onaj koji nije upoznat sa OOP-om (objektno orijentirano programiranje), bolje je ostaviti ovaj jezik po strani na neko vrijeme. Na sljedećem linku nalazi se lista 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 slične statistike, to ćete vidjeti različitih izvora mjesta su različito zauzeta, ali općenito će prvih 10 mjesta svuda imati isti sadržaj.

Ako se obratite drugom, koji je zasnovan 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 na ovo, ako želite da postanete programer, zapamtite da skoro sva dokumentacija i izvori korisne informacije su napisane na engleskom, pa ako je vaše znanje ovog jezika slabo, dodajte učenje i vježbanje engleskog na svoju listu obaveza za sutra i blisku budućnost. Mislim da ću čak napisati i poseban članak posvećen učenju stranog jezika.

Na osnovu ova dva izvora već možemo zamisliti koji su programski jezici trenutno „u modi“. Kao što naslov govori, autor članka je za sebe izabrao Javu. Iako mislim da je to najbolje 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 stojimo na maloj raskrsnici: biramo Java, C# (veoma sličan Javi), Phyton, ako želimo da radimo sa ispunama programa i aplikacija (back-end) ili PHP, JavaScript, HTML, ako želimo da radimo web razvoj (front-end). U prvom slučaju bih odabrao Java, a u drugom PHP, mada opet, to je više po vašem ukusu, morate sami potražiti informacije o tome raznim jezicima i općenito razumjeti šta želite da radite. Za razmišljanje, evo izbora jezika koji se koriste u najvećim internet kompanijama na svijetu.

Postoje 2 glavna razloga zašto bih izabrao Java ili PHP. Prvi je što su ovi jezici veoma popularni i pronalaženje odgovarajućeg posla neće biti teško, a drugo je što ni na jednom drugom jeziku nećete naći toliko materijala za obuku kao na ova dva, kako na ruskom tako i na engleskom .

Obrazovanje

Dakle, došli smo do faze u koju većina ljudi stiže bez problema, ali ovaj period je s pravom jedan od najtežih u karijeri programera. Iako programer uči cijeli život, vrijeme kada počinje da pravi prve korake u velikoj mjeri određuje njegovu buduću sudbinu. Generalno, trening testira snagu čoveka, da li će to izdržati, da li neće izgubiti interesovanje za mesec dana (kao što se kod nekih dešava), da li će uspeti da stigne do kraja i savlada osnovno znanje, na koji će se zatim naslagati čitavi slojevi informacija.

Generalno, imam svoju teoriju, koju sam više puta potvrdio u praksi: Apsolutno sve se može naučiti za godinu dana.. Vjerujte, ovo je apsolutna istina, nekima će možda trebati i manje vremena, ali ako čovjek ne prestane da odustaje i mudro pristupi učenju tokom cijele godine, onda je gotovo nemoguće da neće naučiti. To nije samo u programiranju, u apsolutno bilo kojoj oblasti: ako želite da svirate gitaru - nema problema (nije mi trebalo toliko vremena i truda), naučite argentinski tango, surfajte - sve je to dovoljno za godinu dana. Glavna stvar je učiti!

U ovom slučaju ću razmotriti jezik Java, pošto mi je ipak bliži. Srećom, internet je prepun ljudi koji pomažu drugima da uče besplatno, pa vam neće biti teško pronaći materijal koji vam odgovara. , koji možete pogledati olovkom i papirom unutar zidova svog udobnog stana (za sada samo na ruskom). Za one koji su navikli čitati materijal kroz koji prolaze, opet pruža Internet velike prilike a ovo je samo jedna od svih vrsta sajtova sa lekcijama o Javi. Postoji više nego dovoljno teorija, ali ne mogu reći dovoljno o sajtu za obuku kao što je Coursera.org, gde možete pronaći kurseve za obuku na raznim jezicima i jezicima. raznim oblastima, uključujući programiranje - opet, sve je apsolutno besplatno. Ne postoje jedan ili dva takva sajta, samo treba pretražiti.

Ali bez obzira koliko je teorija informativna, programiranje je neophodno bez prakse. Ali čak i ovdje je pola posla već obavljeno za nas i ne trebamo tražiti razne zadatke kako bismo poboljšali svoje vještine; servis poput JavaRush-a će u tome mnogo pomoći. Općenito, ova stranica pruža i teoriju i praksu, počevši od jednostavnog umnožavanja koda sa ekrana i završavajući složenim zadacima, a u pauzama nudi čak i opuštanje i gledanje dobro poznate animirane serije. Prema autorima, oni koji su dostigli nivo 20 u servisu imaće dovoljno znanja da već dobiju posao u IT kompaniji.

I naravno, neko će pitati, šta je sa knjigom? Zar ne bi trebalo da ih pročitate, i ako jeste, šta onda? Na ovo ću odgovoriti da niko nikada nije postao gluplji od čitanja knjiga. Ima i dosta knjiga, ali ću navesti samo mali dio njih:

Pomozite u praksi

Kao što je već spomenuto, praksa je sastavni dio svakog učenja, posebno u programiranju. Ovdje ćete morati kodirati i kodirati, sve do mišićne memorije vaših prstiju. Ovo je, naravno, malo preuveličano, ali u početku ćete zaista morati mnogo pritiskati tipke kako biste zapamtili značenja raznih struktura kako biste ih u budućnosti mogli koristiti gotovo automatski.

Mnogi programeri početnici u početku imaju mnogo pitanja, posebno kada su u pitanju 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 vjerovatno da ste vi prva osoba koja će se susresti s tim, stoga nemojte žuriti da odmah postavljate pitanja na raznim forumima programera (o čemu ću pisati malo kasnije). Sjednite na minut, ispravno formulirajte problem u svojoj glavi i slobodno 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, vrijedi potražiti na jeziku za koji se činilo da su svi učili u školi, ali nikad naučio. Ali čak i ako se u ovom slučaju pokaže da nigdje nema odgovora na vaše pitanje, u bitku ulaze najbolji internetski forumi:

  • Cyberforum je, po mom mišljenju, najpopularniji forum na ruskom jeziku za IT stručnjake, ovdje možete pronaći odgovore na pitanja, i to ne samo iz oblasti programiranja;
  • Forum programera - veliki forum na ruskom jeziku;
  • Searchengines je dobro poznat forum, ali je više specijalizovan za web programiranje;
  • Stack overflow - a ovo je, ne bojim se ovih riječi, već najpopularniji IT forum na cijelom svijetu, ovdje ćete pronaći odgovore na skoro sva vaša pitanja;
  • Dev shed je takođe veliki forum na engleskom jeziku;
  • Quora je forum koji nije posebno specijalizovan za programiranje, već Velika šansa da ćete dobiti odgovor od pravog profesionalca.

Forumi, naravno, nisu jedini način dobiti odgovore na svoja pitanja. U svojoj praksi, programeri svuda rade sa zvaničnicima dokumentaciju jezik na kojem pišu. Opisuje kako određene klase i sučelja funkcioniraju; ponekad je dokumentacija jedini izvor koji može pomoći u rješavanju problema, jer je to samo početna faza svi imaju slična pitanja i možete ih pronaći bez problema gotova rješenja, ali što više ulazite u divljinu, sve je teže pronaći odgovore, pa se morate osloniti na svoju, nadam se, već pametnu glavu.

Kompajliranje koda

Napisao sam već dosta toga, naravno, teško je obraditi tako veliku temu u jednom članku, ali mislim da su prvi koraci već napravljeni i da bi trebali kod vas izazvati odgovarajuća razmišljanja. Mislim da je ovo tek prvi članak u seriji “Kako postati programer” i, shodno tome, “zašto?” ako ste na raskrsnici i još ne znate koji put odabrati. Sljedeći put ću se dotaknuti materijalno zanimljivijih stvari, jer nije tajna da programeri nisu siromašni ljudi, a gdje i koliko će biti plaćeni vidjećemo sljedeći put.

Na kraju, za one koji zaista žele da postanu programeri, želim da uhvatite bika za rogove, sakupite svu svoju volju u šaku i radite šta želite. Rečeno je već hiljadama puta, ali ponoviću, glavno je želja i rad. Tada će vam sve uspjeti. Zapamtite najvažniju stvar: percipiraju učenje programskih jezika i razne tehnologije ne kao cilj, nego kao SREDSTVO. Zamislite samo kakve mogućnosti vam se otvaraju. Možda ćete postati jedan od onih koji menjaju svet u realnom vremenu. Pa sretno i hvala na pažnji!

Video bonus

Oznake: Dodajte oznake

Programiram na Javi već 7 godina. Ali na poslu često moramo da obučavamo novu generaciju. S tim u vezi, odlučio sam da napravim neku varalicu, koja će, nadam se, biti korisna za stanovnike Khabra. Ako neko može nečim pomoći dopuniti informacije iz ovog članka, onda pišite! dakle:

Osnovni resursi za početnu obuku

  • www.javable.com - stranica sa člancima i tutorijalima 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 originalnog izvora. Za svakog Java programera, JavaDoc bi trebao biti konačna istina. Ovdje također možete pronaći niz tutorijala o svim mogućim temama.

Osnovni Java paketi

Ispod je lista Java paketa sa kojima bi programer trebao biti ugodan. Preporučuje se da se sa njima upoznate i putem JavaDocs-a i preko www.exampledepot.com.Svi paketi su raspoređeni po preporučenom redosledu za proučavanje. Dakle:
  1. java.lang je osnova. Svakoj klasi u ovom paketu potrebna je posebna pažnja.
  2. java.io - nijedan program ne može bez I/O operacija.
  3. java.util - paket u osnovi sadrži sve što je potrebno za rad sa kolekcijama: kolekciju, nabrajanje, skup, listu, mapu itd. i tako dalje.
  4. java.net - sadrži glavne klase za rad sa mrežom.
  5. java.text - sve što 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 sa bazama podataka
  8. javax.xml.* , org.w3c.dom.* , org.xml.sax.* - bez ovih paketa rad sa XML-om je jednostavno nezamisliv

Resursi za proširenje vidika

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

Java biblioteke koje bi svi trebali znati

Java se ne završava samo sa znanjem šta JSDK može da uradi. Da biste se osjećali ugodno, morate znati još oko dvadesetak korištenih biblioteka trećih strana Java programeri svuda. Dakle, počnimo s glavnim:
  • Commons Lang – ono što su “zaboravili” uključiti u JDK
  • Commons Math je odličan dodatak za java.math
  • Commons Logging - evidentiranje mora biti kompetentno. Da bi System.out.println izlazio dnevnike, programeri početnici bi trebali odsjeći ruke nakon samo sedmicu dana obuke.

Zdravo dragi čitaoče. Odavno sam želeo da napišem ovakav članak, ali ili nisam imao dovoljno vremena ili mi se izdajnička lenjost isprečila na putu. Ali, kako god bilo, ipak sam uspio da se saberem da napišem nešto što će vam, nadam se, donijeti neku korist. Rado ću podijeliti svoje znanje i iskustvo, a zauzvrat ćete dobiti vrijeme i pažnju. Po mom mišljenju, ova publikacija je pogodna za one koji su spremni da odlučuju o svojim interesima i žele da povežu svoje živote sa IT - na ovaj ili onaj način. Dakle, idemo!

Odabir programskog jezika

Publikacija počinje da liči na mnoge slične materijale. Po zakonu žanra, moraću da napišem naziv za par od tri programska jezika, navedem par prednosti i nedostataka i na kraju, bez odgovora na pitanje, pređem na sledeći deo. Djelomično u tome ima istine, jer svako bira jezik koji mu je bliži, na osnovu toga koju vrstu proizvoda želi razvijati u budućnosti. Većina vas je učila Turbo Pascal u školi i teško da će vam biti novost da se sada skoro ništa ne piše na ovom jeziku. Dakle, u ovom slučaju jezik treba da birate mudro, iako nikada ne možete imati previše znanja, ali ako želite da se efikasno pridružite redovima programera u kratkom vremenskom periodu, morate mudro pristupiti izboru jezika. Na samom početku zapamtite: dobar programer nikada neće ogladneti i u većini slučajeva moći će sebi da kupi puno kavijara(ova definicija je prikladna za bilo koju specijalnost, ali nijedna specijalnost vam neće dati takvu slobodu da birate gdje ćete raditi, kako po kompanijama tako i po zemljama - on je programer i programer u Indiji).

Logično je da što je jezik popularniji i traženiji, veće su šanse za pronalaženje posla u budućnosti, a jezik bi trebao biti lak za učenje. Jer, iako je veliki broj igara napisan na C++ i za to se dobro zarađuje, bolje je za početnika, posebno onog koji nije upoznat sa OOP-om (objektno orijentirano programiranje), da ovaj jezik ostavi na neko vrijeme po strani. Na sljedećem linku nalazi se lista 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 sličnu statistiku, vidjet ćete da su u različitim izvorima mjesta različito zauzeta, ali općenito će prvih 10 mjesta u sadržaju biti svugdje isto.

Ako se obratite drugom, koji je zasnovan 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 da postanete programer, zapamtite da su skoro sva dokumentacija i izvori korisnih informacija napisani na engleskom, pa ako vam je poznavanje ovog jezika slabo, dodajte ga u vašu listu obaveza za sutra i blisku budućnost za učenje i vježbanje engleskog jezika. Mislim da ću čak napisati i poseban članak posvećen učenju stranog jezika.

Na osnovu ova dva izvora već možemo zamisliti koji su programski jezici trenutno „u modi“. Kao što naslov govori, autor članka je za sebe izabrao Javu. Iako mislim da je to najbolje 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 stojimo na maloj raskrsnici: biramo Java, C# (veoma sličan Javi), Phyton, ako želimo da radimo sa ispunama programa i aplikacija (back-end) ili PHP, JavaScript, HTML, ako želimo da radimo web razvoj (front-end). U prvom slučaju bih odabrao Java, a u drugom PHP, mada opet, to je više po vašem ukusu, morate sami tražiti informacije o raznim jezicima i općenito razumjeti šta želite da radite. Za razmišljanje, evo izbora jezika koji se koriste u najvećim internet kompanijama na svijetu.

Postoje 2 glavna razloga zašto bih izabrao Java ili PHP. Prvi je što su ovi jezici veoma popularni i pronalaženje odgovarajućeg posla neće biti teško, a drugo je što ni na jednom drugom jeziku nećete naći toliko materijala za obuku kao na ova dva, kako na ruskom tako i na engleskom .

Obrazovanje

Dakle, došli smo do faze u koju većina ljudi stiže bez problema, ali ovaj period je s pravom jedan od najtežih u karijeri programera. Iako programer uči cijeli život, vrijeme kada počinje da pravi prve korake u velikoj mjeri određuje njegovu buduću sudbinu. Generalno, trening testira snagu čoveka, da li će to izdržati, da li neće izgubiti interesovanje za mesec dana (kao što se kod nekih dešava), da li će uspeti da dođe do kraja i savlada osnovna znanja, na kojima se nalaze čitavi slojevi informacije će se tada slojeviti.

Generalno, imam svoju teoriju, koju sam više puta potvrdio u praksi: Apsolutno sve se može naučiti za godinu dana.. Vjerujte, ovo je apsolutna istina, nekima će možda trebati i manje vremena, ali ako čovjek ne prestane da odustaje i mudro pristupi učenju tokom cijele godine, onda je gotovo nemoguće da neće naučiti. To nije samo u programiranju, u apsolutno bilo kojoj oblasti: ako želite da svirate gitaru - nema problema (nije mi trebalo toliko vremena i truda), naučite argentinski tango, surfajte - sve je to dovoljno za godinu dana. Glavna stvar je učiti!

U ovom slučaju ću razmotriti jezik Java, pošto mi je ipak bliži. Srećom, internet je prepun ljudi koji pomažu drugima da uče besplatno, pa vam neće biti teško pronaći materijal koji vam odgovara. , koji možete pogledati olovkom i papirom unutar zidova svog udobnog stana (za sada samo na ruskom). Za one koji su navikli da čitaju materijal kroz koji prolaze, Internet opet pruža velike mogućnosti i ovo je samo jedna od svih vrsta sajtova sa lekcijama o Javi. Teorija je više nego dovoljno, ali ne mogu ništa reći o web stranici za obuku kao što je Coursera.org, gdje možete pronaći kurseve za obuku na raznim jezicima i u raznim oblastima, uključujući programiranje - opet, sve je apsolutno besplatno. Ne postoje jedan ili dva takva sajta, samo treba pretražiti.

Ali bez obzira koliko je teorija informativna, programiranje je neophodno bez prakse. Ali čak i ovdje je pola posla već obavljeno za nas i ne trebamo tražiti razne zadatke kako bismo poboljšali svoje vještine; servis poput JavaRush-a će u tome mnogo pomoći. Općenito, ova stranica pruža i teoriju i praksu, počevši od jednostavnog umnožavanja koda sa ekrana i završavajući složenim zadacima, a u pauzama nudi čak i opuštanje i gledanje dobro poznate animirane serije. Prema autorima, oni koji su dostigli nivo 20 u servisu imaće dovoljno znanja da već dobiju posao u IT kompaniji.

I naravno, neko će pitati, šta je sa knjigom? Zar ne bi trebalo da ih pročitate, i ako jeste, šta onda? Na ovo ću odgovoriti da niko nikada nije postao gluplji od čitanja knjiga. Ima i dosta knjiga, ali ću navesti samo mali dio njih:

Pomozite u praksi

Kao što je već spomenuto, praksa je sastavni dio svakog učenja, posebno u programiranju. Ovdje ćete morati kodirati i kodirati, sve do mišićne memorije vaših prstiju. Ovo je, naravno, malo preuveličano, ali u početku ćete zaista morati mnogo pritiskati tipke kako biste zapamtili značenja raznih struktura kako biste ih u budućnosti mogli koristiti gotovo automatski.

Mnogi programeri početnici u početku imaju mnogo pitanja, posebno kada treba da završe 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 vjerovatno da ste vi prva osoba koja će se susresti s tim, stoga nemojte žuriti da odmah postavljate pitanja na raznim forumima programera (o čemu ću pisati malo kasnije). Sjednite na minut, ispravno formulirajte problem u svojoj glavi i slobodno 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, vrijedi potražiti na jeziku za koji se činilo da su svi učili u školi, ali nikad naučio. Ali čak i ako se u ovom slučaju pokaže da nigdje nema odgovora na vaše pitanje, u bitku ulaze najbolji internetski forumi:

  • Cyberforum je, po mom mišljenju, najpopularniji forum na ruskom jeziku za IT stručnjake, ovdje možete pronaći odgovore na pitanja, i to ne samo iz oblasti programiranja;
  • Forum programera - veliki forum na ruskom jeziku;
  • Searchengines je dobro poznat forum, ali je više specijalizovan za web programiranje;
  • Stack overflow - a ovo je, ne bojim se ovih riječi, već najpopularniji IT forum na cijelom svijetu, ovdje ćete pronaći odgovore na skoro sva vaša pitanja;
  • Dev shed je takođe veliki forum na engleskom jeziku;
  • Quora je forum koji nije posebno specijaliziran za programiranje, ali postoji velika vjerovatnoća da ćete dobiti odgovor od pravog profesionalca.

Forumi, naravno, nisu jedini način da dobijete odgovore na svoja pitanja. U svojoj praksi, programeri svuda rade sa zvaničnicima dokumentaciju 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 ulazite u džungla, sve je teže i teže naći odgovore, pa se morate osloniti na svoju, nadam se, već pametnu glavu.

Kompajliranje koda

Napisao sam već dosta toga, naravno, teško je obraditi tako veliku temu u jednom članku, ali mislim da su prvi koraci već napravljeni i da bi trebali kod vas izazvati odgovarajuća razmišljanja. Mislim da je ovo tek prvi članak u seriji “Kako postati programer” i, shodno tome, “zašto?” ako ste na raskrsnici i još ne znate koji put odabrati. Sljedeći put ću se dotaknuti materijalno zanimljivijih stvari, jer nije tajna da programeri nisu siromašni ljudi, a gdje i koliko će biti plaćeni vidjećemo sljedeći put.

Na kraju, za one koji zaista žele da postanu programeri, želim da uhvatite bika za rogove, sakupite svu svoju volju u šaku i radite šta želite. Rečeno je već hiljadama puta, ali ponoviću, glavno je želja i rad. Tada će vam sve uspjeti. Zapamtite najvažniju stvar: učenje programskih jezika i raznih tehnologija doživljavaju ne kao cilj, već kao SREDSTVO. Zamislite samo kakve mogućnosti vam se otvaraju. Možda ćete postati jedan od onih koji menjaju svet u realnom vremenu. Pa sretno i hvala na pažnji!

Video bonus

Tagovi:

  • kako postati programer
  • naučite programiranje
  • naučite java
Dodaj oznake

Najbolji članci na ovu temu