Re: Literatura

2014-12-01 Tema obsahu Robert Novotny

Dobry den,
neuviedli ste, ci si vystacite s anglickou literaturou. Rovnako by bolo 
dobre uviest okolnosti
(ste absolvent skoly, ktory chce ist na vyssie pozicie v Jave? Ste Java 
SE vyvojar,
co chce zvladnut nove technologie?), pretoze zdrojov je prilis vela 
mnoho a casu prilis malo.


Ako povedali predrecnici, zozbieranu literaturu do podoby knihy zrejme v 
mnohych pripadoch nezozeniete;
vyvoj ide mimoriadne rychlo dopredu a uz sa pomaly neoplati ani kupovat 
papierove knihy v originali.


Kolega Polak spomenul linky na moj web, kde som spisoval veci, ale aj 
tam uz je viac veci za zenitom,
resp. uz sa daju robit aj inak (Spring anotacie vs XML), ale nieco sa 
tam da najst


Z tych veci, o ktorych mam vedomosti:
*Java Persistence with Hibernate (http://www.manning.com/bauer2/), 
pokryva aj JPA

*Spring in Action (http://www.manning.com/walls5/)
*Eclipse: trufam si odhadnut, ze zaklady pouzivania IDE sa daju 
ziskat praxou za par dni,

pripadne konzultaciou na dvoch kavach s nejakym zdatnym pouzivatelom.
*J2EE by si ziadalo vyspecifikovat, jednak je to siroky diapazon 
nastrojov a technologii,
jednak ako pojem je to zastarale (nahradeny bol Java EE 5, 6) a jednak 
existuje vyznamny

prekryv so Springom.

Robert Novotny


On 1.12.2014 20:27, pavel.sl...@volny.cz wrote:

Dobrý den,
  
mohl by mi někdo poradit, kde seženu literaturu zejména k vývojovým prosředím pro Javu:
  

1) JBOSSS

  
   2) XForms
  
   3) Hibernate
  
   4) Spring Framework
  
5)Eclipse

   6) J2EE
  
Pěkně zdravím a předem děkuji za odpověď!
  
Mgr. Pavel Šlégr

  Praha 12 - Modřany
  Mobil: 731 744 908




Re: analyza textu a urcenie klucovych slov

2014-06-11 Tema obsahu Robert Novotny

Pozdravujem,
skuste pozriet niektory z projektov v [1]. Prakticke skusenosti sice
nemam, ale viackrat sa spominalo pouzitie hunspellu, napr. v [2].

[1] http://www.sk-spell.sk.cx/
[2] 
http://www.zdrojak.cz/clanky/elasticsearch-vyhledavame-hezky-cesky-ii-a-taky-slovensky/


On 11.6.2014 16:48, Ivan Polak wrote:

Zdravim konferenciu,

potreboval by som poradit s analyzou textu. Texty su v slovencine a
potreboval by som v nich vyhladat klucove slova, ktore mam dopredu
definovane. Napriklad:

Definovana mnozina klucovych slov:

{Bratislava, Zvolen, Košice, Poprad}

text na analyzu:

Vitajte na oficiálnej stránke Letiska Bratislava! Ako významný
dopravný uzol v stredoeurópskom regióne Vám ponúkame množstvo
atraktívnych destinácií.

v tomto texte nie je problem, aj ked by som pouzil primitivne riesenie
splitnut to podla medzier a potom jednotlive slova z textu vyhladavat
v definovanej mnozine.

ale:

Po Bratislave by sa tak mohli dočkať nových nemocníc aj ďalšie
regióny. „Investície do rekonštrukcie existujúcich budov a následné
zvyšovanie ...

a tu uz je problem z predchadzajucim pristupom, pretoze v slovencine
je sklonovanie.

aj ked velmi nepredpokladam, neviete niekto o nejakej kniznici, ktora
by dokazala hore popisane v slovencine, teda vyhladavat definovane
slova a aj ich vysklonovane tvary.

dakujem

Ivan
.





Re: Prázdné okno s JFrame v Ubuntu

2011-09-20 Tema obsahu Robert Novotny
Nie je to nahodou problem suvisiaci s tym, ze UI by sa v main() malo 
spustat pomocou SwingUtilities.invokeLater()?


On 20. 9. 2011 14:01, Tomas Beneda wrote:

Setkal, UI nebylo updatovano z EDT. Toto se da hlidat pomoci 
CheckThreadViolationRepaintManager, jenz prohresky loguje (vypise stack trace), 
viz napr

http://weblogs.java.net/blog/alexfromsun/archive/2006/02/debugging_swing.html

 Původní zpráva 
Od: Libor Jelinekljeli...@virtage.com
Předmět: Prázdné okno s JFrame v Ubuntu
Datum: 20.9.2011 13:21:07

Dobrý den!
Zhruba při pět z deseti spuštění primitivního JFrame se místo obsahu
zobrazí jen rám okna. Okno není zamrzlé, jde zvětšovat. Přes VisualVM
jsem schopen zjistit, že aplikace v ní žije, ale není vidět. Viz
screenshot.

Tady jsou moje verze javy a OS:

libor@vlm-test-04:~$ java -version
java version 1.6.0_26
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

libor@vlm-test-04:~$ uname -a
Linux vlm-test-04 2.6.38-11-generic #48-Ubuntu SMP Fri Jul 29 19:02:55
UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

Naštěstí se mi to děje jen na mém výjovářském počítači a ne v
produkci. Ale i tak je to pěkně na prášky. Nesetkal jste se někdo s
něčím podobným?

Díky
Libor







Re: JAX-WS: kde začít

2011-09-05 Tema obsahu Robert Novotny
V JDK 6 je zabudovana JAX-WS implementacia, dokonca aj s primitivnym 
testovacim serverom, kde nemusite robit deploye - kedysi som spisal par 
poznamok v [1].


V dalsom kroku budete zrejme chciet par informacii k JAXB - technologia 
mapujuca instancie beanov na XML - par infosiek je v [2]


Referencna implementacia JAX-WS bolo vzdy Metro, je k nemu kopa 
tutorialov. Samozrejme, mozete pouzit aj inu implementaciu - Axis2 alebo 
CXF, ale na uvod je to zrejme jedno.


[1] http://ics.upjs.sk/~novotnyr/wiki/Java/JDK6AndWebServices
[2] 
http://ics.upjs.sk/~novotnyr/wiki/Java/SerializaciaADeserializaciaObjektovPomocouJAXB


RN

On 4. 9. 2011 15:10, Dušan Rychnovský wrote:

Dobrý den,

již několik let programuji v jazyce Java a vyznám se dobře v 
standardní edici (a některých příslušných nástrojích, jako je maven či 
log4j). Enterprise technologie neznám prakticky vůbec, resp. nanejvýš 
jsem o některých slyšel. Nevím ani, jak přesně se nahrávají webové 
aplikace na server (Tomcat), atp.


Nyní bych se potřeboval naučit používat technologii JAX-WS pro 
vytváření webových služeb a příslušných klientů. Prohlédl jsem si pár 
článku a tutoriálu na internetu, nicméně všechny implicitně 
předpokládaly znalosti jiných enterprise technologií a ani po jejich 
přečtení nejsem schopný jednoduchou aplikaci vytvořit a zprovoznit.


Prosím doporučte mi linearizovaný seznam technologií od Java SE po 
JAX-WS (pokud možno i vhodných studijních materiálů) - jak se s nimi 
postupně seznámit.


Předem děkuji,
Dušan Rychnovský




Re: Otazka ohladom MVC

2011-07-27 Tema obsahu Robert Novotny

V Spring MVC je na to milion moznosti.

Na tej zakladnej urovni plati, ze kazdy view je oznaceny logickym menom. 
V kontroleri sa napchaju data do modelu a nasledne sa urci logicke meno 
viewu, ktory sa ma zobrazit. Mimo kontrolera je nakonfigurovany view 
resolver, ktory povie, ktory fyzicky view sa pouzije pre zobrazenie 
vysledku.


Skolsky priklad: ak kontroler povie, ze sa ma zobrazit view s logickym 
menom summary, tak je mozne nakonfigurovat napr. taky view resolver, 
ktory urci, ze fyzickym viewom bude JSP subor WEB-INF/pages/summary.jsp.


Tym sa zabezpeci, ze kontroler sam o sebe nevie, ktory fyzicky view 
(teda ci to bude JSP, PDF alebo Excel) sa ma zobrazit, ale deleguje to 
na iny objekt.



RN
On 27. 7. 2011 9:40, Zdenko Vrabel wrote:

Dobry den,

Moju otazku by som chcel smerovat skor k MVC patternu ako ku Jave 
samotnej tak snad to nebude vadit. Ak sa nahodou tiez budem pytat 
somarinu, tak ma ospravedlnte ale potreboval by som sa len proste v 
niecom uistit alebo naopak aby mi niekto povedal ze je to somarina. 
Totizto nedavno som premyslal nad MVC patternom (pre web). Totizto 
zaujimalo by ma, ci je spravne/nespravne ak v kompetencii controllera 
je rozhodovat o tom aky view sa pouzije alebo naopak. Mal by 
controller vobec nieco vediet o viewoch? Vysvetlim na priklade. V 
dnesnej dobe sa dostavaju do popredia rozne iPhony, Androidy, iPady a 
neviem co. K tomu sa zacina aj prisposobovat design niektorych webov. 
Ide o to, ze dajme tomu design pre iPad je nieco uplne ine ako design 
pre klasicky browser (z pohladu web designera). To ma privadza k tomu, 
ze je potrebne riesit aky view sa na zaklade User Agenta pouzije. Moja 
otazka je vlastne o tom, ci je spravne mat v ramci MVC nejaky 
mechanizmus routingu a Controller by do toho nemal zasahovat (v 
podstate len produkuje model) alebo naopak. Takyto mechanizmus 
znecistuje MVC/ zvysuje jeho zlozitost a toto by mal riesit prave 
controller. Alebo je to uplne jedno? Este doplnim ze hovorim o MVC 
vseobecne nie o nejakom konkretnom ako Spring MVC.


Za odpovede vopred dakujem,
Zdenko Vrabel





Re: CZJUG - Ruby on Rails - prepis prednasky

2011-07-18 Tema obsahu Robert Novotny
Chcel som dokonca poprosit niekoho, aby sa na tie preklepy pozrel, takze 
slobodne si to opravte a zverejnite na blogu. Aspon to bude pohromade.


Za seba ako divaka musim povedat, ze skoda, ze namiesto prvych 
dvadsiatich vysokozapalnych a WTF minut (kde ma dvihalo zo stolicky) 
neostalo viac casu na prakticke ukazky alebo na viac wow! efektov typu 
Capistrano.


RN

On 18. 7. 2011 10:51, Jiří Hradil wrote:

Zdar a dik za nej. Prosim o souhlas s vymlacenim preklepu a umistenim
na hradil.cz, bude to pekne doplneni videa.

Jirka

2011/7/18 Robert Novotnyrobert.novo...@upjs.sk:

Zdravim konferenciu,
kedze v poslednych par tyzdnoch je tu burliva debata o Ruby on Rails, v
hluchej chvili som vyhotovil prepis prednasky J. Hradila z CZJUGu z 28. 2.
2011 ,,Ruby on Rails - Zapomente na Javu.

Prepis je
http://ics.upjs.sk/~novotnyr/wiki/Java/CZJUG-RubyOnRails-ZapomenteNaJavu.

Prepis povazujem za uzitocny jednak pre mnohe kreativne myslienky a jednak
pre potreby buducej argumentacie v linii Java vs RoR.

RN





CZJUG - Ruby on Rails - prepis prednasky

2011-07-17 Tema obsahu Robert Novotny

Zdravim konferenciu,
kedze v poslednych par tyzdnoch je tu burliva debata o Ruby on Rails, v 
hluchej chvili som vyhotovil prepis prednasky J. Hradila z CZJUGu z 28. 
2. 2011 ,,Ruby on Rails - Zapomente na Javu.


Prepis je 
http://ics.upjs.sk/~novotnyr/wiki/Java/CZJUG-RubyOnRails-ZapomenteNaJavu.


Prepis povazujem za uzitocny jednak pre mnohe kreativne myslienky a 
jednak pre potreby buducej argumentacie v linii Java vs RoR.


RN


Re: smerovanie javy 7,8

2011-07-16 Tema obsahu Robert Novotny

Tiez ma zaujalo tych 10 rokov RoR, ale to bude zrejme preklep.

RN

On 16. 7. 2011 18:01, Oto Buchta wrote:

2011/7/15 Jiří Hradil ji...@hradil.cz mailto:ji...@hradil.cz

Milej zlatej Makube, pres moje male websajty v railsech tecou aktualne
asi 2 miliardy a o nejvetsi system se staram uz 10 let ;))). Nehrajte


Doporučuji se s Jirkou Hradilem nepřít, neb má zprávy z budoucnosti
a snaží se nás již teď přesvědčit, kterým směrem vývoj jde. Děkujeme 
Jirko.

Ve kterém roce se ta křivka používání Ruby On Rails zlomí?

A propos, jak dopadne příští Liga Mistrů? Že bych vsadil. Dík předem.

http://en.wikipedia.org/wiki/Ruby_on_Rails

--
Oto 'tapik' Buchta, ta...@buchtovi.cz mailto:ta...@buchtovi.cz, 
http://tapikuv.blogspot.com




Re: smerovanie javy 7,8

2011-07-14 Tema obsahu Robert Novotny
Preco nie su properties, mi nie je jasne a AFAIK v Jave 8 nebudu. Java 
je uz zamrazena sama v sebe, lebo spatna kompatibilita je nutnost a 
kazda dramaticka syntakticka zmena je zvazovana natolko, ze niekedy je 
nemozne ju s kompatibilitou sklbit (.NET ma v tomto vacsiu flexibilitu)


Ruinujuce a JAVA JE MRTVA hlasky nie su na mieste, isteze dalsie jazyky 
(Groovy, Scala) mozno ju nahradia z hladiska syntaxe, ale dolezite je, 
ze stare kniznice sa nestratia,


Closures budu, delegati su prezlecene closures, co este okrem properties 
chyba?


RN

On 14. 7. 2011 9:50, x y wrote:
Viete mi niekto povedat preco konecne nedaju do javy z dovodu 
sprehladnenia kodu praca s property ako napr. v c# - velmi to 
sprehladni kod(namiesto kopy balastu gettrov a settrov). Videl som 
projekt lombok ktory riesi tento problem anotaciami, ale asi 
vhodnejsie je zaviest klucove slovo do jazyka. (Btw mozno by to bolo 
vhodne sa spytat na czjugu o java7 kedze tam budu ludkovia z oraclu. 
Ozaj by ma zaujimali argumenty preco to tam konecne nedaju)


  V .nete inovuju dost casto, a ten jazyk je momentalne mile pred 
javou, a tiez chystanou javou 7(v ktorej su podla mna kozmeticke 
upravy, ktore vecsine developerom v podstate nijak nezjednodusia 
pracu). Myslim ze by bolo vhodne aby oracle nezaspal navavrinoch a 
java8 bola konecne konkurencie schopny jazyk(je CO NAJSKOR NUTNY 
radikalny zasah do jazyka) a vzala si z roznych jazykov to dobre 
(napr. clojures, type inference, property, mozno delegaty..), ak 
neurobia RADIKALNE INOVACIE tak .net a pripadne dalsie jazyky nad 
JVM(scala,groovy..),ruby,python javu zruinuju(co sa deje momentalne) a 
java bude URCITE cobolom v korporaciach.




Re: smerovanie javy 7,8

2011-07-14 Tema obsahu Robert Novotny
Rozmyslam o situaciach, ked potrebujete mat typesafe pristup k 
properties (napr. wicketovske bindingy modelu na bean by sa zjednodusilo).


Ci si myslite, ze sa to da riesit plug-inmi pre IDE?

On 14. 7. 2011 12:07, Zdeněk Troníček wrote:

Property tak jak jsou řešeny v projektu Lombok podle mého názoru do jazyka
nepatří. Používají totiž anotace a anotace jsou v Javě prostředek pro
specifikaci dodatečné informace o zdrojovém kódu. Proto by bylo divné,
kdyby anotace měnily sémantiku zdrojového kódu.

O jakém balastu to mluvíš? Gettery a settery přece umí každé IDE
vygenerovat a psát p.speed místo p.getSpeed() mi nepřijde jako zásadní
změna. Navíc mnohem důležitější než snadnost či obtížnost psaní je
snadnost či obtížnost čtení (v literatuře se uvádí, že na jedno napsání
připadá až 20 čtení toho samého kódu). A tady se hledají argumenty pro
properties těžko.

Mít pro anotace klíčové slovo by nebylo špatné, kdyby bylo bývalo zavedeno
před deseti lety... Teď už se do toho nikomu nechce (z důvodů zpětné
kompatibility a také proto, že zisk je poměrně malý - toto není palčivý
problém jako třeba closures).

Z.T.




Aplikacia na vyplnanie instancii XML schemy

2011-06-21 Tema obsahu Robert Novotny

Zdravim,
v ramci jedneho projektu som sa stretol s ulohou, ked treba zbuchat 
aplikaciu na vyplnanie instancii XML schemy. Na vstupe je lubovolna (ale 
rozumne obmedzena) XML schema, pre ktoru sa zobrazi formular s 
polickami, ktore pouzivatel vyplni/vyklika. Ide prakticky o XML data 
binding. Na toto by sa bezne pouzil JAXB, ale ten zrejme nedokaze za 
behu vygenerovat triedy a na ne namapovat hodnoty.


Jedna ocividna moznost je preliezt XSD ako klasicky XML dokument a v 
servlete vygenerovat lepenim stringov formular, ktory pouzivatel vyplni 
a po jeho odoslani sa hodnoty vyplnene namapuju na vhodny objekt.


