Re: Eclipse RCP
Podivejte se na EMF - ten udela i ten controler a s Eclipse-link i persistenci. Vicemene v RCP udelate jenom layout and pres ECore cely model a hotovo. Karel
Re: michani http requestu
A jak přiděluje tomcat session? Nemůže ho plést, že nerozená remote IP?
Re: rychlost instanceof x interface x key/ID
Příjde mi to porovnání Swing a SWT. Když se nebudete dívat na rychlost kvůli nativní implementaci atd. atd. Ale zúžíte jenom se jenom na jak rychle se dá naučit Swing (OO) a jak rychle se dá úspěšně obsáhnout SWT (konstanty). Tak si myslím, že Swing vyhraje na plné čáře. Zákazník si rád koupí silnější železo, takže se stačí ještě stát VAR na HW. Karel
Re: Použití Eclipse plug-in SQL Query Parser
Použít plugin jako plugin? Zkuste pohledat v google: OSGi , pak Eclipse plugin a Eclipse feature. Poměrně hezky se s tím dělá, když si člověk osvojí principy. Karel T. Pavel Hora píše v Thu 29. 07. 2010 v 21:56 +0200: Ahoj konference, existuje civilizovanější způsob jak obecně použít kód Eclipse pluginu (kontrétně SQL Query Parser) než importem jeho *.jar do projektu? ...většinou má plugin totiž příliš závislostí a import jarů je nepohodlný. Neznáte nějaký dobrý SQL Parser (ideálně s podporou Oracle dialektu) pro javu. Díky, PH
Re: Mnohonásobné Copypaste kontra prznění kódu kontra nižší výkonnost
Nejprve jak psal Kamil jde o to co preferujete. Paradoxne jsem vcera zkusil postup s prepinacem typu Enum a treba na muj vkus mi to prinasi vice problemu (NPE, vice testu) nez pozitiv a socialnich jistot :-) ale je to o nazoru. Teda moje reseni je na zpusob: interface Data { /* stejne by jste resil int getCoJsem() */ public abstract void accept(ServisaA visitor); } class A implements Data { String name; ... /* casto implementuju copy constructor */ public A(A a) { this.name = a.name } public void accept(ServicaA visitor) { visitor.selectData(this); // this je typu class A } } class B extends A { int size; ... /* casto implementuju copy constructor */ public B(A a) { super(a) } public B(B b) { super(b); this.size = size; } public void accept(ServicaA visitor) { visitor.selectDataWithCounts(this); // this je typu class B /* tady je zamysleni jestli vyhovuje pouziti pretizenych metod na zaklade typu parameteru ci nikoliv alternativne: */ visitor.selectData(this); // this je typu class B } } class ServisaA { public Servisa lookupService() { return ((Servisa)ctx.lookup(servisa)); } public void selectData(A data) { ResultSet rs = con.createStatement(select name from tabulka); rs.next(); data.name = rs.getString(name); } public void selectDataWithCounts(B data) { ResultSet rs = con.createStatement(select name,size from tabulka); rs.next(); data.name = rs.getString(name); data.size = rs.getInt(size); /* ale kdyby bylo size treba select count(*) from tabulka tak: */ selectData(data); ResultSet rs = con.createStatement(select count(*) from tabulka); rs.next(); data.size = rs.getInt(1); } /* ted to je zase podle vkusu, nemusi to byt (visit=selectData) */ public void selectData(Data data) { data.accept(this); } } ted: class UplneJinaServisa { public run() { /* ve factory se vyrabi to ci oto, takze 5minut vyrabite pouze A, pak si jednou vyrobite B a zase pet minut A, nebo factory muzu vyrabet 1000 A pak 1 B a pak 1000 A ... */ Data data = DataFactory.newInstance(Nejake paramtery ktere muzou rikat co se vyrobi); ... furt stejnej kod co vsude byl ... ... i volani 100 service ktera vubec nic nevi o nejakem A nebo B ... ... a nekde hluboko ... bud a) /* ze servisaA.selectData(data); se stane */ data.accept(servisaA); /* nebo protoze mame selectData(data) tak ten radek zustane */ servisaA.selectData(data); } } takze celej slozitej a uz odzkousenej kod zustal stejny. Tusim, ze pak compilator je schopen ty volani nahradit skoc sem skoc tam a pak zase trosku jinam. Vyhoda je ze kdyz pridate C tak cely kod zustane stejny pouze neco pribude na ServiceA, takze vam projdou vsechny testy pro A i B. ano rad nechavam hodne veci na kompilatoru.
RE: diakritika
Platí taková poučka: pokud chceš být odborník na cokoliv, zprzni pár slov a používej je co nejvíce to jde. Sice ti nebude nikdo rozumět, ale právě proto budeš odborník. Neříká se přece Odborník na slovo vzatý? Karel
Re: Mnohonásobné Copypaste kontra prznění kódu kontra nižší výkonnost
Visitor pattern. Evidentně budete zasahovat do kódu, takže místo přidávání and cp a boolean to udělat trochu jinak. (Tady se da udelat i extends ale to se provaze s implementaci) Extrahovat interface (IfaceA) ze současné struktury (StructA) - a přidat druhou strukturu (StructB) která implementuje tento interface také (může i rožšiřovat StructA). Interface bude mít navíc metodu jako setResults(ServiceInterface serviceA). A service bude mít selectResult(IfaceA obj) která zavolá Iface.setResults(this) StructA.setResults(ServiceInterface service) { service.selectResults(this); // v tomhle pripade uz this je plne znamy typ } StructB.setResults(ServiceInterface service) { service.selectResults(this); // v tomhle pripade uz this je plne znamy typ } no a konecne v ServiceInterface bude mit ServiceInterface.selectResult(Struct A) a ServiceInterface.selectResult(Struct B) Takhle nebudete mit zadny if else if else if a v budoucnu pokud pridate StructC D E F G H zasahnete kod ServiceInterface. Ono dokonce lze zdetit i ServiceInterface na ServiceIterfaceCDEF a v StructCDEF bude mit ServiceIterfaceCDEF - protoze Implementace zna sebe diky this tak to bude dal fungovat. Testovani: pokud se zavede boolean (N=2) nebo int (N) a to k tomu kazda dalsi stuktura (M) melo by se napsat NxM testu. Takhle 2xM. Tohle ma spis ukazat tu vyhodnost. Karel A je to refactoring safe. Coz v pripade booleanu nebo intu neni Naopak OOP bylo vymysleno tak aby se kod funkcni a odzkouseny pouzival znova a znova a znova. d) pro omezení zbytečného výpočtu statistik v c) přidat do volání API boolean (nebo raději int pro více možných stavů) parametr udávající, zda výpočty volat či nikoli (rozhodování může to být řešeno dědičností konkrétní datové struktury, ale to je pořád onen boolean či int a s ním někde svázaný switch či kupa ifů).
Re: jednoduchy sablonovaci system pomocou jsp tagov a UTF-8
btw dost často se mi stává, že kolegové na Windows mají v Eclipse nastaveno win 1250 a nikoliv utf-8 i přes to, že to vypadá nastaveno jako to utf-8.
Re: jednoduchy sablonovaci system pomocou jsp tagov a UTF-8
Uz jsem na to taky narazil a to v tiles a eclipse. Stalocilo dat vsude za posledni radek enter. Ale ze by tohle bylo zrovna reseni. Mozna nekdo nabidne sofistikovanejsi vyklad.
Re: ECLIPSE A RAP
Našel jsem RAP vs GWT na live.eclipse.org RAP by měl bez problémů udržet 1000 session a 100 přistupujících uživatelů s 250MB. Což mně docela padla čelist, protože pro stejné požadavky přístupu na PHP dáváme 5x tolik. Takže až za někdo bude řvát jak je java paměťově náročná... Vyplatí se koupit na RAP tahle knížka: http://apress.com/book/view/1430218835 Četl ji někdo?
Re: Eclipse RCP client + Spring backend
EMF by tedy mohlo byt vhodne spolecne s Acceleo http://www.acceleo.org/pages/home/en Pak zbytecne neprepisujete model do kodu a zpet. V zakladu EMF umi dvou-cestne (tri-cestne) model-ecore-java kod a zpet.
Re: spring vs. seam
Spring je lepidlo než framework na aplikace. Pokud mluvíte o Spring-XXX, kde XXX je např. transactions, mvc, ... tak je to soubor obalových tříd nějakých konkrétních technologií. Co si ovšem vyberete za technologie je na vás. Co se týče webu, tak můžete volit od spring-mvc a přitom použít jakýkoliv view (jsp, freemarker, velocity, Ice faces). Vyšší úroveň nabízí Spring Webflow, ten se stará to tok stránek - obrazně řečeno spojuje jednotlivé requesty ve vyšší celek (konverzaci). Díky to se dá použít JSF/ICE Faces i JS/Ajax (Dojo). Už jenom příjemností je full page render vs. partial page render podle toho, jestli je dotaz ajaxový nebo prostý. Co se týče návrhu webu, je otázka jaký zvolíte vývojový model. Pokud na projektu budete pracovat delší dobu, nebo se bude rozšiřovat jeho funkcionalita, pak jednoznačně komponentový přístup. Dost často se stane, že při realizaci bude požadováno rozšířit funkcionalitu o podobné stránky. KTj
Re: Zkušenosti s Apache Wicket
Přemýšlel jsem o tom o víkendu, kdy jsem si ohříval kafe za větrákem CPU. Facebookové aplikace ve Flashi žerou neskutečně CPU a nějaký offload na GPU nemají. Buď to autoři neumí nebo to nedovoluje Flash. Byl bych rád, kdyby se prosadila jiná, lepší technologie. Moje přítelkyně je schopná notebook uvařit a to doslova. Kupodivu i moje blondýny (jsou blond, jsou ženské a je jim 5-30) si poradí s instalací Javy do Firefoxe samy. Oni si umí nainstalovat Firefox i Thunderbird s nastavením účtů a mají Chrome a kupodivu i Safary. Ony nemají předsudky: to je Java - to je pomalé, ve Flashi nemůžu klikat pravým tlačítkem, to je Silverlight - to je .NET a to je MS, který nemám ráda - to je GTK, ale já chci QT. Prostě stáhnou 300MB .NET frameworku, používájí aplikaci, která jediná má závislost na Mono, neřeší, že aplikace žere všechnu paměť CPU... A když se stahuje nebo beží něco dlouho, jdou uvařit večeři. Takže dle mého názoru: Aplikace pro masy - je jedno v čem to je, pokud prezentace bude zajímavá, lidi si to stáhnou. Pro firemní prostředí - je to taky jedno, tam se to dá dát i do smlouvy.
Re: dependency injection - modelování závislostí v relační db
Neni tohle nahodou ukol JMX ? Neberte to osobne, ale prijde mi, ze dneska (v Cechach) plati ulozit na disk = ulozit do Relacni DB. Uz jsem videl i java web aplikaci co datum na strance zobrazovala pomoci select today();
Re: Balikovanie java aplikacii na linuxe
Podivejte se na gentoo - vyreseno pomoci slotu a use flags. Evidentne pro opensource by to nebylo tak velky problem (spustit i testy po buildu automaticky a reportovat chyby). Tady je i videt jeden mozny duvod, proc Oracle ma vlastni distribuci. Pavel Nemec píše v Thu 22. 10. 2009 v 13:22 +0200: Dne 22. října 2009 12:42 Podlesak Kamil kamil.podle...@ips-ag.net napsal(a): Naopak! Prave ze Lotus Notes jsou k dispozici jako rpm i deb a se spravnymi zavislostmi. Prave proto doslo k zminovanemu problemu. Teoreticky by stacilo, kdyby v zavislostech byla uvedena presna verze - jenomze bohuzel to by ve stavajicich balickovacich systemach zanamenalo jen to, ze by se knihovna nesmela updatovat.
Re: otimalizace nemennych hibernetich entit
Imho tohle - pamet a disk - resi databaze. Proc jinak pouzivat databazi? Zjistete si jak veliky ma vase databaze extent - to je minimalni mnozstvi nactenych dat, takze je mozne ze mate uz v pameti jeste vice dat nez pozadujete. Z pohledu java aplikace jde spis o to, ze se nemusi resit transakcni izolaci (zapis a cteni) a bylo by dobre rici databazi - ja ty data menit nechci (READ ONLY). Ale jak se to v hibernate udela? danisevsky píše v Mon 19. 10. 2009 v 17:55 +0200: Zdravím konferenci! Rovnou k věci, mám v DB několik desítek tisíc záznamů, které různě filtruji a zobrazuji na webu. Tyto záznamy jsou však neměnné, tak mě napadlo, zda by se nějak nedalo optimalizovat jejich čtení.
RE: Balikovanie java aplikacii na linuxe
Teď si třeba velice rychle vzpomínám na užití springs (nebo asi hibernate) s cglib, tak je přesně stejná verze se steným číslem, ale s originál cglib to nefunguje a s RH verzi ano. A teď raď balíčkovací systém. Díval jste se někdo nebo používáte ivy?
Re: Balikovanie java aplikacii na linuxe
Skoro kazdej jazyk krome c/c++ ma: php PEAR ruby GEMS perl CPAN python (tusim) PyPI Java je opravdu bezpecny jazyk. JVM neumi sdilet tridy. Balickovaci system v porovnani: cena disku a pameti vs namaha se spravou balicku - vychazi nejhur pro balickovaci system, zejmena linuxovych distribuci. Krom toho se neco chysta do Java 7.
Re: parsovani xml dokumentu
jestli vam jde o rychlost: jflex / jflex.de Petr Burdik píše v Sat 19. 09. 2009 v 21:35 +0200: Jste moc hodny, diky. Zrovna ted jsem se dival ze vsechny veci co mam rad a pouzivam jsou v alfa verzich. Spring 3.0 v milestone 4, dwr 3.0 taktez. Takze me ceka za chvili dalsi posun. Ale ted zrovna to vubec nevadi :D Pekny vecer a jeste jednou moc dik
Re: spring security - vlastny uzivatelia
Zdrojáky spring-security a samples. Není to težké pochopit co je co. Něco podobného jsem teď dělal bez in-depth znalosti stylem copy and paste.
Re: Nahravani zvuku v Jave
Arne píše v Fri 28. 11. 2008 v 14:52 +0100: Zdravim panove a damy! Btw. Damy maji prednost... Vazene damy, Vazeni panove... Chci do sve aplikace zahrnout nahravani zvuku. Jde o kratke nekolikaslovni seqence. Jde mi o nejaky kompronovany format, nejlepe mp3. Ty ukladat do databaze a prehravat - nejlepe opet javou. Nahravani (pristup k zarizeni) a format pro ukladani jsou jabka a hrusky: Takze nahravani z microfonu: http://java.sun.com/docs/books/tutorial/sound/capturing.html Encoding do MP3 http://openinnowhere.sourceforge.net/lameonj/ Ale je otazka, zda mp3 je zrovna to prave orechove... Speex: http://jspeex.sourceforge.net/ apropo jsou to 1., 2. a 3. odkazi ze stranky www.google.com Několik keywords: Record - nahrát Microphone - mikrofon Device - zařízení Speech - projev, reč PCM - formát pro zvuk BLOB - typ pro bin data v databázi Furierova transformace PS: tady se dá pozdravit i Ahoj Lucie a vážení pánové
Re: Navrh programu
Spring Framework - podpora pro scheme, tj. napr. logo se zadefinuje pod kod logo.url logo.width logo.height... Radovana Straube píše v Út 05. 08. 2008 v 02:50 -0700: Kazdy pouziva ake IDE chce (NetBeans, Eclipse). Nemam rada zhora nariadene IDE. V byvalej firme jeden z najvykonnejsich programatorov (Rus) programoval zasadne iba v UltraEdite. Funkcionalita //#if //#endif by nam nepostacovala a asi by aj poriadne zneprehladnila zdrojaky. Takto mame vsetko pekne oddelene. V jednom adresari sa nachadzaju vsetky specifika pre daneho zakaznika, nie su roztrusene po celom kode. Momentalne mame okolo 50 takychto zakaznickych adresarov aj s podadresarmi pre rozne aplikacie. S pozdravom Radovana Straube --- On Tue, 8/5/08, Robert Slama [EMAIL PROTECTED] wrote: From: Robert Slama [EMAIL PROTECTED] Subject: Re: Navrh programu To: Java konference@java.cz Date: Tuesday, August 5, 2008, 11:29 AM Neviem co pouzivas za IDE, ale nam sa docela osvedcilo v Netbeansoch //#if //#endif prepodpokladam, ze ostatne IDEcka to maju tiez. r. 2008/8/5 Radovana Straube [EMAIL PROTECTED] Dobry den, my sme mali vo firme rovnaky problem. Mame zopar aplikacii a kazdy zakaznik chcel mat samozrejme svoje logo, layout, svoju adresu v paticke, svoje vlastne nastavenia... Mame zakladnu aplikaciu. Vytvorili sme zoznam adresarov podla zakaznikov, kde sme ulozili specificke subory. Nami napisany ant-skript zoberie zakladny war-subor a doplni prip. vymeni specificke subory alebo pozmeni urcite texty - vytvori sa specificky war-subor pre urceneho zakaznika. Toto riesenie nepotrebuje ziaden specialny softver iba javu a ant. Tento postup sa nam osvedcil aj v pripade, ze zakaznik ma nejake tajne nastavenia a deployment si chce robit sam. Pri update posleme iba updatovany zakladny war-subor a zakaznik si spusti nas ant-skript uz so svojimi nastaveniami. S pozdravom Radovana Straube --- On Tue, 8/5/08, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: From: [EMAIL PROTECTED] [EMAIL PROTECTED] Subject: Navrh programu To: konference@java.cz Date: Tuesday, August 5, 2008, 10:24 AM Ahoj, řeším problém s aplikací, mám starou aplikaci kde existuje od jedné základní verze 30 pozměněných. Každá pozměněná verze se liší logem, uvítacími stringy a popřípadě zapnutými/vypnutými moduly(případně jsou některé parametry trochu pozměněné). Mohl by někdo poradit jak novou aplikaci navrhnout tak abych měl všech 30 minulých verzí prakticky v jednom projektu a zpráva verzí byla co nejflexibilnější ? Jak pojmout takovou aplikaci ? Díky za každou radu Petr
Re: Re:javascript validace
Tak jestli tam neco muzes pridat, tak se podivej na posledni Spring WebFlow 2 a jeho Spring WebFlow JS - pouziva knihovnu Dojo, ale umi pomerne slozite veci nechutne jednoduse - na par radek muzes validovat pres Ajax (tj. pouzijes ten samy validator na server i client side). Karel bardolf * píše v Út 22. 07. 2008 v 14:46 +0200: ahoj, trochu jsem se unahlil a opomnel jsem jsem napsat, ze aplikace je postavena spring mvc. takze pak uz je volba jasna: https://springmodules.dev.java.net/docs/reference/0.6/html/validation.html . diky B.
Re: Spring (Acegi) Security zmena a vynuceni https
Tak to jde, protoze jsem slepej jak patrona - pro IS_AUTHENTICATED_ANONYMOUSLY uzivatele sem si nastavil requires http a i kdyz jsem pred to dal IS_AUTHENTICATED_FULLY requires https vracelo mne to http. Tak sem smazal requires=http a funguje to - jenom kdyz nahodou zmeni url na http tak si pojede dal. ale on na to browser upozorni...
Re: Spring (Acegi) Security zmena a vynuceni https
uživatele proti zneužití (Session hijacking)? Protože pokud vám jde o Jo jo - to ma spring security v sobe - posle se username a heslo pres HTTPS a pokud se spravne zaloguje (resi se to ve filtru) Session se vytvori nova a zkopiruje data z te stare (tu zahodi). Takze to jsessionid (cookie nebo param) se zmeni a nahradi za nove, ktere neni zname. Ceho sem chtel dosahnout je to, aby kdyz nejakym zpusobem (bookmark) uzivatel, ktery je authentifikovany vleze zpatky na http a tim posle sessionId nechrane, mu aplikace naplacala pres ruku napr. 403 Access Denied a zaroven zinvalidovala jeho session. A ted mne napada - posila Ajax ktery je z https stranky pres https? Karel
Re: zmeny modelu
Neexistuje na to nejaky tool, plug-in, hocico? MyEclipseIde to zvlada nakrasno. SpringIDE by to melu umet.
Re: openDBcopy a MS SQL
Ahoj, MS SQL moc neznam, ale kdyz jsem zkousel neco podobneho, nejdriv jsem napsal prohledavani stromu s alfa-beta orezem pres cizi klice. Docela to fungovalo, jenze pak se objevi veci implementace a kazda db si to resi po svem - prave jako je generovani identit, velikost transakce atd. A i kdyz byl algoritmus rychly, tak v nekterych db to trvalo neskutecne dlouho - treba v DB2 takhle nalit 60GB dat byl ukol na tyden. A nejlepsi ze to napsalo ve ct neco jako WAL transaction log too big nebo tak podobne. Vetsinou se musi v ciste db: * vytvorit tabulky jenom se se sloupky ktere vubec nic nerikaji (tj. bez pk, fk, triggeru, check, indexu - rychlost) jeste lepe k tomu vypnout transakce (u nekterych db jako DB2 muze dojit k preteceni transakcniho logu na operaci de to kytek) * nalit data - bud sadou insertu nebo maj kazda lepsi db svuj COPY. * a ted alter table xxx add constraint pk, fk, atd * create index - vyvorit indexy * a ve finale alter sequence ... nastavit sekvence na spravne hodnoty * grant Karel Radovana Straube píše v Út 24. 06. 2008 v 12:13 -0700: Dobry den, openDBcopy s MySQL mi funguje, ale pri testovani na MS SQL 2000 sa pri kopirovani dat do cielovej prazdnej databazy vyskytol problem s IDENTITY_INSERT. Problem dokazem obist vygenerovanim sady INSERT prikazov pre kazdu tabulku zvlast, kde pred vlozenim dat najprv IDENTITY_INSERT zapnem a potom vypnem. V dokumentacii je ale napisane, ze kopirovanie medzi dvoma schemami v MS SQL je podporovane. Pouzila som jTDS driver. Robim nieco nespravne? Google pri zadani klucovch slov openDBcopy IDENTITY_INSERT nezobrazi ziadne linky. Dakujem Radovana Straube
Re: hibernate a criteria
Asi pomuze z dokumentace: List cats = sess.createCriteria(A.class) .createAlias(b, b) .createAlias(c, c) .add( Restrictions.eqProperty(b.name, c.name) ) .list();
Re: Tomcat
Ahoj, Zdravim, odpravedlnujem sa za off-topic, ale mozte mi, prosim, upresnit preco odporucate 64b linux ako server? Do cca 4GB RAM by malo byt jedno ci 32b alebo 64b a podla mojho nazoru sa *BSD alebo OpenSolaris hodi na server lepsie ako linux (ak odhliadnem od podpory hw, ale pri serveri je to jedno). 4 GB je limit na jeden process. *BSD a OpenSolaris - podpora ze strany vyrobcu, alespon co je mainstream (Dell, HP, IBM) v Cechach se rovna 0. Protože při použití 64-bitového linuxu stačí v případě potřeby přihodit paměť přes 4GB, a systém ji použije, kdežto u 32-bitové verze by bylo nutné nainstalovat nový systém, a do toho se u serveru nebude nikomu chtít. Mam 32b linux a bezne 8GB ci 16GB pameti, nic se nemuselo preinstalovavat, bezi to na standardnim distro-jadro Ubuntu. Co se týká *BSD a OpenSolarisu, instalace komerčního linuxu typu SUSE, RedHat, Ubuntu je triviální i pro člověka, který nerozumí detailům, protože se jen odpovídá na otázky grafického instalátoru. A když se podíváte na dowload JDK na java.sun.com, nabízejí verze pro Linux, Solaris a Windows. Takže *BSD není podporované, a případná instalace je jen pro unixové fajnšmekry. BSD a OpenSolaris tady v Ceskejch pomerech je docela mrtve, jak co do podpory vyrobcema, tak komunitou... neodporucam, cloveku, ktory nema skusenosti s linuxom, kludne by sa mohlo stat, ze linux nebude mat na nieco ovladac (napr. sietovka RTL8111C mi robila prolem, bolo treba skompilovat ovladac od realtek-u) Instaloval jsem OpenSuse 10.x už hodněkrát, a potíže s hardwarem se vyskytly pouze u v té chvíli nejnovějšího hardware, což vždy vyřešila novější verze OpenSuse, v nejhorším betaverze od přicházející verze. Je jasné, že když je nějaký nový hardware vydaný až po datu vydání verze OS, nemůže ho podporovat, ale stačí si nekoupit ten nejnovější HW. To snad plati jenom u desktopu na hry ne? Server jako HW je prave o tom, ze se drzi zpet o nejaky ten patek.
Re: Obslužný program v Javě
V Google zkouseji ten novy prekladac?
Re: rozdelenie aplikacie v Spring na frontend server a backend server
Ano je. Viz Spring Remoting, ale plati obvykle 'to zavisi' Tady nejvice na tom jak to mate rozvrzene - pokud mate value objects a komunikujete pres Servisni tridy, tak je to trivialni. A pokud ne tak je to treba na predchozi trivialni pripad prevest, coz muze byt netrivialni. Ale prave Spring je toto, web interface je takove nejcastejsi pouziti...
Re: WEB aplikacia bez zmeny url adresy
A nebo mne napadlo ze Spring WebFlow prenastavit Flow Resolver nebo jak se to jmenuje - proste aby si key_id bral z cookie a vsechno udelat jako jeden velky flow se get-after-post (ten post si slusny prohlizec nebude pamatovat)...
Re: JSTL a tag fmt:message
Mne se to deje, kdyz nedetekne locale spravne. z mne neznamych dovodov mi prestala fungovat kniznica tagov FMT z JSTL. namiesto retazcov zo suboru messages.properties vypisuje napr. ???common.hello???. subory messages.properties, messages_sk.properties a messages_en.properties mam ulozene vo web-inf/classes.
Re: rozklikavaci obrazky
2-rozmerne pole A s komponentama a z eventu nacist souradnice X,Y podelit a zavolat na komponente A[x0][y0].doSomething() ?
Re: XML a data
dom4j umozni tzv. detach - tj. odstrani uzly z pameti: doc = DocumentHelper.createDocument(); writer.write(doc);// ! rowList = doc.addElement(rows); writer.writeOpen(rowList); // ! while(resultSet.next()) { Element row = docList.addElement(row); writer.write(row); // ! doc.detach(); // ! } writer.writeClose(rowList); // ! 28GB xml zadny problem (zvazte detach a write pro vice radek); Martin Jedlička píše v Út 15. 04. 2008 v 15:45 +0200: Zdravim, mam dotaz ohledne XML. Mam tabulku (viz nize), ve ktere je velke mnostvi dat (x sloupcu a x radku) a potreboval bych tyto data ulozit (a pak zpetne nacist do Javy) do XML. Jak pracoval s XML, kdyz mam v podstate jen velke mnozstvi dat? Jak toto ulozit? Diky M. cas | jmeno 1 | jmeno 2 | . . . - 0 | 18647 | 29834 | 40.0 | 19647 | 29896 | 80.0 | 20647 | 29959 | 120.0 | 21647 | 30021 | 160.0 | 22647 | 30084 | 200.0 | 23647 | 30146 | 240.0 | 24647 | 30209 | . . .
Re: JSTL a tag fmt:message
Ja bych dodal, ze tazatel muze mit konfiguraci pres Spring, pouziva JSTLView a spoleha na autowire defaultniho ResourceMessageBoundle (nebo jak se to jmenuje), ktere umi hledat zpravy jenom z jednoho souboru a to podle locale. Aby to umel tak, jak rika spec musite nakonfigurovat chained. Neumi spadnou na prednastavene. Alespon tak se mne povedlo mit 3 otazniky key 3 otazniky. z mne neznamych dovodov mi prestala fungovat kniznica tagov FMT z JSTL. namiesto retazcov zo suboru messages.properties vypisuje napr. ???common.hello???. subory messages.properties, messages_sk.properties a messages_en.properties mam ulozene vo web-inf/classes.
Re: Spring MVC a validator na cislo
Jen tak od boku; Tohle se mi stava pri validaci, kdyz property je typu int nikoliv java.lang.Integer (nebo setAge(Integer age) vyhodi vyjimku NullPointerException) Failed to convert property value of type [java.lang.String] to required type [java.lang.Integer] for property age; nested exception is java.lang.NumberFormatException: For input string: aaa
Re: Spring MVC a validator na cislo
Diky za zdroje a napsani vysledku, uz to u nas opravuju taky. Jeste zpresnim - nejde o vyjimku do konzole ci logu, ale o error message z Binderu na zaklade vyjimky. Pokud pouzijete objekt (Long,Integer,Short) je v objektu BindErrors (errors) jiz klic k dane property s touto hlaskou. Kdyz napisete do ResourceBundle typeMismatch.java.lang.Integer=Moje zprava. - Objevi se moje zprava. Pokud ve validatoru zjistite ze property je null (a nebo se na ni nesahalo) a sparujete property command s klicem zpravy v tom validatoru, prepise tuto chybovou hlasku. Toz tak pro googlisty.
Re: Spring MVC a validator na cislo
Chybi jeste Short :-) Myslenka otce Fura: pokud mame property jako vek (nemuze byt zaporny) nebo lepe rok - nez osetrovat ve Validatoru mel by na to byt napsany CustomPropertyEditor (treba tak, aby pochopil rozdil mezi 2cislicemi a 4mi). Pokud mame: Failed to convert property value of type [java.lang.String] to required type [java.lang.Integer] for property age; nested exception is java.lang.NumberFormatException: For input string: aaa Do messages.properties: typeMismatch.java.lang.Short=Must specify an integer value. typeMismatch.java.lang.Integer=Must specify an integer value. typeMismatch.java.lang.Long=Must specify an integer value. typeMismatch.java.lang.Float=Must specify a decimal value. typeMismatch.java.lang.Double=Must specify a decimal value.
Re: persistence
Asi od toho balíčku očekávám moc. Je treba zmenit mysleni a myslet v objektech. SQL ma byt uplne zastineno. Na to jak dlouho hledám informace (asi to neumím) mi připadá, Jde o pracovni navyk - taky mne to slo blbe. Je dobre si koupit nejaky dobry a aktualni slovnik, napr. Cambridge nebo tak. Zlepsi se Vam anglictina sama a dr. Google bude Vas kamarad. Hibernate řeši zřejmě to stejné ale funguje i pro desktop, nebo to je vyloženě webovská záležitost? Zkuste se podivat i po iBatis - mozna vam sedne nejvice. U vsech plati (toplink,Hibernate,iBatis) ze se pouzivaji vsude ne jenom na webu. Umí řešit i tohle ukládání v kaskádě a zjistit si aktuální hodnotu vazebního klíče? Problem bude v tom jak to mate nakodovane viz dale. že kdybych zůstal u starého dobrého SQL, tak to mám dávno hotové. Pro male projekty je to pravda. Sila ORM je u mnoha entit, kdy se do hry dostanou dalsi nastroje jako AOP a pak napr. transakce resite deklarativne (napr. reknete neco jako vsechny metody co zacinaji get jsou tenhle typ a vyzaduji novou transakci nebo se ucastni stavajici). Vyhozena vyjimka udela sama rollback atp. Nakonec při veškerém úsilí to nepozná, že to má po kaskádě dělá uložit s novým klíčem. Jeste se musite podivat po DAO a POJO: Klient je POJO - Stary cisty Java objekt, tj. nikdo si s nim na pozadi nejak nehraje. Ten by mel mit set/get pro svoje promenne a pro relaci Klient-Adresy (Taky se tomu rika Entity a ty se prevadi na Value Objekt) Klient#getJmeno():String // jmeno Klient#setJmeno(jmeno : String) // nastavi jmeno Klient#getAdresy():nejaka Kolekce // vraci adresy klienta Klient#setAdresy(:nejaka Kolekce) // objektove udelani vazby Klient#addAdresa(Adresa adresa) { klient.getAdresy().put/add(adresa); adresa.setKlient(this); } pak je tu DAO tak delate entityManager.persist delete a atp. tj. KlientiDao { void ulozKlienta(klient) { entityMamanger.persist(...) } } No a nekde ve formulari bude te mit k = new Klient(); .. a = new Adresa(); ... k.addAdresa(a); getKlientiDao().ulozKlienta(k); Trosku na hlavu ne? Ano i Ne. Kazda vrstva resi neco jineho - POJO resi jak jsou data ulozena (mozna jako DDL) a DAO resi jak se s nima naklada (DML). Co jsem našel je , jak se nastaví relace, ale že to neumí takové triviality jsem se nedočetl. To je alfa a omega vsech problemu s ORM - napoprve nemusi fungovat tak jak si myslime... i na podruhe, potreti...po stobilliontyprvni :-D Takže si nejsem jistý, že se nebudu potýkat s dalšími záludnostmi černé skřínky. Zlatý starý dobrý SQL. No a ted si vemte, ze mate annotace, spoustu balastu okolo a to vse se preklada v nejaky SQL dotaz, ktery nebyva optimalni. Proč jsem do toho šel byl jediný důvod, že si to postavilo přes binding samo tabulku. No ale když jí předhodím list, tak si ji postaví taky. Takže mě tohle komplikované nastavování anotacemi tedy moc neuspokojilo. Možná na to nemám dost času a trpělivosti. Kde ORM setri praci je pripad, kdy mate cisty novy projekt a sednete ke kreslitku UML - napraskate entity ulozite a napise mvn install a ono samo to udela tabulky, entity, vo, dao, services i jednoduche dotazy typu findByRok() Udelate dalsi diagram a samo to vygeneruje webove stranky i s akcemi. Ukazete designerovy, ten doda par obrazku a klient je ready na prijeti faktury. (neverite: -google - andromda crud) PS: toplink neznam, ale doufam ze sem nikoho neuvedl v omyl a pokud se mylim rad se poucim. Tak prosim nemumlejte si pod vousy a napiste opravy.
Re: persistence
Ahoj, Update funguje Přidávat nové adresy ke klientovi, který je již v předešlém kroku uložen v databázi jde též bez chyby. Ovšem při pokusu založit klienta i jeho adresu zároveň nelze. Nepřenese se do adresy klíč klienta a insert zkončí na tom, že databáze zabrání vložení null hodnoty. toplink neznam, i kdyz brzo asi poznam, ale obecne tenhle problem je v tom, ze se dve entity sice svazou pres cizi klic, ale porad je to operace v pameti tj. cizi klic je null, nebot pk klienta je take null 'najednou' znamena ulozit klienta (tj. poslat do db ziskat jeho synteticky/generovany klic) a pridat adresu kli.newAdresar() - ted se zavola cosi jako adresa.setFK(klient.pk()) ale uz se znalosti pk klienta. Tj. s adresou 'najednou' je to totez jako ji pridat k existujicimu klientovi. Pak se to resi tak ze tyto dve metody vytvorKlienta a vytvorAdresu jsou na stejne transakci. vytvorAdresu pak ma nastaveno pokud volas a si v transakci tak ji pouzij, pokud ne zaloz novou. No a kdyz se s adresou cosi nepovede tak se odroluje i klient (v pripade 'najednou'). Mozna ale sem uplne vedle a nekdo poradi lepe. Karel PS: pro nazvy entit je lepsi pouzivat jednotne cislo tj. Klient Adresa jejich seznami jsou pak Klienti a Adresy(Adresare) Je to lepe citelne.
Re: Jak maximalne srazit spotrebu pameti JRE
-server u sun se bude snazit naalokovat co nejvice pameti ehmm vlastne vsechnu z Xmx, pokud nenajde os pozadovany souvisly blok pameti = konec -client u sun se bude snazit ji navysovat postupne.
Re: Spring + Acegi a ClassNotFoundException
Zdravim, muzete nam popsat v cem kompilujete (verze + binary kompatible) a na jakem apl serveru to deployujete (verze javy)? Popr. je to exploded nebo packed? Podobne problemy mam nekdy pokud se neschoduji verze jaky vyvojoveho prostredi (myeclipse) a apl serveru i kdyz tak class tam je zda ze neni v classes kdyz ji hleda spring. Ing. Jan Novotný píše v St 09. 01. 2008 v 10:18 +0100: Co takhle si hodit breakpoint na AbstractBeanFactory.java:1160 a zkusit si tam inspectnout: this.getClass().getClassLoader().loadClass(com.house.dao.HibernateAuthenticationDao) ...
Re: multipage forms a Struts 2
Ano da, SWF je nezavisle. Tomas Vojtech píše v Pá 04. 01. 2008 v 19:41 +0100: Dobry den, rekl bych ze SWF se da integrovat i s Struts. Prakticky to ale nemam vyzkousene.
Re: Hibernate a tabulka vlastnosti
Hi, takze dekompozice tercialni vztahu na entity pres pomocnou entitu co ma dve vlastnosti. trida Dum (tabulka t_house) { ListHodnotaVlastnostiDomu vlastnostiDomu } trida TypVlastnostiDomu { nazev=Bool } { nazev=Text }, ... trida VlastnostDomu { nazev text, TypVlastnostiDomu typ } trida HodnotaVlastnostiDomu { VlastnostDomu, Dum } Dum-1:n-HodnotaVlastnostiDomu-m:1-VlastnostDomu-k:1-TypVlastnostiDomu http://www.hibernate.org/hib_docs/v3/reference/en/html/collections.html#collections-ternary nebo pomoci komponent - ty maji jeden problem - nesdili se. Takze objekt HodnotaVlastnostiDomu h1,h2 po nacteni z DB nebude platit h1.getVlastnostDomu()==h2.getVlastnostDomu() (nutno implementovat vlastni equals a vzdycky budete porovnavat nazev a typ) http://www.hibernate.org/hib_docs/v3/reference/en/html/components.html TypVlastnostiDomu je vlastne vyctovy typ. A ted je tu takovej problem s OOP - nahrava to tomu, aby trida VlastnostDomu byla abstraktni, protoze TypVlastnostiDomu je omezeny, tj. BoolVlastnostDomu extends VlastnostDomu { } - bude reprezentovany checkboxem TextVlastnostDomu bude polem to zaridi: interface VlastnostDomuPrinter { print(BoolVlastnostDomu); print(TextVlastnostDomu) ... } class HTMLPrinter implements VlastnostDomuPrinter { print(BoolVlastnostDomu) { ... } ... } aby jsme mohli udelat for(VlastnostDomu vlastnostDomu : dum.getVlastnostiDomu()) { printer.print(vlastnostDomu) } A pokud chcete pouzivat napr. JSTL - no neni to fanda OOP, takze je dobre namapovat discriminator na vlastnost (update=false, insert=false). Tak asi tak. Karel
Re: OT: Zakaznik / legalna java
Prepsat smlouvu. Je to natolik vagni formulace, ze nema smysl. A to i pro ne, pac vy si muzete zahrat na zratu pameti nebo ze jste nevedel, cizojazycne licenci nerozumel atd. Do smlouvy dat runtime knihovny a jejich licence. Nedavno jsem hledal moznost, jak z maven 2 vymlatit nazev knihovny + licence. Jde to stylem licenci si najdi sam. To ze by ste to vyrobil na nelegalnich nastrojich se vetsinou kryje odpovednosti za skodu a pozadavkem na pojisteni (napr. 30mil korun).
Re: Objektove databaze
db4o programovani jednoduche - zadne mapy, zadne specialni programovani. Na co jsem narazil asi pred rokem a co znamenalo stopku jsou upravy atributu vlastnosti objektu a uz se databaze nedala precist. Nevim jak je na tom ted, ale asi lepe. cache programovani trochu slozitejsi (byla presentovana na CZ JUG) - bud se ridi anotacemi (jedna technologie) a nebo je programovani podobne jako u hibernate. Jako u hibernate asi tak ze mate session a muzete pracovat s namapovanymi objekty (pomoci studia), ktere se nemapuji pres XML ale pres udelatko. pak jsem narazil jeste na objective db Lukas Zapletal píše v Út 16. 10. 2007 v 14:34 +0200: Dobry den, jake mate zkusenosti s objektovymi databazemi? Chtel bych si udelat nejaky prehled, ktere pouzivate pri nasazeni? Zaujala mne db4o a take komercni Caché, mate ale zkusenosti i s necim jinym? Jak se v objektovych databazich resi upgrade struktur (napriklad kdyz pridam, prejmenuji nebo odeberu atribut u tridy)?
Re: setovani boolean hodnoty (zatrzitka) v javax.swing.JTable
Ahoj, http://java.sun.com/docs/books/tutorial/uiswing/components/table.html v Modelu musi byt public Class getColumnClass(int c) { return getValueAt(0, c).getClass(); } nebo treba if(c==4) return Boolean.class; Karel Petr Burdik píše v St 25. 07. 2007 v 06:21 +0200: Ahoj, vcera jsem si to prochazel, ono me asi vic zajima vubec jak setovat hodnoty. Zatim to delam takto: public void showDevicesList() { int colCount = 4; int rowCount = this.devicesList.size(); Object[][] devicesArray = new Object [rowCount][colCount]; for(int iRow = 0; iRow rowCount; iRow++) { devicesArray[iRow][0] = Boolean.TRUE; devicesArray[iRow][1] = ((Cash)this.devicesList.get(iRow)).getName(); devicesArray[iRow][2] = ((Cash)this.devicesList.get(iRow)).getInPluCompleted() + z + ((Cash)this.devicesList.get(iRow)).getInPluInProcessing(); devicesArray[iRow][3] = ((Cash)this.devicesList.get(iRow)).getOutPluCompleted() + z + ((Cash)this.devicesList.get(iRow)).getOutPluInProcessing(); } jtSelectDevice.setModel(new javax.swing.table.DefaultTableModel( devicesArray, new String [] { vyber, nazev, preneseno z, preneseno do } ) { Class[] types = new Class [] { java.lang.Boolean.class, java.lang.String.class, java.lang.String.class, java.lang.String.class }; }); jtSelectDevice.getColumnModel().getColumn(0).setPreferredWidth(50); jtSelectDevice.getColumnModel().getColumn(1).setPreferredWidth(337); jtSelectDevice.getColumnModel().getColumn(2).setPreferredWidth(100); jtSelectDevice.getColumnModel().getColumn(3).setPreferredWidth(100); } Takto zobrazuju a prekresluji vsechny hodnoty. Samotnemu se mi to moc nelibi. Pocet radku je po startu aplikace zatim konstantni, ale pro kazdou instalaci jiny. objekt versus genericky typ by problem byt nemel. Porad si rikam jestli tam nejde nejak nacpat jenom nove pole hodnot a dat refresh. Ale zatim jsem na to jeste neprisel. A popsane to nadvakrat neni co jsem hledal nikde. Ze by to rucne nikdo neplnil? :) Pekny den Pet On Tue, 24 Jul 2007 18:38:55 +0200, Karel Tejnora [EMAIL PROTECTED] wrote: Asi by to chtelo trochu vice rozvest, ale myslim ze jsem mel podobny problem - boolean vs. java.lang.Boolean. Petr Burdik píše v Út 24. 07. 2007 v 17:53 +0200: Ahojte, pouzivam netbeans a pripravil jsem si javax.swing.JTable pro zobrazeni aktualniho stavu komunikace a zaroven take pro zatrzeni se kterym zarizenim chcete komunikovat. Jenom se mi nejak nedari prijit na to, aby kdyz si vytvarim vlastni tabulku rucne zobrazoval JTable zatrzitko. V nahledu ho mam. Ale pak tam skoci true misto ctverecku pro zatrzitko. Poradite prosim nekdo? Pet
Re: setovani boolean hodnoty (zatrzitka) v javax.swing.JTable
Asi by to chtelo trochu vice rozvest, ale myslim ze jsem mel podobny problem - boolean vs. java.lang.Boolean. Petr Burdik píše v Út 24. 07. 2007 v 17:53 +0200: Ahojte, pouzivam netbeans a pripravil jsem si javax.swing.JTable pro zobrazeni aktualniho stavu komunikace a zaroven take pro zatrzeni se kterym zarizenim chcete komunikovat. Jenom se mi nejak nedari prijit na to, aby kdyz si vytvarim vlastni tabulku rucne zobrazoval JTable zatrzitko. V nahledu ho mam. Ale pak tam skoci true misto ctverecku pro zatrzitko. Poradite prosim nekdo? Pet
Re: modelovaci program pre UML s podporou pluginou v Jave
A jeho format je zargo coz je jenom za_jar_ovane UML1.4 - coz je proti UML2 podporovane vice generatorama. jak si na to sahnout bych hledal v andromda (www.andromda.org)
Re: java.util.Calendar
Ze by faktury? To nevi lidi. Treba pokud faktura - doba splatnosti - je na statem uznavany ne-pracovni den, tak se splatnost automaticky posouva na 1. nasledujici pracovni den (tj. pokud to je sobota tak az na pondeli). Ale kolik firem ma software, co posle maj neuhradil jste nebo lepsi varianta, v patek, mate posledni den na uhrazeni... A perla - v Britanii se volny/pracovni den nepouziva, ale pouziva se terminus v dny, kdy maji otevreno banky v Londyne den, tedy i pohyblivé Velikonoční pondělí, tak se lhůta musí prodloužit na následující pracovní den. Takže s dobou v měsících bych čekal vždycky potíže :-)
Re: Hibernate aneb jak se (ne)vyhnout DTO
Ma SQL (simple query language) nejakou vyhodu krom toho, ze se da precist? Kolikrat se spusti parsery (HQL, SQL, QP) aby se dosahlo tehoz... RDBMS connection pool problemy, pristupova prava se resi tak ze aplikacni server se pripojuje jako database owner... DAO, DTO... se daji psat rychle a pritom ciste = MDA www.andromda.org CRUD aplikace je hotova raz dva S nadsazkou muzu rict: hbm.xml uz ani nevim co to je SQL jsem taky zapomel mvn -f core/pom.xml andromdapp:schema -Dtasks=drop,create LazyIniti neco - dulezite je aby UML nastroj umel kopirovat objekty a ty dale poupravit (z VO se udela rychle Criteria atp.). Coz zrovna chybi v ArgoUML. Karel
RE: hashset contains wtf
Vidis, dvakrat jsem to precetl, ale napsal jsem to presne tak, jak jsem vubec nechtel - znate to, hlavne to takhle nenapsat... Presne tak = kolize a proto je dle meho nazoru ten equals v JavaDocu spravne. A z navrhu Object vypadavaji implementace jakou double hashing a jedna z mala (mozna jedina mozna) implementace mne vychazi seznam kolidujicich objectu, ktery se projede cely pomoci equals. a k tematu - v Javoveske impl chybi copy constructor - v STL by se volal pri put (vim jmenuje se to jinak) copy constructor, takze kontrakt by se dodrzel, ale jinak nez tazatel by chtel. On ??t, 2007-05-24 at 17:36 +0200, lukas wrote: On Thu, 24 May 2007 17:10:03 +0200, Karel Tejnora wrote Opomenuti obecnych pravidel hashCode musi odpovidat chovani equals tj. A.equals(B)== true pak A.hashCode()==B.hashCode() a zaroven A.equals(B) == false pak A.hashCode()!=B.hashCode() Ta druha podminka prae platit nemusi. A.equals(B)==false neznamena, ze maji ruzne hashovani. Tj. muzou existovat kolize :-) Doporucuji precist nejakou teorii k hashovani :-) Lukas
Re: zajimavost dwr a beans
Neni to nahodou v .NET toto to slavne property, kteri by nekteri tak radi videli i v Jave. On So, 2007-05-26 at 09:00 +0200, Petr Burdik wrote: Ahoj, jasne ze jo. Ale zkus to same poslat treba do servletu. Bude to takto fungovat. Docela by me zajimal nejaky obecny nazor na tuto techniku. Inspirovalo me k tomu hibernate.
RE: hashset contains wtf
Opomenuti obecnych pravidel hashCode musi odpovidat chovani equals tj. A.equals(B)== true pak A.hashCode()==B.hashCode() a zaroven A.equals(B) == false pak A.hashCode()!=B.hashCode() a vysledek hashCode() se pro stejny objekt se nemeni od spusteni JVM. Nekde v archivu konference je odkaz na Bloch Effective programming in Java (nebo jak se to jmenuje), kde se Bloch venuje efektivni metode pro hash a equals. karel On ??t, 2007-05-24 at 11:47 +0200, Podlesak Kamil wrote: hashCode() a equals()
Re: uml kreslítka
Tak jsem zkousel poseidon a prvni vec neumi otevrit xmi ani zargo z andromda - teda on ho otevre, ale nejsou tam diagramy. Jak rikas zaver je ze ArgoUML je male skromne (coz je vyhoda) rychle a umi vse co potrebuji. Plus je ten ze na stranka andromda jsou i popisy prave pro ArgoUML. Ty stranky zacinaji na galaxy.andromda On Mon, 2007-04-16 at 13:46 +0200, Petr Ferschmann wrote: Zdravím, my jsme používali Poseidon+AndroMDA a musím říct, že jsme přešli na ArgoUML+AndroMDA. V poslední době se ArgoUML docela vylepšilo a umí všechno co potřebujeme. Poseidon byl neuvěřitelně pomalý (u několika stovek tříd), a pravidelně rozbíjel modely (při přidání prvků do třídy na class diagramu, pomršil vzhled jiného class diagramu se stejnou třídou). Takže doporučuji zůstat u ArgoUML. Petr Jsu instalovat Poseidon (komercni bratr ArgoUML) tak jsem zvedavy co ma navic. -- Petr Ferschmann SoftEU s.r.o. --- Bolevecká 6 301 00 Plzen Czech Republic --- Phone: +420 373 731 284 +420 373 729 300 Fax: +420 373 729 301 Cell: +420 775 638 008 E-mail: [EMAIL PROTECTED]
Re: uml kreslítka
Nejdriv jsem zkousel ArgoUML pro AndroMDA uplne staci funkcnosti (editaci konfiguraku se da rovnou valit z .zargo) Pak jsem zkousel Magic Draw - podle vyvojaru AndroMDA nejlepsi. Jediny problem, co s nim mam je ten ze musim u kazdeho prvku otevrit properties a tam editovat atributy metody atd. kdezto v ArgoUML to mate hned a prehledne. Jsu instalovat Poseidon (komercni bratr ArgoUML) tak jsem zvedavy co ma navic.
Re: Tomcat Resource a Jboss 4.0.4.GA
A v jboss.xml ty resource mate? Pokud pouzivate XDoclet tak staci pridat Jboss. Popravde pro mne to byla takova alchymie, ze jsem radsi presel na Spring. On Wed, 2007-03-28 at 13:13 +0200, Jiri Frydek wrote: Ahoj, narazil jsem na problem s deployem tomcat custom resourcu do JBossu. Pri deployi aplikace obasahujici ve svem context.xml nadefinovany custom resource se v logu nevypise zadna chyba, ale ani resource pod zdefinovanym jndi name nemuze aplikace najit (a nejde videt ani v jmx konzoli). Zajimave ale je, ze jak Realm tak nadefinovany Valve se bez problemu deploynou a funguji. Hledal jsem na internetu, ale nic jsem k tomu nenasel. Netusite nekdo v cem by mohl byt problem? Predem dik za reakce.
Re: Jaký webový framework?
A proto vitezi opensource... ten zustane a ve starych aplikacich je mozne chybu opravit vlastnimi silami... coz v pripade uzavreneho kodu nejde. On Thu, 2007-03-22 at 14:28 +0100, Martin Kuba wrote: Richard Malaschitz wrote: Ako hovori Zdenek Jirotka v Saturninovi: Chtěl bych vidět toho smělce ...ktory v tej zaplave web-frameworkov ma odvahu nejaky doporucit... Je jen jedna jistota, a to ta, ze at se vybere libovolny webovy framework, za chvili bude zastaraly :-) Frameworky prichazeji a odchazeji, Servlet API zustava ... Makub
RE: Java 5 +JBoss 4 - stabilita
V Linuxu prod.: mame produkcni prostredi a je stabilni. Redeploy provazi vetsinou restart JBoss. Chyba se nikdy neobjevila. V Linuxu test.: ne ze bych tu chybu nezazil, ale neobjevuje se i pri neustalem redeploy s verzi =10. Ve Windows: stejne zkusenosti jako v Linuxu. Celkove vzato se chyba objevovala s Javou tusim _08 a _09 a to pri castem redeployi. Rozhodne co bych zkusil jako prvni je posledni build Javy (1.5.0_11). # An unexpected error has been detected by HotSpot Virtual Machine: # # EXCEPTION_ACCESS_VIOLATION (0xc005) at pc=0x6d981c63, pid=3776, tid=504 # # Java VM: Java HotSpot(TM) Server VM (1.5.0_09-b01 mixed mode) # Problematic frame: # V [jvm.dll+0xb1c63]
Re: Co jde v .NET a nejde v Jave?
SWT tray icon ma. Pokud neni rec jenom o Swing/AWT.
Re: FW: Sifrovani ukladaneho souboru
A neprichazite vzdy o pevny pocet bytu nebo o X kdy X je X=B-DELKA_SOUBORU a B je je pocet bloku? tj. nevyzaduji ty sifry vzdy pevny blok a je na Vas jak si rozpoznate skutecny konec? Jen tak odhaduju.
Re: rychly vyvoj webaplikace pro existujici DB strukturu
Ja ted zkousim Spring Webflow, Spring framework s Hibernate. Na Hibrenate MyEclipse (www.myeclipseide.com) MyEclipse Hibernate. Petr Ferschmann wrote: vladimír karásek píše v Pá 16. 02. 2007 v 16:07 +0100: 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. Z vlastní zkušenosti můžu doporučit právě Seam. Ale to už víte :-) Také proto, že už existuje integrace pro Maven http://software.softeu.cz/seam/ ;-)
Re: digitální certifikát
Jo z toho jsem se vzdycky tek, kdyz KOS na CVUT zacal o nezname autorite CVUT - ani je nenapadlo ten Certifikat vystavit pro import. Hold FEL CVUT... Problem snad u Thawte neni ani cena rok kolem 100 USD, spis jako ze chteji ještě hovorit se zamestnancem a pak ruzné výpisy, skoro jako náše leasingovky. Tak tak, smiril bych se s tim a udelal do aplikacni dokumentace pekny screenshot dialogu s varovanim s velkou cervenou sipkou na ALWAYS :-) Ale uz mala firma si snad muze certifikat od nejake zname autority dovolit...
Re: Tiles a message key
Zdravim, ono to souvisi vice s navrhem aplikace - kdyz sem zacinal programovat, programoval jsem malickosti s kratkyk zivotnim cyklem a sam. Prozival jsem psychicke trauma nad prazdnym projektem, frameworky mne prisly taky komplexni a zbytecne. I vlastne J2EE - proc si pridavat praci a delat nejake Session beany, stateless beany, dao atd. kdyz jde vsechno krasne pres JDBC a staci mit dostatecne vybavenou db. Dneska mam repository ruzne rozdelanych projektu, ktere resi par problemu a konfiguraci. Zadne deprese, jenom najit a posladat zakladni kameny z ruznych projektu, refaktorovat a implementovat problem. Pochopil jsem zakladni vlastnost Eclipse (Rational) a to moc refactoringu. Udrzitelnost kodu - nedavno jsem se vracel k projektu asi 3 roky staremu, ktery dost tezil z vlastnosti DB2 - velmi efektivni (a efektni) dotaz, z poloviny generovany za behu - ale zmenit jen takovou drobnost znamenalo jej cely pochopit, prepsat a otestovat, na komentare sem tehda moc nedal, na JUnity vubec... znate to. Vykon - muze byt Hibernate rychlejsi nez SQL? Tezko, kdyz SQL buduje. Zajimave by bylo dostat Hibernate do databaze a DAO manager interface z ni ven. Obdobne technologie jsem nasel a to db4o (zajimave je ze ma transakce, ale zahadne spadla tak, ze data uz nesly obnovit) a pak Cache (problem je, ze chybi pohodlne prostredi pro vyvoj = plugin pro eclipse) Muze byt titles rychlejsi nez jsp a scriplety - mozna. Dle meho frameworky zvysuji efektivitu programatora, tim klesa naklad na projekt a proto si muze program dovolit vice lidi, popr. dotlacit na zelezo. Tim se IT rozviji prevlada poptavka nad nabidkou = nejsme o hladu a tak to chvily jeste bude. Karel PS: ne nahodou nejvetsi giganti trhu jsou ti, kteri zaroven dodavaji jak SW, tak HW. MS a Dell jsou vyjimky potvrzujici pravidlo. Ja ted budu asi vypadat jako naprosty staromylsky zakrslik, ale nepripada vam, ze je tech konfiguraku uz tak nejak nakonec moc? Ze vetsinu procesoroveho casu misto vlastni business logiky sezerou ty desitky ruznych frameworku?
Re: Java Profiler
Cau, nevim jak jsem tak zkoumal ty co vypadaly dobre tak uz nepodporujou javu 5 nebo eclipse 3.2, tak jsem skoncil s TPTP. Provoz trosku krkolomny, ale vesmes funkcni. Kdyby jste mel nekdo neco lepsiho, rad se o tom dozvim. Karel
Re: Co jde v .NET a nejde v Jave?
Marketingove podporit produkt.
Re: JRE 5.0 a garbage collect
Diky za podnet. Trie by měla růst O(n) - což do určité velikosti Xmx dělá a hezky se uklízí. TPTP ukazuje 80% collected. Když ale zapnu Xmx 1000M, tak collected je 0% a pak jenom OOM. Trosku sem patral a vypada to, ze si bude potreba pohrat s dalsimi parametry alokace heap. Karel Na webu myslim neni. Ceska verze stroji 129 Kc - http://www.grada.cz/katalog/kniha/java-efektivne/ Lukas
Re: mazani kolekce objektu s criteria
To je skoda, ze to nejde. Mne se criteria tolik libi. Tak nejak bych si SQL predstavoval. Mozna by jsme mohli spojit sily a trochu s tim pohnout? Pak mne jeste napadlo - proc rovnou neposilat na DB serializovane kriteria? Minimalne uspora nervu a rozsiritelnost kodu. Reakce: This is not primary functionality. The regular Hibernate developers are currently busy with other things. If you want to see this fixed quicker, submit a patch. Nejednou jsem zdrojaky Hibernatu debugoval, kdyz jsem hledal, proc neco nefunguje, nebo kdyz jsem chtel pouzit nejake Hibernati API pro vyrabeni vlastniho SQL pri obchazeni nedostatku Hibernatu. Zjistil jsem ze jsou opravdu hodne malo komentovane (to co se pouziva pro vnitrni potrebu) - nejzabavnejsi mi prisla generovana cast ohledne AST a ANTLR.
JRE 5.0 a garbage collect
DD, mam tu zajimavy problem. Mam aplikaci, ktera vytvari trie. Stringy nacitam ze souboru a jeste je menim. TPTP analyza ukaze zhruba 90% odpadu - nereferencovanych objektu (nevedel jsem, ze vnitrni trida se neuklidi, protoze si nechava referenci na zahrnuvsi objekt). Funguje je to dobre pokud -XmsK -XmxL kde K je (L/2) a L = 128 a zpracovavam kolem 300 000 stringu. Ale kdyz dam -Xms32M a -Xmx1000M tak se nic neuklizi a pak to proste zuchne (java.lang.OutOfMemory - Java Heap Space). Pouzivam presne 1.5.0_9 Shrnuto proste od jiste hodnoty se gc vubec nespusti a pak vyhodi OOM i kdyz referencovanych objektu je 10% pameti. Nesetkal jste se s tim nekdo, nevite jak to resit? Jinak hezky vikend, vypada to ze bude hezky Karel
Re: Konference Digest, Vol 23, Issue 5
Dekuji za odpoved, jedna ale se o dvouvrsvou aplikaci s tlustym klientem takze Hibernate pouzit nemuzu... Zvlastni, proc by to neslo? Krom toho Spring ma i vlastni remoting a hibernate je jenom ORM. Krom toho umoznuje spring pouzit i jiny transakcni manager. A obavam se ze samotna DB transakce Vas pred konkurentnim pristupem neochrani ani trochu. Ta totiz zarucuje jenom konzistenci dat zpracovanych v ramci te transakce... Prosim? Mozna mi neco unika, ale pro konkurencni pristup jsou transakce a trasakcni izolace. Ve springu si muzete nastavit i to ktera methoda ma pouzit jakou uroven transakcni izolace a ktera data ma videt popr. zamknout.
Re: JPA a autoincrement
Ne neni! Stejne tak jako Hibernate jejich pouziti vubec nezavisi na nejake J2EE, web containeru atd. Spring je webový framework, ne? Píšu desktopovou aplikaci.
Re: OT: Ako a kde ukladat zakaznicke customizacie vo VCS?
Branch pro kazdeho zakaznika a pak patchem proti head a build pres ant.
Re: RTF to text - problém s diakritikou
Jo, používá. Jak jsem to pochopil - tak buď je RTF v latin2 nebo jsou použity (snad se da říci) tabulka znaků. RTF je čistý text takže enca může zjistit jeho kódování. Pro Javu se hodne pouziva: http://sourceforge.net/projects/majix/ Nevíte, v čem dělám chybu? Připadá mi to, jako kdyby ten RTFEditor uvažoval pouze kódování ISO-8859-1. Na googlu jsem hledal a nic kloudného jsem nenašel :-(. http://forum.java.sun.com/thread.jspa?threadID=727449messageID=4240360
Re: volba frameworku pro sestavování stránek
Apache JMeter wget jasne ze tu rychlost takto posuzovat nemuze. Krom toho je mi jasne ze tam hrajou ruzne veci jako jestli byla stranka prelozena ci ne, ... Uz nejakou dobu, i kdyz me to ted az tak netrapi, premyslim nad tim jak to zmerit. Mate nekdo napad?
Re: for vs. while
for je while, tem co pouzivaji carku v C je to jasne :-) for(init; cond; inc) { } se prepise na { init; while(cond) { ... inc; } } Dneska jsem ve jednom frameworku narazil na tuhle konstrukci: for (; text != null;) { ... }
Re: Swing, JMS a power management
Melo nejsou windows jako windows coz takhle nejake drivery desky, biosu od vyrobce, ktere to proste resi jinak... V patek to zcela jiste neslo - po druhem pokusu (pravda na jinych Windows, to by ale snad nemelo vadit).
Re: skutocny MimeType
Mozna neco jako www.mime4j.org ale nevim jestli je to to co hledas. Otazkou je jaky operacni system to je, protoze napr. v linuxu existuje file ktery rekne co je soubor zac a to nejenom podle prvnich bytu. Otazkou je jestli to vubec lze, muzes byt konkretnejsi? Karel Radovana Straube wrote: Dobry den, mohli by ste mi prosim odporucit nejaku free kniznicu, ktora dokaze zistit skutocny mimetype suboru? Nasla som len JMimeMagic, ale existuje zatial len vo verzii 0.0.4 a ma velmi vela bugov. Dakujem Radovana Straube __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Re: tomcat 5.5, aplikace se spring MVC
Tomcat by mel pro kazdy obrazek, styl, javascript taky pozadovat dalsi thread, domnivam se ze i pres keep-alive. Nebo to je jinak? Zatim je jich jenom par a nechci pokud mozno pouzivat apache.
Re: KeyStore implementace nad DB
A pouzit jdbm? Nebo jinou hash on disk DB?
Re: Spring MVC a co na view vrstvu
JJ, spring:bind nam uplne staci protoze si dost casto s komponentou hraje javascript plus JSTL. Sice prace se zda byt narocnejsi, ale ono to lepsi IDE docela opravi. Karel Co ostatni? Pouzivate Spring MVC? A jak? S Velocity? nebo mate nejake svoje JSP tagy?
Re: Ruzne znakove sady v Java aplikaci a v databazi
a ResultSet rs = stmt... new String(rs.getBytes(1),UTF-8); by nepomohlo?
Re: OT: Testovani aplikaci (JUnit, DBUnit ...)
Mozna i vyhoda tvi v tom, ze uz na zacatku si date dohromady to co by melo vzniknout. Takze v v sedmdesatem patem procentu nemate pocit a ted pulku pryc.
Re: Zpracovavani tasku v urcite periode
Ahoj, tezko rict kdyz nevidime ten script. a) poustite v jine JVM b) poustite pod jinym uzivatelem, ktery nemuze na sit c) poustite v omezenem prostredi Karel
Re: Minimum pro Javu 5
Zdar, I kdyz vim ze Java je multiplatformni a z toho duvodu narocna, tak je mi divne ze pocitac co utahnul treba Half Life ci Unreal neutahne Prsi na Seznamu :o) Half Life a Unreal maji dost optimalizovane buildy i kod. Coz se treba neda rict o prsi na seznamu. Zakopany pes muze byt vic nez v procesoru v graficke karta. Takze co tam ma za grafiku? Popr. se podivejte na nastaveni draw2d.
Re: DataConnection pooling v Tomcatu
Connection con=null; try { con = ...getConnection(); Stetement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(...); rs.close(); rs=null; stmt.close(); stmt=null; } finally { if(con!=null) { try { con.close(); } catch(SQLException e0) {} } } Je zase nejuvadenejsi priklad v Jbossu. Krom toho rs.close() rs=null ResulSet a Stement by mel uzavrit GC a connection by na ne nemela drzet referenci, ale kdy k tomu dojde... rs.close() je uvolneni na DB (zavreni kursoru) a rs=null je signal pro GC. Taky si myslim, ze by melo stacit to uzavreni ve finally sekci a to zavirani a nastaveni na null jeste v try sekci je zbytecne. S temi DBUtils bych by opatrny, pokud jenom zaviraji Connection, tak to nestaci, protoze Connection v TomCatu je jenom obalovatko, jehoz close() vrati spojeni do poolu, neuzavre ho. Takze kdyz neuzavrete ResultSety a Statementy, zustanou otevrene. V normalni aplikaci bez poolu by se ResultSety a Statementy uzavrely pri uzavreni Connection, cimz by se to tise vyresilo. To pri pouziti poolu neplati.
Re: jaxrpc.jar a JAR Problem
Reseni je a ciste. Jmenuje se to Package Sealing a je to od verze 1.2 (Java2). Popsano na: http://java.sun.com/developer/Books/javaprogramming/JAR/basics/manifest.html Sekce: Package Versioning - /version 1.2 only/ Package Sealing - /version 1.2 only/ Mam problem s verzemi knihovniny jaxrpc.jar. Cast programu potrebuje nacist starou knihovnu nekdy z roku 2002 a cast progeamu novou z letoska. Myslel jsem, ze to udelam ze cast programu vyuzivajici starou knihovnu dam do jednoho jaru a knim proslusne knihovny a druhou cast s novejsi knihovnou dam do jineho jaru. Ale nedari se me zabezpecit aby kazdy jar koukal do sveho adresare knihoven
Re: spojeni aplikace servlet
Nemate zkusenosti s Cache od Inter Systems? Vypada to velmi hezky, ale ... Navic DRDA mi neprijde jako vhodna volba. To uz bych radeji volil Liquid Data - prece jen to ma blize k Internetove architekture a doba cistych relacnich databazovych reseni postupne odchazi ...