rychly vyvoj webaplikace pro existujici DB strukturu

2007-02-16 Tema obsahu vladimír karásek
Dobry den,

stojime pred rozhodnutim jak se zachovat v nasledujici situaci. Mame 2 proekty, 
ktere jsou si dost podobne a nasledujici mozna prijdou. A jak veli "Do not 
repeat yourself" pravidlo, kdyz neco mas vis nez 2krat tak je na case s tim 
neco udelat.

Pro existujici DB schema 30-40 tabulek vytvorit CRUD (create, read, update, 
delete) aplikaci s webovym rozhranim.  Velice nas zaujal produkt Oracle 
Application Express, ktery to umoznuje udelat doopravdy velice rychle. 
Naklikate, jake tabulky pouzivate, jakou sablonu pouzit a par jinych detailu a 
aplikace je hotova. Zni to jako pohadka.

 Neco takoveho bychom potrebovali s tim, ze bychom mohli dodelat ( zmenit) 
nejake casti kodu.  Nevyhoda tohoto produktu je ze je tu vazba na Oracle 
databazi, takze bychom ji museli vnutit zakaznikovi. Museli bychom provest 
migraci dat z jine databaze.  A nevim jak pracne by bylo provest nejake upravy. 

Existuje nejaky alespone trosku podobny produkt (nemusi byt free nebo 
open-source), ktery by nebyl vazany na urcitou databazi? A pokud ne, tak mate 
nejake typy jak elegantne resit takove projekty. Jake technologie pouzit? Zatim 
to vypada na kombinaci JSF, Facelets a Hibernate a bylo nam doporuceno se 
podivat na JBoss Seam. Takze uvitam dalsi typy.

Dekuji


Re: eclipse + subversion

2007-01-30 Tema obsahu vladimír karásek




asi mi to uniklo, ale proč že to nechcete používat řádkového svn
klienta?


Zdá se mi, že použití řádkového klienta je docela pracné. Už vidím, jak mi 
řeknou, že další věc bych mohl navrhnout používat vi místo eclipse. 90% 
programátorů u nás pracuje pod windows, polovina má sice dobré zkušenosti s 
Linuxem ale ten komfort co dává IDE příkazaová řádka nenahradí. Musím říct, že 
jsem řádkového klienta ani nevyzkoušel, takže teď jsou to spíš moje představy 
než zkušenosti.  Určitě to napravím.


Všechno je v něm rychlejší a hromadné přidávání souborů taky

zvládne v pohodě - po jednom to dělat nemusíte. Kdysi jsem zkoušel
subclipse a to byla taková katastrofa, že jsem se rychle naučil
používat právě příkaz svn a od té doby je úplně jedno co které IDE
podporuje za pluginy.

K dotazům:

Ad 1: svn checkout je rychlý dostatečně, kopii repository děláte
stejně jen párkrát a denní svn update je bez problémů.



Souhlasím, že checkout  z řádky musí být rychlejší než z grafického klienta.



Ad 2: řádkový svn používám v Linuxu, pod Windows taky-tam jsem ze
začátku používal http://subversion.tigris.org/. Solaris neumím, stejně
jsou to všechno Unixy, takže tam snad bude svn stejné?

Ad 3: Historie se nemění, pro hledání mi vždy stačil svn log, svn
update do určité revize zpátky, maximálně svn revert, kdy je fakt den
blbec a člověk se chce vrátit na začátek. Pro porovnávání souborů - co
konkrétně chcete porovávat?


Je to základní funkcionalita, kterou očekávám od "CVS" systemu. Chci mít 
možnost rychlého kontextového vyhledání v historii, kdy určitá část souboru byla změněna 
a jak. Mít možnost pohodlně provést refactoring existující verze

Stejně když dělá více vývojářů na jednom

souboru, tak máte konflikt, který musíte řešit a pokud naučíte
vývojáře podrobně psát zprávy o změnách do logu, tak pro informaci "co
se dělalo" log stačí. Klidně ať každý dělá commit několikrát denně s
každou změnou, kterou zvlášť popíše.


Nevím jak moc se to slučuje s XP metodikou, kde hlavní důraz se klade spíš na 
důkladné testování než na popis co se změnilo a proč se změnilo. Testy musí 
popisovat fukčnost systému.




Ad 4: Opět - kolikrát se projekt větví? U nás v Kyberii vždy stačilo
mít jednu vývojovou větev (trunk), branch pro odbočky a tags pro
finální verze. Minimálně trunk je dobré buildovat automaticky, ale to
víte-je to popsáno v XP jako nepřetržitá integrace.



Máme trunk a zatím jednu větev,  která se postupně debuguje a připravuje se na 
release. S více větvemi vzníká problém s podporou těchto větví v případě, že 
máme opravit bug. Ale určitě budeme muset v průběhu času podporovat minimálně 2 
verze produktu.





Re: eclipse + subversion

2007-01-30 Tema obsahu vladimír karásek

.
1, Ten problem s rychlostou - mozno nie je problem. Aka vekla je ta nova 
kopia? Mate v repo aj kniznice? Alebo aky je server alebo v 
pripojenie(ak to nie je LAN).  Skusil by som to porovnat s inym 
klientom. Totiz v eclipse to funguje tak, ze sa to najprv nataha a az 
potom processuje. 


Rychlost je 10 minut pro stazeni asi 40 projektu s celkovou velikosti cca 350MB 
na disku. Server ja na LAN, takze v siti problem neni.


2, jasne ze ide, to je pure java


V subversive si muzu vybrat co chci pouzivat. Mam na vyber tyto moznosti:
- Native JavaHL (svn: 1.4.2 (r22196) jni 0.9.0)
- SVN Kit
- Subversive Default (JavaSVN 1.0.4 (http://tmate.org/svn))

jsme se priklonili k JavaHL protoze je mnohem rychlejsi nez pure Java. 



A este na zaver by som poznamenal, ze mne osobne sa paci produkt 
SmartCVS. JE aj SmartSVN http://www.syntevo.com/smartsvn/highlights.jsp. 
Je tu odlisni pristup k zobrazeniu, ako inde.


Re: eclipse + subversion

2007-01-29 Tema obsahu vladimír karásek




To myslíte checkout projektu anebo update nějakého souboru?



Myslím checkout projektu. Jak jsem už napsal děláme podle XP metodiky. Takže 
lidí nemají svoje vyhrazené počítače a pracují tam který je zrovna volný. A na 
začátku je  třeba vytvořit nový workspace na lokálním počítači. Takže je rozdíl 
jestli to trvá 20 minut nebo 10 minut.



Současná verze Subclipsu se chová tak, že provede Delete na starou cestu
a Add na novou (navíc s plusem ve druhém sloupečku). A než provedete
commit, lze ten "nový" soubor poeditovat. Ale to je snad standardní
chování "svn mv", nebo ne?


Jde mi o to, abych mohl editovat třídu, včetně přejmenování a přesunutí aniž 
bych musel v mezikrocích dělat commit.


eclipse + subversion

2007-01-29 Tema obsahu vladimír karásek
Dobrý den,

chci se zeptat jestli někdo má zkušenosti s vývojem větších (nebo středních) 
projektů v kombinaci eclipse a subversion. Jsme ochotní zaplatit za odborné 
konzultace.

Co mně zajímá:
1. Rychlost satažení  nové kopie projektu z repository
2. Možnost používat kleinty na platformách Windows, Linux a Solaris
3. Možnost procházet historii, porovnávat, upravovat. To vše nějakým 
inteligentním způsobem. Takže to asi bude muset být Eclipse plugin.
4. Větvení a spojování.
5. Struktura repository.

Náš současný stav.
Máme asi 30 projektů, které jsou vzájemně závislé.
Používali jsme až donedávna CVS a vedení se rozhodlo, že je na čase použít něco 
vyspělejšího. Subversion slibovalo hodně ale přechod je více meně "pain in the 
ass".  Největší problém asi bude nalezení (konfigurace)  Subversion klienta pod 
Eclipse, momentálně používáme eclipse plugin Subversive, jeho poslední verzi. 
Přišli jsme na to, že pro rychlejší práci je třeba odškrnout několik checkboxu 
v nastavení, ale to nám pořád nestačí.
Momentálně stažení nové kopie z repository trvá 10 minut. Prucejeme metodikou 
XP programování. Často děláme refactoring.

Nevjětším problémem je situace, kdy musíme přejmenovat class a pak ho nějak dál 
upraovat. Jenže udělat v daný moment nemůžeme. Musíme přejmenovat, udělat 
commit a pak můžeme dělat druhou operaci. Což je velice nepohodlné. Myslím si, 
že to musí jít nějak snadněji. Ví někdo jak?