Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
casa verde 2024

Intrerupator cu N - doza doar cu ...

Incalzire casa fara gaz/lemne

Incalzire in pardoseala etapizata
 Suprataxa card energie?!

Cum era nivelul de trai cam din a...

probleme cu ochelarii

Impozite pe proprietati de anul v...
 teava rezistenta panou apa calda

Acces in Curte din Drum National

Sub mobila de bucatarie si sub fr...

Rezultat RMN
 Numar circuite IPAT si prindere t...

Pareri brgimportchina.ro - teapa ...

Lucruri inaintea vremurilor lor

Discuții despre TVR Sport HD.
 

Aplicatie CRUD

- - - - -
  • Please log in to reply
12 replies to this topic

#1
Baggins

Baggins

    Member

  • Grup: Members
  • Posts: 264
  • Înscris: 09.10.2014
Salut!

Sunt in procesul de dezvoltare a unei aplicatii CRUD de gestionare de entitati (Workout-uri in cazul de fata) si postez aici cu gandul de a primi feedback de la oameni care stiu mai mult decat mine si implicit sa ma dezvolt.

Aplicatia: https://github.com/adr-tod/WorkoutLog

Scopul ar fi sa construiesc un portofoliu cu aplicatii Java care sa ma ajute sa obtin un internship (sunt anul 2 la facultate).
Orice sfat este bine primit.

#2
TruculMagic

TruculMagic

    Egalitatea nu există decât în matematică

  • Grup: Senior Members
  • Posts: 19,669
  • Înscris: 24.11.2015
Cu portofoliu mergi direct la job, nu la internship Posted Image

#3
jegmihai

jegmihai

    Senior Member

  • Grup: Senior Members
  • Posts: 11,536
  • Înscris: 03.09.2013
Pentru storage as folosi o soluție dedicată, respectiv o bază de date.

De ce? Poți să execuți query-uri mai complexe, nu te interesează de modul și procedura in care sunt stocate datele tale, și poți să realizezi și relații între entități (daca este cazul, nu mă pricep foarte bine la workout-uri).

Daca schimbi implementarea internă a storage-ului după cum ți-am sugerat, atunci aruncă o privire și la Repository pentru a interacționa cu baza de date.

Ca și componentă de View aș încerca sincer sa folosesc un framework GUI. In Java ai în principiu Swing si FX. Dintre cele două îți recomand FX, este foarte flexibil. Swing nu am folosit ce-i drept.

Și nu în cele din urmă, nu se scrie "persistence"? :D


#4
sftpdt

sftpdt

    Senior Member

  • Grup: Senior Members
  • Posts: 3,650
  • Înscris: 29.08.2013

View Postjegmihai, on 09 februarie 2019 - 23:28, said:

Ca și componentă de View aș încerca sincer sa folosesc un framework GUI. In Java ai în principiu Swing si FX. Dintre cele două îți recomand FX, este foarte flexibil. Swing nu am folosit ce-i drept.

JavaFX clar :)) .
Poti trece de la repository in memory la repository intr-un fisier txt de exemplu, apoi la baza de date :).

#5
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 19,980
  • Înscris: 24.02.2006

View PostBaggins, on 09 februarie 2019 - 23:00, said:

Sunt in procesul de dezvoltare a unei aplicatii CRUD de gestionare de entitati

n-o sa fie nimeni impresionat de o aplicatie CRUD.
insista mai degraba pe partea de infrastructura. de exemplu: documentatia (la prima vedere, tie-ti lipseste cu desavarsire).
pune un fisier cu descrierea proiectului si incearca sa-l pastrezi actualizat.

#6
BraviaAmpero

BraviaAmpero

    Member

  • Grup: Members
  • Posts: 923
  • Înscris: 03.11.2018

View PostBaggins, on 09 februarie 2019 - 23:00, said:

Salut!

Sunt in procesul de dezvoltare a unei aplicatii CRUD de gestionare de entitati (Workout-uri in cazul de fata) si postez aici cu gandul de a primi feedback de la oameni care stiu mai mult decat mine si implicit sa ma dezvolt.

Aplicatia: https://github.com/adr-tod/WorkoutLog

Scopul ar fi sa construiesc un portofoliu cu aplicatii Java care sa ma ajute sa obtin un internship (sunt anul 2 la facultate).
Orice sfat este bine primit.
Salut mergi pe tehnologiile java enterprise, converteste proiectul tau inntr-un modul EJB cu entitati JPA.
https://www.amazon.c...y/dp/1430219564
pentru partea ta de consola,  o convertesti in aplicatie java web (cu jsp-uri si servlets):https://www.amazon.com/Learn-Java-Web-Development-Modern/dp/1430259833

