Re: Myšlenka - Přednáška na téma Open Office.org
Jsem rozhodně pro. Honza Dvořák Robert Vojta napsal: Dobrý den přeji, když tady tak čtu o problémech s Excelem, zpracováním dokumentů ve formátu DOC, XLS, ... tak mě napadlo, že bych mohl připravit přednášku o kancelářském balíku OpenOffice.org a jeho možnostech. Nešlo by o přednášku pro koncové uživatele a použití OO.o na desktopu, ale o přednášku na téma použití OO.o na zpracování dokumentů (tisk, konverze, tvorba reportů, ...), integraci do stávajících informačních systémů, použití OO.o na serveru jako vzdálenou službu, ... My takto používáme OpenOffice.org na zpracování a generování dokumentů denně. Používáme ho vzdáleně jako službu na serveru pro webové aplikace, lokálně pro desktopové aplikace, atd. Než to zkusím navrhnout, tak bych se chtěl zeptat, zda-li by o to byl zájem? Mohlo by se to případně zvrhnout v nějaký workshop, kde si zkusíme určitou funkčnost naimplementovat from scratch.
oracli paranoia
Ahoj, bavim se prenasenim dat z jedne databaze do druhe pomoci javove pumpicky. Pri pokusu o prenos blobu z mezi dvema Oracly 10gR2 jsem se dockal nasledujici perly: java.lang.ClassCastException: oracle.sql.BLOB cannot be cast to oracle.sql.BLOB To vylitne v miste, kde se snazim prave takovy cast udelat. Netusite, jak takovahle vec muze vznikat? Pumpicka bezi z prikazove radky, zadny kontejner. Databazova pripojeni vznikaji pres DriverManager. Honza Dvorak MathAn Praha
Re: oracli paranoia
Ahoj, diky, to bude ono. Mel jsem za to, ze oracli jdbc driver se sam o sobe chova jako obycejna, slusna javova knihovna. Evidentne jsem podcenil jeho celkovou entrprajzovost. Honza Ladislav Kulhanek napsal: Ahoj. Muze to byt zpusobeno classloadery. Kazda trida je jednoznacne urcena svym celym jmenem (napr. java.lang.String) a classloaderm ktery ji zavedl. Pokud je jedna instance typu oracle.sql.BLOB a zavedl ji classloadrer1 a chces ji prevest na oracle.sql.BLOB kterou zavedl classloader2, vyhodi to vyjimku. 2008/9/5 Jan Dvořák [EMAIL PROTECTED]: Ahoj, bavim se prenasenim dat z jedne databaze do druhe pomoci javove pumpicky. Pri pokusu o prenos blobu z mezi dvema Oracly 10gR2 jsem se dockal nasledujici perly: java.lang.ClassCastException: oracle.sql.BLOB cannot be cast to oracle.sql.BLOB To vylitne v miste, kde se snazim prave takovy cast udelat. Netusite, jak takovahle vec muze vznikat? Pumpicka bezi z prikazove radky, zadny kontejner. Databazova pripojeni vznikaji pres DriverManager. Honza Dvorak MathAn Praha
Re: oracli paranoia
Zadny kontejner, zadny framework, proste jenom javova utilitka spustena z prikazove radky. Ale ty ruzne classloadery vypadaji jako vysvetleni. Honza Jakub Podlesak napsal: On Fri, Sep 05, 2008 at 03:19:16PM +0200, Jan Dvořák wrote: Tipnul bych si na nejaky problem s pouzitim vice class loaderu (pouzivate napr. OSGi?) ~Jakub
Re: Problem s citanim OutputStream-u spojenia s HTTP serverom.
Jozef Babjak napsal: Implementacia v SocketInputStream je podla vsetkeho neblokujuca. Blokuje = ceka, dokud nemuze vratit aspon jeden bajt. Neni pravda, ze ceka, dokud nenaplni cely buffer. Honza Dvorak P.S. Kdybych chtel ziskat celou odpoved serveru jako pole bajtu, prekopiroval bych si obsah InputStreamu do ByteArrayOutputStreamu a z nej si to pole vzal. Usetril bych si tak spoustu starosti se sestavovanim poli bajtu dohromady...
Re: JWS: kontrola nove verze pri otevirani souboru s asociovanou priponou
Ahoj, tak problém se rozřešil. Právě pro tyto situace má kořenový element jnlp atribut href, ve kterém se říká cesta k tomuto souboru JNLP. Když jsme atribut přidali, aktualizace začaly fungovat. Honza Dvořák MathAn Praha Jan Dvořák napsal: Ahoj, zdá se mi, že Java Web Start kontroluje aktuálnost verze aplikace na serveru pouze při otevření souboru JNLP, ale už ne při otevírání souboru, který je přes příponu s touto aplikací asociován. Nevíte, zda by to nešlo nějak nastavit? Zajímavé kusy souboru jnlp viz níže. Vyžadujeme Javu 6.0. Honza Dvořák MathAn Praha ?xml version=1.0 encoding=UTF-8? jnlp spec=1.5+ codebase=$$context information titleRVV Vklap/title vendorMathAn Praha, s.r.o./vendor descriptionSada nátrojů pro podporu sběru dat do IS VaV/description homepage href=http://aplikace.isvav.cvut.cz/vklap// icon href=images/icon.gif/ icon kind=splash href=images/splash.jpg/ offline-allowed/ association extensions=vav mime-type=application/vnd.mathan.vklap/ /information security all-permissions/ /security resources j2se version=1.6+ initial-heap-size=120m max-heap-size=200m/ property name=hsqldb.files_readonly value=true/ jar href=main/cert_MATHANP2/main.jar version=1.3.9_20080131174919/ jar href=lib/cert_MATHANP2/commons-lang.jar version=2.1/ jar href=lib/cert_MATHANP2/commons-codec.jar version=1.3/ !-- ... -- /resources application-desc main-class=cz.mathan.vklap.EditorMain argument--suppress_next_year/argument /application-desc /jnlp
JWS: kontrola nove verze pri otevirani souboru s asociovanou priponou
Ahoj, zdá se mi, že Java Web Start kontroluje aktuálnost verze aplikace na serveru pouze při otevření souboru JNLP, ale už ne při otevírání souboru, který je přes příponu s touto aplikací asociován. Nevíte, zda by to nešlo nějak nastavit? Zajímavé kusy souboru jnlp viz níže. Vyžadujeme Javu 6.0. Honza Dvořák MathAn Praha ?xml version=1.0 encoding=UTF-8? jnlp spec=1.5+ codebase=$$context information titleRVV Vklap/title vendorMathAn Praha, s.r.o./vendor descriptionSada nátrojů pro podporu sběru dat do IS VaV/description homepage href=http://aplikace.isvav.cvut.cz/vklap// icon href=images/icon.gif/ icon kind=splash href=images/splash.jpg/ offline-allowed/ association extensions=vav mime-type=application/vnd.mathan.vklap/ /information security all-permissions/ /security resources j2se version=1.6+ initial-heap-size=120m max-heap-size=200m/ property name=hsqldb.files_readonly value=true/ jar href=main/cert_MATHANP2/main.jar version=1.3.9_20080131174919/ jar href=lib/cert_MATHANP2/commons-lang.jar version=2.1/ jar href=lib/cert_MATHANP2/commons-codec.jar version=1.3/ !-- ... -- /resources application-desc main-class=cz.mathan.vklap.EditorMain argument--suppress_next_year/argument /application-desc /jnlp
Verzovani konfigurace projektu [bylo: Eclipse a NetBeans]
Josef Petrák - KYBERIE napsal: [...] V závěru, když soubory odesíláte do CVS/SVN/jiné repository, tak přece odesíláte pouze zdrojáky, ne nastavení IDE. Tím pádem nikdo z týmu nepozná, jestli jste to psal v Eclipse, NetBeans, nebo poznámkovém bloku ... My si v SVN schováváme i eclipsí .project, .classpath, adresář .settings s informacemi o kódování textových souborů i všechny jen trochu užitečné launchery (ty dáváme do adresáře .eclipse). I knihovny máme ve verzovacím systému, namísto různě rozesetých někde na disku. Výrazně se tím omezí čas strávený konfigurací prostředí do stejného tvaru, jako u kolegy. Pracovali jsme i na projektech, které tyto informace nesdílely, a z tohoto hlediska to bylo utrpení. Ve verzovacím systému mohou být uloženy konfigurace i více vývojových prostředí - za předpokladu, že soubory s konfiguracemi se v každém prostředí jmenují jinak a že IDE nestrká nos do těch souborů, kterým nerozumí. Je pak sice třeba například doplňovat nově přidanou knihovnu do cesty projektu pro každé vývojové prostředí, ale to je pořád méně práce, než kdyby to musel dělat každý vývojář. Takže si myslím, že verzování konfigurace projektu je velmi vhodné. Vývojářům tím odpadne část překážek, přes které se musí prodrat, aby se dostali k vlastnímu programování. Může to být zásadní rozdíl při práci z domova, která se zhusta odehrává v časech, kdy nelze spoléhat na pohotovou pomoc ostatních členů týmu. Jak to děláte u vás? Honza Dvořák MathAn Praha
Vyroba sestavy v Excelu
Ahoj, zkoumam moznosti, jak v javove aplikaci na serveru vyrabet sestavy, ktere by si uzivatele stahli a otevreli v Excelu. Zatim sice jen tabulky, ale nepochybuji o tom, ze zacnou chtit i grafiky. Rysuji se mi tri mozne pristupy: 1. Jakarta POI - rucne si sestavu sestavovat v javovem kodu. To vypada jako dost pracne, ale zase je vcelku dobra kontrola nad tim, co vznikne. 2. Eclipse BIRT - klikaci navrhar sestav. Od verze 2.2 udajne umi delat vystupy do formatu XLS. Akorat se mi nedari najit, jak se to dela. :-( 3. zapojit OpenOffice v bezhlavem (headless) rezimu - mit pripraveny sesit s dotazy, ten programove otevrit, dat mu pokyn, at se obnovi z databaze, posleze jej ulozit a odeslat. Ruznych druhu sestav budou do budoucna desitky. Mnozina uzivatelu je omezena, rychlost generovani neni prilis vyznamnym kriteriem. Chtel bych vsak minimalizovat slozitost udrzby. Co si o tom myslite? Honza
Hleda se sefredaktor pro java.cz
Ahoj, portal java.cz se rozrusta a hleda sefredaktora, inzerat viz http://www.java.cz/detail.do?articleId=7684 . Pokud byste o nekom vedeli ci sami meli zajem, ozvete se prosim na [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] . Honza Dvorak MathAn Praha
Re: kodovani cestiny v ruznych jazykovych sadach
Ano, knihovnu ICU4J od IBM pouzivame pro odstranovani diakritiky s uspechem uz par let. Honza Dvorak MathAn Praha Josef Cacek napsal: Ahojte, On 9/19/07, Petr Burdik [EMAIL PROTECTED] wrote: Jeste jednou moc diky. to odstraneni diakritiky nijak moc nespecha, ale mrknu urcite. Zkuste mrknout tady: http://www.rgagnon.com/javadetails/java-0456.html Pekny den Pet -- pepa cacek
kontextova napoveda k nasim antovym taskum v eclipsu
Zdar, nevite nahodou, jak zpusobit, ze eclipse bude zobrazovat kontextovou napovedu k nasim rozsirujicim antovym taskum? Pripadne by rovnou ty atributy nabizel? Honza Dvorak MathAn Praha
Re: copy paste adresare v eclipse(pluginem subclipse), jez je v subversion
Ahoj Tomasi, s nasim problemem nejsme sami. Tohle jsem nasel, kdyz jsem hledal neco jineho: http://www.danlance.co.uk/index.cfm/2007/8/17/Do-not-copy-SVN-working-folders-to-another-location-in-project . Zda se, ze pro uplne reseni se bude muset ponekud hrabnout do par zakladnich veci v eclipsu, jako je treba podpora copy-paste. Honza Tomáš Chudlarský napsal: Ahoj, presli jsme ve firme ze cvs na subverion. Zahy jsme narazili na nasledujici problem, pokud v eclipse (s pluginem subclipse 1.2.3) zkopirujeme adresar (copy paste), tak ze vytvori kopie i podadresaru .svn . To nasledne vede k tomu, ze nove soubory komitujeme do puvodnich v svn, coz neni dobre. 1) Nenarazili jste nekdo na tento problem a jak ho resite? Nas nenapada nic lepsiho nez .svn rucne mazat, coz neni moc pohodlne. Nebo vubec copypaste nepouzivat. I kdyz nejsme nejsme zastanci duplikace kodu, nekdy preci jen muze byt ucelne neco zkopirovat a upravit. 2) Jake jine pluginy nez subclipse pouzivate pro subverion a jak jste s nimi spokojeni? Diky Tomas
Re: drill-down tabulky
Dobrý den, myslím, že kromě vlastních reportů musíte mít ve vaší databázi nějak popsanou i navigaci mezi nimi. Při přechodu k novému reportu musíte zjistit, které parametry už znáte z předchozího, a které je potřeba vykoukat z pozice buňky, na kterou bylo kliknuto. Potřebujete tedy u každého dotazu vědět, které sloupce z jeho výsledku tvoří klíč. To odnikud nevytáhnete, musíte to mít zapsané u své definice reportu. Pokud dáte uživateli možnost přechodu jen k jednomu dalšímu reportu, máte situaci snažší. Pokud však zjistíte, že drill down může jít různými směry (a velmi by mě překvapilo, kdyby tomu tak nebylo), tak musíte uživatele ještě nechat vybrat, podle čeho si chce report nechat rozpadnout. Honza Dvořák MathAn Praha Vladimír Náprstek napsal: Dobrý den, pracuji na jednom reportovacím nástroji a nyní potřebuji trochu poradit. Nástroj je obecný s tím, že předem netuším, jaká data mi z DB polezou (report je definovaný SQL dotazem, uloženým v DB). Na začátku uživatel zadá kritéria (cca 5 předem daných a společných pro všechny reporty). Zobrazí se sumární tabulka. A teď je třeba se dostat na detailní pohled. Uživatel může kliknout na libovolné číslo v tabulce a detailní pohled zobrazí data. Problém je v tom, že detail přebírá nejen původní parametry, ale omezení vzniká navíc na základě vybraného řádku i sloupce. A tady nevím jak problém uchopit. Řádek může být definován vícero hodnotami v prvních sloupcích (závisí na konkrétním reportu) a který detailní report bude použit zase závisí na sloupci, ve kterém je číslo, na které uživatel kliknul. Možná to zní zmateně, tak raději přidám příklad. Mějme report, kde jsou sloupce: rok, stát a následují nějaké prodávané komodity. Uživatel si klikne na nějaké číslo a detailní report mu ukáže data pro rok a stát (první dva sloupce) a danou komoditu (sloupec, ve kterém kliknul na číslo). A tohle musím nějak zajistit pro libovolný report (není dáno, kolik úvodních sloupců je klíčových) a navíc každý report má jiný detail). Máte nějaký nápad, jak toto filozoficky uchopit?
Re: locales v XSLT transformaci
Tomas Zverina napsal: No nic. Nejaky workaround se udela, ale koukam na to jako blazen - jak to, ze nejde tak trivialni a pomerne dulezita vec udelat ciste? Proc tam ten format davali, kdyz se neda pouzit? Tipoval bych, ze to je kvuli jinym programovacim jazykum, jako C++ a podobne, kde Locale neni nebo je nejak jinak. Efekt nejnizsiho spolecneho zakladu. Je to asi podobne jako W3C DOM - ten taky v Jave pusobi jako mamut v porcelanu, protoze si dela kolekce po svem. Mozne reseni tveho problemu: V XSLT cisla neformatovat, pouze oznacit - napr. specialnim elementem z nejakeho tveho namespace. Z transformace bude vystupem SAXResult, ktery napojis na specialni SAXFilter, ktery oznacena cisla naformatuje podle libosti a oznaceni znici. Pokud potrebujes serializovat do streamu, pak muzes na vystup napojit jeste identickou transformaci (new Transformer()), ktere das za vystup StreamResult. Jak SAXFilter, tak identicka transformace obvykle bezi svizne. Honza
Re: databáze
Dobrý den, s úspěchem používáme hsqldb. Java DB (dříve Derby, předtím Cloudscape, ...) je určitě mocnější, zároveň však je větší (data i jar, ale ten s 1.6 to netřeba řešit, leda byste narazili na bugu) a nabíhá pomaleji - vyzkoušeno na našem specifickém případě. Data ve vaší aplikaci budou ležet někde na uživatelově disku? Nebo budou read-only a distribuována s aplikací? Nebude pár uživatelů chtít stejná data sdílet? Honza Dvořák MathAn Praha Pavel Nemec napsal: Dobrý den, pro jeden svůj projekt bych potřeboval použít nějakou velice malou databáze. Databáze bude součástí programu a není podstatné aby byla rychlá, ale spíše aby byla malá (jak do velikosti v paměti, tak potřebná velikost na disku). Našel jsem několik kandidátů (všechny pod GPL licencí) a všechny v jave. HSQL DB4o Pokud mátě někdo zkušenosti s databázemi, prosím podělte se. (mám na mysli zkušenosti s malými embeded databázemi ;) ) Pavel
Re: digitální certifikát
Ne, tak to není. Podpis kódu je speciální účel, který by musel být uveden v certifikátu. Je to jiný účel než obecné podpisy nebo prokazování identity. Pokud vím, žádná z akreditovaných CA v ČR vám nevydá certifikát, který by měl podpis kódu mezi svými účely. Honza Dvořák Tomáš Procházka napsal: Ahoj, odpovídám na zprávu ze čtvrtka, 25. ledna 2007, kterou Jan Dvořák napsal(a) v 15:07:34: Tohle je o ničem :-( PostSignum tam má na výběr buďto osobní a nebo serverový certifikát, tak bych čekal, že podepisování osobního kódu by mohlo patřit do té kategorie osobní. --- Původní zpráva --- Odesilatel: Jan Dvořák [EMAIL PROTECTED] Předmět: digitální certifikát Datum: 25. ledna 2007, 15:07:34 (GMT +0100) Přílohy: none msgid:[EMAIL PROTECTED] J Ahoj, J Kvalifikovany certifikat od PostSignum (stejne jako od zbyvajicich dvou J akreditovanych CA v CR) nema ve svych ucelech podpis kodu. J I kdyby mel, korenove certifikaty techto CA jsou JRE-ckum i prohlizecum J vesmes nezname, takze se k takto podepsanym apletum budou chovat jako k J podezrelemu kodu. J Leda byste presvedcil vase uzivatele, aby si hodili korenovy certifikat J mezi duveryhodne CA, ale to podle mne zacne delat jen zlomek z nich, a J uspesne dokonci jen zlomek z toho zlomku. J Pro nasi webstartovanou aplikaci jsme nakonec sahli po certifikatu pro J podpis kodu od Thawte. J Nebyl uplne levny. Firma to unesla, ale jako jednotlivec bych sel cestou J Thawte Free Mail certifikatu. J Podle mne potrebujete certifikaty dva: jeden pro zabezpeceny styk se J statni spravou, a druhy pro podpis kodu. J Mimochodem, nevite nekdo jeste o jine CA nez Thawte a Verisign, ktere by J vydavaly certifikaty pro podpis javoveho kodu a mely korenovy certifikat J mezi duveryhodnymi? J Honza Dvorak J MathAn Praha J Tomáš Procházka napsal: Ahoj, odpovídám na zprávu ze čtvrtka, 25. ledna 2007, kterou Rastislav Rehak napsal(a) v 10:39:06: No, já bych měl konkrétně zájem asi o http://qca.postsignum.cz/, je to skoro za pakatel a nemusím objíždět žádné notáře, což by časově vyšlo stejně dráž. Ale to zda mají ty certifikáty podepsané někým, koho Java považuje za důvěryhodného je určitě docela rozhodující fakt. Má někdo zkušenosti přímo s tím? Pro server certifikát skutečně nechci, ale pro podepisování emailů, styk s úřady a podepisování aplikací ano. --- Původní zpráva --- Odesilatel: Rastislav Rehak [EMAIL PROTECTED] Předmět: digitální certifikát Datum: 25. ledna 2007, 10:39:06 (GMT +0100) Přílohy: none msgid:[EMAIL PROTECTED] R Pre zaciatok by som vyskusal Thawte Free Mail certificate. Ked sa R prihlasite do TFM mozete si nechat vygenerovat mailovy certifikat vhodny R aj na podpisovanie kodu. R Tento certifikat bude mat meno drzitela Thawte free mail member co nie R je zrovna to prave, ale na druhej strane je root CA je importovana v R JRE, takze to funguje. R Dalej je mozne navstivit aspon dvoch notarov zo siete Thawte Web of R Trust overit totoznost, ziskat aspon 50 bodov a potom si budete moct R vygenerovat tento certifikat na vase meno. Tak daleko som sa este R nedostal, lebo okolo mna je malo notarov a nechce sa mi cestovat len pre R certifikat. Mozno ked pojdem do Prahy tak to vyskusam. R Popis najdete tu: http://www.dallaway.com/acad/webstart/ aj ked linky R sa uz zmenili. R Na slovensku existuje system CA ( napriklad EVPU Nova Dubnica ) ktora R vydava certifikaty na komunikaciu so statnou spravou. Tieto certifikaty R NEBRAT. Su uplne k nicomu, lebo ich root je NBU ( to su ti co maju heslo R nbusr123 ) a tento pravdaze nie je nainstalovany v ziadnom JRE alebo R browsery. Tazko presvedcite cloveka na druhom konci sveta, aby si ich R certifikat importoval do trusted storu. R Bye Ra100 R Tomáš Procházka wrote: Zdravím Chci se jen ujistit. Potřebuji si pořídit digitální certfikát mimo jiné také pro podepisovaní java aplikací. Je potřeba při pořízení dávat na něco pozor, je potřeba něco speciálního? Já myslím, že ne, už párkrát jsem s certifikáty pracoval a nikdy jsem problém neměl. Jen mi není jasné to, proč se ty certifikáty ukládají na tolik míst. Něco je v C:\Documents and Settings\Tomas\.keystore a přes to GUI v ovladácích panelech se to přidává se zase někam jinam :-( Jo a ještě jedna věc. Když podepíšu applet a certifikát vyprší bude to dál fungovat nebo budu muset pokaždé všechny své aplikace znovupodepisovat. Podle mě by to mělo být důležité datum podpisu. Datum: 20:08:1224. ledna 2007 Konec původní zprávy
Re: digitální certifikát
Ahoj, Kvalifikovany certifikat od PostSignum (stejne jako od zbyvajicich dvou akreditovanych CA v CR) nema ve svych ucelech podpis kodu. I kdyby mel, korenove certifikaty techto CA jsou JRE-ckum i prohlizecum vesmes nezname, takze se k takto podepsanym apletum budou chovat jako k podezrelemu kodu. Leda byste presvedcil vase uzivatele, aby si hodili korenovy certifikat mezi duveryhodne CA, ale to podle mne zacne delat jen zlomek z nich, a uspesne dokonci jen zlomek z toho zlomku. Pro nasi webstartovanou aplikaci jsme nakonec sahli po certifikatu pro podpis kodu od Thawte. Nebyl uplne levny. Firma to unesla, ale jako jednotlivec bych sel cestou Thawte Free Mail certifikatu. Podle mne potrebujete certifikaty dva: jeden pro zabezpeceny styk se statni spravou, a druhy pro podpis kodu. Mimochodem, nevite nekdo jeste o jine CA nez Thawte a Verisign, ktere by vydavaly certifikaty pro podpis javoveho kodu a mely korenovy certifikat mezi duveryhodnymi? Honza Dvorak MathAn Praha Tomáš Procházka napsal: Ahoj, odpovídám na zprávu ze čtvrtka, 25. ledna 2007, kterou Rastislav Rehak napsal(a) v 10:39:06: No, já bych měl konkrétně zájem asi o http://qca.postsignum.cz/, je to skoro za pakatel a nemusím objíždět žádné notáře, což by časově vyšlo stejně dráž. Ale to zda mají ty certifikáty podepsané někým, koho Java považuje za důvěryhodného je určitě docela rozhodující fakt. Má někdo zkušenosti přímo s tím? Pro server certifikát skutečně nechci, ale pro podepisování emailů, styk s úřady a podepisování aplikací ano. --- Původní zpráva --- Odesilatel: Rastislav Rehak [EMAIL PROTECTED] Předmět: digitální certifikát Datum: 25. ledna 2007, 10:39:06 (GMT +0100) Přílohy: none msgid:[EMAIL PROTECTED] R Pre zaciatok by som vyskusal Thawte Free Mail certificate. Ked sa R prihlasite do TFM mozete si nechat vygenerovat mailovy certifikat vhodny R aj na podpisovanie kodu. R Tento certifikat bude mat meno drzitela Thawte free mail member co nie R je zrovna to prave, ale na druhej strane je root CA je importovana v R JRE, takze to funguje. R Dalej je mozne navstivit aspon dvoch notarov zo siete Thawte Web of R Trust overit totoznost, ziskat aspon 50 bodov a potom si budete moct R vygenerovat tento certifikat na vase meno. Tak daleko som sa este R nedostal, lebo okolo mna je malo notarov a nechce sa mi cestovat len pre R certifikat. Mozno ked pojdem do Prahy tak to vyskusam. R Popis najdete tu: http://www.dallaway.com/acad/webstart/ aj ked linky R sa uz zmenili. R Na slovensku existuje system CA ( napriklad EVPU Nova Dubnica ) ktora R vydava certifikaty na komunikaciu so statnou spravou. Tieto certifikaty R NEBRAT. Su uplne k nicomu, lebo ich root je NBU ( to su ti co maju heslo R nbusr123 ) a tento pravdaze nie je nainstalovany v ziadnom JRE alebo R browsery. Tazko presvedcite cloveka na druhom konci sveta, aby si ich R certifikat importoval do trusted storu. R Bye Ra100 R Tomáš Procházka wrote: Zdravím Chci se jen ujistit. Potřebuji si pořídit digitální certfikát mimo jiné také pro podepisovaní java aplikací. Je potřeba při pořízení dávat na něco pozor, je potřeba něco speciálního? Já myslím, že ne, už párkrát jsem s certifikáty pracoval a nikdy jsem problém neměl. Jen mi není jasné to, proč se ty certifikáty ukládají na tolik míst. Něco je v C:\Documents and Settings\Tomas\.keystore a přes to GUI v ovladácích panelech se to přidává se zase někam jinam :-( Jo a ještě jedna věc. Když podepíšu applet a certifikát vyprší bude to dál fungovat nebo budu muset pokaždé všechny své aplikace znovupodepisovat. Podle mě by to mělo být důležité datum podpisu. Datum: 20:08:1224. ledna 2007 Konec původní zprávy
Re: Java Web Start
Dobry den, mozne to je. Akorat az budete chtit delat verze svoji aplikace a knihoven, budete si muset poradit sam, nebudete moci pouzit ten zpusob verzovani, ktery je zadefinovan v prislusnem JSR a popsan v JWS guide. Muzu se zeptat, jaka potreba vede k tomu, ze byste to chtel spoustet i z filesystemu? Honza Dvorak Jaroslav Matej napsal: Dobry den, Ak som spravne pochopil tutorialy, JWS stiahne a naistaluje app z netu. Rozmyslam nad JWS ako nahradou appletu, avsak je potrebne, aby JWS instalacia fungovala aj z lokalneho fs aj z netu. Je to vobec mozne (bez instalacie lokalneho webservera) ? Vdaka, MJ
Re: java.lang.String.intern()
Na druhe strane, divil bych se, kdyby vam intern()-ovani _dat_ ve vasich programech neco vyznamneho prineslo. Jednak String.intern() nejakou dobu trva, jednak je nejasne, jak se ten pool chova. Tady se nabizeji dve moznosti: 1. Jednou intern()-ovany retezec zustava v poolu do konce vesmiru (cti: spustene instance JVM). Pak Vam snadno muze dojit pamet, zejmena pokud jste na serveru. Efektivne si omezujete bud pocet obslouzenych pozadavku, nebo velikost dat, se kterou muzete pracovat, ikdyz mate nakrasne algoritmy s konstantni pametovou narocnosti. 2. Intern()-ovany retezec zustava v poolu jen dotud, dokud jsou na nej reference. Pak je Vam takove intern()-ovani napriklad radku souboru CSV (nebo radku vysledku dotazu JDBC, nebo libovolneho jineho najednou zpracovavaneho useku dat) vcelku na nic. Nez prejdete k novemu radku, pool zapomene veci z radku stareho. Pak Vas to intern()-ovani jenom zdrzuje. Sun Java 1.5.0 se, zda se, chova druhym z uvedenych zpusobu. Ale specifikaci takoveto chovani dane neni, takze na ne neni dobre spolehat. Myslim, ze intern() ma cenu pouzivat jen, pokud vite, ze v tom kusu dat, ktery musite mit najednou v pameti, se budou retezce vyznamnou merou opakovat. Z hlediska aplikacniho programatora to podle mne patri do podobne kategorie krehotinek jako java.lang.System.gc(). Jinak pokud vsude pisi, ze objekty se na rovnost maji porovnavat metodou equals(), tak bych se toho drzel i u Stringu. I kdyz se je nyni rozhodnete intern()-ovat. JVM-ko bude na equals() optimalizovano, takze ve vysledku strojove cykly treba ani neusetrite, nebo jen zanedbatelne. Co je vsak dulezitejsi, vas kod bude standardni a vy se muzete spolehnout, ze dokud bude Java Javou, nebudete na tomto aspektu vaseho kodu muset nic menit. I kdyz se treba v budoucnu rozhodnete ne-intern()-ovat, nebo to intern()-ovani na jednom z x mist zapomenete. Ale co je ze vseho nejdulezitejsi, takovy kod bude daleko srozumitelnejsi ostatnim. Pocitaje v to vas po pul roce. :-) Honza Dvorak ales napsal: Myslim si, ze ano. Aj ked zmysel by to malo hlavne v tom pripade keby vstup z konzoly obsahoval duplicitne retazce. Nieco v zmysle kodu krajiny v CSV subore. V pripade, ze by boli hodnoty vzdy ine tak to zmysel nema. Ales Kamzik-II wrote / napísal(a): Dobre, rekneme, ze budu od uzivatele nacitat nejake retezce z konzole a budu je ukladat do nejakeho Listu, ale do Listu budu pridavat internovane retezce, tak usetrim pamet a muzu pouzivat porovnavani pomoci ==, je to tak? - Original Message - From: ales [EMAIL PROTECTED] To: Java konference@java.cz Sent: Thursday, September 28, 2006 12:15 PM Subject: Re: java.lang.String.intern() Ahoj, je to presne tak. Nasledujuci kod: String helloWorld = HelloWorld; String hello = Hello; String world = World; System.out.println(helloWorld == (hello + world).intern()); vypise true. Metoda intern existuje z optimalizacnych dovodov (vid http://en.wikipedia.org/wiki/String_intern_pool). Ales Ing. Jan Novotný wrote / napísal(a): Nejsem si jistý, ale nezajistí se touto metodou, že konkrétní string bude na haldě pouze jednou? Tzn. že je teoreticky možné toto: String a = ahoj; String b = ahoj; if (a != b) System.out.println(a different from b); //mohlo by se vypsat a.intern(); b.intern(); if (a == b) System.out.println(a same as b); //musí se vypsat Nejsem si tím jistý, ale myslím, že takhle to funguje ... equals samozřejmě vrátí v obou případech true (imlementace equals u stringu myslím interně to intern právě volá). Honza Kamzik-II napsal(a): Zdravim diskuzi, mam opet jeden zacatecnicky dotaz :) Tentokrat by me zajimalo, jake vyuziti ma metoda intern () tridy java.lang.String, zaujalo me tohle: String helloWorld = HelloWorld; String hello = Hello; String world = World; helloWorld == ( hello + world ).intern (); mohl by mi nekdo vysvetlit k cemu je tato metoda dobra? :)
Re: java na multicorovem sunu/solarisu
Ahoj Tomucho, 1. Tak dva roky nazpatek se ukazalo, ze Suni jvm-ko pro Solaris beha je v nekterych situacich o dost pomalejsi nez porty pro jine platformy, ktere Sun dela. Ted uz by to melo byt spravene (http://news.com.com/2100-1001-984529.html), ale neni jasne, co je nutno upgradovat - zda OS, JRE, nebo oboji. 2. Podobnou zkusenost, jakou mas ty, jsme pozorovali pred asi peti lety se serverem od HP. Uuuuzasne zelezo, ale zakaznik nikdy nemel dost penez na to, aby konfigurace byla vyvazena. Tu bylo malo pameti, pak zas malo disku, nakonec by to bylo byvalo chtelo pridat procesory, ale k tomu uz nastesti nedoslo. Nez se na to nainstaloval vsecek potrebny software (Oracle db a Oracle Application Server) a zacalo to realne chodit, to trvalo tak dlouho, ze stroj uz byl zastaraly. Nakonec se podarilo zakaznika premluvit, at tuhle nadheru vycleni na dulezitejsi ukoly (... samba ;-) ), nam ze by vlastne stacil uplne obycejny pececkovy server. Od tech dob vse chodi bez problemu, pochopitelne. 3. Nedavno jsem byl pritomen slavnostnimu vypinani sunovskeho databazoveho serveru (databaze Informix). Je to v podstate stejna story. Na dva roky starem pececkovem serveru to chodi nekolikrat rychleji. Myslim si, ze dnes uz je investice do podobneho zeleza obhajitelna jen ve vyjimecnych pripadech. Ale to jsem se dostal ponekud off the topic. 4. Podle znameho, ktery delal v Telecomu a sunovske servery spravoval, ma Solaris povest, ze kdykoli po nem neco chces, tak je to pomale. Posles dva pozadavky zaraz, je to pomale. Posles deset pozadavku najednou, je to pomale. Posles sto soubeznych pozadavku, je to pomale. Ale je to pomale porad stejne! Nutno samozrejme zvazit, jestli tento druh skalovatelnosti mas vubec sanci vyuzit - v malych ceskych pomerech jsou i ty urady jaksi mensi, ze ;-) 5. JDBC driver pro Oracle nemival uplne nejlepsi povest. Nedivil bych se, kdyby nekde uvnitr synchronizoval vic, nez je nezbytne potreba, coz muze byt zadrhel prave pro to solarisi jvm-ko. Nedalo by se vyzkouset, zda by treba zmeny fetchSize u ResultSetu nebo Statementu nemely nejaky efekt? Predpokladam, ze ovladace mas posledni verzi... Honza Tomas Zverina napsal: Mila konference, muj krasny projekt trpi tim, ze je v produkcnim prostredi ($SUBJ) nesnesitelne pomaly, predevsim v situacich, kdy se mezi DB - serverem - klientem, prenasi/zpracovavaji nejaka vetsi data - ne moc velka, treba desitky kilo nafetchovanych radku vysledku dotazu. Nemusim jiste rikat, ze na Linoxuvo/Windowsovo/FreeBSD strojich, na kterych to vyvijime, bezi vsechno bez problemu. Konkretni uloha trva vsude kolem 300ms, tam 3000ms. Nepotkal jste nekdo takovy fenomen? Siti to nebude, ta je celkem normalni, ty stroje jsou sice pomalejsi nez normalni zelezo (alespon v neparalelizovatelnych ulohach), ale ne zase tolik. Prislusne dotazy jsou odladeny a odpovidaji zhruba stejne rychle tam i jinde. Je to poskladano z Oracle, Tomcat, Spring, RMI. Diky za tip, mate-li.
dbtools-20060915a: lepsi vypis parametru dotazu
Ahoj, v teto verzi dbtools je zapracovana nasledujici uprava: @ SqlString vznikajici z dotazu bude na volani metody toString() vydavat parametry dotazu vhodne escapovane, tedy napr. retezce v apostrofech, a to podle SqlDialectu toho dotazu (nebo insertu, updatu, deletu). Rekl bych, ze se to hodi Hyperionu, a potrebuje to taky Mirek ke svemu ukoliku (tak ho prosim kdyztak navedte, at si updatne dbtools - dnes odpoledne se mozna objevi). Honza
Re: dbtools-20060915a: lepsi vypis parametru dotazu
Omlouvam se za preklep v adrese, ten mail nebyl urcen az tak verejnemu foru :-) Honza Dvorak Jan Dvořák napsal: Ahoj, v teto verzi dbtools je zapracovana nasledujici uprava: @ SqlString vznikajici z dotazu bude na volani metody toString() vydavat parametry dotazu vhodne escapovane, tedy napr. retezce v apostrofech, a to podle SqlDialectu toho dotazu (nebo insertu, updatu, deletu). Rekl bych, ze se to hodi Hyperionu, a potrebuje to taky Mirek ke svemu ukoliku (tak ho prosim kdyztak navedte, at si updatne dbtools - dnes odpoledne se mozna objevi). Honza
Re: dom4j a mixed content
Martin Kuba napsal: Petr Šimek wrote: Dobry den, snazim se pomoci dom4j prochazet existujici xml soubor, ale mam problem, kdyz narazim na element, ktery obsahuje mixed content. Napr. sekceAuto empje/emp cervene./sekce Pak mi u sekce element.getText(); vrati cely text elementu, bez vnoreneho emp, tj. vrati: Auto cervene. Ale ja bych potreboval v tu chvili v necem dostat informaci, ze jsou tam tri potomci, tj. nejdriv text Auto, pak element emp a pak text cervene. Ale k tomu se nemuyu dopracovat, poradite mi? SAXReader reader = new SAXReader(); Document document = reader.read(pokus.xml); Element root = document.getRootElement(); for ( Iterator i = root.elementIterator(); i.hasNext(); ) { Element element = (Element) i.next(); // do something } Neznam sice DOM4J, ale dle svych zkusenosti s JDOM bych si tipnul, ze chyba je ve volani getText(). Podle rychle vygooglovaneho javadocu dela Returns the text value of this element without recursing through child elements. This method iterates through all Text,CDATA and Entitynodes that this element contains and appends the text values together. Spravny postup bude zavolat selectNodes(*), coz vraci seznam uzlu, jenz jsou potomky. Jadro zakopaneho pudla je v tom, ze texty jsou uzly (Node), ale nejsou elementy (Element), takze elementIterator() je nemuze vratit. Zkuste tedy neco jako: for(Iterator i = root.selectNodes(*).iterator();i.hasNext();) { Node node = (Node).i.next(); if(node.getNodeType()==Node.TEXT_NODE) { ... } else if(node.getNodeType()==Node.ELEMENT_NODE) { ... } Jen pro srovnani, v JDOMu bych zavolal Element.getChildren(), coz je jednodussi o ten XPath vyraz. V dom4j si iterator poridis jako element.nodeIterator(). Tahle vecicka je v Branch, ze ktere Element dedi. Honza Dvorak
Re: for vs. while - problemy s SQL Drivery
My jsme se s tim setkali u oracliho thin driveru pro 9.2. Kdyz clovek nezaviral resultsety, za chvili se server zacal zdrahat odpovidat na dotazy - stezoval si, ze Too many open cursors. Myslim, ze uzitecna sablona kodu je: final ResultSet rs = stmt.executeQuery(); try { while ( rs.next() ) { processRow( rs ); } } finally { rs.close(); } Osetrovani SQLException zaridite v nejakem vnejsim bloku try, prece to nebudete psat nekolikrat. Kdyz vylitne vyjimka v prvnim radku, nemate resultset a neni tedy ani co zavirat. Jakmile vsak resultset mate, tak ho urcite zavrete. Ciste, prehledne. Obcas se vidi takove veci jako: ResultSet rs = null; try { rs = stmt.executeQuery(); while ( rs. next() ) { processRow( rs ); } } catch ( SQLException e ) { e.printStackTrace(); } finally { if ( rs != null ) { try { rs.close(); } catch ( SQLException e ) { e.printStackTrace(); } } } - coz je proste silene. Honza Moravec Jan napsal: U jakeho presne driveru jsem se s problemem nezavirani RS setkal si jiz nepamatuji. Dost mozna i ten zminovany Oracle OCI driver. Ono zavisi hodne na kontextu a zpusobu pouziti PS a RS. Pokud napriklad otevirate z jednoho PS vice result setu, jak intepretovat ponekud vagni javadoc u Statement.close When a codeStatement/code object is closed, its current codeResultSet/code object, if one exists, is also closed. Jaky z tech x otevrenych RS je ten current? Jsou to a) vsechny b) posledni otevreny c) posledni iterovany Jak jsem psal, PS jsou navic casto cachovany, takze pokud volate PS.close ve finaly, nemusi to ale VUBEC znamenat, ze se Vam zavrou result sety asociovane s tim PS, protoze jeho close metoda se v zaveru ani nezavola (zavola se close na nejakym wrapperu, ktere ten PS POUZE vrati do poolu). Tj. shrnuto podtrzeno, RS zavirat vzdy explicitne a neni problem. Spolehat na PS.close/finalizator apod - povesit programatora za usi do pruvanu. Off topic: S tim Oracle driverem jsme mi pripomnel jinou perlu jejich driveru. Pri praci s LOBy se musely PS castovat na Oracle specificke implementace, aby bylo mozne volat metody pro praci s LOBy. Standardni java.sql.Clob/Blob nefungovaly. Doufam, ze uz s tim neco udelali... toto bylo pred cca 3 roky. Honza -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Artur Linhart - Java Communication Sent: Thursday, August 24, 2006 10:46 AM To: Java Subject: Re: for vs. while - problemy s SQL Drivery .Myslim, ze s nejakym podobnym nestandardnim chovanim jsme se setkali v pripade Oracle 9.2.0.1 driveru, ktere obsahovaly mimo jine i nekolik chybek v tehle oblasti. Uz je to dele, ale problem byl mam dojem nejen s uzaviranim pripojeneho resultsetu, ale i s tim, ze se sam statement neuvolnoval korektne ackoliv by podle standardu mel pote co se spusti garbage collector - urcite se vyplaci volat close primo na statementu stejne jako predtim na resultsetu ktery byl pres statement vytvoren. Prestoze javadoc u metody java.sql.Statement.close() tvrdi A codeStatement/code object is automatically closed * when it is garbage collected. When a codeStatement/code object is * closed, its current codeResultSet/code object, if one exists, is * also closed. - nemusi byt obecne pravda ani prvni, ani druha veta, holt jako vzdy zalezi na tom, jak se ten interface naimplementuje. Takze pokud si nejste stoprocentne jisti (coz neni asi nikdy :-) ) tak by se ten close mel asi volat vsude kde to jde... Jinak - slo o oci8 driver, mozna ze u nativniho, ktery bohuzel pouzivat nemuzeme, to funguje spravne, to nevim... Uz je to sice hodne off topic od puvodniho tematu, ale napada mne napr. mimodek i dalsi chyba na kterou jsme narazili v Oracle driverech se kterou jsme se opravdu hodne hodne vyvztekali nez jsme na ni prisli - a to je problem s datovym typem timestamp a jeho prevodem na javovsky Timestamp, u ktereho se v pripade, ze je pocet milisekund nacteny z databaze 0 jako pocet milisekund naindukuje jine cislo nezli 0. Jinymi slovy, jak mi pomohl kolega Michal s upresnenim: pri cteni Timestamp s 0 ms je vracena hodnota ms z posledniho cteneho Timestampu ktery mel ms 0. Jednoduse, pokud tam bylo 0 ms, tak ten driver jakoby ten udaj ms nijak nemenil, takze tam zustala predesla hodnota. - tzn. pokud napr. pouzivate Oracle timestampy k overeni, jestli se Vam zaznam nezmenil v mezidobi mezi dvema selecty, je dobre na podobne policko pripojit primo na urovni databaze trigger, ktery nejenom ze pri updatu nastavuje vzdy aktualni hodnotu casu, ale v pripade, ze pocet milisekund je 0, tak je trosicku postrci o milisekundu, aby nacitani pres JDBC do typu Timestamp potom fungovalo spravne - my to delame momentalne takhle: create or replace trigger TU_BC_COUNTRY before update on BC_COUNTRY for each row declare locMs int; loc_current_GMT_timestamp TIMESTAMP(3); begin loc_current_GMT_timestamp := current_timestamp at time zone 'GMT';
Re: Literatura
Podle mne je kniha Myslíme objektově v jazyku Java 5.0 od Rudy Pecinovského (Grada 2004) opravdu dobrá učebnice programování. Honza Dvořák Rudolf PECINOVSKÝ napsal: [...] Vynechám-li tu svoji, tak knihy, které se snaží naučit opravdu objektově programovat [...]
Re: DataConnection pooling in Tomcat
Dobry den, tohle je podle mne pekny, cisty kod. Jeste jsem si zvykl ty promenne con, st, rs delat final. Nechci prece zavirat jiny objekt (spojeni, prikaz, vysledek), nez s jakym se do kazdeho toho bloku try vstupovalo. V tehle trojici Connection - Statement - ResultSet je z hlediska zivotniho cyklu ten Statement tim nejmene zajimavym clenem (pokud to nahodou neni opakovane volany PreparedStatement). Obcas povazujeme za uzitecne metody, ktery mezi svymi parametry dostavaji Connection, neco vyselekti a vrati ResultSet. Zodpovednosti klienta takoveto metody je zavrit ten ResultSet. Ten Statement, ze ktereho ten ResultSet vznika, tak trochu visi ve vzduchu. Neni dulezity, vyjma toho, ze je treba jej ve spravny okamzik zavrit. Ten okamzik nenastava uvnitr selektici metody, ale az pote, kdy je ResultSet zkonzumovana. Rozresili jsme to specialni tridou StatementClosingDelegatingResultSet (nazev rika vse a je priblizne stejne dlouhy jako implementace), ktera pri uzavirani ResultSetu uzavre i ten Statement. Timto zpusobem se nam dari clenit i pomerne rozsahlou databazovou praci do snesitelne dlouhych metod. Honza Dvorak Michal Palička napsal: Dobry den, ten ukazkovy kod vypada teda dost brutalne. Mne se osvedcilo pouziti vnorenych try-finally bloku. Myslim, ze je to prehlednejsi a elegantnejsi. Priklad: void myMethod() throws SQLexception { Connection con = ds.getConnection(); try { Statement st = con.createStatement(); try { ResultSet rs = st.executeQuery(); try { ... // zpracovani dat z 'rs' } finally { rs.close(); } } finally { st.close(); } } finally { con.close(); } } Vyse uvedeny kod predpoklada, ze objekt (con, st, rs) je bud vytvoren uspesne anebo je vyhozena vyjimka (tj. nenastane situace, ze napr. metoda ds.getConnection() sice skonci bez vyjimky, avsak vrati null). To by u JDBC melo platit. Osetreni vyhozene vyjimky (SQLException) muzete resit bud v metode volajici anebo cele telo metody myMethod obalit jeste jednim blokem (try-catch). Pokud takovych metod budete mit vice, budou se v podstate lisit jenom kodem v tom nejvnitrnejsim bloku. Opakujici se kod by se asi dal dale eliminovat. (template method pattern, command pattern). mp.
Re: centralni generator cisel v sekvenci
Dobrý den, ano, UUID jsou výborná a na jiném místě toho projektu je používáme. Tady však máme na rozlišení různých objektů sedm znaků. Do toho celé UUID nedostanemene a použít ho jenom část mi přijde křehké. Myslím, že se do toho generátoru sekvencí pustím. Honza Dvořák Michal Palička napsal: Dobry den, pokud netrvate na sekvenci cisel (integer, long), daly by se mozna vyuzit jednoznacne identifikatory: java.rmi.server.UID java.util.UUID (since 1.5) Databaze by mohla uplne odpadnout. Pri pouziti UUID anebo kombinace (UID + IP adresa) teoreticky nepotrebujete pro generovani sekvenci ani centralni server, nebot identifikator by mel byt vzdy jedinecny... mp. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jan Dvořák Sent: Tuesday, December 06, 2005 9:06 AM To: Java Subject: Re: centralni generator cisel v sekvenci Ahoj, ano, je to udelatelne i s chlupama za jeden pulden. Ale nebylo by spatne, kdyby se ten pulden dal usetrit - ted pred Vanoci. Honza Pavel Kolesnikov napsal: ahoj, mozna mi neco uniklo, ale prijde mi to vlastnimi silami velmi snadno spichnutelne, kdyz vezmes treba mysql s tim, ze pro kazdou sekvenci das tabulku create table record ( id integer auto_increment primary key ts timestamp ); -- pseudokod, spravna syntaxe bude asi trochu jina, dulezity je ten auto_increment a nad tim trivialni servlet, ktery dela insert a vraci vytvorene id (a nad nim nejspis nemene trivialni j2ee security nastaveni). konkurentni hity si osetri mysql databaze. pokud bys chtel databazi clusterovat, nejjednossi reseni bude netrvat na cislech, ale spokojit se s jednoznacnymi identifikatory (id instance databaze + sekvencni cislo). samozrejme stejne bude fungovat kterakoli jina relacni databaze schopna generovat sekvence. jestli neco takoveho existuje nevim, ale podle vyse popsaneho scenare by to rozhodne nemusela byt prace na vic nez hodinu. mozna mi ale neco unika - v cem spatrujes hlavni problem? pavel On 05/12/05, Jan Dvořák [EMAIL PROTECTED] wrote: Vážená konference, potřebujeme centrální službu, která bude vydávat sekvenčně generovaná čísla v několika sekvencích, které se rozlišují jménem. Volání bude obsahovat jméno sekvence jako parametr a odpovědí bude hodnota dalšího čísla v takto pojmenované sekvenci. Takovouto věc bychom potřebovali dostupnou přes web: web service nebo i jen jednoduchý servlet. Podkladová data by si to pamatovalo ve vcelku libovolné relační databázi sestávající ze dvou tabulek: sekvence (s aktuální nejvyšší hodnotou) a log vydaných čísel. Není potřeba žádná podpora transakčního zpracování - dokonce by byla nevhodná. Nevíte, zda něco takového už neexistuje? Honza Dvořák
JavaHelp z OpenOffice Writeru?
Vážená konference, potřebujeme připravit nápovědu jako JavaHelpový HelpSet a zároveň jako dokument v PDF. Může se mi podařit ten JavaHelp z dokumentu, který mám v OpenOffice Writeru? Je rozumná cesta přes DocBook? Co používáte pro průchod bažinatými oblastmi dokumentace? Honza Dvořák
Re: Konstruktory
Ja jsem si to pro sebe vyresil tak, ze validaci delam az po volani super(). A to jen u tech parametru, ktere vyuzivam jeste jinak, nez jen tim, ze je predam volani super() - u nich je zodpovednost za validaci na predkovi. Pravda, je v tom skryta mirna neefektivita, ale nechci prece optimalizovat tridy na situace, kdy z jejich konstruktoru litaji vyjimky, ze... Kdyz jsem se vyrovnal s tim, ze validaci budu delat az po volani super(), tak jsem uz nikdy nic jineho pred volanim super() v konstruktoru delat nepotreboval. Vsechny pripady, kdy to na to vypadalo, se po lepsim rozmysleni ukazaly jako suboptimalne navrzene. Honza Dvorak Goo GGooo napsal: Ahoj vsichni, uz jsem se pri svem seznamovani s Javou stacil dozvedet ze volani konstruktoru nadrazene tridy (tedy super(...)) musi byt v novem konstruktoru hned jako prvni prikaz. Netusite nekdo jaky to ma duvod? Ted jsem chtel vytvorit konstruktor ktery by pred zavolanim sveho super() vykonal validaci parametru, ale tvrde jsem narazil takze musim pouzit nehezky workaround. Vrta mi hlavou jake tohle omezeni muze mit duvod...? Dik Goo
Odstraneni diakritickych znamenek
Vazena konference, mam odstranit diakriticka znamenka ze vsech pismen v retezci, ktera jsou v latince. Nejen ceska diakritika, ale vsechny mozne akcenty nad pismeny anglicke abecedy. Verze Javy je 1.5. Nevite lepsi zpusob nez prevodni tabulku? Honza Dvorak
Re: Memoryleak v jstl?
Ja myslim, ze kdysi to byla platna optimalizace, ale protoze to nebylo dotazene (viz. maily Jirky Haniky), je to dnes spis k zlosti. Zrovna v patek jsem cetl, ze alokace je cim dal tim rychlejsi, a tak se vyplati poolovat jen ty objekty, jejichz vytvareni opravdu trva (jako treba pripojeni k databazi). http://www-128.ibm.com/developerworks/java/library/j-jtp09275.html?ca=dnt-639 Honza Dvorak Richard Malaschitz napsal: Myslim, ze to suvisi s tym, ze webovy kontajner kvoli rychlosti pouziva stale tie iste objekty. Vytvaranie objektov a ich rusenie by asi znacne zatazovalo server. 2005/9/30, Jirka Hanika [EMAIL PROTECTED]: Je mozne, ze Tomcat (5.5. na WinXP, JSTL 1.1.2) recykluje nejake tagy a pritom neuvolni jejich obsah? Je to mozne a nerekl bych, ze je to specificke pro Tomcat. Kdyz si programujete vlastni tagy s nepovinnymi atributy, tak je toto chovani zdrojem spousty prekvapeni. Bohuzel. Jirka
Re: dynamicke sestavovani xml souboru antem (web.xml)
Tomas Zverina wrote: xslt ... no to je asi nejcistsi reseni, asi jsem zaspal dobu - umi pracovat nad vice dokumenty najednou? Ovsemze, dokonce i v antu. http://ant.apache.org/manual/CoreTasks/style.html viz. ten stek s vnorenym elementem mapper S uspechem pouzivame XSLT na ruzna priohybani XML. Zakladem je vzdycky identicky stylesheet (kopiruje vstup na vystup), ktery importujeme do nasich stylesheetu. V nich pak mame jen templaty pro ty upravy, ktere potrebujeme udelat. Kdyz pak nakonec potrebujeme sehrat vic XML dohromady, udelame to opet pomoci identickeho XSLT nad souborem, ktery ma v sobe instrukce XInclude. Honza Dvorak
Re: Embedded databaze pres Java Web Start [SOLVED]
Tak to opravdu funguje. Hsqldb podporuje specialni tvar JDBC URL jdbc:hsqldb:res:/dbpathname, pri kterem pak hleda data na classpathu. Mimochodem, data (jedna tabulka o cca 2000 zaznamech), ktera v DBF zaberou 1,2 MB, maji v jaru rozkompresenou velikost 0,55 MB, zakompreseno pouhych 40 KB. Pouzivame zde tabulky typu MEMORY, takze data jsou ve skutecnosti ve skriptu, ktery si databaze vzdycky znova prehraje. Take bychom dokazali smenit cas za prostor, kdybychom pouzili tabulky typu CACHED. Vytvorit java.sql.Connection s vyse uvedenym URL trva na pocitaci s procesorem s efektivni frekvenci 3 GHz od 600 ms do 1 s. Jsem nadsen! Honza Dvorak Jan Dvořák wrote: Take jsem o ni premyslel. Zkusim si vyrobit nejake hezke URL k databazovym souboru pres classloader... Honza Tomas Zverina napsal: hsqldb? Ta jiste pujde omezit tak jak potrebujete... Jan Dvořák wrote: Ahoj, delame aplikaci, ktera se bude startovat pres Java Web Start. Ta ke sve funkci potrebuje i nejaka pomocna data - ta se pri praci aplikace nemeni. Nejradeji bychom s daty dodali i embedded databazi, abychom se v nich mohli prehrabovat pomoci SQL a ne rucne. Nezkouseli jste nekdo podobnou vec? Jak bychom mohli namirit databazi na data v jaru? Jak databazi zakazat vytvaret jakekoliv soubory? Honza Dvorak
Re: OT: vyplati se 64b. na Javu?
Souhlasim. Uz rok mam notes se stolnim AMD64 - pravda, je tlusty jako spalek a vazi skoro 4 kg, ale ja taky nejsem zadne tintitko ;-) - a nakonec jsem dokonvergoval k pouzivani 32-bitove distribuce linuxu. Jsem vsak typicky uzivatel, uz jsem si nic nekompiloval, ani nepamatuji. Eclipse pod 64-bitovou Javou sice chodil, ale zral tolik pameti, ze jsem mu ji nemohl dat dost, a tak byl ve vysledku pomalejsi. A kdyz jsem si potreboval vedle rozbehnout jeste JBosse... Ta zravost v mensi mire platila i pro zbytek linuxove distribuce - KDE napriklad. Na druhou stranu, AMD64 je podareny procesor, i kdyz ho pouzivate jen na 32-bitove ulohy. Urcite bych si ho dal do desktopu nebo serveru. V mobilnich verzich se vsak neorientuji. Honza Dvorak Martin JANDA wrote: Uz nejaky mesic provozuju 64bit Linux na AMD procesoru. - Linux Hodne linuxovych aplikaci funguje bez problemu, nektere nebezi vubec a ani nejdou zkompilovat, protoze tvurci si nikdy nemysleli ze by mohlo existovat vice nez 32 bitu. - Java 64bitu. Jestli se nepletu tak SUN ma implementovanou pod 64bitama v linuxu pouze SERVERovou virtualni masinu (nevim jak je to pod windows). To vysvetluje pomale reakce desktopovych aplikaci jako je napr. IDEA nebo NetBeans. Neni problem si nainstalovat 32bit VM a bezet aplikace pod ni. Ta v sobe normalne obsahuje i CLIENTskou VM, ktera je nastavena jako vychozi. - Java 64bit vs 32bit Co jsem vycetl na internetu tak 64bit java je rychlejsi zejmena v operaci System.arraycopy a pak muze byt rychlejsi spis v operacich s typy long, ktere maji 64bitovou velikost. 64bit ma hlavne vyznam na linux + solaris, kde je mozne alokovat vice pameti. PS pro 32bit windows Javu jste omezeni teoreticky jen na 2GB vic se z windows vymacknout neda. Martin JANDA Petr Fischer wrote: Zdravim, neustale tapu, jestli poridit notebook s Turionem nebo Sonomou - nemate nekdo v praxi odzkouseno, jestli 64b Turion nejak exceluje s 64b Javou od Sunu oproti 32b? OS bude Linux (Fedora nebo CentOS). Diky moc za jakoukoli informaci, pf
Re: Volania test metod vs. konstuktor
My jsme ty inicializacni veci, ktere by se mely spustit jednou, zacali delat ve statickem bloku te testovaci tridy. Honza Dvorak Jozef Babjak wrote: Pred kazdym testom sa spusta setUp() a po nom tearDown(). Konstruktor by mal byt obligatny public TestClass(String name) { super(name); } Robite v konstruktore nieco viac? Preco Vam vytvaranie istancii pre kazdy test prekaza? I ked to vytvaranie sa mi nezda, ale vyvratit ho neviem, nikdy som sa tym nezaoberal. J. On Thu, Aug 18, 2005 at 09:01:30AM +0200, Horvath Bystrik wrote: Zdravim konferenciu! Mam nasledovny problem. Pri testovani pomocou junit som zistil, ze ak ma trieda odvodena od TestCase viac testXxx metod, tak pred kazdym volanim takejto metody sa vola konstruktor danej triedy, co rezultuje vo vytvorenie viacerych instancii triedy TestCase (jej derivatu). Junit zrejme interne pre kazdu testXxx metodu vytvori interne instanciu triedy v ktorej je metoda deklarovana a potom invokuje metodu testXxx. Ocakaval som, ze na jendej instancii TestCase sa invokuju vsetky testXxx metody. Da sa toto chovanie junit-u nejako ovpyvnit? Diky, Bystro Horvath
Re: Embedded databaze pres Java Web Start
Take jsem o ni premyslel. Zkusim si vyrobit nejake hezke URL k databazovym souboru pres classloader... Honza Tomas Zverina napsal: hsqldb? Ta jiste pujde omezit tak jak potrebujete... Jan Dvořák wrote: Ahoj, delame aplikaci, ktera se bude startovat pres Java Web Start. Ta ke sve funkci potrebuje i nejaka pomocna data - ta se pri praci aplikace nemeni. Nejradeji bychom s daty dodali i embedded databazi, abychom se v nich mohli prehrabovat pomoci SQL a ne rucne. Nezkouseli jste nekdo podobnou vec? Jak bychom mohli namirit databazi na data v jaru? Jak databazi zakazat vytvaret jakekoliv soubory? Honza Dvorak
Re: Mirne OT: Skoleni UML
Ahoj, pana Kravala mohu doporucit, pred ctyrmi lety jsem skoleni u nej absolvoval. Mimochodem, odkaz na www.objects.cz vede k nemu. Honza Dvorak Roszynec, Jiri (EOP) wrote: Ahoj vsichni, dost dobre je skoleni od Ilji Kravala je to clovek s praxi a veci dobre rozumi. Nabidka - http://www.objects.cz/nabidkaskoleni.html Dobře bude asi skoleni i od DigiTrade - Rene Steina, ale nebyl jsem tam tak nevim. Rene Stein je osobnost konference .NET na emwac.cz Jirka -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, August 11, 2005 10:46 AM To: Java Subject: Re: Mirne OT: Skoleni UML Ja som bol spokojny so skolenim CIS (www.cis.sk). Neviem, ci robia skolenia aj do ciech. Vysvetloval to Pavol Diveky a jeho vyklad bol vyborny. Ukazal cely postup navrhu (kroky), naco je to dobre (filozofia), ... + pribehy zo zivota, atd. Vsetko vysvetluje aj odbornym, ale aj takym zdravym rozumom, aby clovek pochopil celkovy vyznam a vyuzitie UML a nie iba kreslit diagramy. Juro -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tomas Hubalek Sent: Thursday, August 11, 2005 9:52 AM To: Java Subject: Mirne OT: Skoleni UML Ahoj vsichni, mam takovy dotaz: byli jste nekdo na nejakem dobre skoleni UML, ktere muzete doporucit. Nejde mi ani tak moc o popis jednotlivych diagramu, ale spise o vyklad filozofie, tj. jak postupovat pri navrhu, jednotlive kroky, co z ktereho kroku vypadne, atd. Diky moc Tom