Nemate niekto skusenosti s lepsim napadom?

Robert Novotny


Re: Co se stalo s BeansBinding?!

2011-06-16 Tema obsahu Robert Novotny

On 16. 6. 2011 12:17, Jiří Hradil wrote:

A je sakra rozdil psat hada jakozto semestralku pro softwarove
inzenyrstvi vs produkcni system. Na jak dlouho to tedy vidite a co
ucici krivka?
Toto ma zaujima: aky bol vychodiskovy stav? Je to tak, ze za rok z 
,,proceduralneho programovania ste mali juniora 
Spring/JPA/Wicket/support?A RoR expertovi to trvalo kolko? Mate nejake 
priklady z realneho zivota, ci skusenosti zo zakopov, ktore mozete spomenut?




Inak ten Evans report ma vysvetlujucu vetu:

“We’re seeing a definite resurgence in Java development across all 
regions,” said Janel Garvin, CEO of Evans Data Corp., “which correlates 
directly with the increasing importance of the smartphone as a 
development target. Java is the most widely used language for smartphone 
development and is well suited for most of the major platforms including 
Android, Blackberry, Symbian, and cross platform web development. Asia 
Pacific developers are slightly out in front because smartphone 
development has been more deeply ingrained in that region.”




Re: Co se stalo s BeansBinding?!

2011-06-16 Tema obsahu Robert Novotny
Mne sa paci, ako sa operativne miesa Java ako VM, Java ako syntax a Java 
ako mnozina tried v standardnej kniznici do jednej hromady a argument 
voci jednemu jazyku sa veselo pouziva v druhom.
Su ludia, co zacnu kricat, ze Java je pomala a pritom radostne pouzivaju 
Python/Ruby. (Teraz nemyslim konkretne predosly prispevok.) Detto 
argumenty voci frameworkom, jasne, ze praca s datumami 
java.util.Date/Calendar je des a hroza, ale mame JodaTime a co brani 
pouzivat dodatocny framework / kniznicu presne tak, ako Ruby vyuziva RoR 
ci Perl stoji na milione CPANovskych modulov?


To je potom taky paradox: na jednej strane agilne projekty s malymi 
timami, ktore nemaju problem so slobodou volby: a tam je napr. 
alternativa v podobe zmienenych Grails / Roo alebo velke enterprise 
firmy, ktorym debaty typu ,,kde su closures? im nic nehovori, lebo je 
to pre nich okrajova zalezitost v porovnani s istotou a stabilitou 
platformy.


A inak tie inovacie: cim viac sa produkt rozsiri, tym viac sa zabedni 
voci dramatickym zmenam. Kolko trvalo, kym sa PHP5 dostalo na webhostingy?


RN


On 16. 6. 2011 11:53, Petr Balat wrote:

Dělám v javě už přes 5 let a pořád mě udivuje že si většina okolních
javistů myslí jak je java jazyk moderní nebo jak je
čistá. Například nepoužitelná práce s datumem (člověk musí používat
jodaTime), nedostatečná práce s kolekcemi (predikáty apod - zase najít
jinou knihovnu google, apache).
Je pěkné že má java nejlepší vývojové prostředí ale i tak mi přijde
vývoj pomalejší. Tuny frameworku taky jazyk nezachrání.
3 roky sleduju c#/.net a je mi dost líto že se java se nikam neposouvá
a to mám javu platformu rád (jazyk už né:-) a argumenty s groovy jsou
pro enterprise projekty jenom sen).
viz http://www.slideshare.net/jeffz/why-java-sucks-and-c-rocks-final

PB

Dne 16. června 2011 11:02 Stanislav Ošmeraosm...@gmail.com  napsal(a):

2011/6/16 Jiří Hradilji...@hradil.cz

Proto sem pisu. Jasne, schvalne konfrontacne, ale vsimate
si, kolik je pak fakt DOBRYCH reakci?


Asi proto ze na to vetsina lidi nema chut vubec reagovat. Ja jsem rozepsal
prispevek, ale pak jsem to smazal s tim ze se do takovyhle uchylny debaty
nebudu poustet.

jen drobnou reakci:
JEDNODUCHOST, neni vsechno vetsina zakazniku kteri chteji poradnej system
naopak pozaduje silnou zpetnou kompatibilitu, konzervativnost, typovou
kontrolu. Kdyz budu chtit psat hello world tak pouziju nejaky lehky
scriptovaci jazyk, kdyz mam v tymu 50ti lidi z ruznou urovni znalosti psat
nekolikavrstevny system komunikujici s dalsima v heterogenim prostredi pro
klienta ktery zaplati desitky milionu dolaru, tak je to o necem jinem.


--
Stanislav Ošmera
Work: +44 (0)2075 980 343
Cell: +44 (0)7758 968 220
Skype: sosmera   ICQ:149634231
Jabber: osm...@gmail.com





Re: Co se stalo s BeansBinding?!

2011-06-16 Tema obsahu Robert Novotny
A mohli by ste to zhrnut pre potreby diskusie (predpokladam, ze nie 
kazdy bude mat moznosti vysledovat celu 70minutovu prednasku)?


Dakujem.


On 16. 6. 2011 12:38, Jiří Hradil wrote:

Ahoj,

mrknete na http://www.youtube.com/watch?v=eOdSO1sk3mA, tam mam komplet
celou anabazi :).

J.

On Thu, Jun 16, 2011 at 12:34 PM, Robert Novotnyrobert.novo...@upjs.sk  wrote:

On 16. 6. 2011 12:17, Jiří Hradil wrote:

A je sakra rozdil psat hada jakozto semestralku pro softwarove
inzenyrstvi vs produkcni system. Na jak dlouho to tedy vidite a co
ucici krivka?

Toto ma zaujima: aky bol vychodiskovy stav? Je to tak, ze za rok z
,,proceduralneho programovania ste mali juniora Spring/JPA/Wicket/support?A
RoR expertovi to trvalo kolko? Mate nejake priklady z realneho zivota, ci
skusenosti zo zakopov, ktore mozete spomenut?



Inak ten Evans report ma vysvetlujucu vetu:

We're seeing a definite resurgence in Java development across all regions,
said Janel Garvin, CEO of Evans Data Corp., which correlates directly with
the increasing importance of the smartphone as a development target. Java is
the most widely used language for smartphone development and is well suited
for most of the major platforms including Android, Blackberry, Symbian, and
cross platform web development. Asia Pacific developers are slightly out in
front because smartphone development has been more deeply ingrained in that
region.






Re: Co se stalo s BeansBinding?!

2011-06-16 Tema obsahu Robert Novotny

Proč pokaždé zrovna moje
otázky vyvolají takový rozruch?:-)

To uz je taky folklor, ze ked hocikomu pridete vysvetlovat, ze jeho oblubena 
vec je na prd/mrtva, tak sa strhne flamewar. Situaciu, ked diskuter pride, 
vyprovokuje vsetkych a potom potichu zmizne, radsej nazyvat nebudem :-)

Zosumarizujete mi aspon Vasu prednasku, o co som Vas prosil vyssie? Dost by mi 
to pomohlo, lebo ma to zaujima.
-


Inak, venoval som teraz pol semestra experimentalnej vyucbe Groovy a 
zacinam mat pocit, ze zaciatocnik, ktory nema s cim porovnavat, 
prakticky nie je az taky ohureny syntaktickymi vymozenostami a 
dynamickymi vlastnostami ako napr. clovek, ktory prejde z Javy do 
Pythonu/Groovy.


Samozrejme, priamociara syntax dost pomaha: ide o to, aby sa neupisal k 
smrti, nemusel nahanat kazdu bodkociarku a nebol zavaleny zbytocnostami 
(napr. Lazarus a jeho predgenerovany kod formulara, z ktoreho su 
zaciatocnici pomerne mimo, alebo uz len povestne zaklinadlo public 
static void main). Ziskal som dojem, ze omnoho dolezitejsie je, aby bol 
na chyby upozorneny co najskor a co najjasnejsie.


V Groovy sme sice radostne buchali programy (v NetBeanse je podpora out 
of box), ktore boli kratucke, strucne, ale stacilo sa preklepnut v nazve 
instancnej premennej a uz lietali po konzole stack tracky, ktore bolo 
treba luskat a hladat v nich pricinu chyby... co je horsie v porovnani s 
lazarusovskym error logom, kde zaciatocnik namemoruje typicke chybove 
hlasky a vie z nich ako-tak vydedukovat pricinu chyby a opravit ju.


Tie dynamicke vlastnosti pre zaciatocnika nie su az take terno. 
Zaciatocnik nechce pisat ultrakratke programy, on je rad, ze mu to nieco 
kresli/hra/tancuje a ze ho jazyk nefrustruje niecim, comu nerozumie. 
Rovnako ho az tak nefascinuju reklamne tendencie ,,to co v Jave napisete 
na tri metody, mate v Pythone/Groovy na jednu closure ci jeden list 
comprehension. A dost kontraproduktivna je ,,cierna magia, ktora je 
fascinujuca dovtedy, kym funguje, ale depresivna, ked zacne padat na 
mylnych hlaskach a chybach.


RN





On 16. 6. 2011 14:28, Vladimir Balko wrote:
 Na některých školách prosazují pro úvodní kurzy Python, ale já se 
domnívám, že to, že v jazyku napíšete jednodušší Hello World a
 snadněji v něm inicializujete seznam, z něj ještě nedělá vhodnější 
jazyk pro výuku.


No podla mna je python vhodnejsi na vyuku uz len kvoli tomu, ze nuti 
pisat pekne programy (odsadzovanie...) a nie je taky ukecany ako 
java - tzn. algoritmy su v nom v prirodzenejsej podobe - skoro 
matematicky zapis. A este sa k tomu omnoho lahsie nauci.


Suhlasim vsak, ze asi je vhodnejsie najprv nabrat nejake skusenosti s 
typovanymi jazykmi a az potom prejst na netypove. Mam vsak tusenie, ze 
typovane jazyky sa tak o cca 10 rokov budu pouzivat uz iba na 
specialne oblasti, kde to bude vyhodnejsie. Vyvoj speje k stale vyssie 
urovnovym jazykom a netypova syntax je podla mna rozhodne tymto smerom.


VBalko


2011/6/16 Pecinovský Rudolf rudolf.pecinov...@i.cz 
mailto:rudolf.pecinov...@i.cz


 jak dlouho vam trva, nez z lamy udelate Java programatora,
 ktery muze psat produkcni systemy?
 ...
 A je sakra rozdil psat hada jakozto semestralku pro softwarove
inzenyrstvi vs
 produkcni system. Na jak dlouho to tedy vidite a co ucici krivka?

Java je podle mne v současné době nejlepší jazyk pro vstup do
světa programování. Nabízí prakticky vše, co je potřeba, a na
druhou stranu toho neumí zbytečně moc, takže ji můžete do studentů
nalít za semestr. O druhém takovém jazyku nevím.

Na některých školách prosazují pro úvodní kurzy Python, ale já se
domnívám, že to, že v jazyku napíšete jednodušší Hello World a
snadněji v něm inicializujete seznam, z něj ještě nedělá vhodnější
jazyk pro výuku.

Dynamické jazyky by se podle mne měly učit až poté, co už má
student-programátor něco za sebou a umí se dobrovolně ukáznit,
protože jinak mu mohou připravit šeredná překvapení.

My učíme v prvním semestru programování a v druhém mix technologií
+ sw inženýrství. Pak se studenti rozdělí na ty, kteří dají
přednost managementu (těch je většina) a ty, kteří dají přednost
programování. Ti pak mají předmět Moderní programovací techniky, v
němž jim předvádím Groovy. Ne proto, že by bylo nejlepší (i když
je ;-), že), ale proto, že nabízí většinu toho, co najdete v
ostatních jazycích typu Python, Ruby, Smalltalk atd., a přitom se
studenti nemusí učit novou syntaxi. Neustále se jim snažím
vtloukat, ať se učí především principy, protože jazyky přicházejí
a odcházejí, ale principy přežívají neporovnatelně déle.

Vývoj produkčních systémů ale není jenom o programování. Je to
bohužel o těch všech frameworcích, o spolupráci mezi různými
aplikacemi, o kontinuální integraci, průběžném testování atd. atd.
Vstřebat vše musí trvat dlouho. Pokud ale student přijde někam,
kde dostane konkrétní úkol na konkrétním projektu, stačí mu 

Re: Groovy porovnání s NULL

2011-05-06 Tema obsahu Robert Novotny
Null je typu NullObject a operatory porovnavania nikdy nehadzu 
NullPointerException. Navyse plati, ze null je mensie nez akykolvek iny 
objekt.


Priamu zmienku v dokumentacii som nenasiel, ale v unit testoch existuje 
CompareToTest.groovy, kde je ukazka:


def a = 123
def b = null

def result = a = b
assert result  0

Operator = je compareTo().

On 6. 5. 2011 8:59, Ing. Jan Novotný wrote:

Zdravím konferenci,

   dokážete mi někdo prosím vysvětlit proč Groovy pro snippet null  
100 vrací true?

   Ukázka: http://groovyconsole.appspot.com/script/478001

   Jsem Groovy lamka, ale tohle mě opravdu překvapilo. V plain java 
podobná věc hodí samozřejmě chybu. Tuším že bude nějaký problém v Null 
Groovy objektu - tj. že levá strana porovnání není braná jako číslo 
... tohle už chybu (jak bych očekával hodí):


((int)null)  100;

Honza
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--




Re: javac vs. Eclipse - čísla řádků v .class u víceřádkových výrazů

2011-04-26 Tema obsahu Robert Novotny

Nenechajte sa zmiast.

Eclipse samozrejme zobrazi kompilacnu chybu v Problems, podciarkne Vam 
zly vyraz... ale to, co vidite, je chyba, ktora vznikla za behu :-) To 
co vidite, je stack trace vyhodenej vynimky java.lang.Error, ktora 
nastala po spusteni triedy.


Alebo inak: pozrite sa do adresara s .class subormi, ECJ napriek 
kompilacnej chybe vyprodukoval Thing.class a ked sa don pozriete nejakym 
editorom / dekompilatorom / disasemblerom, tak uvidite, ze v nom je 
metoda getSecret(), ktora ma prakticky jeden riadok: throw new Error()


On 26. 4. 2011 12:22, Libor Jelinek wrote:
Ten Váš úryvek však ECJ v mých Eclipsech (Helios Service Release 1, 
Build id: 20100917-0705) nezkompiluje. Vypíše (správně) chybu:


/Exception in thread main java.lang.Error: Unresolved compilation 
problem:

x cannot be resolved to a variable

at Thing.getSecret(Thing.java:3)
at Thing.main(Thing.java:7)/

Libor

Dne 26. dubna 2011 0:26 Robert Novotny robert.novo...@upjs.sk 
mailto:robert.novo...@upjs.sk napsal(a):


Informacii o tom kompilatore nie je vela. Prakticky sa vie len to,
ze Eclipse Compilator (ECJ) sa hrdi inkrementalnou kompilaciou, co
znamena, ze v ramci projektu sa udrziava mnozina zmien v suboroch,
ktora nastala od poslednej kompilacie. Pri rekompilacii sa zisti
len zoznam zmenenych / novych suborov od predoslej kompilacie a z
nich sa vyrobia .class subory. Ak je nejaky .java subor vymazany,
prislusny .class sa pri inkrementalnej kompilacii vymaze tiez.

ECJ tiez udrziava komplexny strom zavislosti medzi .java
zdrojakmi, cim adresuje napr. pripady, ked sa niektore zmenene
subory daju skompilovat a niektore kvoli chybam nie a minimalizuje
pocet suborov, ktore treba skutocne prekompilovat.

Tato featura bola dost vyznamna v casoch, ked este NetBeans nemal
compile-on-save a nesiel cez Ant, ale dnes aj Ant kompiluje len
zmenene subory (hoci netusim, ako je to v NetBeans a megaprojektoch).

ECJ ma zrejme lepsiu integraciu s reportovanim chyb, mozno sa
navesat cez listenery a dostavat kompilacne chyby a varovania,
ktore mozno programovo spracovat. Dnes uz samozrejme existuje
javax.tools, ale to je len zalezitost JDK1.6+ a predtym to zdaleka
nebol standard

A ako povedal kolega, Eclipse kompilator ma ine spravanie v
pripade chyb:

public class Thing {
public void getSecret() {
return x;
}

public static void main(String[] args) {
new Thing().getSecret()
}
}

ECJ to radostne skompiluje a za behu metoda getSecret() hodi
java.lang.Error: Unresolved compilation problem.

Javac to odmietne skompilovat.

Inak ECJ sa uz od nepamati pouziva v Tomcate na kompilaciu
servletov, ktore vzniknu z JSP stranok.

RN


On 25. 4. 2011 22:17, Libor Jelinek wrote:

Já patřím mezi asi tu masu co nikdy nekompilovala ničím jiným,
než Oracle javac (taky mi to nejde z pusy, ale snažím se :-)).
Nikdy jsem se nesetkal s Blackdown, Ice, gjc apod. kompilátory.

A NetBeans používá taky vlastní kompilátor?

Když dám v Eclipsech Build, tak mi to přeloží jakým
kompilátorem? Když (jako ve zmíněném příkladu z Stackoverflow)
Eclipse zkompiluje, ale Sun/Oracle nikoli, tak jak se to pak
chová při běhu oproti Sun/Oracle JRE?

2011/4/25 Ladislav Thon ladi...@gmail.com
mailto:ladi...@gmail.com

Já kupříkladu narazil na rozdíly v kompilaci při volání
metody se signaturou používající Enum?, Eclipsí
kompilátor to zvládl na jedničku, javac měl problémy, viz
diskuze na stackoverflow.com http://stackoverflow.com:


http://stackoverflow.com/questions/2220763/java-specific-enums-and-generic-enum-parameters


Překladače mohou odvozovat parametrizované typy nad rámec
minimálních požadavků. Suní překladač (hádám, že Oraclí
začnu říkat nejdřív za pět let) se moc nesnaží, překladač z
Eclipsu toho zvládne odvodit víc. Neznamená to, že některý z
překladačů je vadný, jenom že o tom lidi moc neví.

LT



Ovšem pokud používáte Maven, musíte se stejně podřídit
standardnímu javac (tedy pokud neexistuje nějaký Maven
plugin, který by uměl použít pro kompilaci Eclipse -- a i
kdyby existoval, ani bych ho snad nechtěl použít).

Martin Schayna




On 04/25/2011 02:25 PM, Libor Jelinek wrote:

To jsou tedy vlastnosti s ohledem na IDE. Já stejně
většinou používám  javac z Oraclího JDK přes Ant, tak
jsem jen chtěl vědět, zda náhodou není Eclipse compliter
třeba několikanásobně rychlější/lepší apod. :-)

Díky.
Libor

Dne 25. dubna 2011 11:17 Filip Jirsák fi...@jirsak.org
mailto:fi...@jirsak.org napsal(a):

Kompilátor eclipse například umožňuje přeložit i

Re: javac vs. Eclipse - čísla řádků v .class u víceřádkových výrazů

2011-04-26 Tema obsahu Robert Novotny
Zrejme to ma prinos pri rychlosti buildov a podla mna pred vekmi to bola 
zrejme jedine riesenie problemu, ako pouzivat kompilator krizom cez 
rozne virtualmachiny a rozumne s nim interagovat. A este mi napadlo, ze 
realne je mozne pouzivat i metody triedy, ktora ma syntakticke chyby 
(zrejme vhodne vo vyvoji).


Inak ja som si toto spravanie kompilatora paradoxne uvedomil az pri 
pisani predoslych mailov a nikdy mi to neprekazalo. Chybny zdrojak 
Eclipse sice skompiluje, ale okamzite su cervene podciarknute nespravne 
konstrukty a vo view Problems vidim prehladne vsetky chyby. Ak spustate 
projekt s chybami, dostanete hlasku, ci ho naozaj chcete spustit a ide sa.


View Problems je vsak standardne nastaveny dost divne, pretoze ukazuje 
chyby v celom workspace (to je tych Vasich 400 errorov) a i pre mna je 
to chaos. Ja si standardne nastavujem zobrazovat len problemy v aktualne 
zvolenom elemente v potomkoch, t. j. ked klikam po packagoch, tak sa mi 
zobrazuju kumulativne chyby za cely balicek a ked editujem zdrojak, 
vidim len chyby v nom. Da sa to nastavit vo vlastnostiach viewu, 
Configure Contents, vytvorit novy Configuration, pomenovat ho, nastavit 
Scope na ,,Selected item and its children.


Volitelne si este mozete vypnut grupovanie a potom vidite presne to, co 
v NetBeansackej konzole, ale v ovela prehladnejsej forme, pretoze si to 
mozete triedit, grupovat, filtrovat podla povodu a podobne.


Mimo Eclipse asi ECJ nema valny zmysel, resp. nevidim ho. (V 
buildovacich nastrojoch obvykle ide i tak postupnost clean, build).


RN

On 26. 4. 2011 17:01, Dusan Msk wrote:

Ahoj.

2011/4/26 Robert Novotny robert.novo...@upjs.sk 
mailto:robert.novo...@upjs.sk



A ako povedal kolega, Eclipse kompilator ma ine spravanie v
pripade chyb:

public class Thing {
public void getSecret() {
return x;
}

public static void main(String[] args) {
new Thing().getSecret()
}
}

ECJ to radostne skompiluje a za behu metoda getSecret() hodi
java.lang.Error: Unresolved compilation problem.


Aky to ma realny prinos mimo jsp? Momentalne nedobrovolne prechadzam 
na eclipse a tato vlastnost eclipse kompilatoru
mi nesmierne vadi *1 ( ked sa teda oprostim sprostych slov ). Z 
netbeans som zvyknuty pri neuspesnom builde hodit zrak do konzoly a 
hned opravit problem, v eclipse ziadnu konzolu nevidim, zato mam akusi 
zalozku problems a v nej svieti 400 error-ov :-)


Na spolupracu eclipse-maven to takisto neprida, eclipse si tam cosi 
kdesi chrousta a ja potom na hudsone mozem

cumiet ako pako, preco to nefunguje :-)

*1 - predpokladam, ze sa to da niekde vypnut, zatial som to neskumal

Javac to odmietne skompilovat.

Inak ECJ sa uz od nepamati pouziva v Tomcate na kompilaciu
servletov, ktore vzniknu z JSP stranok.

RN


On 25. 4. 2011 22:17, Libor Jelinek wrote:


A NetBeans používá taky vlastní kompilátor?



AFAIK pouziva z JDK.



Když dám v Eclipsech Build, tak mi to přeloží jakým
kompilátorem? Když (jako ve zmíněném příkladu z Stackoverflow)
Eclipse zkompiluje, ale Sun/Oracle nikoli, tak jak se to pak
chová při běhu oproti Sun/Oracle JRE?

2011/4/25 Ladislav Thon ladi...@gmail.com
mailto:ladi...@gmail.com

Já kupříkladu narazil na rozdíly v kompilaci při volání
metody se signaturou používající Enum?, Eclipsí
kompilátor to zvládl na jedničku, javac měl problémy, viz
diskuze na stackoverflow.com http://stackoverflow.com:


http://stackoverflow.com/questions/2220763/java-specific-enums-and-generic-enum-parameters


Překladače mohou odvozovat parametrizované typy nad rámec
minimálních požadavků. Suní překladač (hádám, že Oraclí
začnu říkat nejdřív za pět let) se moc nesnaží, překladač z
Eclipsu toho zvládne odvodit víc. Neznamená to, že některý z
překladačů je vadný, jenom že o tom lidi moc neví.

LT



Ovšem pokud používáte Maven, musíte se stejně podřídit
standardnímu javac (tedy pokud neexistuje nějaký Maven
plugin, který by uměl použít pro kompilaci Eclipse -- a i
kdyby existoval, ani bych ho snad nechtěl použít).

Martin Schayna




On 04/25/2011 02:25 PM, Libor Jelinek wrote:

To jsou tedy vlastnosti s ohledem na IDE. Já stejně
většinou používám  javac z Oraclího JDK přes Ant, tak
jsem jen chtěl vědět, zda náhodou není Eclipse compliter
třeba několikanásobně rychlější/lepší apod. :-)

Díky.
Libor

Dne 25. dubna 2011 11:17 Filip Jirsák fi...@jirsak.org
mailto:fi...@jirsak.org napsal(a):

Kompilátor eclipse například umožňuje přeložit i
třídu s chybou (chyba
v syntaxi v nějaké metodě apod.), jenom místo kódu
dané chybné metody
vloží vyhození nějaké

Re: javac vs. Eclipse - čísla řádků v .class u víceřádkových výrazů

2011-04-25 Tema obsahu Robert Novotny
Informacii o tom kompilatore nie je vela. Prakticky sa vie len to, ze 
Eclipse Compilator (ECJ) sa hrdi inkrementalnou kompilaciou, co znamena, 
ze v ramci projektu sa udrziava mnozina zmien v suboroch, ktora nastala 
od poslednej kompilacie. Pri rekompilacii sa zisti len zoznam zmenenych 
/ novych suborov od predoslej kompilacie a z nich sa vyrobia .class 
subory. Ak je nejaky .java subor vymazany, prislusny .class sa pri 
inkrementalnej kompilacii vymaze tiez.


ECJ tiez udrziava komplexny strom zavislosti medzi .java zdrojakmi, cim 
adresuje napr. pripady, ked sa niektore zmenene subory daju skompilovat 
a niektore kvoli chybam nie a minimalizuje pocet suborov, ktore treba 
skutocne prekompilovat.


Tato featura bola dost vyznamna v casoch, ked este NetBeans nemal 
compile-on-save a nesiel cez Ant, ale dnes aj Ant kompiluje len zmenene 
subory (hoci netusim, ako je to v NetBeans a megaprojektoch).


ECJ ma zrejme lepsiu integraciu s reportovanim chyb, mozno sa navesat 
cez listenery a dostavat kompilacne chyby a varovania, ktore mozno 
programovo spracovat. Dnes uz samozrejme existuje javax.tools, ale to je 
len zalezitost JDK1.6+ a predtym to zdaleka nebol standard


A ako povedal kolega, Eclipse kompilator ma ine spravanie v pripade chyb:

public class Thing {
public void getSecret() {
return x;
}

public static void main(String[] args) {
new Thing().getSecret()
}
}

ECJ to radostne skompiluje a za behu metoda getSecret() hodi 
java.lang.Error: Unresolved compilation problem.


Javac to odmietne skompilovat.

Inak ECJ sa uz od nepamati pouziva v Tomcate na kompilaciu servletov, 
ktore vzniknu z JSP stranok.


RN

On 25. 4. 2011 22:17, Libor Jelinek wrote:
Já patřím mezi asi tu masu co nikdy nekompilovala ničím jiným, než 
Oracle javac (taky mi to nejde z pusy, ale snažím se :-)). Nikdy jsem 
se nesetkal s Blackdown, Ice, gjc apod. kompilátory.


A NetBeans používá taky vlastní kompilátor?

Když dám v Eclipsech Build, tak mi to přeloží jakým kompilátorem? 
Když (jako ve zmíněném příkladu z Stackoverflow) Eclipse zkompiluje, 
ale Sun/Oracle nikoli, tak jak se to pak chová při běhu oproti 
Sun/Oracle JRE?


2011/4/25 Ladislav Thon ladi...@gmail.com mailto:ladi...@gmail.com

Já kupříkladu narazil na rozdíly v kompilaci při volání metody
se signaturou používající Enum?, Eclipsí kompilátor to
zvládl na jedničku, javac měl problémy, viz diskuze na
stackoverflow.com http://stackoverflow.com:


http://stackoverflow.com/questions/2220763/java-specific-enums-and-generic-enum-parameters


Překladače mohou odvozovat parametrizované typy nad rámec
minimálních požadavků. Suní překladač (hádám, že Oraclí začnu
říkat nejdřív za pět let) se moc nesnaží, překladač z Eclipsu toho
zvládne odvodit víc. Neznamená to, že některý z překladačů je
vadný, jenom že o tom lidi moc neví.

LT



Ovšem pokud používáte Maven, musíte se stejně podřídit
standardnímu javac (tedy pokud neexistuje nějaký Maven plugin,
který by uměl použít pro kompilaci Eclipse -- a i kdyby
existoval, ani bych ho snad nechtěl použít).

Martin Schayna




On 04/25/2011 02:25 PM, Libor Jelinek wrote:

To jsou tedy vlastnosti s ohledem na IDE. Já stejně většinou
používám  javac z Oraclího JDK přes Ant, tak jsem jen chtěl
vědět, zda náhodou není Eclipse compliter třeba
několikanásobně rychlější/lepší apod. :-)

Díky.
Libor

Dne 25. dubna 2011 11:17 Filip Jirsák fi...@jirsak.org
mailto:fi...@jirsak.org napsal(a):

Kompilátor eclipse například umožňuje přeložit i třídu s
chybou (chyba
v syntaxi v nějaké metodě apod.), jenom místo kódu dané
chybné metody
vloží vyhození nějaké runtime výjimky. K tomu asi
sunovský kompilátor
nedonutíte. Eclipse (IDE) pak ten přeložený kód používá
pro code
completion a spol., kde je užitečné, aby jedna chybná metoda
nezabránila získávat informace o zbytku třídy a ostatních
třídách. Na
druhou stranu je potřeba si na to dávat pozor a finální
verzi přeložit
s plnou kontrolou chyb, aby se ten kód, kde se místo
nějaké metody
bude vyhazovat výjimka „na řádku 353 chybí středník“
nedostal na
produkci.

S pozdravem

Filip Jirsák



Dne 25. dubna 2011 7:43 Libor Jelinek
ljeli...@virtage.com mailto:ljeli...@virtage.com
napsal(a):
 A jaký má Eclipse důvod mít vlastní kompilátor? A jaké
má Eclipse kompilátor
 výhody? Oproti standardnímu javac od Oraclu?

 Libor

 Dne 19. dubna 2011 15:16 Tomáš Záluský
zalu...@centrum.cz mailto:zalu...@centrum.cz napsal(a):


Re: Vytvoreni instance XML objektu z XSD definice

2011-04-19 Tema obsahu Robert Novotny
Pokial mate XSD schemu, tak ste vyhrali, lebo presne na to je JAXB: 
vytvorite triedy, anotaciami poviete, akym elementom zodpovedaju 
instancne premenne a idete.


Niekolko poznamok som si spisal tu: 
http://ics.upjs.sk/~novotnyr/wiki/Java/SerializaciaADeserializaciaObjektovPomocouJAXB


RN

On 19. 4. 2011 8:31, Vladislav Krejčiřík wrote:
Dobry den, mohl by mi nekdo poradit nejakou open source knihovnu pro 
generovani XML objektu z XSD definice? Potreboval bych v kodu vytvorit 
objekt reprezentujici XML zpravu podle daneho XSD a poslat pak pres JMS.


Diky za kazdy tip..

--
/**/
Best regards / S pozdravem
Vladislav Krejčiřík

http://www.vkrejcirik.info





Re: Vytvoreni instance XML objektu z XSD definice

2011-04-19 Tema obsahu Robert Novotny
Vezmime si priklad zo slovenciny. Mam gramatiku, ktora hovori, ze 
slovenska veta ma mat:


Podmet - prisudok - predmet.

Validacia sa pyta, ci veta ,,Pes zerie granule splna gramatiku. Vy vsak 
chcete riesit problem typu ,,potrebujem vyrobit slovensku vetu. Ako ma 
kniznica vediet, ci ma vygenerovat slovensku vetu ,,Pes zerie granule 
alebo ,,Vyvojar miluje Javu alebo ,,Ja mam psa?


Ako sa spominalo, JAXB na zaklade XSD vyrobi triedu s instancnymi 
premennymi podmet, prisudok, predmet a anotaciami zaisti, ze objekt sa 
serializuje spravne a teda ze vysledne XML bude splnat schemu.


Ako nad tym uvazujem, tak bud chcete mat v kode obmedzene, aby ste 
nevymysleli nahodou spravu, ktora nedava zmysel (,,Vonku prsi), lenze 
to vam zaisti prave typovy system, ktory je reprezentovany prave 
triedami, ktore su vygenerovane v JAXB.


Vy hovorite, ze nechcete generovat ziadne triedy ,,ukladane na 
filesystem, ale mne to nie je jasne. Typicky workflow znamena, ze mam 
XSD, v kompilacnom kroku z neho vypadnu klasicke Java triedy a tie 
pouzivam uplne rovnako ako akekolvek ine triedy. Alebo mate situaciu, 
ked sa XSD meni za behu?


RN


On 19. 4. 2011 14:11, Vladislav Krejčiřík wrote:
ok, mozna jsem to spatne popsal. Zkusim znovu. Ja nechci nic 
validovat, protoze nemam vlastne ani co. XSD mi definuje strukturu 
nejake message. Ja bych potreboval takovou messge umet vytvorit, 
vygenerovat z XSD definice. Myslel jsem ze bych ziskal nejakou 
objektovou reprezentaci te XML message kde bych nastrkal hodnoty co 
potrebuju. Potom bych uz jen XML message poslal do fronty.


Nevim jestli existuje nejaka knihovna, ktera to umoznuje. Nebo budu 
muset rucne takovou XML vystavet..






Dne 19. dubna 2011 12:48 Lukas lzap Zapletal 
luka...@zapletalovi.com mailto:luka...@zapletalovi.com napsal(a):


Vlado,

myslim ze se tady snazis michat dve veci. DOM a XSD. Prvni
jmenovany slouzi
k manupulaci s (ted to zjednodusim) XML, druhy je urcen pro popis
a kontrolu
XML dokumentu. Krome jineho lze namapovat na JavaBeany a ruzne jine
struktury zname z pocitacovych jazyku.

To co asi chces je nejprve dokument zvalidovat pomoci XSD schematu
(doporucuji ruzne tutorialy na netu), a pote jej proste a
jednoudse nacist
do DOMu a parsovat. Je mozne, ze nejaka DOM knihovna to bude umet
udelat v
jednom, ale v podstate jsou to dve ruzne veci.

Nebo jsem te mozna spatne pochopil. Zkus to reformulovat.

http://en.wikipedia.org/wiki/Document_Object_Model
http://en.wikipedia.org/wiki/XML_Schema_(W3C)
http://en.wikipedia.org/wiki/XML_Schema_%28W3C%29


-
Later,
 Lukas
--
View this message in context:

http://konference-java-cz.958153.n3.nabble.com/Vytvoreni-instance-XML-objektu-z-XSD-definice-tp2837707p2838272.html
Sent from the konference java.cz http://java.cz mailing list
archive at Nabble.com.




--
/**/
Best regards / S pozdravem
Vladislav Krejčiřík

http://www.vkrejcirik.info





Re: read() z IO - předávání referencí? To snad ne..

2011-04-04 Tema obsahu Robert Novotny
Je to taka Cckoidna filozofia (,,dam ti pointer a ty mi napln jeho 
obsah), ale principialne s tym nie je problem, kedze pole sa odovzdava 
referenciou a da sa nan pozerat ako na svojsky druh objektu.


Tato metoda robi dve veci: jednak nacitava data do pola a jednak hovori, 
kolko bajtov sa nacitalo (v navratovej hodnote) a zaroven indikuje 
-1kou, ze nastal koniec prudu.


Neviem ako rozumnejsie by sa obe informacie dali vratit tak, aby API 
nebolo komplikovane.


RN

On 4. 4. 2011 12:55, Libor Jelinek wrote:

Dobrý den,
dnes další jobovka :-) Jak je možné, že read() z potomků InputStream 
používá něco co by se v jiných jazycích nazvalo výstupní parametry 
nebo předávání parametrů referencí (ByRef např. ve VB). Java přeci nic 
takového nemá. Vše je předáváno metodám ByVal, tedy hodnotou.


Tak jak to může např.
/  FileInputStream.read(byte[] b)/
mít v JavaDocu napsáno
/  @param  b   the buffer into which the data is read./

Obecně jako nováček bych čekal, že read bude vrácet byte[], nikoli, že 
mi načtené pole bajtů bude změneno v proměnné předané hodnotou (což 
není možné přece...).

/
/Když se podívám na zdrojáky, tak se nedostanu dále, než že to využívá 
JNI v signaturách metod, např.:
/private native int readBytes(byte b[], int off, int len) throws 
IOException;/

/
/Přiznávám, že JNI neznám a nikdy jsem nepoužíval. To je díky tomu? 
Nebo co je to za magii? :-)


Díky
Libor




Re: read() z IO - předávání referencí? To snad ne..

2011-04-04 Tema obsahu Robert Novotny

Presne.

A) Mozete sa na to divat ako Cckar
Vsetko sa odovzdava hodnotou:
a) ak su to primitivne typy, tak je to zrejme
b) ak su to objektove typy, tak hodnotou odovzda adresa (pointer na 
objekt), lenze s adresou nemozete robit pointerovu aritmetiku. 
Presmerovanie pointra v metode nema ziaden dopad na samotny parameter, 
kedze ten sa do skutocneho parametra nakopiroval hodnotou

c) pole je prakticky objektovy typ

B) Mozete sa na to divat ako Java
a) primitivne typy idu hodnotou
b) objektove typy idu referenciou, co prakticky znamena, ze pre ucely 
manipulacie sa stotoznuje pointer na objekt so samotnym objektom. Ak 
mate objekt v parametri metody, zmeny jeho atributov/vlastnosti su 
vidiet aj z volajucej metody, ale ak do parametra v ramci metody 
priradite referenciu na iny objekt, tato zmena sa mimo metody neprejavi.


public static void handleBuffer(byte[] data) {
data = new byte[] {3, 1, 5};

}

public static void main(String[] args) {
byte[] buffer = new byte[] {2, 4, 5};
handleBuffer(buffer);

System.out.println(Arrays.toString((buffer)));
// vypis 2, 4, 5
}

On 4. 4. 2011 13:48, Libor Jelinek wrote:

Takže dělá prostě něco jako toto:

static void zmenPoleBajtu(byte[] b) {
b[0] = 'd';
b[1] = 'e';
b[2] = 'f';
}

Díky! Už jsem doma! Proč jste to neřekl hned? :-) Ono je to s těmi 
referencemi poměrně složité. Alespoň pro mojí hlavu :-) A jak tu někdo 
říkal tak asi hodně programátorů prostě jen používá a nepřemýšlí co se 
přesně děje. A čím víc umí Springů, J2EE a všeho podobného tím víc je 
možná zarážející, že ty úplné nej low-level základy pokulhávají. Jako 
vysocí matematici nemějí pak spočítat, kolik jim májí vrátit v krámě :-)


Děkuji pane Novotný za vysvětlení!
Libor

Dne 4. dubna 2011 13:42 Robert Novotny robert.novo...@upjs.sk 
mailto:robert.novo...@upjs.sk napsal(a):


Ona nemeni pole, ona meni prvky tohto pola.


On 4. 4. 2011 13:33, Libor Jelinek wrote:

Děkuji pane Thone,
to tedy znamená, že znovu nechápu jak může read(byte[] b) z např.
FileInputStream měnít hodnotu parametru, když je mu předána
nikoli reference, ale nový objekt se stejnou hodnotou jako měl
(má) mnou předávaný... Viz můj předchozí nebo váš úryvek kódu.

Libor

2011/4/4 Ladislav Thon ladi...@gmail.com mailto:ladi...@gmail.com

nikoliv, naopak, vše je předáváno referencí.


Ne, původní pisatel to má správně, vše se předává hodnotou --
primitivní i referenční typy. Tohle je pekelně rozšířený omyl.

Předávání parametrů odkazem (referencí) by znamenalo, že
můžete tu původní proměnnou vyměnit, asi takhle:

void caller() {
  String a = a;
  callee(a);
  // !!! co je v proměnné a?
}

void callee(String param) {
  String b = b;
  param = b;
}

Kdyby se parametr param v metodě callee předával referencí,
pak by na konci metody caller platilo b.equals(a). Pokud se
dobře pamatuju, v C# by to takhle fungovalo, kdyby ten
parametr byl deklarovaný ref String param.

Jenže referenční typy se v Javě předávají hodnotou --
dostanete kopii reference, takže můžete změnit _stav_ objektu
(v ukázce ne, String je neměnitelný), ale nemůžete _vyměnit_
ten objekt jako takový.

Pro pole platí totéž, jsou to taky referenční typy (dalo by
se říct, že to jsou vlastně taky objekty, a nebyla by to
úplná lež).

LT









Re: read() z IO - předávání referencí? To snad ne..

2011-04-04 Tema obsahu Robert Novotny
Eclipse ma defaultne tiez nastaveny warning, ak sa vyvojar pokusa 
priradit rovno do premennej, ktora je parametrom.


On 4. 4. 2011 14:37, Ondřej Fafejta wrote:

2011/4/4 Robert Novotnyrobert.novo...@upjs.sk:

Este by som to vylepsil, aby bolo vidiet efekt:

I. Primitivy hodnotou:

public static void zlyPokusOZmenuParametra(int i) {
++i;
}

int i = 1;
zlyPokusOZmenuParametra(i);
System.out.println(i ==  + i);  // 1

II. Objekty referenciou

public static void zmenDate(Date d) {
d.setTime(0L);
}

Date date = new Date();
System.out.println(date ==  + date);// v case mojeho spusteni
... date == Mon Apr 04 14:15:27 CEST 2011
zmenDate(date);
System.out.println(date ==  + date);// date == Thu Jan 01
01:00:00 CET 1970


jj. tento příklad je výstižnější  ... (návratový typ je zbytečně matoucí ;-))

Jinak ještě doplním, že findbugs hlásí chybu, když např. entita má
getter pro parametr, u kterého můžeme přepsat hodnotu bez toho abychom
volali setter...

http://findbugs.sourceforge.net/bugDescriptions.html#EI_EXPOSE_REP

např. (píšu z hlavy - určitě někde budu mít překlep ;))

public class NejakaEntita implements Serializable {
 private Date createdAt;

public Date getCreatedAt() {
return createdAt;
}
}

Fafi





Re: Spring JDBC template

2011-03-24 Tema obsahu Robert Novotny
Orezany zrejme neexistuje, kedysi som sa pokusal to osekat (lebo 
JdbcTemplate je vyborna trieda), ale ono je to zavislostami prepojene s 
ostatnymi styrmi (piatimi?) modulmi.


Otazka je, ci mate naozaj problem s tym, ze su to styri JARy, alebo ci 
ide o nejaku aplikaciu, kde je kanon na vrabce tahat 4MB zavislosti 
kvoli pristupu k databaze.


RN

On 24. 3. 2011 15:26, Ondra Medek wrote:

Ahoj,

libi se mi Spring JdbcTemplate jako zjednoduseni pristupu k DB. Ale do
projektu kvuli tomu musim dat 4 JARy ze Springu. Existuje nejaky
orezany Spring JdbcTemplate nebo neco podobneho maleho a jednoducheho?

Dik
Ondra Medek





Re: Rich frontend gwt,zk,flex, pripadne iny

2011-03-09 Tema obsahu Robert Novotny

On 9. 3. 2011 17:06, Dusan Msk wrote:
Ad Wicket - skutocne je vhodnym kandidatom na tento typ ulohy? ( 
nerypem, pytam sa )
To zalezi na tom, co zadavatel rozumie pod RichUI: ci ide o komplexne 
formulare s mnozstvom komponentov a volitelnym Ajaxom alebo o nieco este 
dynamickejsie.


Robert Novotny



Re: Classloader v tomcatu

2011-02-24 Tema obsahu Robert Novotny
Ta bodka je nejaka podozriva, co tym chcete dosiahnut? Chcete ziskat 
aktualny adresar?


RN

On 24. 2. 2011 13:31, Tomas Bezdek wrote:

ahoj,
v jedne sve tride mam volani EPaymentService.class.getResource(.),
ktere mi pri debugovani v eclipsech vraci spravnou cestu ke tride
(file:/...). kdyz ale toto volani probehne v aplikaci spustene na
tomcatu, vraci null. nevite nekdo cim by to mohlo byt zpusobene?

dik
tomas





Re: Parsing HTML stránek

2011-02-21 Tema obsahu Robert Novotny
Pravda, ide primarne o deserializaciu. Plus, povodny dopyt bol na 
desktopovu aplikaciu
(ak som to spravne pochopil), kde pouzivatel vydrzi to parsekundove 
,,Loading


On 20. 2. 2011 23:30, Oto Buchta wrote:

2011/2/20 Robert Novotnyrobert.novo...@upjs.sk:

Preco si myslite, ze Java serializacia bude rychlejsia nez serializacia do
textaku? (Ved prirodzenou
formou serializacie XML je text)

Tady podle mne nejde ani tak o serializaci, jako spis deserializaci.


Podla mna si urobte kratky test na velkej stranke (povedzme 10MB) a zistite,
ci je to pomale
alebo nie, lebo mam pocit, ze zatial riesite predcasnu optimalizaciu
sposobom, ktory
moze zredukovat pouzitelne technologie na prazdnu mnozinu :-)

Naprosty souhlas. Pokud nebude kazdou vterinu stovka pozadavku,
ale spis jeden za nekolik vterin, vubec bych to neresil.


On 19. 2. 2011 14:58, Dušan Rychnovský wrote:

Zkoumal jsem i http://about.validator.nu/htmlparser/ a zdá se, že
serializaci rovněž nepodporuje.

2011/2/19 Dušan Rychnovskýgeraltzri...@gmail.com

Dobrý den,

zkoumal jsem trochu parser JTidy a zdá se být dobrý, ale chybí mi jedna
věc. Metoda pro parsování HTML stránky vrací objekt org.w3c.dom.Document,
který neimplementuje rozhraní Serializable.
Ve svém programu nad HTML stránkou vždy postavím DOM a následně si tvořím
pomocný strom, jehož vrcholy obsahují reference na některé uzly stromu DOM a
uchovávají o nich další informace. Celou tuto strukturu chci při ukončení
programu serializovat tak, aby se zachovaly vazby na uzly stromu DOM
(potažmo na příslušné tagy HTML stránky). Existuje nějaký způsob, jak
donutit  org.w3c.dom.Document k takovéto serializaci?
Tyto pomocné informace nemůžu ukládat do HTML stránky a DOM stavět vždy
při spuštění programu znovu, protože program má uchovávat několik desítek
stránek a jejich opětovné parsování při spuštění programu by bylo asi pomalé
(počítám, že deserializace struktury z disku bude o mnoho rychlejší).
Děkuju
Dušan Rychnovský
Dne 19. února 2011 11:15 Michal Bernhardmbernh...@atlas.cz  napsal(a):

Muzete prosim vsichni, co jste tu psali, ze jste to taky resili, napsat
konkretni usecase?
Zajimalo by me proc vznikne takovy pozadavek a zaroven a jestli se to
neda resit elegantneji treba kombinaci
firefox/chrome + greasemonkey + treba jquery.
Dekuji :)
Michal
http://twitter.com/#!/michalb_cz

2011/2/18 Lukas lzap Zapletalluka...@zapletalovi.com

Presne tohle jsem resil zhruba pred 5 lety. A vyresil.

Knihovna JTidy - umi zpracovat skoro vsechno. Je to vsezravec. Funguje
tam, kde si ostatni parsery lamou doslova zuby.

Jestli je rychla nevim. Jestli zvladne nejnovejsi XHTML nebo HTML5 take
nevim. Ale na mem projektu fungovala skvele (HTML 4).

Napiste jak jste pochodil.

LZ

-
Later,
  Lukas
--
View this message in context:
http://konference-java-cz.958153.n3.nabble.com/Parsing-HTML-stranek-tp2526109p2526552.html
Sent from the konference java.cz mailing list archive at Nabble.com.











Re: Parsing HTML stránek

2011-02-20 Tema obsahu Robert Novotny
Preco si myslite, ze Java serializacia bude rychlejsia nez serializacia 
do textaku? (Ved prirodzenou

formou serializacie XML je text)

Interfejs org.w3c.dom.Document nie je serializable, pretoze to by 
znamenalo, ze vsetky implementacia
DOMu by museli vracat Serializable objekty... a to by bola dost silna a 
zbytocna poziadavka.
To zalezi od toho, ci implementatori vyhlasili svoje objekty za 
Serializable, ale to by

chcelo pozriet do zdrojakov.

Podla mna si urobte kratky test na velkej stranke (povedzme 10MB) a 
zistite, ci je to pomale
alebo nie, lebo mam pocit, ze zatial riesite predcasnu optimalizaciu 
sposobom, ktory

moze zredukovat pouzitelne technologie na prazdnu mnozinu :-)

On 19. 2. 2011 14:58, Dušan Rychnovský wrote:
Zkoumal jsem i http://about.validator.nu/htmlparser/ a zdá se, že 
serializaci rovněž nepodporuje.


2011/2/19 Dušan Rychnovský geraltzri...@gmail.com 
mailto:geraltzri...@gmail.com


Dobrý den,

zkoumal jsem trochu parser JTidy a zdá se být dobrý, ale chybí mi
jedna věc. Metoda pro parsování HTML stránky vrací objekt
org.w3c.dom.Document, který neimplementuje rozhraní Serializable.

Ve svém programu nad HTML stránkou vždy postavím DOM a následně si
tvořím pomocný strom, jehož vrcholy obsahují reference na některé
uzly stromu DOM a uchovávají o nich další informace. Celou tuto
strukturu chci při ukončení programu serializovat tak, aby se
zachovaly vazby na uzly stromu DOM (potažmo na příslušné tagy HTML
stránky). Existuje nějaký způsob, jak donutit
 org.w3c.dom.Document k takovéto serializaci?

Tyto pomocné informace nemůžu ukládat do HTML stránky a DOM stavět
vždy při spuštění programu znovu, protože program má uchovávat
několik desítek stránek a jejich opětovné parsování při spuštění
programu by bylo asi pomalé (počítám, že deserializace struktury z
disku bude o mnoho rychlejší).

Děkuju
Dušan Rychnovský

Dne 19. února 2011 11:15 Michal Bernhard mbernh...@atlas.cz
mailto:mbernh...@atlas.cz napsal(a):

Muzete prosim vsichni, co jste tu psali, ze jste to taky
resili, napsat konkretni usecase?
Zajimalo by me proc vznikne takovy pozadavek a zaroven a
jestli se to neda resit elegantneji treba kombinaci
firefox/chrome + greasemonkey + treba jquery.

Dekuji :)

Michal
http://twitter.com/#!/michalb_cz
http://twitter.com/#%21/michalb_cz

2011/2/18 Lukas lzap Zapletal luka...@zapletalovi.com
mailto:luka...@zapletalovi.com


Presne tohle jsem resil zhruba pred 5 lety. A vyresil.

Knihovna JTidy - umi zpracovat skoro vsechno. Je to
vsezravec. Funguje
tam, kde si ostatni parsery lamou doslova zuby.

Jestli je rychla nevim. Jestli zvladne nejnovejsi XHTML
nebo HTML5 take
nevim. Ale na mem projektu fungovala skvele (HTML 4).

Napiste jak jste pochodil.

LZ

-
Later,
 Lukas
--
View this message in context:

http://konference-java-cz.958153.n3.nabble.com/Parsing-HTML-stranek-tp2526109p2526552.html
Sent from the konference java.cz http://java.cz mailing
list archive at Nabble.com.








Re: Parsing HTML stránek

2011-02-19 Tema obsahu Robert Novotny

Typicka uloha: na serveri stahujete periodicky HTML stranky
a automaticky z nich extrahujete relevantne udaje.

Technologie prehliadaca vam v tom nepomozu, lebo
to neviete automatizovat a na strane servera si to zrejme nespustite.

RN

On 19. 2. 2011 11:15, Michal Bernhard wrote:
Muzete prosim vsichni, co jste tu psali, ze jste to taky resili, 
napsat konkretni usecase?
Zajimalo by me proc vznikne takovy pozadavek a zaroven a jestli se to 
neda resit elegantneji treba kombinaci

firefox/chrome + greasemonkey + treba jquery.

Dekuji :)

Michal
http://twitter.com/#!/michalb_cz http://twitter.com/#%21/michalb_cz

2011/2/18 Lukas lzap Zapletal luka...@zapletalovi.com 
mailto:luka...@zapletalovi.com



Presne tohle jsem resil zhruba pred 5 lety. A vyresil.

Knihovna JTidy - umi zpracovat skoro vsechno. Je to vsezravec.
Funguje
tam, kde si ostatni parsery lamou doslova zuby.

Jestli je rychla nevim. Jestli zvladne nejnovejsi XHTML nebo HTML5
take
nevim. Ale na mem projektu fungovala skvele (HTML 4).

Napiste jak jste pochodil.

LZ

-
Later,
 Lukas
--
View this message in context:

http://konference-java-cz.958153.n3.nabble.com/Parsing-HTML-stranek-tp2526109p2526552.html
Sent from the konference java.cz http://java.cz mailing list
archive at Nabble.com.






Re: generics - cast problem

2011-02-07 Tema obsahu Robert Novotny
Unchecked cast je varovanie, ze pretypovanie nie je v case kompilacie 
bezpecne a v case behu mozu vybiehat ClassCastException. Ak ste si 
vedomi, ze take nieco za behu nenastane, anotaciou 
@SuppressWarnings(unchecked) na metode zrusite ten warning.


Popravde nechapem to pretypovanie na Collection. Kedze 
loadCollectionByQuery vracia Collection a getAllZipCodes() vracia tiez 
Collection, naco robite


return (Collection) loadCollectionByQuery()

?

Okrem toho, v Jave 5 a novsej by sa idealne mali pouzivat typovane 
kolekcie s generikami.


On 7. 2. 2011 10:07, jerzy burzek wrote:
Zdravim konferenciu, skusam sa hrat s generics a narazilo som na jeden 
problem, ktoremu velmi nerozumiem. Skusim nacrtnut: mam hierarchiu 
tried (JPA, ale to nie je asi podstatne) BaseEntity ZipCode extends 
BaseEntity Login extends BaseEntity atd potom mam abstraktnu triedu 
BaseManager, ktora implementuje metodu pre nacitanie kolekcie z 
databazy: protected Collection loadCollectionByQuery(Class 
entityClass, String query, Object[] params) throws DBException. a 
dalsiu triedu LOVManager, a tu mam metodu public 
CollectiongetAllZipCodes() throws DBException a tu je problem: ak 
napisem nieco taketo: public CollectiongetAllZipCodes() throws 
DBException return (Collection) 
loadCollectionByQuery(ZipCode.class, select z from ZipCode z, null); 
}   prekladac hlasi warning (unchecked cast...), a ked si vypisem 
po caste hodnoty v kolekcii, su tam instancie ZipCode, ale hodnoty 
atributov id a stamp (ktore su v BaseEntity) su null (???) ked 
naspisem toto: public CollectiongetAllZipCodes() throws DBException 
Collection tmp = loadCollectionByQuery(ZipCode.class, select 
z from ZipCode z, null); Collectionret = (Collection) tmp; 
return tmp; }   prekladac sice tiez hlasi warning, ale 
instancie ZipCode su uz ok (id aj stamp su != null) Co mi unika? 




Re: jetty vs. Double.parseDouble

2011-02-05 Tema obsahu Robert Novotny

Tomcat 6.x i 7.x je uz opraveny.

On 3. 2. 2011 20:14, Jaroslav Barton wrote:

Aplikace nasazené na kritických místech nebo ty jejichž provoz je kryt
nějakým SLA to s velkou pravděpodobností řešit budou. Zbytek se na to
vybodne nebo než vydají záplatu, tak to Oracle opraví (a ještě předtím
se IMO objeví oprava v OpenJDK).

Jarek

Oto Buchta píše v Čt 03. 02. 2011 v 20:00 +0100:

Chapu to tak, ze kazda aplikace, ktera v sobe obsahuje praci s
java.lang.Double, bude muset kvuli bezpecnosti vyresit tuto chybu? To
si snad nekdo dela legraci, ne?

Dne 3. února 2011 18:34 Robert Novotnyrobert.novo...@upjs.sk  napsal(a):

Tomcat toto pouziva v parsovani Accept-Language hlavicky,
ale ako pozeram, oprava je uz zakomitovana, takze
bude asi update aj oboch Tomcatov - aj sestkoveho,
aj sedmickoveho.

Robert Novotny


On 3. 2. 2011 18:22, Ondra Medek wrote:

Zajimavy bug. Nenapada mne, proc by zrovna HTTP server mel resit tento
bug - to spise zavisi na aplikaci. Jinak zkus progrepovat zdojaky
jetty na parseDouble a new Double.

Spise nez Jetty by to mohlo ovlivnit frameworky nad ruznou komunikaci
s cimkoliv (SQL - Hibernate, iBatis; JSON, Excel, WS apod.)

2011/2/3 Lucie Rut Bittnerovalu...@mathan.cz:

Dobry den,

chtela bych se ohledne chyby parsovani double

(http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308/)
zeptat, zda jste nahodou nekdo nezjistoval, jak je na tom s odolnosti
vuci
teto chybe jetty.

S pozdravem
Lucie Rut Bittnerova












Re: Off Topic - Oracle/Java/Linux zkratka ala LAMP?

2011-01-21 Tema obsahu Robert Novotny

JEE? :-)

Problem je ten, ze na rozdiel od LAMP zrejme neexistuje ,,typicka Java 
konfiguracia(tm), lebo namiesto Tomcatu mozete mat JBoss alebo 
WebSphere alebo Glassfish (alebo ktorykolvek iny (aplikacny) server)) a 
namiesto Oraclu ktorukolvek z relacnych databaz, kde ich je na vyber 
milion a pat.


RN

On 21. 1. 2011 9:51, Tomas Hubalek wrote:


Zdar,

Zkratku LAMP (Linux, Apache, MySQL, Php) asi zna kde kdo.

Netusite, jestli neexistujepodobnezavedena zkratka pro podobne 
klasickou konfiguraci Linux/Java/Oracle/Tomcat? Neco jako LOJT ;-) ?


Dik

Tom





Re: [SQL] List/array v 1 resultu

2010-09-10 Tema obsahu Robert Novotny
 MySQL a SQLite ma agregacnu funkciu GROUP_CONCAT(), ktora robi to, co 
potrebujete, ale neviem ako su na tom ine databazy.


http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat

RN

On 10. 9. 2010 13:54, Petr Prikryl wrote:

Dobre poledne,
snazim se z DB vytahnout IP uzivatelu, ale uzivatel ma vic IP, 
tedy pro 1 uzivatele se mi vrati vice zaznamu a ja to musim v jave 
slepovat do listu.
Snazil jsem se vygooglit neco rozumnejsiho ale bohuzel se asi ptam 
google spatne (list, array a fetch  jsou moc obecna slova...).
Pouzivam JDBC (hibernate je nevhodny protoze delam pouze RO a 
spojuji 10 tabulek).


Potreboval bych neco jako:
SELECT
uzivatel, LIST(ip)
FROM
uzivatel LEFT JOIN ip ON ip.uz_id = uzivatel.id;

Za kazdou radu predem dekuji.
PP





Re: rychlost instanceof x interface x key/ID

2010-08-03 Tema obsahu Robert Novotny
 Mna napr. zaujala poznamka z keynotu Josha Blocha z terajsieho Java 
Language Summitu:


In some circumstances it turns out that  is faster than  in Java, 
because a  will short curcuit, which means it will branch. The single 
ampersand will always execute both sides, which means the CPU can 
pipeline both of them to execute at the same time.


Ale originalna prezentacia nie je este k dispozicii, takze nie je mi 
celkom jasne, ako sa to myslelo.


RN


On 2. 8. 2010 20:57, Ondra Medek wrote:

Takze
kdyz se nekomu podari mikrooptimalizace typu prochazeni pole odzadu je
rychlejsi, v dalsim buildu JDK uz to nemusi fungovat.

Ja bych jen doplnil konkretne k teto optimalizaci: ono to nemusi byt
rychlejsi vzdy. Zalezi, nejen na JVM, ale i jaka data se prochazi,
typu cache a procesoru, a mozna dalsich faktorech. Tedy zrovna tato
optimalizace je IMHO obecne naprosto zbytecna.(Mne osobne se lepe ctou
for cykly od 1 do N.) Dobra je leda tak pro nejaky konkretni pripad,
kde se opravdu nameri zrychleni. Tim nechci spoustet flame na tema
rychlost prochazeni pole. Jen chci uvezt konkretni pripad, kdy je
takova mikrooptimalizace zbytecna.

Zpatky k tomu instanceof: pouziva se to hojne v equals metodach,
tedy bych se o rychlost nebal. Pravdepodobne se v kazde aplikaci vola
tolikrat, ze nejake dalsi pridani uz nema vyznam. (kdyby to byla
nejaka brzda, tak by se jiste nasel nekdo, kdy by se snazil equals
implementovat jinak).

P.S. pro Otu: ja jsem take z HPC sveta.





Re: rychlost instanceof x interface x key/ID

2010-07-27 Tema obsahu Robert Novotny

 V tomto pripade by som sa zamyslel nad konkretnym praktickym prikladom
a tym, ci sa metody getA() a getB() nedaju vyriesit polymorfizmom.

Vo vasej metode doId() je problem v nerozsiritelnosti, akonahle
by pribudla trieda C (C implements Value), v metode doId() musite
dodat novu vetvu do podmienky if. V pripade polymorfizmu (t. j.
vasa metoda doInterface()) je vyhoda, ze nic take robit nemusite,
len vyrobite triedu C a prekryjete prislusnym sposobom getValue().

Inak v pripade komplexnych hierarchii tried, kde naozaj treba
pouzivat aj dedicnost, aj sa dopytovat na typ triedy, existuje
kompromis, ktory je v API pre DOM (Document Object Model):
tam existuje interfejs Node, je implementovany velkym mnozstvom tried (napr.
Element implements Node, Document implements Node).

Kazda takato trieda prekryva metodu getNodeType(), ktora vracia
jedinecne cislo zodpovedajuce typu uzla. Instancie typu Element
maju getNodeType() == 1, instancie Document-u maju getNodeType() == 9.

Takto mozno porovnanim getNodeType() v podmienke zistit typ objektu
aj inak nez cez instanceof a pretypovanie.

RN
On 27. 7. 2010 10:01, Ondra Medek wrote:

Mno jestli tady ten vykon neovlivnuje vice ta prace s ArrayList nezli
sledovane operace. Protoze je list velky, pak se projevu kesovani, GC,
apod. Spise bych zkusil male pole, ktere se alokuje jen 1x cca treba
jen 10 elementu, a to pole pak prochazet vicekrat. Anebo mit jen jeden
element?

2010/7/27 Pavel Nemecneme...@gmail.com:

Dobry den,
resim takovy maly problem toho co je lepsi pouzivat  pro rozliseni
typu objektu.

Ja jsem zastance pouzivat interface a nechat compilator/runtime aby si
vybral, kterou metodu zavola. Muj oponent pochazi vice z Ccka a je mu
blizsi pouzivat klice, pripadne instanceof.

Ja jsem mel vzdy za to ze instanceof je velmi pomale a nedoporucuje
se, nicmene jsem se docetl, ze to jiz davno neplati.

Udelal jsem si maly test, kdy zjistuji zda je objekt daneho typu na
zaklade volani
instanceof
interface - nezjistuji, pouze volam interface metodu
na zaklade objekt.getID()  + pretypovani.

Myslel jsem ze interface bude s prehledem nejrychlejsi, nicmene tomu
odpovida jen maly pocet volani (volam v cyklu a zjistuji jestli objekt
v listu je daneho typu)

pro 20 000 polozekinstanceof: 2 item took 25milsec, and result is
0 (should be 0)
interface: 2 item took 4milsec, and result is 0 (should be 0)
id:   2 item took 23milsec, and result is 0 (should be 0)

pro vysi pocet pak rychlost interface jiz kleas a napriklad pro 20M
instanceof: 2000 item took 284milsec, and result is 0 (should be 0)
interface: 2000 item took 380milsec, and result is 0 (should be 0)
id:   2000 item took 188milsec, and result is 0 (should be 0)


Zdrojak je nejednodusi mozny, viz: http://pastebin.ca/1909107

je tohle znama vec, a je tedy skutecne jedno zda(co se tyce rychlosti)
pouziji instance of misto interface?


Diky,
Pavel








Re: extends ENUM

2010-06-25 Tema obsahu Robert Novotny

Zdravim

public enum TrackerEventType {...}

nestaci?

Mozno by bolo dobre povedat blizsie, co chcete. Inak dedicnost medzi
enumami je zakazana.



On 25. 6. 2010 15:56, Ivan Polak wrote:

zdravim konferenciu,

prerabam jeden stary projekt a narazil som tam na konstrukciu:

public class EventType extends Enum {

}

co samozrejme dava v jave 1.6 nasledovnu chybu

The type TrackerEventType may not subclass Enum explicitly

nerobil niekto uz nieco podobne, ako najlepsie prepisat dedenie z ENUM

dakujem

Ivan

   




Re: Swing a uvolnovani Window

2010-01-28 Tema obsahu Robert Novotny

Je tam extra sekcia Responding to Window Closing Events :-)

By default, when the user closes a frame onscreen, the frame is hidden. 
Although invisible, the frame still exists and the program can make it 
visible again. If you want different behavior, then you need to either 
register a window listener that handles window-closing events, or you 
need to specify default close behavior using the 
|setDefaultCloseOperation| method. You can even do both.


Pod tym traktat ku konstantnam.

A hej, suhlasim, priklady su casto neuplne, napr. JDBC je povestne zlymi 
prikladmi, ktore
malokedy zatvoria vsetky connectiony, resultsety a statementy poriadne. 
Ludia to potom kopiruju

rovno do kodu, a potom to robi podivnosti.


On 27. 1. 2010 16:34, Ondra Medek wrote:

Ale chapem, ze casto clovek vpadne do technologie a neexistuje priestor /
cas / prilezitost na tutorialove upozornenia.
 

Zadne tutorialove upozornenia nevidim:

http://java.sun.com/docs/books/tutorial/uiswing/components/dialog.html
http://java.sun.com/docs/books/tutorial/uiswing/components/frame.html

I nektere priklady jinde na webu jsou spatne:

http://www.java2s.com/Code/Java/Swing-JFC/Createsimpleaboutdialog.htm

A JInternalFrame ma default close operation jako DISPOSE, aby to
nebylo tak jednoduche :-)

Nechci zacit flame, ale treba C# to ma vyresene lepe. Jako nektere
dalsi veci, jak uz zde bylo zmineno.

   




Re: Swing a uvolnovani Window

2010-01-26 Tema obsahu Robert Novotny
To je naozaj problem v tom, ze niekto si neprecita poriadne 
dokumentaciu, alebo niekto pred nim

si neprecita poriadne dokumentaciu a problem sa tiahne.

Ved podla mna uz prvy priklad prace so Swingom, kde si len zobrazite 
prazdne okno, vas donuti pouzit EXIT_ON_CLOSE.
Inak zistite, ze po desiatich spusteniach mate desat skrytych, ale 
nedisposenutych okien
a teda desat neviditelnych spustenych aplikacii. (U mna na cviceniach sa 
to prejavilo evidentne: ludom zacal zdochynat Eclipse :-)).


Ale chapem, ze casto clovek vpadne do technologie a neexistuje priestor 
/ cas / prilezitost na tutorialove upozornenia.


Automagicke disposovanie okien je presne taky pripad ako Connectiony, 
ResultSety a Statementy, a presne taky
isty priklad ako zatvaranie java.io.OutputStreamov ci Writerov. Nie je 
to teda ziadna rarita.


Ak vznikaju problemy, tak presne preto, ze vznika dojem, ze Java 
upratuje vsetko, vzdy a vsade, a dokonca

aj tam, kde je to vyslovne v zodpovednosti programatora.

On 26. 1. 2010 21:26, Ondra Medek wrote:

Aha. Pak tedy každý expert musí nastudovat, která metoda mu pod rukou
zdroje uklízí a která ne? To mi nepřijde příliš šťastné.
 

Lepsi kdyz to studuje expert, nez amater. Nakonec expert by to mozna
napsal lepe v C++. Proto je Java tak oblibena, ze se v ni chyb da
delat mene a jsou snadneji odhalitelne.

Situace je jina, pokud mate aplikaci, kterou od zacatku do konce
vyvijite sam nebo aspon nad vyvojem mate dohled. V beznem zivote ale
na vas spadne existujici aplikace (nebo lepe nekolik aplikaci), na
ktere se behem radu let vystridala rada lidi s ruznym stupnem znalosti
Javy, Swingu (a pripadne hafo dalsich knihoven). Pak jste vdecny za co
nejjednodussi programove konstrukce, ve kterych nelze udelat chyba.

   




Re: SQLite

2010-01-18 Tema obsahu Robert Novotny
HSQLDB je velmi elegantna databaza, podporuje dost velku mnozinu SQL, 
JAR je maly, umoznuje

rozlicne sposoby embeddovania, cistu in-memory databazu a pod.

Databazu uklada v podobe citatelneho textoveho skriptu do suboroveho 
systemu, ktory je viditelny (so sifrovanim nemam skusenosti.)


Derby ma zase vyhodu, ze syntax sa do velkej miery kryje z IBM DB2, 
migrovali sme data z DB2 do Derby

bez akychkolvek problemov.

Naco potrebujete kryptovat data?

On 18. 1. 2010 11:32, Petr Jonas wrote:

Dobrý den,
chtěl bych se zeptat, jaké máte zkušenosti s SQLite, chci k 
desktopovému projektu preidelat DB, jednoduchou, ze mi pripadne 
zbytecne instalovat mysql, či sostgre a pod.


a jak je to s šifrováním dat? a nejsou jednoduše k přečtení, nevíte 
někdo?.



děkuji předem za odpověď. 




Re: SQLite

2010-01-18 Tema obsahu Robert Novotny

Ono mam neodbytny pocit, ze akonahle su data ulozene len u klienta, tak
skor ci neskor sa najde nejaky vtipalek, co sa ich bude chciet snazit 
prelomit.


V tomto ohlade ma hsqldb naozaj nevyhodu -- oni totiz security vobec 
neriesia,

dokonca aj pouzivatelia (loginy a hesla) su tusim len pro forma.

RN

On 18. 1. 2010 16:57, Ondra Medek wrote:

Jestli to dobre chapu, tak se jedna o standalone aplikaci, tedy
sifrovaci algoritmus i klic bude soucasti aplikace, tedy uzivatel k
nim bude mit pristup. Tedy asi spise nez o nejakou 100% bezpecnost vam
asi jde o jakesi zamlzeni, aby to nemohl menit kazdy BFU. Pak bych
zvazil, jestli nestaci neco primitivniho na aplikacni vrstve. Napr.
vysledek = vysledek * 31 - 127, apod.

2010/1/18 Petr Jonasfoxovic.vel...@seznam.cz:
   

Zdravím

děkuji za info, no, nerad bych třeba aby uživatel věděl co a jak tam je
uložené, , a popřípadě natvrdo editoval v případě výsledků zápasů. jde zatím
jen o testovací prográmek, ale kdo ví.


Petr Jonas

Robert Novotny píše v Po 18. 01. 2010 v 13:22 +0100:

HSQLDB je velmi elegantna databaza, podporuje dost velku mnozinu SQL, JAR je
maly, umoznuje
rozlicne sposoby embeddovania, cistu in-memory databazu a pod.

Databazu uklada v podobe citatelneho textoveho skriptu do suboroveho
systemu, ktory je viditelny (so sifrovanim nemam skusenosti.)

Derby ma zase vyhodu, ze syntax sa do velkej miery kryje z IBM DB2,
migrovali sme data z DB2 do Derby
bez akychkolvek problemov.

Naco potrebujete kryptovat data?

On 18. 1. 2010 11:32, Petr Jonas wrote:

Dobrý den,
chtěl bych se zeptat, jaké máte zkušenosti s SQLite, chci k desktopovému
projektu preidelat DB, jednoduchou, ze mi pripadne zbytecne instalovat
mysql, či sostgre a pod.

a jak je to s šifrováním dat? a nejsou jednoduše k přečtení, nevíte někdo?.


děkuji předem za odpověď.



 



   




Re: Zkušenosti s Apache Wicket

2009-11-19 Tema obsahu Robert Novotny

Tym som chcel povedat, ze kym clovek pride na best practices,
predide chybam, uchopi filozofiu atd, tak to chvilu trva.

Wicket mal u mna prave problem v tych takych ,,soft znalostiach.

Napr. v prvom hobby projekte som pchal objekty rovno
do komponentov, lebo som nechapal modely a radsej
som ich obchadzal, alebo som mal strasny problem so strankovou
navigaciou. Bola tam metoda  na navrat na stranku, ktora brala instanciu 
stranky,

a samozrejme sa mi potom do sessnu ukladal cely strom stranok, ktore
sa navyse nerefreshovali z databazy pri novom requeste (lebo drzali
objekty, ktore som do nich nahadzal rovno), a dospel som
do stavu, ze sa projekt rozpadol :-) To vsak bolo za cias
starej verzie, ked neboli ziadne knihy a jedina dokumentacia bola
Wiki, a i tu som musel neraz editovat. (Kedze obsahovala iinformacie
spred dvoch verzii.)

Nove verzie osetrili niektore okrajove priklady a ked pochopite
modely, je to v pohode. S AJAXovymi komponentami som ale nerobil,
takze neviem povedat.

Aha a este pozitivum: wicket mal niekedy velmi velmi dobry mailing list,
poslali ste spravu a za den ste mali odpoved. Neviem, ci je to este
i v sucasnosti tak (aktivita dost opadla), ale vtedy to bol raj na zemi.

RN







On 18. 11. 2009 21:51, Petr Fejfar wrote:
Dne Wed, 18 Nov 2009 14:06:42 +0100 Robert Novotny 
robert.novo...@upjs.sk napsal/-a:




Uciaca krivka je intenzivne strma a problem je v tom, ze v behu vidiet


Tim myslis, ze se to da naucit rychle nebo ze se to uci pomalu?

(viz treba http://en.wikipedia.org/wiki/Learning_curve

The familiar expression steep learning curve may refer alternately
to rapid learning that is easy, or especially hard,
or to steady progress that is increasingly difficult
[...]
Originally it referred to quick progress in learning during
the initial stages
[...]
Over time, a different use of the metaphor has become common,
in which a steep learning curve means that something requires
a great deal of effort to learn

pf





Re: Zkušenosti s Apache Wicket

2009-11-18 Tema obsahu Robert Novotny

Robil som v tom hobby projekt v kombinacii s Hibernate.

Uciaca krivka je intenzivne strma a problem je v tom, ze v behu vidiet 
dve verzie: 1.3 a cerstvu 1.4, ktora pouziva generika. Dokumentacia 
miestami pokrivkava,

a mnozstvo knih je stavane na 1.3kovu verziu.

Ako komponentovy framework mi to prislo vyhodne, ale az od chvile, ked 
som pochopil niektore zakladne principy, ktore nie su velmi dobre 
propagovane.


Treba pochopit modely a treba si uvedomit, ze LoadableDetachableModel je 
v mnohych percentach pripadov nutnost (inak sa data ukladaju do sessnu,

data v komponentoch sa zahadne nerefreshuju, hoci to je zamer atd).

Na prvy pohlad tiez posobi odstrasujuco mnozstvo inline subclassovania 
tried, co nie je v Jave velmi obvykle, ale vo Wickete je to takpovediac 
sposob myslenia.


A pozor si treba dat na tu dvojitu hierarchiu: ktora musi byt zhodna v 
HTML i v kode, zaciatocnikom chvilu trva, kym si uvedomia, kde ju narusili.


Na druhy pohlad sa mi strasne pacila tvorba komponentov: vytvorim 
triedu, vytvorim HTML a mam hotovy komponent, ktory mozem pouzivat

hocikde na akejkolvek stranke.

Ja by som nedbal pouzit Wicket i na dalsom projekte, ale musel by som 
vediet, ze tam budu naozaj komplexne formulare.


On 18. 11. 2009 13:54, Petr Zajíc wrote:


Zdravím konferenci,

Po nějaké době se chci zase trochu věnovat Javě, a to na webu. Poměrně 
zděšen jsem zjistil, že frameworků existují doslova desítky, takže 
jsem provedl určitý výběr ... a vyšel mi z toho Apache Wicket. Má 
s ním někdo zkušenosti (dobré/špatné/proč?).


Javu znám spíše z desktopu a komponentový přístup je mi blízký ;-))

Díky za případné postřehy,

Petr





Re: Perzistence velkeho mnozstvi POJO

2009-06-24 Tema obsahu Robert Novotny

Presne, ak mate entity, s ktorymi pracuje webservice, staci
ich namapovat: v Hibernate pomocou XML (zrejme
tie entity nebudete moct olepovat anotaciami, kedze su generovane).

K zvysku staci lubovolny tutorial, napr. v slovencine:

http://ics.upjs.sk/~novotnyr/java/hibernate-tutorial/hibernate-tutorial.pdf

RN

On 24. 6. 2009 12:34, Daniel Holešínský wrote:

Zdravim,

minimalne je třeba entity namapovat pomoci anotaci | xml (hibernate 
napr).

Potom staci do persistence.xml (hibernate.cfg.xml) uvest parametr

property name=hibernate.hbm2ddl.auto value=update /

a voila :) tabulky se vytvareji. Jak pise Tom, je treba si k tomu cosi 
malo prostudovat.


DH

2009/6/24 Tomas Hubalek tomas.huba...@onsemi.com 
mailto:tomas.huba...@onsemi.com


Tak nejak nerozumim otazce.  Mnoho JPA frameworku tabulky vytvari
samo a
persistovat POJO je pro Hibernate hracka, staci mit jen par spravnych
anotaci.

BTW: Prosel sis nejaky tutorial k JPA nebo Hibernate?

Tom


 -Original Message-
 From: konference-boun...@java.cz mailto:konference-boun...@java.cz
 [mailto:konference-boun...@java.cz
mailto:konference-boun...@java.cz] On Behalf Of David Vokoun
 Sent: Wednesday, June 24, 2009 9:38 AM
 To: konference@java.cz mailto:konference@java.cz
 Subject: Perzistence velkeho mnozstvi POJO

 Ahoj,
 rad bych se zeptal, zda znate nekdo postup/ program/ plugin
 do Eclipse, pomoci ktereho (polo) automaticky zajistim
 perzistenci velkeho mnozstvi Pojo. Vygeneroval jsem si v
 Eclipsu z WSDL souboru skeletony webservis (Axis2).
 Vygenerovana poja bych rad nejak perzistoval (JPA,Hibernate),
 ale kvuli velkemu mnozstvi bych to nerad delal rucne. Nejlepe
 aby si to vytvorilo i tabulky v db.
 Diky za napady.
 David







Re: wicket a hibernate

2009-04-23 Tema obsahu Robert Novotny

Wicket + Hibernate som vyskusal v malej aplikacii a tiez som sa parkrat
popalil. Ale:

Dokumentacia to asi nezdoraznuje dostatocne explicitne, ale odpoved na Vas  
problem

znie: LoadableDetachableModel (LDM).

Vo vacsine pripadov treba pouzivat LDM, cize modely, kde sa pamata
a serializuje len primarny kluc (ID) entity. V opacnom pripade
sa do sessnu uklada kompletny objektovy graf, co zerie pamat a sposobuje
problemy typu s requestom sa mi nenacitaju nove data z databazy.
LDM je filozofia, ktora sa zdoraznuje bez ohladu na to, ci pouzivate
Hibernate alebo ciste SQL.

LDM si celu entitu dotiahne pri requeste, v metode load(). Problem
so serializaciou tak komplet odpada. (V sessne mate totiz len ID).

RN.


On Thu, 23 Apr 2009 12:16:41 +0200, radovan deka radovan.d...@seznam.cz  
wrote:


Ahoj, nevim zda jsem neco spatne nepochopil, ale pouzivani hibernate a  
wicketu soucasne me neprijde uplne sikovny. Problem je v tom, ze  
wicketovske kompomenty mohou mit ve svem modelu pouze tridy, ktere jsou  
serializovatelne (coz je logicke, vzhledem k tomu, jak wicket funguje).  
Ale vetsina domenovych trid v moji aplikaci jsou Hibernate entity, ktere  
podle me implementovat Serializable nemohou, pac hibernatem vytvarene  
proxy objekty zavisle na hibernate session pujdou asi tezko serializovat  
a deserializovat. Nevim teda jak tento rozpor rozumne vyresit. Vytvareni  
pomocnych serializovatelnych trid, ktere pouzivam v modelech mi neprijde  
zrovna efektivni reseni. Mate s tim nekdo nejakou zkusenost? Predem diky  
za odpoved.




--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


Re: Prenos velkych suborov do z klienta do webservice

2009-04-06 Tema obsahu Robert Novotny

Problem s beznymi WS je ten, ze vsetky data idu v sprave.

Ak pouzivate SOAP over HTTP (klasicky sposob), tak to znamena, ze vas  
obrovsky

subor pride ako jedna velka HTTP poziadavka, v ktorej je mnohomegove XML.

A to mnohomegove XML treba naparsovat a podobne, co je mimo pamatovych  
moznosti.


Cim chcem povedat len to, ze vidim problem, ale riesenie Vam neporadim
(v pripade HTTP je to podla mojich vedomosti priam nemozne).

On Mon, 06 Apr 2009 15:28:37 +0200, Dusan Zatkovsky msk.c...@gmail.com  
wrote:



Ahoj.

Snazim sa vyriesit $subj.

Zatial som skusil 2 cesty, ktore som vygooglil. Pomocou ws attachment v  
jax ws

a axis2.

jaxws vyzeralo nejak takto:

@WebService ()
@Stateless ()
public class FooWebService {

@WebMethod
public String uploadFileAsAttachment (
@WebParam (name = fileName) String fileName,
@WebParam (name = fileContent)
@XmlAttachmentRef () DataHandler fileContent ) throws  
IOException

{
...
}


Pre axis2 som upravil saopwithattachments example z
http://ws.apache.org/axis2/1_4_1/userguide-samples.html#others.

Oba priklady som vyskusal s GlassFish2, oba skoncili pri prenose  
/etc/passwd

uspesne, ale pri prenose vacsich suborov ( radovo GB, viac ako dostupna
RAM+swap ) po kratkej chvili na chybu suvisiaci s nedostatkom pamati.

Je este nejaka ina cesta, ako prenasat subory pomocou WS? Povodne som  
totiz

navrhoval, ze klient si s ws iba pokeca a samotny prenos obstara tretia
strana, pravdepodobne nejaky ssl socket, ktoremu da webservica echo o
klientovi a nejake autorizacne data, ktorymi sa potom klient ohlasi.  
Problem
je, ze je to pre mna dalsi overhead, spojeny mimo ineho aj s vecami s  
javou

nesuvisiacimi ( povolit dalsie porty u klienta a tak podobne ).

Diky.





--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


Re: Inicializacia JDBC ovladaca

2009-04-02 Tema obsahu Robert Novotny

V povodnej otazke som zabudol dolezitu vec: primarne
ma zaujima priklad trivialnych aplikacii, teda tych, ktore
sa vyskytuju v tutorialoch.

V nich nevidim rozdiel medzi Class.forName a new Driver().
Podla toho, co pisete, oba napevno zadrotuju ovladac
do aplikacie.

Ak to zosumarizujem:
* Class.forName umoznuje natiahnut nazov triedy z konfiguracie.
* new Driver() odbremenuje zaciatocnika od odchytu vynimky
* oba su inak funkcne ekvivalentne.

Ad DataSource:

DataSource dataSource = new MySqlDataSource()
Connection con = dataSource.getConnection(...)

Toto rovnako zadrotuje ovladac do aplikacie, ale pre pripady
trivialnych aplikacii a ukazok mi to pride ako najschodnejsi priklad.

(Prirodzene, ze v springovskych aplikaciach vacsinou
ani nevieme, ze existuje nejaky Connection a pod., pretoze
SimpeJdbcTemplate je naozaj super vec. Ale niekedy treba
ludi uviest do problematiky JDBC aspon v naznakoch.)

Spomenul som si este, ze v Jave 6 je uz automaticke
nacitavanie ovladacov cez META-INF/services, ale toto
zrejme este dlho nebude mat podporu medzi vyrobcami.


On Thu, 02 Apr 2009 09:18:30 +0200, Martin Kuba ma...@ics.muni.cz wrote:


Ahoj ve spolek,

ještě bych k tématu poznamenal, že používání DriverManager je od Javy  
1.4 zastaralé, viz

http://java.sun.com/javase/6/docs/api/java/sql/DriverManager.html

 The DataSource interface, new in the JDBC 2.0 API, provides another way
 to connect to a data source. The use of a DataSource object is the  
preferred

 means of connecting to a data source.

Problém s DataSource trochu je, že v JRE není jeho implementace,
tu má dodat výrobce JDBC ovladače.

Jako optimální se mi nyní jeví použít pro přístup k databázi Spring,
protože ten obsahuje různé implementace DataSource, zejména
org.springframework.jdbc.datasource.DriverManagerDataSource,
a tudíž můžu stejný kód používající DataSource použít
jak v desktopové aplikaci bez connection poolingu, tak ve webové aplikaci
s connection poolingem, jenom v konfiguraci měním implementaci  
DataSource.


S použitím třídy SimpleJdbcTemplate je pak práce s JDBC opravdu
příjemná, mohu doporučit. Vyráběl jsem k tomu onehdy návod, kdyby to  
někoho

zajímalo, je tady: http://kore.fi.muni.cz:5080/wiki/index.php/Spring_JDBC

Makub


Zdenek Tronicek napsal(a):

Dobry den,

presne tak. Kdyz napisete do kodu new MyDriver();, tak svazete aplikaci
s konkretnim driverem. Proto se ustalila konvence, ze driver ma staticky
inicializator, ktery jej zaregistruje u DriverManager:

public class MyDriver implements Driver {

static {
DriverManager.registerDriver(new MyDriver());
}
...
}

Pak staci natahnout tridu driveru do pameti. Bud pres Class.forName()
nebo nastavenim property jdbc.drivers na prikazove radce.

Z.T.







--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


Inicializacia JDBC ovladaca

2009-04-01 Tema obsahu Robert Novotny

Dobry den,
zamyslel som sa nad ukazkovymi kodmi inicializacie JDBC ovladaca a mam  
mozno hlupu otazku.
Takmer kazda prirucka / tutorial tvrdi, ze JDBC ovladac sa inicializuje  
nasledovne:


  try {
Class.forName(com.mysql.jdbc.Driver);
  } catch (ClassNotFoundException e) {
  e.printStackTrace();
  }

a pripojenie sa ziska cez Connection = DriverManager.getConnection(...),  
ale to nie je dolezite.


Nie je predsa lepsie rovno vytvorit instanciu ovladaca a vyhnut sa  
odchytavaniu

nanajvys obskurnej ClassNotFoundException?

  import com.mysql.jdbc.Driver;

  Driver driver = new Driver();
  Connection = DriverManager.getConnection(...)

Pripadne nezvyklejsie:
  new Driver();
  Connection = DriverManager.getConnection(...)

Dokumentacia tvrdi, ze Class.forName inicializuje ovladac
a zaregistruje ho v DriverManageri (zvycajne v bloku statickej  
inicializacie

v implementacii Drivera). Ale podla JLS sa toto iste musi stat
pred vytvorenim prvej instancie konkretneho Drivera.

Chapem nieco zle? Alebo vsetci opisuju z prazdroja, ktory ustanovil,
ze driver sa inicializuje cez Class.forName? Alebo sa vsetci
boja vytvorenia instancie, ktora sa nepouziva? [Ci vytvorenia
instancie, ktora sa nevlozi do premennej?]


Re: začátky s JEE

2009-03-17 Tema obsahu Robert Novotny
Tiez suhlasim s predrecnikom v tom, ze ucit sa JEE preto, aby ste poznali  
JEE

je zbytocne.
je lepsie zamysliet sa nad tym, ktore konkretne casti specifikacie, resp.
ktore konkretne prakticke problemy vas zaujimaju.

JEE je totiz natolko siroky pojem, ze moze znamenat vselico. S niektorymi
vecami sa mozno stretnut pravidelne (servlety), niektore je dobre
poznat (JSP) a zvladnutie niektorych velmi zalezi na tom, co od vas
chce klient alebo firma. JSF moze byt uzitocne, ale i uplne zbytocne,
ak ho nepouzivate. (Mozno pouzivate uplne iny webovy framework).
To iste sa tyka aj EJB, kde je rovnopravna alternativa v Springu.
Web services su vacsinou samostatna oblast. To iste messaging JMS.
A s konektormi sa prosty clovek stretne si len velmi zriedka.

A na druhej strane existuje mnozstvo oblasti, ktore su pouzivane, ale
v JEE su len scasti. Hibernate (ktore ma v JEE prienik v JPA). Spring.
Milion webovych frameworkov, ktore sa casto pouzivaju, ale maju smolu,
ze nemaju peciatku specifikacie.

Skuste sa zamysliet a pripadne spytat na konkretne technologie,
urcite sa najde viac (online) zdrojov.

Robert Novotny



On Tue, 17 Mar 2009 21:23:59 +0100, Ladislav Kulhanek  
ladislav.kulha...@gmail.com wrote:



Podle me se JavaEE neda ucit stylem, ze si koupim knizku JEE for
beginners, prectu si ji a umim JEE. JEE je strasne obsahle, obsahuje  
plno
technologii a clovek nemuze umet vsechno. Nauci se to, co potrebuje.  
Pouziva
se v projektu JSF? Holt se budu muset neco dozvedet o JSF. Pouziva  
Cocoon?

Naucim se pracovat s Cocoonem.
Je ale pravda, ze s nejakyma tachnologiema se clovek setka s velmi velkou
pravdepodobnosti. Nejcasteji pouzivane jsou asi Servlety, Jsp a treba
Hibernate.
Nejlepsi zpusob jak se naucit v JEE je programovat neco praktickeho,
HelloWorld priklady cloveku tolik nedaji. Zkusil bych si naprogramovat
nejakou webovou aplikaci. Neco trochu vetsiho, treba svoji vlastni wiki,
nebo cokoli jineho, ted me nic nenapada. Muzes si na ni vyzkouset hodne
veci: prihlaseni, komunikaci pres https, upload a download souboru,...  
muzes

do toho pak treba zakomponovat Hibernate nebo Spring.
Co se tyka zdroju, dobry serial o servletech a v cestine je tady:
http://interval.cz/clanky/java-servlets-predstavenie-technologie/

2009/3/17 Ondra Medek xmed...@gmail.com


Knihu nevim, ale

http://java.sun.com/javaee/5/docs/tutorial/doc/

Avsak tady je EJB, ne Spring.

2009/3/13 Jiří Nápravník jiri.naprav...@gmail.com:
 Dobrý den,
 začínám s Java EE a rád bych měl nějaké kvalitní zdroje. Mlůžete  
nějaké

 doporučit, chtěl bych nějak od začátku (zvládám v podstatě jen napsat
nějaký
 servlet) až řejněme mírně pokročilý. Preferoval bych knihu, čte se mi
lépe
 kniha než online zdroje. Pak ve finále bych si koupil Hibernate in  
Action

a
 Spring in Action, ale to až po nějakých základech apod. Díky za
trpělivost

 --
 Přeji pěkný zbytek dne, s pozdravem
 Jiří Nápravník




--
Ondra Medek





--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


Re: Kedy dojde k odstraneniu objektu?

2009-02-26 Tema obsahu Robert Novotny

Ano, ja som si uz na seminari uvedomil, ze to nie je dobre riesenie
(ani ako demonstracia) a teda, ze jedine dobre riesenie je
manualne zatvorenie. V tom danom priklade, ktory sme
na seminari rozoberali, by to vsak ulohu skomplikovalo.

Moralne ponaucenie z toho je, ze ak sa v niecom nevyznate dobre,
a chcete si tym zjednodusit situaciu, tak to radsej nepouzivajte,
lebo z toho vzidu este ovela vacsie hrozy.

On Thu, 26 Feb 2009 15:48:17 +0100, Ondrej Nekola on...@nekola.cz wrote:

Na neco takoveho vam finalize nepomuze. Duvody psalo nekolik lidi prede  
mnou.
O finalize se podrobneji pise trebas v Blochovi. Vysledek je, ze  
moznosti pro jeho pouziti jsou male, nekdo tu ukazoval zalozni  
dealokaci nekritickych zdroju, ja bych doplnil moznost napsat nejaky  
vypis typu Tady nejaky pitomec programator neuzavrel spojeni, trida XYZ  
neni spravne uzivana.
finalize() bych radeji nikdy nevolal manualne, napsal bych si radeji  
metodu close() nebo finishWork() nebo dealocate().. popsal ji v javadocu  
a tu volal rucne. A pak (po overeni, ze je to treba) ji pripadne volal z  
finalize jako moznost posledni zachrany.

OSN
PS: mnohdy je finaly to, co potrebujete.


Presne toto som vcera pozoroval na seminari z Javy.
Mali sme priklad, ked trieda mala po ukonceni aplikacie serializovat  
svoje data

na disk.

Najzjavnejsi a najjednoduchsi napad bolo pouzit finalize(). V  
inteligentnejsich pripadoch

by sa totiz zadanie skomplikovalo a na to nebol cas.

Polovici ludi to zbehlo a druhej polovici nie.
Aby sme to nakoniec nekomplikovali, rozhodli
sme sa volat finalize() manualne. Viac som po tom nepatral.

Ked sa na to pozeram, opat sa ukazalo, ze finalize() by v podstate
malo byt zakazane, lebo posobi len neplechu.

Vdaka za vysvetlenie.

RN



On Wed, 25 Feb 2009 10:44:41 +0100, Lukáš Zapletal  
lu...@zapletalovi.com wrote:



Necetl jsem to vse cele, ale je nutne si uvedomovat, ze GC nemusi
objekt uklidit vubec! Paklize dojde k ukonceni programu, nez dojde
pridelena heap a GC se nerozhodne vubec pro uklid, tak se javovsky
proces ukonci a vrati cely blok pameti do OS.

Tj k volani finalize nedojde vubec.

LZ

2009/2/24 Tomas Studva tstu...@gmail.com:
To kedy sa dealokovalo f, zaviselo od velkosti pola, cize ci sa este  
pred

cyklom automaticky spustilo gc.

Treba si vsak uvedomit ze kompilator nemoze takmer vobec ovplyvnit
dealokaciu - ak by bol predposledny prikaz bloku volanie nejakej  
metody, tak
uz nik nevie co sa stalo. Nejako vsak ten gc vie ze na f uz nic  
neukazuje,
alebo je v inej generacii ako stuff. Napada mi reference counting,  
ale to sa
zevraj nepouziva v gc-ckach (viem ale ze ref-count. napr. pouziva  
Cocoa).


Zdenek Tronicek  wrote / napísal(a):


Ja jsem popisoval, jak se chova JVM za normalnich podminek. V  
okamziku,
kdy zacne dochazet pamet, zacne JVM drsne optimalizovat. A ze to  
umi, lze

videt na tomto prikladu (z Vaseho kodu jsem vypustil blok):

   System.out.println(start);
   // vytvorim Foo
   Foo f = new Foo(null);
   // vytvorim pole Stuff
   Stuff[] theStuffs = new Stuff[10];
   for (int i = 0; i  theStuffs.length; i++) {
   theStuffs[i] = new Stuff();
   }
   // nez se dojde sem, je po objektu f
   while (true) {
   System.out.println(aaa);
   Runtime.getRuntime().gc();
   try {
   Thread.sleep(200);
   } catch (InterruptedException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
   }
   }

Na mem pocitaci dojde k dealokaci objektu f jeste drive, nez se  
vstoupi do
smycky while. Jak k tomu muze dojit? Java neco takoveho neumoznuje,  
jde

ciste o optimalizaci JVM.
Mimochodem, myslim, ze tohle je na hranici toho, co jeste lze delat,
protoze kdyby nejaky program spolehal na to, ze objekt nemuze byt  
dealokovan
pred koncem platnosti promenne f (tj. pred koncem metody), nebude  
fungovat.


Pokud jde o ty lokalni promenne, tak ve vypise javap je jejich pocet  
za

retezcem Locals= a po dobu vykonavani metody se tato hodnota nemeni.

Z.T.











--Using Opera's revolutionary e-mail client: http://www.opera.com/mail/






--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


Re: Kedy dojde k odstraneniu objektu?

2009-02-25 Tema obsahu Robert Novotny

Presne toto som vcera pozoroval na seminari z Javy.
Mali sme priklad, ked trieda mala po ukonceni aplikacie serializovat svoje  
data

na disk.

Najzjavnejsi a najjednoduchsi napad bolo pouzit finalize(). V  
inteligentnejsich pripadoch

by sa totiz zadanie skomplikovalo a na to nebol cas.

Polovici ludi to zbehlo a druhej polovici nie.
Aby sme to nakoniec nekomplikovali, rozhodli
sme sa volat finalize() manualne. Viac som po tom nepatral.

Ked sa na to pozeram, opat sa ukazalo, ze finalize() by v podstate
malo byt zakazane, lebo posobi len neplechu.

Vdaka za vysvetlenie.

RN



On Wed, 25 Feb 2009 10:44:41 +0100, Lukáš Zapletal lu...@zapletalovi.com  
wrote:



Necetl jsem to vse cele, ale je nutne si uvedomovat, ze GC nemusi
objekt uklidit vubec! Paklize dojde k ukonceni programu, nez dojde
pridelena heap a GC se nerozhodne vubec pro uklid, tak se javovsky
proces ukonci a vrati cely blok pameti do OS.

Tj k volani finalize nedojde vubec.

LZ

2009/2/24 Tomas Studva tstu...@gmail.com:
To kedy sa dealokovalo f, zaviselo od velkosti pola, cize ci sa este  
pred

cyklom automaticky spustilo gc.

Treba si vsak uvedomit ze kompilator nemoze takmer vobec ovplyvnit
dealokaciu - ak by bol predposledny prikaz bloku volanie nejakej  
metody, tak
uz nik nevie co sa stalo. Nejako vsak ten gc vie ze na f uz nic  
neukazuje,
alebo je v inej generacii ako stuff. Napada mi reference counting, ale  
to sa
zevraj nepouziva v gc-ckach (viem ale ze ref-count. napr. pouziva  
Cocoa).


Zdenek Tronicek  wrote / napísal(a):


Ja jsem popisoval, jak se chova JVM za normalnich podminek. V  
okamziku,
kdy zacne dochazet pamet, zacne JVM drsne optimalizovat. A ze to umi,  
lze

videt na tomto prikladu (z Vaseho kodu jsem vypustil blok):

       System.out.println(start);
       // vytvorim Foo
       Foo f = new Foo(null);
       // vytvorim pole Stuff
       Stuff[] theStuffs = new Stuff[10];
       for (int i = 0; i  theStuffs.length; i++) {
           theStuffs[i] = new Stuff();
       }
       // nez se dojde sem, je po objektu f
       while (true) {
           System.out.println(aaa);
           Runtime.getRuntime().gc();
           try {
               Thread.sleep(200);
           } catch (InterruptedException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
           }
       }

Na mem pocitaci dojde k dealokaci objektu f jeste drive, nez se  
vstoupi do

smycky while. Jak k tomu muze dojit? Java neco takoveho neumoznuje, jde
ciste o optimalizaci JVM.
Mimochodem, myslim, ze tohle je na hranici toho, co jeste lze delat,
protoze kdyby nejaky program spolehal na to, ze objekt nemuze byt  
dealokovan
pred koncem platnosti promenne f (tj. pred koncem metody), nebude  
fungovat.


Pokud jde o ty lokalni promenne, tak ve vypise javap je jejich pocet za
retezcem Locals= a po dobu vykonavani metody se tato hodnota nemeni.

Z.T.











--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


Re: Kedy dojde k odstraneniu objektu?

2009-02-24 Tema obsahu Robert Novotny
Garbage collector funguje nedeterministicky a v zavislosti od  
implementacie.

Inak povedane,
* neda sa zarucit jeho spustenie
* System.gc() je len navrh, ze ma zbehnut.

Letmy pohlad do dokumentacie podla mna nikde nehovori, ze premenna,
ktora vypadla zo scope MUSI byt zgarbagecollectovana.

Pokial mojmu zraku neusiel memory leak, tak by som jednoducho povedal,
ze GC usudil, ze kvoli dvom smiesnym instanciam nema zmysel
spustat GC masineriu.

RN




On Tue, 24 Feb 2009 17:04:45 +0100, Dusan Zatkovsky msk.c...@gmail.com  
wrote:



Ahoj.

Kedze som v jave novy a prechadzam do nej z C++, obcas sa pri  
programovani
pozastavim nad nejakou vecou, o ktorej viem, ze tak nejak funguje, ale  
aby

som mal pokojne spanie, musim si to osahat vlastnymi rukami.

Prave som napisal nejaku class-u, ktora obaluje urcite podclassy a  
poskutyje
urcitu ucelenu funkcionalitu. Tie jej podclassy rozne ukazuju sami do  
seba,

medzi sebou a tak podobne, proste o sebe vedia. A tak sa mi hlavou zacali
tocit otazky okolo garbage collectoru, platnosti objektov, case ich  
uvolnenia

z pamati a tak podobne.

A kedze som bol byvalym kolegom ( zdravim Ta Nhac :) ) presviedsany, ze  
reci

okolo javy a jej pamatovej nenazranosti su nezmysly, vyrobil som si rovno
maly test:

// obycajna class-a. Vypisom testujem cas jej odstranenia z pamati
// urdzuje odkaz na svoju nadradenu classu, pretoze obe budem nejak
// zapuzdrovat do jedneho celku a vyuzivaju medzi sebou svoje sluzby

public class Foo {

private Stuff stuff;

public Foo ( Stuff s ) {
this.stuff = s;
}

@Override
protected void finalize() {
System.out.println(finalize Foo);
}
}


// nejaka dalsia classa
public class Stuff {

public Foo foo = new Foo ( this );

@Override
protected void finalize() {
System.out.println(finalize Stuff);
}
}


public static void main(String[] args) {

System.out.println(start);
{
// vytvorim Foo
Foo f = new Foo(null);
// vytvorim Stuff, ten si vytvori dalsie Foo
Stuff s = new Stuff();
// f = null
}

// tu uz neexistuje ani Foo f, ani Stuff f, mozu byt zmazane

while ( true ) {
System.out.println(aaa);
Runtime.getRuntime().gc();
Thread.sleep(2000);
}
}
}


Kupodivu, vystupom programu bol nasledovny vypis:
start
aaa
aaa
aaa
...

Po pol hodine som to nechapajuc breakol.

Odkomentoval som to f = null

Vystup:
start
aaa
finalize Foo
aaa
aaa
aaa
...

Toto som nechal bezat par minut. Garbage collector ten Stuff nie a nie  
zmazat.


Priznam sa, ze to uplne nechapem, pretoze za prvou zlozenou zatvorkou }
straca Stuff s platnost a nema dovod viac existovat v pamati.

Mna by zaujimalo, kedy ho gc uvolni, pretoze pokial bude mat Stuff 2GB,  
bude

aplikacia bezdovodne kradnut systemu 2GB pamati na bordel, ktory uz nikdy
nepouzije, boh vie na aku dlhu dobu.

Diky.





--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


Re: typedef v jave / ako dedit z Integer, Long ...

2009-02-20 Tema obsahu Robert Novotny

Neviem presne, ako funguje typedef v C++ (C++ nepouzivam), je to vlastne
alias datoveho typu? Cize po

  typedef int DruhZvierata

mozem pisat

  DruhZvierata druhZvierata = 25;

?

Take nieco v Jave neexistuje. To co ste sa pokusali, je oddedenie
od zakladnych typov a to nefunguje.

Pomohlo by, keby ste zverejnili use-case, teda na co to presne potrebujete,
lebo mozno sa to da urobit inak.

Zakladna vec, co mi napada je

public class DruhZvierata {
  private int kodDruhu;

  public DruhZvierata(int kodDruhu) {
 this.kodDruhu = kodDruhu;
  }

  public int getValue() {

 return kodDruhu;
  }
}

V specialnych pripadoch sa hodi enum

public enum DruhZvierata {
   SUCHOZEMSKE, VODNE, OBOJZIVELNE
}

a potom

public class Zviera {
  private DruhZvierata druhZvierata;
}

...
tapir.setDruhZvierata(DruhZvierata.SUCHOZEMSKE);



RN
==

On Fri, 20 Feb 2009 16:14:50 +0100, Dusan Zatkovsky msk.c...@gmail.com  
wrote:



Ahoj.

Uz budem asi trapny, ale ako dosiahnut v jave podobneho efektu aky ma v  
c++

typedef?

Chcem si zadefinovat vlastne typy pre rozne ciselne premenne, ale rad by  
som
bol, aby kompilator kvical v pripade, ze by som mixoval medzi sebou  
rozne

typy hala-bala.

Skusal som class Foo extends Long {}, ale Long je final. Tym som  
vycerpal

vsetky napady. Google moc nepomaha, neviem sa spravne opytat.

Diky





--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


Re: typedef v jave / ako dedit z Integer, Long ...

2009-02-20 Tema obsahu Robert Novotny
Teda chapem to spravne, sluzi to na to, aby si pouzivatel nepomylil  
poradie parametrov.


Toto sa v Jave neda, jedine riesenie je to obalit do triedy, teda urobit
triedu s jednou instancnou premennou.