Aplicatia ta dpdv al complexitatii este o tema de weekend la nivel de liceul , classa a 11-a , insa daca o convertesti cum ti-am spus mai sus, inveti frameworkul nativ al java enterprise.
Iar coporatile cauta  in domeniul java doar java enterprise developeri care pot jongla cu modulele tehnologiei java enterprise.

Edited by BraviaAmpero, 10 February 2019 - 09:51.


#7
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,194
  • Înscris: 24.02.2007
Documentatie & teste sunt bine venite

#8
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,570
  • Înscris: 30.07.2003
JavaFX e o tehnologie moarta. S-a si nascut asa.
Da, Java EE are cautare pe piata muncii.

Edited by neagu_laurentiu, 10 February 2019 - 10:57.


#9
jegmihai

jegmihai

    Senior Member

  • Grup: Senior Members
  • Posts: 11,536
  • Înscris: 03.09.2013

View Postneagu_laurentiu, on 10 februarie 2019 - 10:56, said:

JavaFX e o tehnologie moarta. S-a si nascut asa.
Why?

Pentru că nu prea este folosită pe piața muncii?

#10
Baggins

Baggins

    Member

  • Grup: Members
  • Posts: 264
  • Înscris: 09.10.2014
In regula, deci ceea ce trebuie sa fac este sa

1. adaug documentatie si teste
2. persist datele folosind o baza de date (aici dupa un mic research am vazut ca as putea folosi JDBC)
3. trec de la interfata folosind consola la ceva mai avansat (GUI sau web) (tind spre web, deoarece ma gandesc ca mi-ar folosi mai mult acele cunostinte, poate gresesc)

View PostBraviaAmpero, on 10 februarie 2019 - 09:50, said:

Salut mergi pe tehnologiile java enterprise, converteste proiectul tau inntr-un modul EJB cu entitati JPA.
https://www.amazon.c...y/dp/1430219564
pentru partea ta de consola,  o convertesti in aplicatie java web (cu jsp-uri si servlets):https://www.amazon.com/Learn-Java-Web-Development-Modern/dp/1430259833
Aplicatia ta dpdv al complexitatii este o tema de weekend la nivel de liceul , classa a 11-a , insa daca o convertesti cum ti-am spus mai sus, inveti frameworkul nativ al java enterprise.
Iar coporatile cauta  in domeniul java doar java enterprise developeri care pot jongla cu modulele tehnologiei java enterprise.

Nu stiu cat de indicat ar fi sa trec la java enterprise tinand cont ca nici java core nu il stapanesc bine.
Am studiat putin cerintele unui job de java junior / intermediate, iar cerintele in mare ar fi

Good knowledge of Object Oriented Programming paradigm
Good Java Core APIs knowledge
Good knowledge of Internet protocols and services
Experience with Spring, JPA
Experience with Web Services (REST or SOAP)
Experience in developing web applications using at least one popular web framework (JSP, Swing, Spring MVC)
Experience with test-driven development
Proven hands-on Software Development experience
Proven working experience in Java development


si bineinteles cunostinte SQL, tool-uri pentru build (Ant, Maven, Gradle), Git...

Pentru un internship insa, nu stiu cat de bine trebuie stapanite cerintele de mai sus.

Edited by Baggins, 10 February 2019 - 11:40.


#11
BraviaAmpero

BraviaAmpero

    Member

  • Grup: Members
  • Posts: 923
  • Înscris: 03.11.2018

View PostBaggins, on 10 februarie 2019 - 11:22, said:

Why?
Pentru că nu prea este folosită pe piața muncii?
Nu este folosita de alte firme insa pt Oracle si firmele partenere Oracle este folosita.

View PostBaggins, on 10 februarie 2019 - 11:22, said:

In regula, deci ceea ce trebuie sa fac este sa

1. adaug documentatie si teste
2. persist datele folosind o baza de date (aici dupa un mic research am vazut ca as putea folosi JDBC)
3. trec de la interfata folosind consola la ceva mai avansat (GUI sau web) (tind spre web, deoarece ma gandesc ca mi-ar folosi mai mult acele cunostinte, poate gresesc)
https://www.amazon.c...y/dp/1430219564
https://www.amazon.c...n/dp/1430259833
Noi, corporatiile de java enterprise ne intereseaza ca un junior java  sa stii foarte bine tehnologiile java enterprise si sa poate jongla cu ele , ca sa-l punem la alte lucruri si mai
complicate.
O documentatie ar ajuta pe cine nu are timp sa se uite pe cod, dar in general noi intai ne uitam pe cod-ul scris de tine, intrebam acolo vedem chestii suspecte, apoi te trecem prin toata programarea
de liceu cu teste de algoritmica apoi te trecem prin tot java enterprise cu diferite teste, si de abio apoi decidem daca esti pregatit pentru cerintele noastre.
Evident in cazul in care dam OK-ul ne asteptam  sa poti avea capacitatea de a invata si alte frameworkuri enterprise intr-un timp scurt: cum ar fi ASP-ul.

