-
27-09-2011, 00:58 #31Member
- Registered
- 17/07/02
- Location
- Sol System
- Posts
- 10,064
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/78
Dat is dus duidelijk wat jou (en anderen) doet verschillen van Moto (en anderen). De laatsten schieten bij voorbaat al op iets als zijnde slecht zonder de relevante use case te kennen (ok, dit kon iets genuanceerder, maar dat is alvast wat ik meen te mogen besluiten uit het fervente anti-Hibernate - nu ja NHibernate, dat voor zover ik weet een flauw afkooksel is - betoog). Zoals ik al eerder zei : fine-tuning kan nog steeds achteraf als er zich effectief problemen zouden stellen, ook met Hibernate. Je kan er zelfs *gasp* SQL queries voor gebruiken.
Om het bij een boutade te houden : "premature optimization is the root of all evil". Wat uiteraard niet wil zeggen dat je je niks van de performantie van je code zou moeten aantrekken, maar overdreven fetisjisme is niet bepaald constructief (laat staan productief). Gebruik de juiste tool voor het probleem dat voorligt, in het ene geval is dat Hibernate, in het andere is dat iets anders.
Ach ja, en dat is uiteraard de fout van Hibernate en niet van de ontwikkelaar in kwestie... Alsof die er ineens een totaal andere visie op zou krijgen indien je hem SQL (of eigenlijk eender wat) laat schrijven.
Want je kan uiteraard geen oog hebben voor kwaliteit als je Hibernate (of een andere lib) gebruikt. Man man man, hoe kortzichtig kan je zijn... Het ene sluit het andere niet uit : Thai food is fastfood by nature, en lekker ook.Last edited by dJeez; 27-09-2011 at 01:15.
PSN: dJeezBE - Delicious bookmarks
Disclaimer: I am currently suffering from severe CSD (Compulsive Sarcasm Disorder). - L'onion fait la farce - Facile largire de alienoPastafarian by choiceno votes
-
-
27-09-2011, 01:02 #32Member
- Registered
- 03/05/09
- Location
- Heverlee
- Posts
- 103
- iTrader
- 5 (100%)
- Mentioned
- 0 Post(s)
Neen, ik bedoel dat het er van afhangt.
Mijn intiele data ophaling zal bijna altijd een sproc zijn. Zeker wanneer het over een grote hoeveelheid data gaat. Maar als ik bvb uit het resultaat details nodig heb gebruik ik hiervoor LINQ en ga ik mijn stored procedure niet aanpassen. Als ik bvb weet dat ik een kleine hoeveelheid data aanspreek, die niet veel zal groeien, zal ik ook eerder grijpen naar LINQ. Is dit bad practice? Zeg het mij maar, ik zou zowel argumenten voor als tegen kunnen vinden.
Nu moet ik wel eerlijk zijn: Soms zou ik op het directe resultaat van een gemapte stored een linq query durven plaatsen. Als ik me niet vergis gaat het entity framework dan eerst deze 2 queries samenvoegen vooraleer iets uit te voeren. Hier heeft de cakemevrouw gelijk dat ik op dat moment niet exact weet wat er onder de motorkap aan het gebeuren is.
Van de cakelady zou ik dan leren: Eerst iets doen met de query, zodat ik zeker weet dat het is uitgevoerd, en dan pas details ophalen.
Ik denk dat er eerder al aangehaald is dat het gemakkelijk is om een hele technologie af te schieten. En dat de waarheid ergens in het midden zal liggen. Vind het in elk geval een interessante discussie aangezien ik momenteel volledig aan het inzetten ben op ORM.
Doet me ook denken aan andere discussies waar ze zeggen 'De STL is slecht' of 'C#, dat doet vanalle imperformante dingen'SC2: Manjak 799no votes
-
27-09-2011, 01:08 #33Member
- Registered
- 03/05/09
- Location
- Heverlee
- Posts
- 103
- iTrader
- 5 (100%)
- Mentioned
- 0 Post(s)
no votes
-
27-09-2011, 10:52 #34Approved 9liver
- Registered
- 28/11/03
- Location
- Drongen
- Posts
- 6,665
- iTrader
- 5 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 6/28
Even een vraagje, in welke sector werk jij en hoe groot zijn uw projecten?
Cloud is er! In Belgie is het misschien nog niet aan het opkomen (zoals zoveel dingen) maar het is er. Ik werk in London en hier wordt bijna alles op de cloud gedaan.
Alle projecten die we bij de klanten doen worden op de cloud gehost en we zijn niet de enige...
Kijk naar bedrijven zoals Oracle en IBM. Die investeren massa's in de cloud en ik denk dat die wel weten wat er komt
Wat betreft de discussie... Ik denk dat ORM iets goeds is MAAR de developer moet er verstand van hebben en op een correcte manier gebruiken.
Een van mijn vorige projecten was een project in EJB (eigenlijk gebruikten die enkel eclipseLink) om ORM te doen. Niemand had daar veel verstand van. Ik heb daar ook niet veel verstand van. Mijn kennis zit op een ander framework dus ik zocht wat info op, keek hoe de anderen de implementatie deden en dat was het.
Resultaat... Applicatie was gigantisch traag en toen we gingen uitzoeken waarom werd het ons duidelijk... 1 schermke (met niet zoveel records) genereerde duizenden queries.
De applicatie was gemakkelijk te onderhouden want we gebruiken annotaties, dat klopt maar snelheid...
Het heeft ons dan redelijk wat tijd gekost om de applicatie deftig te doen draaien en dan nog genereerde het framework veel te veel queries.
Voor hetzelfde project zijn we dan begonnen in een andere technologie (ADF business components van Oracle) wat ook een ORM tool is maar totaal niet te vergelijken met hibernate of EJB maar het is hetzelfde princiepe. Die technologie beheers ik wel in tegenstelling tot EJB en hibernate. Resultaat, die applicatie draait tenminste deftig.
Ik ben er van overtuigd dat hibernate ook een goeie technologie is maar je moet ze kunnen gebruiken...no votes
-
27-09-2011, 12:18 #35Member
- Registered
- 25/07/02
- Location
- Brussel
- Posts
- 1,001
- iTrader
- 5 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 2/2
'Cloud computing' is toch echt wel een buzz-woord hoor.
Wat bedoel je met 'projecten worden op de cloud gehost'?
SVN (voor code) en een webserver (voor project documenten) zijn niet nieuw, maar kan je zeggen dat het hier over 'de cloud' gaat? Is wat mij betreft gewoon online storage.no votes
-
27-09-2011, 12:28 #36
Cloud computing gaat over scalability en availability en is enkel een buzz-word binnen marketing (maar daar zijn alle informatica-gerelateerde termen buzz-words).
no votes
-
27-09-2011, 12:51 #37Approved 9liver
- Registered
- 28/11/03
- Location
- Drongen
- Posts
- 6,665
- iTrader
- 5 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 6/28
Ik bedoel niet SVN en documenten maar de echte apps.
Het gaat er hem om om gemakkelijk extra servers te hosten en te klonen.
We hebben images klaar staan met verschillende suites geinstalleerd. Komt er een nieuw project dan moeten we enkel die image klonen, deployen en hupla.
Nuja, op zich iets wat al langer bestond maar dat is zo met veel dingen. Ze geven er een nieuwe term aan en plots is het modern en nieuw.
Maar het is wel iets wat meer en meer opkomt en heel gemakkelijk is.
Klanten vragen een bepaalde service (suite van apps), wij klonen een image en doen een minimum aan config en kunnen dan direct beginnen ontwikkelen zonder veel tijd te moeten steken in config van het systeem.
Wanneer er dan extra resources nodig zijn, kan er gemakkelijk een nieuwe server gehost worden. Het is dus ideaal voor scalabilitu zoals Parnakra al aangehaald heeft.
Als ik kijk met de technologie waar ik mee werk, dan is die perfect ontwikkeld om gehost te worden in een cloud waar server heel gemakkelijk toegevoegd kunnen worden afhankelijk van de resource noden.no votes
-
27-09-2011, 13:45 #38Member
- Registered
- 17/07/02
- Location
- Wilrijk
- Posts
- 1,994
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 9/16
Ik gebruik iets met een veel lager abstractie-niveau dan Hibernate/EF, en dus ook veel lagere learning curve. en veel minder problemen want ik weet precies hoe mijn abstractie werktTenzij je een concurrent van Hibernate gebruikt of je eigen ontwikkelde systeem, maar dan bewijs je eerder het punt dat ik maak
Nogmaal (n)Hibernate is leaky abstraction, wat wilt zeggen dat voor een echte applicatie er toch stukken in Sql/Stored Procedures gestoken moet worden + zoals in de presentatie als ge met een relationele DB werkt doet ge zowiezo tijdens development er SQL queries op, dus neeNou ja dat wordt dan een welles-nietes want mij lijkt de learning curve en de ervaring nodig voor het onderhouden van Hibernate vs SQL een pak kleiner.
(n)Hibernate gebruiken of EF gebruiken puur uit gemakzucht + zonder te weten wat de abstractie onderling doet + u ook niets aantrekken van eventuele performance voor de eindgebruiker is NIET GOED BEZIG.Je lijkt een beetje een beeld te hebben dat Hibernate garant staat voor significante vertragingen. Dat is niet zo.
Ge moet niet 1 ding daaruit pikken (gebruik van nhibernate) en u aangevallen voelen
Uiteindelijk maakt het niet echt uit als ge zo ene rommel gebruikt als uw eindgebruiker tevreden is, is nog altijd het belangrijkste
Dus dJeez ik schiet dus vooral op de combinatie niet op enkel (n)hibernateDe laatsten schieten bij voorbaat al op iets als zijnde slecht zonder de relevante use case te kennen
anyway de huidige trend is gewoon triest
Succes is geen garantie voor tevredenheid - Datanews.be
Zoals al eerder gezegd, niet de fout van hibernate, wel van de ontwikkelaar die het voor de verkeerde dingen + op de verkeerde manier + voor de verkeerde reden gebruiken.Ach ja, en dat is uiteraard de fout van Hibernate en niet van de ontwikkelaar in kwestie... Alsof die er ineens een totaal andere visie op zou krijgen indien je hem SQL (of eigenlijk eender wat) laat schrijven.
Moesten die personen zelf de SQL schrijven zou de kans op success al veel groter zijn
(bv minder N+1 Selects door lazy loading ed, meer nadenken over een persistence strategy)no votes
-
27-09-2011, 18:30 #39Approved 9liver
- Registered
- 18/01/04
- Location
- Melle
- Posts
- 10,535
- iTrader
- 56 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/102
Jouw definitie van cloud computing is dan totaal anders de mijne. Wat server images clonen en deployen bestaat al jaren. Cloud computing is voor mij eerder zowat alle diensten vanop een centrale server uitvoeren, ook de applicatie zelf. Dus niet ergens op je fysieke pc een app draaien die naar een server connecteert.
Maar we gaan serieus
“In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
PSN: Cycloon - Final Fantasy XIV: A realm reborn characterno votes
-
27-09-2011, 19:44 #40no votes
-
27-09-2011, 19:59 #41Approved 9liver
- Registered
- 18/01/04
- Location
- Melle
- Posts
- 10,535
- iTrader
- 56 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/102
“In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
PSN: Cycloon - Final Fantasy XIV: A realm reborn characterno votes
-
27-09-2011, 21:14 #42Member
- Registered
- 17/07/02
- Location
- Sol System
- Posts
- 10,064
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/78
PSN: dJeezBE - Delicious bookmarks
Disclaimer: I am currently suffering from severe CSD (Compulsive Sarcasm Disorder). - L'onion fait la farce - Facile largire de alienoPastafarian by choiceno votes
-
28-09-2011, 10:30 #43Approved 9liver
- Registered
- 28/11/03
- Location
- Drongen
- Posts
- 6,665
- iTrader
- 5 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 6/28
no votes
-
28-09-2011, 13:42 #44Member
- Registered
- 17/07/02
- Location
- Wilrijk
- Posts
- 1,994
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 9/16
Voordeel van een cloud voor grote corporations is dat men niet via de standaard super bureaucratische weg servers moet aanvragen

Werk nu in een Fortune Top 50 bedrijf en een virtual server aanvragen duurt soms een jaar
no votes
-
06-10-2011, 14:50 #45Member
- Registered
- 17/07/02
- Location
- Hasselt
- Posts
- 2,970
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/18
Ik vraag mij eigenlijk af op wat voor projecten gij zoal zit?
Een scherm dat na caching nog 10sec nodig heeft om te openen dat getuigt toch van zwaar amateurisme.
Projecten waar developers niet inzitten met performantie geeft toch blijk van zeer weinig professionalisme.
In de Java-wereld ben ik niet veel anders gewoon dan Hibernate en over performatieproblemen heb ik zelden klachten gehoord van de gebruikers. Waarmee ik niet ontken dat we van tijd performatieproblemen ondervinden, maar dat is niet iets wat eigen is aan Hibernate.
De overgrote hoop van handelingen die de meeste developers moeten doen zijn relatief eenvoudige get/save operaties. Daarvoor is Hibernate uitermate geschikt en bespaart gigantisch veel tijd en bewerkingen. Daarnaast is uw code veel leesbaarder en correcter (OO/DDD)
Als ge front-end met een zodanige zware dataload zit zodat uw scherm initieel 5min nodig heeft om te laden, dan zit uw design zwaar fout. Maw, perfomantie problemen zijn eerder toe te schrijven aan slecht design dan aan slecht gebruik van Hibernate. (het één werkt het ander natuurlijk ook in de hand)
Voor zwaardere data-transacties waar complexe queries bij komen kijken moet ge idd goed weten waarmee ge bezig zijt en moet ge goed weten wat er met Hibernate mogelijk is en hoe Hibernate zich gedraagt in bepaalde situaties (caching edm).
Bezie het als rijden met een auto: als ge uw auto gebruikt zoals de overgrote hoop van de bevolking doet is het besturen van een auto vrij eenvoudig.
Wilt ge rally gaan rijden, moet ge exact dezelfde handelingen uitvoeren, maar ge moet wel met veel meer factoren gaan rekening houden. Als ge dan constant de gracht inrijdt moet ge dat ook niet op de auto steken eh.If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilizationno votes