public class DocumentID {
   private long value;
   // konstruktory, gettre, settre
}


public class OtherID {
   private long value;
   // konstruktory, gettre, settre
}

public void foo(DocumentId doc, OtherID oth) {
}

RN

On Fri, 20 Feb 2009 17:04:09 +0100, Dusan Zatkovsky msk.c...@gmail.com  
wrote:



On Friday 20 of February 2009 16:52:37 Tomas Hubalek wrote:

Muzes spis ukazat nejake pouziti?


Parametre ochranene typmi, kompilator vyhlasi chybu:

typedef long DocumentID;
typedef long OtherID;

void foo ( DocumentID doc, OtherID oth ) {

// ...

}

DocumentID did = 1;
OtherID oid = 2;

foo ( did, oid );
foo ( oid, did );   // kompilator povie fuck

---

Holy long, kompilator to skompiluje a kod bude robit nezmysly:

long did = 1;
long oid = 2;

foo ( did, oid );
foo ( oid, did );








--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


Ako prepojit dve webaplikacie?

2009-02-11 Tema obsahu Robert Novotny

Dobry den,
riesime s kolegami nasledujuci architekturno-technologicky problem
a nedari sa nam prist na zmysluplne riesenie.

Mame informacny system ktory ma byt rozsireny
o vrstvu webovych sluzieb. V nej maju byt zverejnene dolezite
funkcie informacneho systemu, ku ktorym budu pristupovat klienti.

IS je rieseny ako (jedna) webova aplikacia nasadena na Tomcate,
webove sluzby riesime cez Spring-WS.

Nasim cielom je mat WS vrstvu co najviac nezavislu od zvysku projektu.
Jednak kvoli vyvojarom web. sluzieb a jednak kvoli tomu, aby bolo
mozne nasadzovat, spustat a zastavovat WS nezavisle od zvysku systemu.

Napad 1: [tazkotonazny]
* Jeden Eclipse projekt, dodat do webovej aplikacie springovsky
servlet, nasadit ho a pouzivat. Vsetko bude na kope.

Napad 2:
* Dva projekty (1 existujuci pre jadro, druhy pre WS, WS zavisi na jadre).
Do webovej aplikacie sa doda springovsky servlet a vrstva s WS sa zabali  
do JARu,

ktory sa deployne do webovej aplikacie.

Napad 3:
* Dva projekty (1 existujuci pre jadro, druhy pre WS, WS zavisi na jadre).
Dve webove aplikacie (jedna cisto pre WS, druha pre jadro). To znamena,
ze potrebujeme mat triedy jadra nasadene dvakrat, co sposobi problem
so synchronizaciou balickov, tried a pod.

Napad 4:
* Dva projekty (1 existujuci pre jadro, druhy pre WS, WS zavisi na jadre).
Dve webove aplikacie (jedna cisto pre WS, druha pre jadro).
WS webaplikacia nejakym zazracnym sposobom vidi triedy z webaplikacie  
jadra.
Pozeral som sa na principy classloaderov v Tomcate, ale jediny sposob by  
bol nasadit

triedy do SYSTEM classloadera Tomcatu, co znamena publikovanie JARov jadra
do $TOMCAT/lib, co nie je ktovieco.

Nemate niekto skusenosti s komunikaciou dvoch web aplikacii alebo
nejaku radu, ktory napad je lepsi? Vdaka.

Robert Novotny






Re: Ako prepojit dve webaplikacie?

2009-02-11 Tema obsahu Robert Novotny

Oddelenie funkcionality od webovej aplikacie je, zial, nemozne.
Je to zdedena webova aplikacia, kde taketo riesenie neprichadza do uvahy.

Ale v inom pripade by to bol dobry napad.

On Wed, 11 Feb 2009 12:45:19 +0100, Martin Kuba ma...@ics.muni.cz wrote:


Navrhuji nápad 5, mít tři projekty, v jednom jen třídy představující
funkcionalitu aplikace, ve druhém webovou aplikaci a ve třetím
webové služby. Druhý a třetí projekt budou záviset na prvním,
takže třídy budete udržovat jen jednou, ale v běžícím TomCatu
budou dvakrát, v každé webové aplikaci zvlášť.

Zívislosti mezi projekty se dají udělatv NetBeans, v IntellijIDEA i v
Mavenu, a určitě i jinde.

Makub

Robert Novotny napsal(a):

Napad 4:
* Dva projekty (1 existujuci pre jadro, druhy pre WS, WS zavisi na  
jadre).

Dve webove aplikacie (jedna cisto pre WS, druha pre jadro).
WS webaplikacia nejakym zazracnym sposobom vidi triedy z webaplikacie
jadra.
Pozeral som sa na principy classloaderov v Tomcate, ale jediny sposob by
bol nasadit
triedy do SYSTEM classloadera Tomcatu, co znamena publikovanie JARov  
jadra

do $TOMCAT/lib, co nie je ktovieco.

Nemate niekto skusenosti s komunikaciou dvoch web aplikacii alebo
nejaku radu, ktory napad je lepsi? Vdaka.

Robert Novotny







--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


Re: ako zistit webservice root v jax-ws

2008-10-09 Tema obsahu Robert Novotny

Pozdravujem,
nie je mi celkom jasne, ze co znamena korenovy adresar web service.
To je adresar v suborovom systeme, kde je WEB-INF? Ak
hej, tak je problem v tom, ze JAX-WS sluzba netusi nic o tom,
ze pod nou bezi nejaky servletovy kontajner.
Idiotske riesenie (po dvojsekundovej uvahe) mi pride skusit tahat
cestu cez tovaren so statickou premennou, kde tu cestu k adresaru
nastavite v servlete (servlet totiz vacsinou vie, aka adresa
vo filesysteme zodpoveda WEB-INF adresaru).

Ale urcite niekoho napadne menej brutalne riesenie.

RN

On Thu, 09 Oct 2008 11:49:33 +0200, jozef menda [EMAIL PROTECTED]  
wrote:



mam webservice v jax-ws,beziacu na tomcate,potrebujem v nej nacitavat
nejaky subor,ktory sa nachadza v korenovom adreari webservice. Ako
ziskam absolutnu adresu korenoveho adresara tej webservice aby som
mohol otvorit ten subor?
mozno zaciatocnicka otazka,ale pre jax-ws som odpoved nikde nenasiel.
vdaka.




--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


Re: WebService vs. vlastny format

2008-10-06 Tema obsahu Robert Novotny
Sunovska implementacia JAX-WS 2.0 je primarne vyvijana pod subprojektom  
Glassfish Metro

a ten urcite bezi aj pod JDK 5.

Co sa tyka WSDL: myslim, ze vacsina nastrojov je zalozena na WSDL 1.1,
ktore je uz dobrych 5 rokov stabilne a obavy nie su na mieste.
Ten je podporovany vsetkymi moznymi platformami.

WSDL 2.0 je sice novsia verzia, ale neviem, ci ho vobec niekto pouziva.

Navyse, WSDL je istym sposobom dokumentacia k webovej sluzbe,
mozno z nej vygenerovat server i klienta a zarucuje konzistentnost
rozhrania (v zmysle syntax sprav), ku ktoremu pristupuju klienty
Hessian nic analogicke neponuka.

Ale Hessian ma urcite zmysel v pripade, ze sa neplanuje interoperabilita
a klienti su jednoduchi (dokonca som videl implementacie Hessianu v inych
jazykoch).

Tiez by som dal pozornosti webservicovsky framework Spring-WS, ktory je  
postaveny na cistom

posielani XML sprav. V minimalistickej verzii nie je ani potrebne
mat WSDL. Volitelne je mozne zapajat validaciu sprav, podporu WSDL,
bezpecnost, serializaciu XML sprav na objekty (s pouzitim existujucich
kniznic ako napr. JAXB).


RN
On Mon, 06 Oct 2008 11:17:00 +0200, Radovana Straube  
[EMAIL PROTECTED] wrote:



JAX WS 2.0 funguje i na JDK 1.5.0.

Dakujem za odpoved. Trochu ma poplietol clanok
Introducing JAX-WS 2.0 With the Java SE 6 Platform
http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/


Jinak rict ze WSDL podleha vyvoji a tim padem bude vetsi a
tezkopadnejsi mi prijde ponekud zvlastni.
Podla kolegu ma clovek nad svojim formatom vacsiu kontrolu a stale sa  
rozvijajuce technologie prinasaju iba viac roboty. S cim zase az tak  
nesuhlasim. Niekedy nove technologie pracu zjednodusia.








--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


Re: SOAP klient

2008-09-30 Tema obsahu Robert Novotny

Tiez sa pripajam k nazoru, ze pokial je k dispozicii WSDL,
tak je urcite lepsie vygenerovat kod klienta cez WSDL2Java
nez sa ho snazit zbastlit rucne.

Co presne znamena
to, co mi vylezlo se vůbec nijak nepodobalo tomu, co se píše v  
dokumentaci dál.


Znamena to, ze vygenerovany klient nefungoval?

RN

On Tue, 30 Sep 2008 11:08:22 +0200, Martin Kuba [EMAIL PROTECTED] wrote:


Vladimír Náprstek napsal(a):

Zdravím,
generování jsem zkoušel a nějak jsem se nikam nedostal, protože to, co
mi vylezlo se vůbec nijak nepodobalo tomu, co se píše v dokumentaci dál.


To se mi nezdá, vygenerovat stub z WSDL funguje podle mých zkušeností  
nejspolehlivěji.

Naopak skládání SOAP requestu ručně nebo generování z WSDL za běhu
má sklon k vytvoření špatného XML.


Nicméně jsem našel jinou cestu (pro mne čitelnější) a zadrhl jsem se na
kouzlu. Mám kód:

MessageFactory messageFactory = MessageFactory.newInstance();
SOAPMessage message = messageFactory.createMessage();

SOAPPart soapPart = message.getSOAPPart();
MimeHeaders hd = message.getMimeHeaders();
String authorization = new BASE64Encoder().encode((userName + : +
pass).getBytes());
hd.addHeader(Authorization, Basic  + authorization);


Do manipulace HTTP hlaviček kvůli autentizaci bych se nepouštěl.

U většiny webservicových frameworků se dá manipulovat část
odpovědná za HTTP transport, u Axis2 je to Commons HttpClient
a postup je popsán tady:

http://ws.apache.org/axis2/1_4_1/http-transport.html#preemptive_auth

Makub




--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


Re: SOAP klient

2008-09-30 Tema obsahu Robert Novotny

Ano, mne sa stalo v pripade stareho Axisu, ze pre obsiahle
WSDL generoval obludne velke klientske subory (svetovy
rekord drzi 500kB class, ktory posielal eclipseovske
i netbeansovske editory do kolien).

V kazdom pripadne nerozumiem, co znamenalo, ze vygenerovany
klient sa nedal pouzit - triedy sa Vam zdali nepouzitelne?

Ak to vsak funguje manualnym sposobom (teda
vybudovanim spravy), tak je to asi akceptovatelne
v pripade, ze su spravy jednoduche.

RN

On Tue, 30 Sep 2008 15:17:16 +0200, Vladimír Náprstek  
[EMAIL PROTECTED] wrote:



Robert Novotny píše v Út 30. 09. 2008 v 11:25 +0200:

Tiez sa pripajam k nazoru, ze pokial je k dispozicii WSDL,
tak je urcite lepsie vygenerovat kod klienta cez WSDL2Java
nez sa ho snazit zbastlit rucne.

Co presne znamena
 to, co mi vylezlo se vůbec nijak nepodobalo tomu, co se píše v
 dokumentaci dál.

Znamena to, ze vygenerovany klient nefungoval?


Abych řekl pravdu, tak nevím. Vypadl mi jeden soubor (přes 7000 řádků),
ze kterého jsem nebyl moc moudrý. No a pak dál podle dokumentace jsem se
pokoušel toho vygenerovaného klienta použít ale nepochodil jsem. Začal
jsem z toho úplně magořit, tak jsem toho nechal. A u axus-u (jak tu už
padlo s tím autentifikátorem) jsem nepochodil protože se mi hlavní uzel
generoval s tagem arg0 a nenašel jsem způsob, jak to změnit.

Nakonec jsem si vyrobil zprávu (přes javax.xml.soap.*) a pak ji
nasprosto poslal pomocí org.apache.commons.httpclient.HttpClient-a. Není
to moc profesionální, ale funguje to a zdrojáky mají celkem asi 400
řádek (včetně komentářů a čtení dat z ORA databáze).

PS ta služba je SAPová, ten wsdl podle toho vypadá. Ale vím, jak má
vypadat výsledná xml zpráva, takže ji mohu vyrobit celkem snadno.






RN

On Tue, 30 Sep 2008 11:08:22 +0200, Martin Kuba [EMAIL PROTECTED]  
wrote:


 Vladimír Náprstek napsal(a):
 Zdravím,
 generování jsem zkoušel a nějak jsem se nikam nedostal, protože to,  
co
 mi vylezlo se vůbec nijak nepodobalo tomu, co se píše v dokumentaci  
dál.


 To se mi nezdá, vygenerovat stub z WSDL funguje podle mých zkušeností
 nejspolehlivěji.
 Naopak skládání SOAP requestu ručně nebo generování z WSDL za běhu
 má sklon k vytvoření špatného XML.

 Nicméně jsem našel jinou cestu (pro mne čitelnější) a zadrhl jsem se  
na

 kouzlu. Mám kód:

 MessageFactory messageFactory = MessageFactory.newInstance();
 SOAPMessage message = messageFactory.createMessage();

 SOAPPart soapPart = message.getSOAPPart();
 MimeHeaders hd = message.getMimeHeaders();
 String authorization = new BASE64Encoder().encode((userName + : +
 pass).getBytes());
 hd.addHeader(Authorization, Basic  + authorization);

 Do manipulace HTTP hlaviček kvůli autentizaci bych se nepouštěl.

 U většiny webservicových frameworků se dá manipulovat část
 odpovědná za HTTP transport, u Axis2 je to Commons HttpClient
 a postup je popsán tady:

 http://ws.apache.org/axis2/1_4_1/http-transport.html#preemptive_auth

 Makub







--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


nastroj

2008-04-13 Tema obsahu Robert Novotny

Zdravim,
mne sa pre jednoduche pripady osvedcil nastroj na prezeranie a 
manipulovanie s databazou Squirrel[1].
Okrem moznosti vykonavat SQL prikazy umoznuje aj zobrazit tabulky v 
grafickej podobe.


[1] http://squirrel-sql.sourceforge.net/


Ahoj, chtel bych se zeptat, zda existuje naky volne dostupny nastroj, ktery by 
umel z jiz vytvorene databaze nakreslit ER diagram. Databazi mi vytvoril 
Hibernate z domain modelu. Diky
  





Stripes 1.5

2008-02-13 Tema obsahu Robert Novotny

Tak Stripes, Wicket nebo Tapestry? Muze nekdo shrnout pros_n_cons ?
LZ



Wicket je zase komponentovo orientovany - kym v MVC pracuje stranka
plusminus nad jednym modelom, kazdy wicketovsky komponent moze mat
vlastny model, ktory sa aktualizuje nezavisle od ostatnych.

Zhrnutie Wicketu
* filozofia OOP sa pouziva napriec celym frameworkom - dedicnosti,  
kompozicie a vnutornych tried
je tam pozehnane. Ak chcete zmenit spravanie nejakeho komponentu,  
jednoducho oddedite danu metodu

a je vystarano.
* idey su znacne ovplyvnene Swingom. Komponenty su nemanazovane -  
vytvaraju sa ich instancie, ktore
sa hierarchicky pridavaju do nadradenych komponentov (textove pole do  
formulara, ten do stranky atd.)
Rovnako sa nerozmysla v pojmoch ako session-request a response, ale v  
komponentovo-udalostnych
pojmoch. Prikladom je komponent link, vytvori sa jeho instancia, prida do  
formulara,
oddedi sa metoda onClick() a v nej sa uvedie kod. K dispozicii je pomerne  
velky pocet roznych
komponentov, pre menej bezne a uzitocne komponenty existuje wicketovsky  
subprojekt.
* komponenty je mozne samozrejme skladat a znovupouzivat, co je dost velka  
vyhoda (podobne
ako v JSF). Je mozne si urobit komplexny komponent zobrazujuci profil  
pouzivatela a pouzit ho takpovediac
na jeden riadok v lubovolnej stranke. Vytvaranie vlastnych komponentov je  
velmi jednoduche

(oddedime, zmenime prislusne spravanie, dodame HTML sablonu so vzhladom).
* ziadna aplikacna logika v templateoch (skoro ciste HTML, niekolko malo  
specifickych tagov

s prefixom wicket). Stranky je mozne principialne prezerat a editovat
v lubovolnom WYSIWYG editore (pouzitie dedicnosti (napr. kvoli jednotnemu  
vzhladu) to vsak

moze skomplikovat).
* filozofia templateov je podobna Tapestry: v HTML kode sa priradi tagu  
specialny

identifikator cez (wicket:id) a v Java triede sa vytvori instancia triedy.
* pomerne vysoka uciaca krivka - pochopenie fungovania modelov,  
ktory-kde-kedy pouzit
trochu trva a musi sa vzit. Ak vsak clovek pochopi tu celkovu filozofiu  
(ktora je v principe

velmi jednoducha), produktivita rastie.
* vyborna podpora cez mailing list. Ak je nejaka vec, ktora v dokumentacii  
chyba,

otazka do mailinglistu da odpoved velmi rychlo a velmi privetivou formou.

Inak s vyjdenim Spring 2.5 znacne prekopali aj MVC cast. Je o tom clanok  
na java.cz
portale - anotacie a convention-by-configuration su moznosti, ktore Spring  
MVC

znacne priblizuju filozofii Stripes.

RN