View PostBaggins, on 10 februarie 2019 - 11:22, said:

Pentru un internship insa, nu stiu cat de bine trebuie stapanite cerintele de mai sus.
In internship trebuie sa dovedesti ca esti capabil sa le folosesti asa cum iti spune taskul.

Quote

Proven hands-on Software Development experience
Proven working experience in Java development
Aici de fapt ti se spune ca trebui sa ai experienta in a cupla sisteme scrise in diferite limbaje de programare cu tehnologiile java enterprise.
De aceea o aplicatie java enteprise trebuie vazuta ca un sistem de subsisteme.Aici pe noi inginerii automatisti ne avantajeaza automatica doarece ne-a invatat cum
sa modelam sisteme de sisteme.(practic jumate de experienta in modelarea sistemelor informatice o facem in facultate)
Un simplu informatician insa va avea probleme in a modela aplicatiile in tehnologiile java enterprise, doarece i se par foarte multe si foarte grele, si uneori chiar deloc necesare sau
"over-engineered" doarece incearca sa abordeze  o aplicatie enterpresie ca o singura aplicatie omogena, cand de fapt o aplicatie enterprise este o problema de  interconectare a unor  subsisteme eterogene si modelarea acestora  conform cerintelor.Apoi se trece la programarea propriuzisa.
De aici si frustrarea pe capul informaticienilor dar nu si a inginerilor de software.Noi suntem in largul nostru in  mediul enterprise:sisteme de sisteme.

Edited by BraviaAmpero, 10 February 2019 - 12:14.


#12
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,570
  • Înscris: 30.07.2003

View Postjegmihai, on 10 februarie 2019 - 11:05, said:

Pentru că nu prea este folosită pe piața muncii?
Si pentru asta dar a fost scoasa din JDK. E un proiect independent unde n-are doritori.

#13
khrypt

khrypt

    Junior Member

  • Grup: Members
  • Posts: 233
  • Înscris: 27.05.2005
@Baggins
Salut.
Nu-i rea deloc ideea ta, asta cu a intocmi unul sau mai multe proiecte pt un eventual internship/job. In ideea ca as putea sa te ajut cu un sfat pe ici pe colo, m-am uitat pe repo-ul tau.
Primul lucru, s-a spus si mai sus de catre colegii de forum, intocmeste un document cu ceea ce vrea sa faca aplicatia respectiva.
Apoi, acum cat esti la inceput de drum, impachetarea modulelor/claselor: incearca o contextualizare a aplicatiei. Acum, la tine e: src/main/domain - direct, si aici ai niste clase... daca o sa mai faci o aplicatie cu aceeasi structura (caci domain.. e larg utilizat), te vei lovi de coliziuni de namespace. Surprinzator intalnesc asta la case mai mari, unde din graba (la momentul respectiv), sau ignoranta nu au contextualizat calumea, si acum facem giumbuslacuri sa evitam coliziunile de namespace. Recomand pt inceput ceva de genul: ro.baggins.workout-app.(si aici lista de pachete specifice aplicatiei):
ro.baggins.workout-app.business
ro.baggins.workout-app.domain
ro.baggins.workout-app.persistance
ro.baggins.workout-app.presentation

Apoi. Interfata HasID<String>. Care este rostul ei? Continutul se incadreaza in standardul dupa care se vor a fi definte interfetele? Dar denumirea?
In aceeasi nota. Clasele Workout, WorkoutType si Exercise. Drept, nu stiu care sunt restrictiile la care te-ai gandit, dar de exemplu: eu ma apuc sa "fac" un Workout de tip cardio, dar mai intai incep cu un Workout de tip Stretching. Salvezi o sesiune de 2 Workout-uri?

La clasa Workout, esti sigur ca acolo se instantiaza ID-ul? Sau altfel, e bine sa-l instantiezi acolo?
private String id = UUID.randomUUID().toString();

Inca ceva, folosesti cuvantul/notiunea de "entitati". Intr-o prima faza te sfatuiesc sa lucrezi cu POJO si JDBC. Clasic. Apoi, dupa ce intelegi relatiile dintre obiectele tale, dupa ce te familiarizezi un pic cu JDBC-ul poti trece la entitati/jpa. Se poate si din prima, insa cred ca 1-2 saptamani de practica in zona jdbc-ului nu e neaparat timp pierdut, din contra.

Trag nadejde sa insisti cu acest proiect. Sa ne tii la curent cu evolutia lui si a ta.

Numai bine.

Edited by khrypt, 12 February 2019 - 13:47.


Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate