logi sisse meist KKK

Tervist,

olen aastaid põnevates niši keeltes programmeerinud (Delphi, asm jt), aga oleks aeg jällegit ennast harida. Tahaks Java't uuesti tundma õppida, viimati programmeerisin selles keeles 7 aastat tagasi (Tomcat lahendused).

Siinkohal ka küsimus, millised raamistikud (Framework) tasuks ennekõike endale selgeks teha. Kas parim õppimise viis oleks teha mõni Androidi app ?

Tervitab, Ingmar

küsitud Mar 18 '14 at 13:45

Ingmar%20Tammev%C3%A4li's gravatar image

Ingmar Tammeväli
61246


Java serverrakenduste juures tundub paljuski de facto standard hetkel olevat Spring Framework, mis on üsna laiahaardeline oma võimalustelt. Põhimõtteliselt saab praktiliselt ainult sellega ilmselt üsna palju tehtud alates andmebaasikihis ja lõpetades kasutajaliidesega. Soovi korral saab muidugi nii andmekihti (Hibernate nt) kui presentatsioonikihti (veebi front-end raamistikke on küll vist hetkel nagu muda) muid lahendusi haakida ja ilmselt enamik tänapäevasest kraamist haakub rohkemal või vähemal määral sujuvalt otse Springi külge, sest muud moodi lihtsalt ei saa.

Nipet-näpet tuleks ilmselt muidugi veel juurde vaadata:

  • Log4j või mõni analoog
  • Vastavalt vajadusele Apache Commons teekide hulgast midagi
  • Pole küll otseselt teek, aga sõltuvuste haldamiseks ja arendustsükli automatiseerimiseks Maven, aga loomulikult ka siin on alternatiive

Lisaks ei kujutaks ma enam ilmselt ette, et ma mingit vähegi märkimisväärse mahuga veebirakendust ilma JRebel'ita arendaks.

Samas olen muidugi ise ka Java maailmast juba kaks aastat väljas olnud. Aegajalt väikseid vidinaid töö asjus teen, aga ilmselt uusimate arengutega enam kursis ei ole. Üldjoontes aga ehk ikka värskem pilt asjadest, kui seitsme aasta tagune. :)

EDIT: Lisasin reakese Maven'i kohta ka

link

vastatud Mar 21 '14 at 10:11

Fukiku's gravatar image

Fukiku
112

edited Mar 21 '14 at 10:42

Ma oma minimaalse Androidi-arendamise kogemuse põhjal arvan, et Android on ikka täitsa omaette maailm, millel (vähemalt raamistiku mõttes) pole kuigi suurt ühisosa ei serveriteenuste ega ka lauaarvuti kasutajaliideste arendamisega. Need kaks viimast kasutavad ka erinevaid raamistikke, nii vahest tasuks täpsustada, kas eesmärk on sihtida äppide, teenuste või rakenduste turgu.

link

vastatud Mar 20 '14 at 12:10

Ahto%20Truu's gravatar image

Ahto Truu ♦♦
6596711

Kuna eriti asjalikke vastuseid ei tule, siis postitan ka ühe mitteasjaliku. Minu arvates on arvutite programmeerimine eilne päev. Arvutid peaksid ise õppima selgeks, mis vaja teha on. Seetõttu soovitaksin keskenduda masinõppe meetoditega tutvumisele. Üsna hea alguspunkt on https://www.coursera.org/course/ml.

link

vastatud Mar 20 '14 at 17:18

Tambet%20Matiisen's gravatar image

Tambet Matiisen ♦♦
77781125

Kui arvutid teaks mida ise teha, siis me oleks täiesti töötud :)

Pigem ma võtan aluseks selle indeksi, et millised prog. keeled on elujõulised: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Kuna teenuste turg on suht minimaalne väiketegijate segmendis (Java kood just); siis rohkem mõtlen Androidi äpp. peale näen kuidagit seal valdkonnas rohkem õppimise võimalusi. Ja kuna meeldib optimiseeritud koodid (asmi ajastust jäänud kombed), siis Androidi appide puhul pole ressursidega laiutada. Struts, hibernate rohkem teenuste valdkond, mingid Tomcat / Oracle rakendused jne. Java võhiku arvamus.

Lihtsalt ootasin nagu arvamust, et kui Java profid kliendile teevad näiteks mingi veebipõhise CRMi, mis Javal, siis mis frameworkidest ja märksõnadest nagu eriti mööda ei saa.

link

vastatud Mar 20 '14 at 17:58

Ingmar%20Tammev%C3%A4li's gravatar image

Ingmar Tammeväli
61246

Java ise on kõige populaarsem JVM peale ehitatud keel ja tema abil seotakse kliendi vaade ja andmebaas.


Ma vastan siis veidi laiemalt, mida mina (0-3 aastase töökogemusega) elukutseliselt Java arendajalt eeldan:

Samas sellest, ei piisa on vaja lisaks veel kliendi vaade ja andmebaasi osa teada. Andmebaasi osas üldjuhul oleks vaja tunda Oracle, PostgreSql, MySql, Redis, MongoDb, NoSql ja vähemalt ühte ORM'i pakkuvat lahendust nagu Hibernate. CRUD stiilis stamp lahenduste loomine peab olema selge. Peab olema võimaline paralleelselt toime tulema peale test ja live koodile ka andmebaasi muudatuste (migration scriptide) lisamisega versioonihaldusesse (Git, Mercurial, SubVersion) ja nende kasutamisega.

Mis puutub kasutajaliidest, siis väga lühike vastus oleks : Feature comparisons of web application frameworks in java. Täiesti tavaline on eeldada Spring Framework ja vähemalt jQuery teadmist. Lisaks on siin eeldatud andmekihtide vaheliseks suhtluseks XML ja ka Json'it. XML'i puhul tuleb teada xPath'i, ning mis vahe on DOM, SAX ja StAX tõlgendamisel. Lisaks, üldjuhul ei saa mööda XML schema'ta ja vahel ka xslt'ta.

Kuid ka see ei ole üldjuhul piisav. Mina eeldaksin veel, et arendajad peaksid oskama efektiivsel koodiredaktoreid kasutada (Eclipce, IntelliJ IDEA, Net Beans), ning teadma mida nad saavad sinu eest ära teha. Lisaks, et on kogemus JRebel'iga ja build script'idega nagu Ant ja Maven. Ta peab tundma kuidas kasutada veebi servereid nagu Tomcat või Jetty. Lisaks peab ta olema kursis SDLC'ga ja tundma vähemalt kose, ektreem-programmeerimise, Scrum arenduse elutsüklit.

Lisaks tal olema CS, RTFL, UTSL oskused:

  • CS : common sense - peab oskama googel'it kasutada ja saama aru milles on probleem
  • RTFL : manuaali lugemise oskus - peab olema võimeline detaile tähele panema ja mõistma nende tagajärgi
  • UTSL : koodi kasutamise oskus - suur enamus ajast sul pole dokumentatsiooni, ning koodist aru saamata sa vaid oletad

Ta peab toime tulema profileerimisega ( nt: JMeter, hProf ).


Kui sa niisama enda hobiks nokitseda kavatsed, siis ära piina ennast eeltoodu õppimisega. Üsna palju lihtsam oleks HTML5 + Javascript frontend luua, kus java serverside. Kui sellega piirdud tasuks vaadata GWT, millel on ka Eclipse jaoks pluginad. Lisaks sobib sinna hästi CodePro, Guava ja Guice. Lahendus sobib ka androidile arendamiseks.

link

vastatud Sep 30 '14 at 18:43

margus's gravatar image

margus
1

Omast rikutusest lisan siia

http://uus.minut.ee/java-paevad-on-loetud/

(arhiivkoopia: https://archive.is/3zbOb )

Lühidalt öeldes, sõltumata sellest, et Java on avatud tarkvara projekt, leidsid Oracle "geeniused" viisi, kuidas Java keele spetsifikatsiooni autoriõiguste põhjal Apache Foundation Java arendusest välja visata. Tulemuseks on Apache Cordova-nimeline projekt, kus Google ja Apache Foundation üritavad Androidi'le luua Java välja-vahetamise infrastruktuuri.

Kuna siinne küsimus on seotud programmeerimiskeelte õppimise ja valimise teemaga, siis mainin, et õpitava programmeerimiskeele valik on ka minu jaoks väga aktuaalne teema olnud, mistõttu kulutasin sellele küsimusele vastuse saamiseks terve nädala, kui mitte kauem. Mõtiskluse tulemuse vormistasin artiklina pealkirjaga "M.V. 2015_02 nägemus sellest, millistes programmeerimiskeeltes tasub end vormi ajada" (arhiivkoopia).

link

vastatud Jun 24 '15 at 22:55

martin_vahi's gravatar image

martin_vahi
134

edited Jun 24 '15 at 23:12

Võibolla sobib siia lõime viide ühele mu artiklile pealkirjaga: "Oracle likvideerib Java't".

Kui uus.minut.ee jälle maas on, siis võib abi olla arhiivkoopiast.

link

vastatud May 01 '16 at 05:12

martin_vahi's gravatar image

martin_vahi
134

Sinu vastus
lülita eelvaade

Jälgi seda küsimust

By Email:

Pärast sisselogimist saad tellida muudatuse teavitusi siit

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *kaldkiri* või __kaldkiri__
  • **paks kiri** või __paks kiri__
  • link:[tekst](http://url.com/ "pealkiri")
  • pilt?![alt tekst](/path/img.jpg "pealkiri")
  • nummerdatud nimekiri: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • põhilised HTML märgendid on samuti toetatud

Pinu tööpakkumised

kõik pakkumised »

Küsimuse sildid:

×16
×1

küsitud: Mar 18 '14 at 13:45

nähtud: 6,106 korda

viimati uuendatud: May 01 '16 at 05:12

Litsents: Creative Commons Attribution License | Kontakt: info@pinu.ee