Re: konverze properties file do excelu

2014-06-22 Tema obsahu Petr Synek
Ahoj, 

resim to takhle: http://www.getlocalization.com/ , misto Excelu pouzivam tento 
web. 

Petr

__
 Od: Jiří Chaloupka k...@chalu.cz
 Komu: Java konference@java.cz
 Datum: 23.06.2014 00:12
 Předmět: konverze properties file do excelu

Zdravím konferenci,
potřebuji předat jazykový lokalizační soubor (messages.properties)
překladateli na překlad, ideálně jako excelovou tabulku.

Základ je jednoduchá, načíst do excelu jako csv soubor, uložit jako xls.
Problém je s tím, že v tu chvíli bude obsahovat escapované znaky. Podobně
zpět - dostanu excelový soubor, kde budou zase jiné znaky na escapování,
budu potřebovat zkonvertovat zpět.

Jak toto řešíte vy? Přijde mi to jako obecná věc, která už musí být nějak
jednoduše vyřešená, nechci vymýšlet kolo...

Díky za nasměrování
Jirka



Re: Androidi aplikace pres Google Private channel

2013-04-23 Tema obsahu Petr Synek
Ahoj Stando, 

v Settings / Accounts muzes pridat nekolik Google uctu. Viz.: 
https://developers.google.com/google-apps/tasks/images/Accounts_On_Android.png
https://lh4.googleusercontent.com/-8vnjsQi7mM4/T0P5grOSCeI/Fio/1hC_A2Ou6u8/s400/3.png

Uz od verze 2.3 tohle slo (na mem telefonu). Ale asi to slo uz mnohem driv. Pak 
muzes pristupovat k nekolika gmail uctum soucasne. V gmail aplikaci pres 
combobox si vyberes konkretni schranku. To same v Google Play aplikaci kde taky 
vidis vsechny pridane ucty. Pokud chces mit jistotu ze aplikaci 
nainstalujes/koupis pres spravny ucet, tak je lepsi pouzit Google Play na webu. 
Telefon ti aplikace vetsinou instaluje pres hlavni ucet v telefonu (ten co 
zadas jako prvni). 

Od Androidu 4.2 je mozne se na tablet zalogovat pod ruznymi uzivateli. Ty se 
vybiraji na zamykaci obrazovce, ale to je neco jineho. Kazdy takovy uzivatel 
tabletu muze opet mit ve svem profilu pridanych nekolik google uctu. No je to 
trochu slozite co ? :-) 

Petr

__
 Od: Stanislav Ošmera osm...@gmail.com
 Komu: Java konference@java.cz
 Datum: 23.04.2013 09:25
 Předmět: Re: Androidi aplikace pres Google Private channel

Ahoj

Tak to je pro me novinka, podle me az do androidu 4.1/4.2 neslo na
telefonu pouzivat vice uctu nez jeden. I pak je to ovsem omezene tak
ze prihlaseny v jednu chvili muze byt jen jeden, takze by to podle me
znamenalo ze se bude kvuli pouzivani jedne aplikace clovek
prehlasovat. Jestlize je mozno pripojit vice jak jeden ucet soucasne
tak by to mohlo chodit, ale to bych rad vedel jak? (muzes Petre prosim
nahodit jak / i kdyz je to trochu dost off topic/)

Jinak k predchozimu dotazu. Kdyz si clovek stahne nejakou aplikaci z
marketu pod jednim uctem a pak v telefonu zmeni uzivatele, tak tu
aplikaci nevidi a musi si ji znovu nainstalovat (asi vyuzije jiz
nainstalovane resource, ale to nevim jiste)

Standa

2013/4/22 Petr Synek petr.sy...@centrum.cz:
 Ahoj,

 domnívám se, že je možné mít připojeno několik Google účtů v telefonu a 
 využívat aplikace ze všech účtů současně (i ty zakoupené). Osobně mám na 
 svém telefonu připojeno cca 6 google účtů. Z toho 3 z Google Apps pro 
 vlastní WWW doménu, kterou provozuju přes Google Sites.

 Na 2 různých Google účtech mám zakoupeny aplikace a mám přístup ke všem 
 těmto aplikacím současně.

 Admin Google Apps může přidávat další uživatele podle libosti. Takže může 
 komukoli sdělit jméno/heslo ať je z jakékoli externí firmy.

 petr

 __
 Od: Stanislav Ošmera osm...@gmail.com
 Komu: Java konference@java.cz
 Datum: 22.04.2013 10:56
 Předmět: Re: Androidi aplikace pres Google Private channel

To by samozrejme slo, ale aby tu aplikaco mohl pouzivat tak by musel
mit ten android telefon porad prihlasenej do uctu pr...@franta.com, co
asi nebude chtit, bude chtit to mit prihlasene do nejakeho sveho uctu.
Ael z podstaty androidu, kdyz se prihlasi do sveho uctu, tak ztrati
aplikace ktere ziskal pod jinym uctem (tim docasnym pristupem na
pr...@franta.com)

2013/4/22  el.wond...@centrum.cz:
 Tjn taky jsem pochopil, ze to je jen pro lidi pod danou domenou, ale nelze 
 to pak udelat tak, ze dam externimu uzivateli, ktery neni nasim 
 zakaznikem, prihlasovaci udaje k pr...@franta.com a on se tam prihlasi pod 
 timto domenovym uctem?

 Lukas

 __
 Od: Stanislav Ošmera osm...@gmail.com
 Komu: Java konference@java.cz
 Datum: 22.04.2013 10:35
 Předmět: Re: Androidi aplikace pres Google Private channel

Ahoj,

ted trochu varim z vody, ale nevim jestli ti to k necemu bude,
respektive jestli jsi si vedom jednoho omezeni. Myslim ze kdyz jsem se
na to dival tak platilo ze ty jako developer ma googgle aps ucet a
vytvoris uzivatele pod svym aps (domenou), tem pak muzes distribuovat
aplikace. Zjednodusene, mam google aps domenu www.franta.com, mam pod
ni uzivatele pr...@franta.com , dr...@franta.com  tem muzu
distribuovat aplikace, ale kdyz je nekdo mimo jako treba
p...@centrum.cz, nebo p...@gmail.com, tak ten se k tomu proste
nedostane.
Alespon ja jsem to tak pochopil pred nejakou dobou kdyz jsem se na to
koukal(takze se to jiz mohlo zmenit)


2013/4/22  el.wond...@centrum.cz:
 Ahoj, jmenuju se Lukas a mam nasledujici problemek. Chtel bych 
 zpristupnit androidi aplikaci na Google Play storu pomoci Google Private 
 Channel? Mate s tim nekdo zkusenosti? Hledal jsem na netu, kde je ze 
 strany googlu spousta informaci, ale jsem z toho trosku zmateny.

 Jestli to dobre chapu, je potreba mit administratorsky ucet na Google 
 Apps, kterym povolim ten Private Channel, dale ucet ktery mi dovoli 
 publikovat android aplikaci a pak ucet, ktery mi dovoli stahnout moji 
 aplikaci. Nechapu, jak je to s placenim. Abych mohl nahravat aplikace do 
 Google Play Storu potrebuju pristup k Google Developer Console ( 
 poplatek 25 dolaru ). Ted ale nevim, jak s tema ostatnima uctama. Na tom 
 Google

Re: Androidi aplikace pres Google Private channel

2013-04-22 Tema obsahu Petr Synek
Ahoj, 

domnívám se, že je možné mít připojeno několik Google účtů v telefonu a 
využívat aplikace ze všech účtů současně (i ty zakoupené). Osobně mám na svém 
telefonu připojeno cca 6 google účtů. Z toho 3 z Google Apps pro vlastní WWW 
doménu, kterou provozuju přes Google Sites. 

Na 2 různých Google účtech mám zakoupeny aplikace a mám přístup ke všem těmto 
aplikacím současně. 

Admin Google Apps může přidávat další uživatele podle libosti. Takže může 
komukoli sdělit jméno/heslo ať je z jakékoli externí firmy. 

petr

__
 Od: Stanislav Ošmera osm...@gmail.com
 Komu: Java konference@java.cz
 Datum: 22.04.2013 10:56
 Předmět: Re: Androidi aplikace pres Google Private channel

To by samozrejme slo, ale aby tu aplikaco mohl pouzivat tak by musel
mit ten android telefon porad prihlasenej do uctu pr...@franta.com, co
asi nebude chtit, bude chtit to mit prihlasene do nejakeho sveho uctu.
Ael z podstaty androidu, kdyz se prihlasi do sveho uctu, tak ztrati
aplikace ktere ziskal pod jinym uctem (tim docasnym pristupem na
pr...@franta.com)

2013/4/22  el.wond...@centrum.cz:
 Tjn taky jsem pochopil, ze to je jen pro lidi pod danou domenou, ale nelze 
 to pak udelat tak, ze dam externimu uzivateli, ktery neni nasim zakaznikem, 
 prihlasovaci udaje k pr...@franta.com a on se tam prihlasi pod timto 
 domenovym uctem?

 Lukas

 __
 Od: Stanislav Ošmera osm...@gmail.com
 Komu: Java konference@java.cz
 Datum: 22.04.2013 10:35
 Předmět: Re: Androidi aplikace pres Google Private channel

Ahoj,

ted trochu varim z vody, ale nevim jestli ti to k necemu bude,
respektive jestli jsi si vedom jednoho omezeni. Myslim ze kdyz jsem se
na to dival tak platilo ze ty jako developer ma googgle aps ucet a
vytvoris uzivatele pod svym aps (domenou), tem pak muzes distribuovat
aplikace. Zjednodusene, mam google aps domenu www.franta.com, mam pod
ni uzivatele pr...@franta.com , dr...@franta.com  tem muzu
distribuovat aplikace, ale kdyz je nekdo mimo jako treba
p...@centrum.cz, nebo p...@gmail.com, tak ten se k tomu proste
nedostane.
Alespon ja jsem to tak pochopil pred nejakou dobou kdyz jsem se na to
koukal(takze se to jiz mohlo zmenit)


2013/4/22  el.wond...@centrum.cz:
 Ahoj, jmenuju se Lukas a mam nasledujici problemek. Chtel bych zpristupnit 
 androidi aplikaci na Google Play storu pomoci Google Private Channel? Mate 
 s tim nekdo zkusenosti? Hledal jsem na netu, kde je ze strany googlu 
 spousta informaci, ale jsem z toho trosku zmateny.

 Jestli to dobre chapu, je potreba mit administratorsky ucet na Google 
 Apps, kterym povolim ten Private Channel, dale ucet ktery mi dovoli 
 publikovat android aplikaci a pak ucet, ktery mi dovoli stahnout moji 
 aplikaci. Nechapu, jak je to s placenim. Abych mohl nahravat aplikace do 
 Google Play Storu potrebuju pristup k Google Developer Console ( poplatek 
 25 dolaru ). Ted ale nevim, jak s tema ostatnima uctama. Na tom Google 
 Apps se plati nejak 4 dolary za ucet a mesic nebo 40 dolaru za ucet a rok.

 Ma otazka tedy zni abych mohl dovolit stahnout moji aplikaci pouze urcitym 
 lidem potrebuji:
 --

 Google Developer Console ucet ( jednorazove platim 25$ )
 Google Apps admin ucet ( 4$ / mesic )
 Google Apps download ucet ( 4$ / mesic )

 Budu teda platit 8$ mesicne? Neda se to nejak zmensit nebo to delam spatne?

 Predem dik za Vase komenty.

 Lukas



--
Stanislav Ošmera
Tel: +420 722 683 456
Skype: sosmera   ICQ:149634231
Jabber: osm...@gmail.com




-- 
Stanislav Ošmera
Tel: +420 722 683 456
Skype: sosmera   ICQ:149634231
Jabber: osm...@gmail.com



Re: Androidi aplikace pres Google Private channel

2013-04-22 Tema obsahu Petr Synek
Další možnost může být umístit aplikaci na firemní intranet a povolit v 
Androidu instalaci aplikací z cizích zdrojů. Ale to se některým firmám nemusí z 
principu líbit. 

Pak je možno napsat jednoduchý app Market. Ale to vyžaduje nainstalovat vlastní 
aplikaci ala Google Play do telefonu, která bude stahovat a instalovat updaty v 
telefonu. 

Petr

__
 Od: el.wond...@centrum.cz
 Komu: Java Konference konference@java.cz
 Datum: 22.04.2013 12:12
 Předmět: Re: Androidi aplikace pres Google Private channel

Ja uz to asi chapu, ten Google Private Channel jde proste udelat jen pres to 
Google Apps. Cili musim byt prihlaseny do Google Apps, jinak se na ten 
privatni marketplace nedostanu.

Mym cilem je vystavit aplikaci jen pro nekoho. Neni to vsak jen 5 lidi, kterym 
bych mohl poslat APKcko, ale bude se jednat o 1000 - 1+ lidi. Nekde jsem 
ziskal hint, ze dana aplikace se da odstranit z vyhledavani v Google Play 
Store a jeji stazeni se pak deje pres URL.

Lukas

__
 Od: el.wond...@centrum.cz
 Komu: Java Konference konference@java.cz
 Datum: 22.04.2013 11:11
 Předmět: Re: Androidi aplikace pres Google Private channel

Pockej, ja si ale prece muzu z toho Play Storu stahnout i neco free ne? Bez 
nejakeho dalsiho prihlaseni nebo se pletu? Nejde to udelat tak, ze se 
prihlasim jako pr...@franta.com stahnu si tu aplikaci, odhlasim se a muzu ji 
pouzivat?

__
 Od: Stanislav Ošmera osm...@gmail.com
 Komu: Java konference@java.cz
 Datum: 22.04.2013 10:56
 Předmět: Re: Androidi aplikace pres Google Private channel

To by samozrejme slo, ale aby tu aplikaco mohl pouzivat tak by musel
mit ten android telefon porad prihlasenej do uctu pr...@franta.com, co
asi nebude chtit, bude chtit to mit prihlasene do nejakeho sveho uctu.
Ael z podstaty androidu, kdyz se prihlasi do sveho uctu, tak ztrati
aplikace ktere ziskal pod jinym uctem (tim docasnym pristupem na
pr...@franta.com)

2013/4/22  el.wond...@centrum.cz:
 Tjn taky jsem pochopil, ze to je jen pro lidi pod danou domenou, ale nelze 
 to pak udelat tak, ze dam externimu uzivateli, ktery neni nasim 
 zakaznikem, prihlasovaci udaje k pr...@franta.com a on se tam prihlasi pod 
 timto domenovym uctem?

 Lukas

 __
 Od: Stanislav Ošmera osm...@gmail.com
 Komu: Java konference@java.cz
 Datum: 22.04.2013 10:35
 Předmět: Re: Androidi aplikace pres Google Private channel

Ahoj,

ted trochu varim z vody, ale nevim jestli ti to k necemu bude,
respektive jestli jsi si vedom jednoho omezeni. Myslim ze kdyz jsem se
na to dival tak platilo ze ty jako developer ma googgle aps ucet a
vytvoris uzivatele pod svym aps (domenou), tem pak muzes distribuovat
aplikace. Zjednodusene, mam google aps domenu www.franta.com, mam pod
ni uzivatele pr...@franta.com , dr...@franta.com  tem muzu
distribuovat aplikace, ale kdyz je nekdo mimo jako treba
p...@centrum.cz, nebo p...@gmail.com, tak ten se k tomu proste
nedostane.
Alespon ja jsem to tak pochopil pred nejakou dobou kdyz jsem se na to
koukal(takze se to jiz mohlo zmenit)


2013/4/22  el.wond...@centrum.cz:
 Ahoj, jmenuju se Lukas a mam nasledujici problemek. Chtel bych 
 zpristupnit androidi aplikaci na Google Play storu pomoci Google Private 
 Channel? Mate s tim nekdo zkusenosti? Hledal jsem na netu, kde je ze 
 strany googlu spousta informaci, ale jsem z toho trosku zmateny.

 Jestli to dobre chapu, je potreba mit administratorsky ucet na Google 
 Apps, kterym povolim ten Private Channel, dale ucet ktery mi dovoli 
 publikovat android aplikaci a pak ucet, ktery mi dovoli stahnout moji 
 aplikaci. Nechapu, jak je to s placenim. Abych mohl nahravat aplikace do 
 Google Play Storu potrebuju pristup k Google Developer Console ( 
 poplatek 25 dolaru ). Ted ale nevim, jak s tema ostatnima uctama. Na tom 
 Google Apps se plati nejak 4 dolary za ucet a mesic nebo 40 dolaru za 
 ucet a rok.

 Ma otazka tedy zni abych mohl dovolit stahnout moji aplikaci pouze 
 urcitym lidem potrebuji:
 --

 Google Developer Console ucet ( jednorazove platim 25$ )
 Google Apps admin ucet ( 4$ / mesic )
 Google Apps download ucet ( 4$ / mesic )

 Budu teda platit 8$ mesicne? Neda se to nejak zmensit nebo to delam 
 spatne?

 Predem dik za Vase komenty.

 Lukas



--
Stanislav Ošmera
Tel: +420 722 683 456
Skype: sosmera   ICQ:149634231
Jabber: osm...@gmail.com




-- 
Stanislav Ošmera
Tel: +420 722 683 456
Skype: sosmera   ICQ:149634231
Jabber: osm...@gmail.com





RE: MD5 vznikla v JAVA s 31 znaky misto 32 znaku

2013-02-08 Tema obsahu Petr Synek
Tomu programu to zřejmě nevadí proto, že hash MD5 hesla používá rovnou jako 
klíč (heslo) pro šifrovací i dešifrovací funkci. Např. pro AES, 3DES apod. 

Kryptografický hash se zpět na původní text už nepřevádí. Protože je to 
extrémně obtížné. Tak pochybuju, že by to autor toho programu dobrovolně dělal. 

Doporučuji si o tom něco přečíst aspoň na wikipedii. 

Petr

__
 Od: Mr.Krysa mr.kr...@atlas.cz
 Komu: 'Java' konference@java.cz
 Datum: 08.02.2013 09:33
 Předmět: RE: MD5 vznikla v JAVA s 31 znaky misto 32 znaku

Děkuji všem za odpovědi. Už když jsem viděl ty opravné skriptíky, tak jsem si 
myslel, že to nebude jen v té nule na začátku. Přemýšlím, proč to nevadí tomu 
programu a s takto zničené hashe zvládne správně zjistit kód. Když jsem použil 
MD5 decrypt, tak mě pokaždé odmítl s tím, že délka není délkou MD5 hash. 
Zkoušel jsem i nějaké software, ale jakmile zjistí 31 znaků, tak odmítají 
pracovat. Tak přemýšlím jak to dělá software, že si správně doplní nulu na 
správné místo a správně zpřístupní kód. Asi si to zkusím nějak dekompilovat 
protože mi to moc hlava nebere (pokud to půjde). Ještě jednou děkuji, Pavel

-Original Message-
From: konference-boun...@java.cz [mailto:konference-boun...@java.cz] On Behalf 
Of Petr Synek
Sent: Friday, February 08, 2013 1:28 AM
To: Java
Subject: Re: MD5 vznikla v JAVA s 31 znaky misto 32 znaku

MD5 generuje 16 bytu dlouhy binarni vystup. Tak kdo vi jak to ASCII koduji. 
Vypada to, ze zapominaji pridat lichou 0:

00 = 0
04 = 4
40 = 40

Petr

__
 Od: Jan Dosoudil jan-k...@dosoudil.chr.cz
 Komu: Java konference@java.cz
 Datum: 08.02.2013 00:55
 Předmět: Re: MD5 vznikla v JAVA s 31 znaky misto 32 znaku

Chybějících nul může být více a může chybět úplně kdekoli v řetězci, 
tzn. opravit hash nejde.

S pozdravem
  Jan Dosoudil

Dne 7.2.2013 22:19, Mr.Krysa napsal(a):
 Využívám program, který je určený na heslování přístupu k souborům 
 (GalleryLock free) a jiným softwarem bych pak chtěl využívat 
 vygenerovanou hash, kterou zmíněný program ukládá do xml (výhoda 
 rootovaného telefonu).
 Právě jeho soubor xml mi plně vyhovuje pro další použití (ale ne už 
 31 znaků). Mohu se případně pokusit dekompilovat apk programu, ale 
 místo opravy chyby (a upozornění autora), bych raději chtěl elegantně 
 poupravit vygenerovanou hash. Je vůbec nějaká možnost takto špatně 
 uloženou hash upravit dodatečně bez využití zmíněného programu?
 
 S pozdravem 
 Pavel Jahelka
 
 -Original Message-
 From: konference-boun...@java.cz [mailto:konference-boun...@java.cz] 
 On Behalf Of Jan Dosoudil
 Sent: Thursday, February 07, 2013 9:37 PM
 To: Java
 Subject: Re: MD5 vznikla v JAVA s 31 znaky misto 32 znaku
 
 Hezký večer,
 pošlete kód (nebo odkaz na něj), kterým převádíte z byte[] na String, 
 obvyklou chybou je převádění byte na hex bez ošetření 1znakového hex 
 řetězce, kde chybí úvodní nula.
 
 S pozdravem
 Jan Dosoudil
 
 Dne 7.2.2013 21:13, Mr.Krysa napsal(a):
 Zdravím všechny!

 Doufám, že se nebudu opakovat, ale může mi někdo pomoci pochopit 
 následující? Ukládám si hesla pod androidem (java) a ten je maskuje 
 pod md5. Jenže někdy se stane, že md5 nemá uloženo 32 znaků, ale 
 pouze
 31 znaků. Zjistil jsem, že je vynechána jedna nula (bohužel na 
 libovolném místě). Ale u některých hesel jsou zase uloženy správně.
 Potřeboval bych pro další evidenci všech 32 znaků, ale na internetu 
 jsem našel jen radu o vložení nuly před hash. Také je na internetu 
 spousta skriptů, ale nefungovaly mi. Můžete mi prosím někdo 
 vysvětlit proč tomu tak je a jak nejlépe převést tuto 31 znakovou 
 hash na 32 znakovou hash.  Všem děkuji za Vaše odpovědi

  

 Příklad:

  

  převedeno na e951081ac30ffa83f10b68cde1cac7, ale správně je
 e9510081ac30ffa83f10b68cde1cac7

  převedeno na 2be9bd7a3434f738ca27d1918de58bd, ale správně je 
 2be9bd7a3434f7038ca27d1918de58bd

 ale u čísla  je správně uložena hash 
 b59c67bf196a4758191e42f76670ceba

  

 





Re: MD5 vznikla v JAVA s 31 znaky misto 32 znaku

2013-02-07 Tema obsahu Petr Synek
MD5 generuje 16 bytu dlouhy binarni vystup. Tak kdo vi jak to ASCII koduji. 
Vypada to, ze zapominaji pridat lichou 0:

00 = 0
04 = 4
40 = 40

Petr

__
 Od: Jan Dosoudil jan-k...@dosoudil.chr.cz
 Komu: Java konference@java.cz
 Datum: 08.02.2013 00:55
 Předmět: Re: MD5 vznikla v JAVA s 31 znaky misto 32 znaku

Chybějících nul může být více a může chybět úplně kdekoli v řetězci,
tzn. opravit hash nejde.

S pozdravem
   Jan Dosoudil

Dne 7.2.2013 22:19, Mr.Krysa napsal(a):
 Využívám program, který je určený na heslování přístupu k souborům
 (GalleryLock free) a jiným softwarem bych pak chtěl využívat vygenerovanou
 hash, kterou zmíněný program ukládá do xml (výhoda rootovaného telefonu).
 Právě jeho soubor xml mi plně vyhovuje pro další použití (ale ne už 31
 znaků). Mohu se případně pokusit dekompilovat apk programu, ale místo opravy
 chyby (a upozornění autora), bych raději chtěl elegantně poupravit
 vygenerovanou hash. Je vůbec nějaká možnost takto špatně uloženou hash
 upravit dodatečně bez využití zmíněného programu? 
 
 S pozdravem 
  Pavel Jahelka
 
 -Original Message-
 From: konference-boun...@java.cz [mailto:konference-boun...@java.cz] On
 Behalf Of Jan Dosoudil
 Sent: Thursday, February 07, 2013 9:37 PM
 To: Java
 Subject: Re: MD5 vznikla v JAVA s 31 znaky misto 32 znaku
 
 Hezký večer,
 pošlete kód (nebo odkaz na něj), kterým převádíte z byte[] na String,
 obvyklou chybou je převádění byte na hex bez ošetření 1znakového hex
 řetězce, kde chybí úvodní nula.
 
 S pozdravem
  Jan Dosoudil
 
 Dne 7.2.2013 21:13, Mr.Krysa napsal(a):
 Zdravím všechny!

 Doufám, že se nebudu opakovat, ale může mi někdo pomoci pochopit 
 následující? Ukládám si hesla pod androidem (java) a ten je maskuje 
 pod md5. Jenže někdy se stane, že md5 nemá uloženo 32 znaků, ale pouze 
 31 znaků. Zjistil jsem, že je vynechána jedna nula (bohužel na 
 libovolném místě). Ale u některých hesel jsou zase uloženy správně. 
 Potřeboval bych pro další evidenci všech 32 znaků, ale na internetu 
 jsem našel jen radu o vložení nuly před hash. Také je na internetu 
 spousta skriptů, ale nefungovaly mi. Můžete mi prosím někdo vysvětlit 
 proč tomu tak je a jak nejlépe převést tuto 31 znakovou hash na 32 
 znakovou hash.  Všem děkuji za Vaše odpovědi

  

 Příklad:

  

  převedeno na e951081ac30ffa83f10b68cde1cac7, ale správně je
 e9510081ac30ffa83f10b68cde1cac7

  převedeno na 2be9bd7a3434f738ca27d1918de58bd, ale správně je 
 2be9bd7a3434f7038ca27d1918de58bd

 ale u čísla  je správně uložena hash 
 b59c67bf196a4758191e42f76670ceba

  

 



Re: spring mvc scaffolding CRUD

2011-11-15 Tema obsahu Petr Synek
Roo to resi, krom toho je mozne si napsat jednoduche genericke DAO. Dej 
do googlu: jpa generic dao, nebo hibernate generic dao.


Viz. napr.
http://blog.xebia.com/2009/03/09/jpa-implementation-patterns-data-access-objects/
http://code.google.com/p/hibernate-generic-dao/

Petr

On 15.11.2011 18:50, Arnošt Havelka wrote:

Zdravím,

neřeší to Spring Roo?

Arny

On 15.11.2011 13:01, Marek wrote:

pouzivate scaffolding pre vygenerovanie CRUD spring mvc funkcionalit
(controller, dao, service, domain) ?
Ak ano aky tool pouzivate a ako ste s nim spokojny ? Zatial som nasiel
som myeclipse for spring(vyzera zaujimavo), a tiez skywaysoftware.
-pride mi to strasne otravne pisat rovnaku CRUD funkcionalitu pre
rozne entity, preto pozeram po niejakom generatore.


--
M^2




Re: OT: hardware

2011-08-12 Tema obsahu Petr Synek

Ahoj,

4 GB pamet je malo. Win7 zhruba 1 GB sezerou jen pro sebe. Aktualne na 
Win7 mam spotrebovano 5 GB pameti a to mi tam bezi jen 1 Eclipse (obcas 
poustim i 2-3 soucasne), Oracle 10g, Weblogic 11g + JEE aplikace, Java 
Swing aplikace, Enterprise Architect, Firefox, Thunderbird, Skype, Total 
Commander, MS Outlook.


Rozhodne bych investoval do alespon 8GB RAM. A kvuli tomu je potreba 
prave ten 64-bit procesor. Pokud je dost RAM, tak OS dokaze dost souboru 
kesovat v pameti a i prace s diskem se tim zrychly.


Jinak mame skoro vsichni notasy a kolegove zkouseli i SSD disky. Nicmene 
po zaplneni na 90% kapacity rychlost kompilace spadla na cca pulku. A 
kupodivu kolegove zjistili, ze kdyz pusti ve Win7 defragmentaci, tak se 
rychlost zase zlepsi, prestoze by to pomoct teoreticky nemelo. Ja mam 
klasicky disk, ale 3x vetsi nez ten SSD a kompiloval jsem stejne rychle 
jako jako kolegove s SSD kdyz disk jeste nemeli zaplneny. Asi to bude 
tim, ze s dostatkem RAM, OS dokaze hodne souboru cachovat a pak i dobre 
planovat zapisy, tak aby disk nemusel moc seekovat.


Urcite bych do vyvojarskeho PC dal co nejvic RAM, kterou ale budu 
vyuzivat jen na 60-70%, aby zbylo dost pameti pro disk cache. Zrovna tak 
to chce velky disk, ktery zaplnim na max. 50%, aby nedochazelo k 
fragmentaci. Pokud SSD tak asi moderni generaci, ktera ma vychytane 
mouchy a taky se ho snazit moc nepreplnit.


Petr


On 12.8.2011 12:31, Ondra Medek wrote:

Jojo, pro dnesni IDE, aplikacni servery a podobne|  je dobry mit
rychlej disk (SSD), dostatek pameti (4GB) a procesor staci prumerny
novy. IMHO Java vice jader dobre vyuzije, pokud aplikace ma vice
vlaken. Kdyz bezi IDE, server a client tak to uz jsou nejmene 3
vlakna. Jak umi vyuzit 64-bit procesor bych take rad vedel.

Taky by mne zajimalo, jak Java

2011/8/12 Tomáš Záluskýzalu...@centrum.cz:

Dobrý den,

stojím před upgradem domácího počítače po 11 letech a nový počítač bych chtěl 
sestavit i s ohledem na možnou občasnou práci doma. Prací rozumím programování 
v Javě (především server-side aplikace nad relační databází a swingové GUI). 
Rád bych se zeptal na Vaše zkušenosti s výběrem komponent.

Chápu, že můj dotaz se netýká jazyka Java, ale zajímají mne zkušenosti lidí, 
kteří Javu používají. Na webu je spousta recenzí z hlediska hraní her nebo 
stříhání videa, ale programátorských pohledů (např. vytížení jader u 
vícevláknových programů) jsem moc nenašel.

Moje sestava je prozatím zvolena takto:
http://www.czechcomputer.cz/view_user_list.jsp?id=K1105022142589174894220450091751
procesor: AMD Phenom II X6 1100T Black Edition
motherboard: GIGABYTE GA-890GPA-UD3H - AMD 890GX s integrovanou grafikou
paměť: Kingston HyperX 8GB (2x4GB) DDR3 1333 (KHX1333C7AD3K2/8G)
systémový disk: SSD - OCZ Vertex 3 - 120GB
druhý disk: Samsung SpinPoint F3 - 1TB
skříň: CoolerMaster Elite 370
chladič: GELID Solution Tranquillo - revize 2
zdroj: Seasonic SS-500ET-F3 500W, OEM
DVD: Samsung SH-S223C, černá, Bulk
operační systém: Microsoft Windows 7 Home Premium CZ 64bit OEM
cena: cca 21000, nechci přelézt 25000.

Trvám jen na tom, aby to byl počítač (ne notebook) a OS Windows. Jinak 
preferuji AMD, Gigabyte a Kingston, ale nebráním se ani jiným značkám. Rovnou 
bych měl napsat, že na AMD Bulldozery nemohu čekat, potřebuji to ještě do konce 
prázdnin.

Pokud znáte nějaký odkaz na recenze z pohledu programátora anebo napíšete, že 
je jedno, co si vyberu, anebo se podělíte o své zkušenosti s udržováním obrazu 
o světě hardwaru, budu to taky považovat za užitečnou odpověď.

Díky a ještě jednou se omlouvám za offtopic, nerad bych tímto příspěvkem 
rozpoutal flamewar Intel vs. AMD nebo jiné nekulturnosti :-)

Tomáš Záluský






Re: OT: hardware

2011-08-12 Tema obsahu Petr Synek
Ad 64bit JDK. Na aktualnim projektu mame 390 pom.xml, tedy cca 350 Java 
projektu (ne trid modelu :-)) a s JDK 1.6.0 64bit od Sunu, pardon Oraclu 
neni problem.

Petr

On 12.8.2011 12:45, michal.niko...@elanor.cz wrote:

Na tohle neni univerzalni odpoved. Tak snad jen obecne:

Pro vyvojarskou masinu je nejuzsim hrdlem rychlost harddisku. Zde je tedy
na miste SSD disk. S vyberem konkretniho SSD je to slozitejsi. Sveho casu
se dost firem vezlo na tom, ze vytvorily SSD, ale vykon byl skutek utek.
Takze mozna procist par testu, abys netrefil na SSD, ktery je pri praci s
malymi soubory pomalejsi nez lecktery klasicky HDD.
Dal je treba co nejvic pameti RAM. Ale to je dnes kazdemu jasne. Pak 64
bit OS abys to mohl adresovat. Casto se taky prechazi na Linux a to hlavne
kvuli vetsimu vyberu filesystemu (EXT4 a buhvico jeste leti, nemam
prehled, jsem odporny windowsak). Uz jsem slysel dost lidi, ktery provedli
citelny upgrade pouhym prechodem na linux a vhodne vybrany filesystem. Co
se tyce vyvoje javy na 64bits JDK, tak jsem se zatim vzdy poslusne vratil
k 32bit JDK (na Win7 64bit os), protoze jsem vzdy po case narazil na
nejake omezeni/nedodelek/nekompatibilitu.

Tvuj vyber sestavy je IMHO AFAIK OK. Nepousoudim ten SSD, protoze to
nesleduju. Tak jen co jsem psal vyse.

NkD



Re: ClassCastException při přetypování v Collator.compare(Object, Object)

2011-08-03 Tema obsahu Petr Synek

Ahoj,

comparator si muzes napsat svuj, viz. 
http://download.oracle.com/javase/tutorial/uiswing/components/table.html#sorting

a nastavit do DefaultRowSorter

Nebo to resit i jinak jak tam popisuji v bodech 1.-5. Mozna by stacilo 
aby ArtworkTypeimplementoval Comparable.


Petr

On 3.8.2011 15:14, Libor Jelinek wrote:

Dobrý den,
při třídění hodnot JXTable (ale přepokládám, že i obyčejná JTable) 
používá compare(Object, Object) z třídy java.text.Collator. Podle 
javadocu i zdrojáku v sun-java6-jdk k metodě je vyloženě napsáno, že 
jen zavolá compare((String) o1, (String) o2):


public int compare(Object o1, Object o2) {
  return compare((String)o1, (String)o2);
}

Kvůli tomuto přetypování ovšem velmi lehce vyhazuje 
ClassCastException: neco cannot be cast to String. Neměla by spíše 
používat toString()? Tím by k ničemu nedocházelo. toString() funguje 
jednoduše vždy.


public int compare(Object o1, Object o2) {
  return compare(o1.toString(), o2.toString());
}


Protože v mém případě JTable pracuje převážně s třídou Object, pak v 
podstatě dělá JDK toto:


public class CastTest {
public static void main(String[] args) {
Object o = new Double(3.14);

System.out.println((String) o);*// ClassCastException!!!*
}
}

*Celý stack trace:*
java.lang.ClassCastException: 
cz.aerocan.reprodb.artworkmodel.ArtworkType cannot be cast to 
java.lang.String

   at java.text.Collator.compare(Collator.java:310)
   at javax.swing.DefaultRowSorter.compare(DefaultRowSorter.java:951)
   at javax.swing.DefaultRowSorter.access$100(DefaultRowSorter.java:95)
   at 
javax.swing.DefaultRowSorter$Row.compareTo(DefaultRowSorter.java:1359)
   at 
javax.swing.DefaultRowSorter$Row.compareTo(DefaultRowSorter.java:1349)

   at java.util.Arrays.mergeSort(Arrays.java:1144)
   at java.util.Arrays.sort(Arrays.java:1079)
   at 
javax.swing.DefaultRowSorter.sortExistingData(DefaultRowSorter.java:536)

   at javax.swing.DefaultRowSorter.setSortKeys(DefaultRowSorter.java:304)
   at 
org.jdesktop.swingx.sort.DefaultSortController.toggleSortOrder(DefaultSortController.java:142)
   at 
javax.swing.plaf.basic.BasicTableHeaderUI$MouseInputHandler.mouseClicked(BasicTableHeaderUI.java:96)
   at 
java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253)

   at java.awt.Component.processMouseEvent(Component.java:6291)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
   at java.awt.Component.processEvent(Component.java:6053)
   at java.awt.Container.processEvent(Container.java:2041)
   at java.awt.Component.dispatchEventImpl(Component.java:4651)
   at java.awt.Container.dispatchEventImpl(Container.java:2099)
   at java.awt.Component.dispatchEvent(Component.java:4481)
   at 
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
   at 
java.awt.LightweightDispatcher.processMouseEvent(Container.java:4247)

   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
   at java.awt.Container.dispatchEventImpl(Container.java:2085)
   at java.awt.Window.dispatchEventImpl(Window.java:2478)
   at java.awt.Component.dispatchEvent(Component.java:4481)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
   at java.awt.EventQueue.access$000(EventQueue.java:84)
   at java.awt.EventQueue$1.run(EventQueue.java:602)
   at java.awt.EventQueue$1.run(EventQueue.java:600)
   at java.security.AccessController.doPrivileged(Native Method)
   at 
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
   at 
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)

   at java.awt.EventQueue$2.run(EventQueue.java:616)
   at java.awt.EventQueue$2.run(EventQueue.java:614)
   at java.security.AccessController.doPrivileged(Native Method)
   at 
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)

   at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
   at 
org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:148)
[catch] at 
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
   at 
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
   at 
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
   at 
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
   at 
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)

   at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Díky
Libor


Re: Jak co nejlépe zareagovat na znullování objektu?

2011-06-09 Tema obsahu Petr Synek
Mozna by sel pouzit Null object pattern. Misto null se do promenne ulozi 
Null objekt OrderItem s vychozimi hodnotami, napr. PN = -1, apod.


Ale zase je pak potreba dat pozor na to, aby se takovy null objekt nikdo 
nesnazil pomoci JPA pak ulozit. V pripade Entit JPA tenhle pattern mozna 
neni uplne vhodny. Spis se hodi na kolekce, kde misto null je lepsi 
vratit prazdnou kolekci.


Petr

On 9.6.2011 10:38, Libor Jelinek wrote:
Ano, těžko si to představit. Kompletní popis by byl rozsáhlý. Ale 
stručně je to asi tak, že mám modul v NetBeans Platform, který 
poskytuje POJO jiným modulům. V určitý moment se z POJO stanou JPA 
managed entities. Odkazy, ale ale již existují např. z TableModelů 
Swingové JTable a ještě ke všemu v jiném dalším třetím modulu. Navíc 
si řízení a načítání modulů řídí NBP více méně podle sebe samo.


Jen výpis zrovna této NullPointerException je asi tak cca 90-100 
volání :-) V téhle džungli se pak můžou dít věci a to je pak 
debugging jak má být :-)



Dne 9. června 2011 10:29 Martin Beránek martin.bera...@i.cz 
mailto:martin.bera...@i.cz napsal(a):


Dne 9.6.2011 09:15, Libor Jelinek napsal(a):

Dobrý den!
Chtěl bych probrat, jak by kdo řešil následující problém
ochrany proti
NullPointerException pokud s jednou referenční proměnnou pracuje
současně více částí aplikace (více Swing formulářů nebo JPA
perzisence a
JavaServer Faces web GUI současně apod.).

OrderItem item = new OrderItem();

/// V nějaké vrstvě se při vytváření položky nastaví nějaké
hodnoty/
item.setPN(123);
item.setQty(2);

/// V jiné vrstvě uživatel smaže položku. Reference je na null./
item = null;

/// Další vrstva to neví a zavolá, což //skončí chybou
NullPointerException/
item.getPN();//

Jak k tomu co nejlépe přistoupit? Mě napadají tak dvě možnosti:
1. Do do getter metod přidat kontrolu na na null a v tom
případě vrátit
např -1.
2. Oznamovat si změny např. beanovským PropertyChangeListener,
což by
ale hodně zkomplikovalo kód.

Budu rád za Vaše názory.
Libor


Nechápu jakým způsobem jste vlastně k tomuhle problému přišel.
Pokud mám metodu která s objektem pracuje a pak si musím na
začátku zkontrolovat, jestli mi někdo nepředal null. Ale v průběhu
metody nejde nijak zvenku znullovat objekt, na který držím referenci.

-- 
Martin Beránek





Re: Jak mít business objekty skutečně jen 1x?

2011-05-23 Tema obsahu Petr Synek

Ahoj,

zkus se pripadne podivat i na Spring Roo. Celkem me to nadchnulo.
Entity definujes 1x jako POJO a data access metody stejne jako web 
controller + view si muzes nechat dogenerovavat automaticky.
Pokud zmenis POJO Entitu, tak roo zmeny aplikuje i do generovanych 
casti. Tam kde chces si muzes generovane casti (metody) napsat sam, na 
ty pak Roo nesaha. Podobne to funguje i pro vygenerovane View, pokud 
zmenis napr. TextField, ktery se vztahuje k nejakemu atributu Entity, 
tak ho Roo prestane prepisovat.
Nedavno bylo Roo na CZJUGu. Video z toho je v archivu 
http://www.youtube.com/czjug


Petr

On 23.5.2011 13:27, Libor Jelinek wrote:

Dobrý den!
Chtěl bych trochu společně zauvažovat nad tématem z předmětu. V 
každém projektu se vyskytují nějaké objekty. V první části mapujeme 
většinou pomocí UML tzv. business objekty (faktura, zboží, osoba apod.).


Tyto objektové třídy a vztahy poté mapujeme ručně nebo knihovnami jako 
JPA na databázové tabulky. V méně případech mapovat nemusíme, protože 
používáme objektové databáze (Bože, děkuji ti za ně :-)).


V prezentační vrstvě (ať webové či swingové) máme nějaké formuláře 
nebo obecně GUI, které business objekty zobrazují, umožňuje vytvářet, 
editovat a rušit (zkrátka CRUD operace).


Naprosto běžné jsou nějaké omezení na vlastnosti objektů - IČ firmy 
nesmí být text, RČ nesmí být prázdné, email musí obsahovat znak 
zavináč atd. atd. Ač jsou tyto ověření stejné pro jakoukoli vrstvu 
aplikace, tak se v každé až příliš často duplikují (v databázi jako 
SQL constrains, v aplikační vrstvě kódem v Javě, v prezentační v 
JavaScriptu).


Všechny vrstvy tak nějak opakují totéž. Sice se všechny techniky a 
frameworky stačí, aby to tak nebylo, ale i tak Když se při testech 
zjistí, že je možné zadat jako narození datum v budoucnu, pak se 
obvykle přesto musí sáhnout do kódu databáze, Java classů a i 
podpůrných validací ve webové vrstvě (když nemáme framework, tak 
zvlášť v webové server-side i client-side v JavaScriptu).


*Je nedostižným snem, aby se při takové situaci skutečně změnilo jen 
jediné místo (jedno XML, anotace tříd, cokoli)? Chci se Vás proto 
zeptat, jak k tomu přistupujete Vy, *aby jste z jediného místa:


- vygenerovat/změnit DB s příslušnými constrains (not null, délky 
varcharů apod.)
- když ještě budu u DB, tak aby by technologie dokázala provádět jen 
delta změny v DB (tj. nevymazala tabulku a data, ale jen 
přidala/odebrala sloupce)

- vygenerovali/změnit Java classy
- vygenerovat/změnit formuláře vč. kódu k validování vstupu uživatele

*Důraz kladu na nejen vygenerování, ale zejm. následné změny. *

Jako nejbližší tomuto ideálu se mi zdá následující kombinací 
technologií (podotýkám, že mám jen teoretické zkušenosti)

- mít model jako obyčejné POJO Java classy
- olepit je JPA anotace entit, které vygenerují DB
- do getterů/setter přidat business logiku (pravidla)
- přidat ještě k fieldům/properties anotace z javax.validation 
(JavaBeans Validations) pro ověřovací pravidla.


Jedinou definicí modelu by byly Java classy ze kterých by se 
vygenerovali databázové tabulky. Když je webovová vrstva v JSF, tak 
JSF umí využít JavaBeans Validations takéž. Když by byla prezentační 
vrstva Swing, tak by asi bylo třeba něco dopsat.


Ještě jako varianta mě napadá mít jako definici modelu pomocí XML 
schémat, ale by mi připadalo jako příliš komplikované (à la EJB) 
oproti modelu s POJO.


*Chtěl bych se zeptat těch, kteří se něčím takovým již 
potýkali/řešeli, zda zmíněné technologie (nebo obdobné), považujete za 
vhodné *(zda cesta s JPA a JavaBeans Validation je ta správná)*. 
Jestli se můžete dělit se svými zkušenostmi...*


Díky předem za všechny příspěvky.

Libor


Re: Porovnání řetězců

2011-03-04 Tema obsahu Petr Synek

Je a neni to pointerova aritmetika. Pravda je asi obou stranach (i jak psal 
Makub). Jde o to jak se na to clovek diva. 

Pokud napisu WebService proxy co ma stejny interface jako Unsafe a proxy na 
vzdalenem serveru bude v C provadet stejne operace v pameti (jako Unsafe). Tak 
to sice bude pointerova aritmetika, ale jen z pohledu serveru. Z pohledu 
klienta nic zvlastniho nedelam. Pres JNI jde delat cokoliv. Doufam ze tohle 
nejde spustit treba z Appletu, jinak je to asi pekny security hole. 

Petr

__
 Od: Zdeněk Troníček troni...@fit.cvut.cz
 Komu: Java konference@java.cz
 Datum: 04.03.2011 19:02
 Předmět: Re: Porovnání řetězců

Nerad bych tady vyvolal nějakou flame war, ale ukazatelová aritmetika to
podle mého názoru je. Např. v metodě writeToMem je p ukazatel (obsahuje
adresu) a k tomuto ukazateli se přičítá 2, tj. sečte se ukazatel a int a
výsledkem je ukazatel:

static void writeToMem(Unsafe u, long p, byte[] values) {
for (byte b : values) {
u.putChar(p, (char) b);
p += 2;
}
}

Jinak celý článek byl napsán spíš jako vtip, než že by chtěl popisovat
nějakou neznámou vlastnost Javy.

Z.
-- 
Zdenek Tronicek
FIT CTU in Prague


Martin Kuba napsal(a):
 Dne 4.3.2011 13:56, michal.niko...@elanor.cz napsal(a):
 Jen bych doplnil, takovou libustku, ktera ukazuje, ze i Java ma
 ukazatelovou aritmetiku.

 http://www.java.cz/article/ukazatelovaaritmetika

 Ale je to opravdu jen takova zajimavost.

 To není ukazatelová aritmetika. To jenom ukazuje,
 že pomocí nativních metod se dá přistupovat k paměti přímo,
 ale to je tím, že ty nativní metody jsou napsané v Céčku.

 Definice té metody Unsafe.putChar() totiž vypadá takto:

 public native void putChar(long address, char x);


 Stejně tak můžu pomocí nativní metody přistupovat
 k nějaké speciální vlastnosti nějakého operačního systému, třeba
 sdílené paměti mezi procesy nebo k nastavování práv na unixovém
 filesystému, ale tím se to nestává součástí Javy jakožto jazyka.

 Makub
 --
 ~~
 Supercomputing Center Brno Martin Kuba
 Institute of Computer Scienceemail: ma...@ics.muni.cz
 Masaryk University http://www.ics.muni.cz/~makub/
 Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
 --






Re: Parsing HTML stránek

2011-02-21 Tema obsahu Petr Synek
Pred x lety jsem si pro sebe vytvoril nastroj na automaticke stahovani 
inzeratu o autech z jednoho velkeho inzertniho serveru :-)


Na stahovani a nacteni tech spravnych odstavcu textu jsem pouzil 
HTTPUnit. Ten umi vyplnovat formulare a klikat na tlacitka, takze se 
dalo prochazet i vic stranek s vysledky. Fungovalo to dost slusne. 
Pomoci regularnich vyrazu se z holeho textu inzeratu daly vyextrahovat 
dalsi udaje o aute: znacka, typ, rok vyroby, cena, telefon/email na 
prodejce apod. To jsem pak ukladal do SQL databaze. Pomoci SQL pak slo 
zjistit jak pada cena daneho auta (nebo obecne modelu) a jestli je to 
nabidka soukromnika nebo bazaru (kdyz pro jedno telefonni cislo 
existovalo treba 50 inzeratu na ruzna auta).


Petr

On 19.02.2011 17:39, Robert Novotny wrote:

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: Co teď letí v Javě na web a verzování?

2011-02-09 Tema obsahu Petr Synek

Zajimave je, ze treba v c#

String s = new String( Daka hodnota stringu );

vubec nejde napsat. Takovy copy constructor tam String nema.

Nicmene pri pohledu do zdrojaku Stringu v Jave je videt, ze se timhle 
konstruktorem paradoxne da uvolnit pamet (v pripade ze puvodni String 
mel interni char pole vetsi nez byla delka Stringu). Ale kdo tohle v 
praxi pouziva ze?


Petr

On 08.02.2011 23:08, Oto Buchta wrote:

2011/2/8 Rastislav Rehakre...@eea.sk:

No ja som kontroloval kod po jednom Madarovi ( a teraz to nemala byt urazka
narodnosti ) a ten sa zjavne ucil javu z dakej prudko teoretickej knizky OO
programovania, pretoze vsade tvrdosijne pouzival konstrukciu :

String s = new String( Daka hodnota stringu );


Pokud se nemýlím, tak platí:

String a = Daka hodnota stringu;
String b = Daka hodnota stringu;
String s = new String( a );
String t = new String( b );
if (a == b  s != t) System.out.println(Mel jsi pravdu);

Takže je to kapku něco jiného.
Navíc řekl bych, že to je pozůstatek z nějakého jazyka, který měl
proměnné a a b typu char*


Re: Co teď letí v Javě na web a verzování?

2011-02-03 Tema obsahu Petr Synek
Navic u CVS se neda odkazat na commit ID, ktery sdruzuje komitnute 
soubory. CVS komituje soubor po souboru a dohledani toho co jsem 
komitnul ke konkretnimu tasku muzu delat leda podle text komentaru a to 
je dost neprakticke. Trochu se to da obejit pomoci CVS tagu, ale neni to 
ono.


Zkratka CVS uz radeji ne :-)

Petr

On 03.02.2011 11:26, Petr Synek wrote:

Jednoznacne CVS ne proto, ze CVS nema transakcni commit.

Pokud komitujete napr. 100 souboru a v pulce vam spadne spojeni, tak
vznikne tezko opravitelny chaos, ktery se narocne rucne opravuje.

Napr. SVN uz transakcni commit ma. Takze se vzdy komitne bud vse nebo nic.

Petr

On 03.02.2011 11:18, Lukáš Záruba wrote:

Přemýšlel jsem nad tím, že bychom se vrhli na nějaký jiný systém, než
CVS, ale nenašel jsem žádný argument pro podporu tohoto dost nákladného
kroku. Můžete mi prosím říct na základě čeho CVS bych už snad ani
nedoporučoval? Zajímá mne jestli jsem něco nepřehlédl.

Díky

Lukáš Záruba (Lukas Zaruba)



Dne 3.2.2011 11:03, Tomas Vojtech napsal(a):

CVS bych už snad ani nedoporučoval. Když už tak SVN. Ale spíš bych se
podíval na DVCS. Jedno na který. Mně se nejvíc líbí Git.

On 02/03/2011 10:45 AM, Michal Pavlasek wrote:

Dobry den,

tak z tohoto asi vznikne slusny flame :)

Mne sa pozdava Grails ked chcem nieco nove,
na klasicku javu najma Stripes (+displaytag, +jquery,
+hibernate(alebo ine JPA), ...).

A na verzionovanie SVN alebo CVS.

bye
CoPLaS

2011/2/3 Libor Jelinek ljeli...@virtage.com
mailto:ljeli...@virtage.com

Dobrý den všem,
bohužel jsem se musel pracovně věnovat trochu jiným činnostem, než
programování a posledních cca 4-5 let jsem na J2SE/J2EE ani nešáhnul.
V mé době bylo top JDK 1.4 na pro web Strutsy. O JSF a Spring apod.
se teprve začínalo mluvit :-)

(1) Chci se zeptat, protože vím, že mi už asi docela ujel vlak, co se
má momentálně smysl učit, pokud chci vyvíjet webové aplikace (pokud
možno rich, tj. AJAX apod.) ? JSF nebo něco úplně už jiného?

(2) Jaký verzovací systém se teď nejvíc používá v Javě? Stále ještě
Mercurian? Nebo používáte Git? Mě se líbí Git a Bazaar, ale nevím
jaký
je tam zrovna podpora z IDEs.

Velmi děkuji za názory :-)
Libor







Re: Co teď letí v Javě na web a verzování?

2011-02-03 Tema obsahu Petr Synek
Obcas treba pri vetsim refaktoringu (napr. prejmenovani package) dojde k 
velkemu poctu zmen. Nebo u mergovani branche do hlavni vetve. Cim vetsi 
projekt a cim vic lidi na nem dela, tim je CVS vetsi riziko. Ale je to 
samozrejme jen muj soukromy nazor :-)


Petr

On 03.02.2011 11:34, Lukáš Záruba wrote:

Ano, na toto jsem koukal a zdálo se mi to jako hlavní výhoda, nicméně
pokud se to stane (a zatím se to stalo opravdu jenom párkrát) a máte k
dispozici rozumné IDE (v mém případě eclipse), tak rozhodně nevznike
nenapravitelný chaos. Navíc komit 100 souborů s jedním CVS komentářem
není zrovna dobrá praktika, protože není pravděpodobné, že opravdu
všechny soubory, které jsou touchnuté dávají smysl dohromady s tím
komentářem, pak vznikají komity, kde do Util classy někdo přidá metodu a
komentář je o nějakém novém aparátu, který tuto třídu jenom používá...

Proto skutečně tuto vlastnost za tak klíčovou napovažuji. Jsou tu nějaké
další návrhy, nebo je toto opravdu jediný klíčový rozdíl?

Díky

Lukáš Záruba (Lukas Zaruba)



Dne 3.2.2011 11:26, Petr Synek napsal(a):

Jednoznacne CVS ne proto, ze CVS nema transakcni commit.

Pokud komitujete napr. 100 souboru a v pulce vam spadne spojeni, tak
vznikne tezko opravitelny chaos, ktery se narocne rucne opravuje.

Napr. SVN uz transakcni commit ma. Takze se vzdy komitne bud vse nebo
nic.

Petr

On 03.02.2011 11:18, Lukáš Záruba wrote:

Přemýšlel jsem nad tím, že bychom se vrhli na nějaký jiný systém, než
CVS, ale nenašel jsem žádný argument pro podporu tohoto dost nákladného
kroku. Můžete mi prosím říct na základě čeho CVS bych už snad ani
nedoporučoval? Zajímá mne jestli jsem něco nepřehlédl.

Díky

Lukáš Záruba (Lukas Zaruba)



Dne 3.2.2011 11:03, Tomas Vojtech napsal(a):

CVS bych už snad ani nedoporučoval. Když už tak SVN. Ale spíš bych se
podíval na DVCS. Jedno na který. Mně se nejvíc líbí Git.

On 02/03/2011 10:45 AM, Michal Pavlasek wrote:

Dobry den,

tak z tohoto asi vznikne slusny flame :)

Mne sa pozdava Grails ked chcem nieco nove,
na klasicku javu najma Stripes (+displaytag, +jquery,
+hibernate(alebo ine JPA), ...).

A na verzionovanie SVN alebo CVS.

bye
CoPLaS

2011/2/3 Libor Jelinek ljeli...@virtage.com
mailto:ljeli...@virtage.com

Dobrý den všem,
bohužel jsem se musel pracovně věnovat trochu jiným činnostem, než
programování a posledních cca 4-5 let jsem na J2SE/J2EE ani
nešáhnul.
V mé době bylo top JDK 1.4 na pro web Strutsy. O JSF a Spring
apod.
se teprve začínalo mluvit :-)

(1) Chci se zeptat, protože vím, že mi už asi docela ujel vlak,
co se
má momentálně smysl učit, pokud chci vyvíjet webové aplikace
(pokud
možno rich, tj. AJAX apod.) ? JSF nebo něco úplně už jiného?

(2) Jaký verzovací systém se teď nejvíc používá v Javě? Stále
ještě
Mercurian? Nebo používáte Git? Mě se líbí Git a Bazaar, ale nevím
jaký
je tam zrovna podpora z IDEs.

Velmi děkuji za názory :-)
Libor




Re: Co teď letí v Javě na web a verzování?

2011-02-03 Tema obsahu Petr Synek
Jde spis o to, ze nekdo komitne neco spatne a ja chci revertovat jen ten 
1 spatny commit, nechci zahodit pozdejsi praci ostatnich lidi tim ze se 
vratim v case zpet.


Pak se commit ID da zapsat i do QA systemu a mit zdokumentovane jakym 
zpusobem se co opravilo.


P.

On 03.02.2011 11:46, Lukáš Záruba wrote:

Před soubor změn se můžete lehce vrátit pomocí vycheckoutování proti
datumu a času, popřípadě pokud děláte opravdu veliké změny, tak se dá
stav CVS otagovat a k němu vracet a porovnávat.
Pravda veliký problém jsou přejmenované soubory (jak někdo zmiňuje dále
v diskuzi), ale pořád to podle mého názoru nejsou rozdíly, které by
ospravedlnily tvrzení Zkratka CVS uz radeji ne.

Jenom bych rád upozornil, že nezastávám CVS ani SVN ani nic jiného,
prostě se snažím dobrat DŮVODŮ, které by mohly vést ke změně. Změna
verzování obvykle znamená dost nákladný a náročný proces, takže
argumenty A spousta dalších... nejsou moc platné.

Každopádně děkuji za všechny odpovědi

S pozdravem

Lukáš Záruba (Lukas Zaruba)


Dne 3.2.2011 11:36, Petr Synek napsal(a):

Navic u CVS se neda odkazat na commit ID, ktery sdruzuje komitnute
soubory. CVS komituje soubor po souboru a dohledani toho co jsem
komitnul ke konkretnimu tasku muzu delat leda podle text komentaru a
to je dost neprakticke. Trochu se to da obejit pomoci CVS tagu, ale
neni to ono.

Zkratka CVS uz radeji ne :-)

Petr

On 03.02.2011 11:26, Petr Synek wrote:

Jednoznacne CVS ne proto, ze CVS nema transakcni commit.

Pokud komitujete napr. 100 souboru a v pulce vam spadne spojeni, tak
vznikne tezko opravitelny chaos, ktery se narocne rucne opravuje.

Napr. SVN uz transakcni commit ma. Takze se vzdy komitne bud vse nebo
nic.

Petr

On 03.02.2011 11:18, Lukáš Záruba wrote:

Přemýšlel jsem nad tím, že bychom se vrhli na nějaký jiný systém, než
CVS, ale nenašel jsem žádný argument pro podporu tohoto dost nákladného
kroku. Můžete mi prosím říct na základě čeho CVS bych už snad ani
nedoporučoval? Zajímá mne jestli jsem něco nepřehlédl.

Díky

Lukáš Záruba (Lukas Zaruba)



Dne 3.2.2011 11:03, Tomas Vojtech napsal(a):

CVS bych už snad ani nedoporučoval. Když už tak SVN. Ale spíš bych se
podíval na DVCS. Jedno na který. Mně se nejvíc líbí Git.

On 02/03/2011 10:45 AM, Michal Pavlasek wrote:

Dobry den,

tak z tohoto asi vznikne slusny flame :)

Mne sa pozdava Grails ked chcem nieco nove,
na klasicku javu najma Stripes (+displaytag, +jquery,
+hibernate(alebo ine JPA), ...).

A na verzionovanie SVN alebo CVS.

bye
CoPLaS

2011/2/3 Libor Jelinek ljeli...@virtage.com
mailto:ljeli...@virtage.com

Dobrý den všem,
bohužel jsem se musel pracovně věnovat trochu jiným činnostem, než
programování a posledních cca 4-5 let jsem na J2SE/J2EE ani nešáhnul.
V mé době bylo top JDK 1.4 na pro web Strutsy. O JSF a Spring apod.
se teprve začínalo mluvit :-)

(1) Chci se zeptat, protože vím, že mi už asi docela ujel vlak, co se
má momentálně smysl učit, pokud chci vyvíjet webové aplikace (pokud
možno rich, tj. AJAX apod.) ? JSF nebo něco úplně už jiného?

(2) Jaký verzovací systém se teď nejvíc používá v Javě? Stále ještě
Mercurian? Nebo používáte Git? Mě se líbí Git a Bazaar, ale nevím
jaký
je tam zrovna podpora z IDEs.

Velmi děkuji za názory :-)
Libor







Re: Komprese (SSL) spojení mezi Java apli kací a (JDBC) Postgresql serverem

2011-01-11 Tema obsahu Petr Synek

Zdravim,

obecne Java kompresi umi, treba pomoci java.util.zip.GZIPOutputStream.

Programove komprimovat SSL spojeni by melo jit takhle:
OutputStream sslOutputStream = sslSocket.getOutputStream();
GZIPOutputStream gzipOutputStream = new GZIPOutputStream(sslOutputStream);


Nicmene ty asi chces zapnout kompresi uvnitr SSL spojeni nejak 
deklarativne. Kazdopadne i kdyz se ti na strane Java klienta podari 
kompresi zapnout, tak to same se musi udelat i na strane postgresql 
serveru. Na obou stranach musi byt pouzity stejny kompresni algoritmus, 
napr. gzip.


Pokud postgresql kompresi zapnout neumi, tak by slo mezi Java klienta a 
postgresql vlozit nejake vlastni 2 jednoduche proxy servery, co budou 
resit jen kompresi a SSL. V podstate to ale znamena napsat jednoducheho 
VPN klienta a server. Tak je pak otazka jestli neni lepsi pouzit rovnou 
to OpenVPN :-)


Petr

On 11.01.2011 12:24, Petr Michálek wrote:

Ahoj,

řeším problém přenosu velkého objemu dat přenášených přes SSL spojení
mezi Postgresql serverem a Java aplikací.
Experimentoval jsem s přenosem (ne SSL) v rámci OpenVPN. LZO komprese
snížila objem přenášených dat zhruba o 50%, ale nasazení OpenVPN není
řešení.

1. Umí postgresql komprimovat (JDBC) spojení?

2. Umí JAVA kompresi SSL kanálu? Pokud ano, jak ji nastavit?
(GNU Java pravděpodobně ano, ale já potřebuji použít Sun Javu)

Na odpověď nebo případné nápady se těší

Petr M.




Re: Swing a uvolnovani Window

2010-01-27 Tema obsahu Petr Synek
Jo to je celkem dobra konstrukce a bylo by fajn jimit v Jave taky. V C# 
to predpoklada, ze trida (jako napr. tady BufferedReader) implementuje 
IDisposable, ktera ma metodu dispose().


Podobna konstrukce je u transakci:
using(TransactionScope scope = new TransactionScope())
{
   /* Transactional work */
}


Zdenek Tronicek wrote:

V navaznosti na tuto diskuzi bych rad poznamenal, ze jednim z navrhu na
vylepseni Javy je Automatic Resource Management. Misto

static String readFirstLineFromFile(String path) throws IOException {

BufferedReader br = new BufferedReader(new FileReader(path));

try {

return br.readLine();

} finally {

br.close();

}

}

bychom pak mohli psat

static String readFirstLineFromFile2(String path) throws IOException {

try (BufferedReader br = new BufferedReader(new FileReader(path)) {

   return br.readLine();

}

}

K zavreni streamu br dojde automaticky po opusteni bloku try. Mimochodem,
C# to ma.

Z.T.


Re: Sparovani dvou mnozin

2009-07-21 Tema obsahu Petr Synek
jj O(n + n log n) = O(n log n), to plati pro n jdouci k nekonecnu. V 
praxi spis plati ze: O(n + n log n) = O(n + n log n) :-)


Petr


Vity Vity wrote:

jen bych ke kolegovi dodal, ze to zavisi na skrytych konstantach, resp. poctu 
tech zaznamu ... :-).


-Vity


Dne 21. červenec 2009 14:08 Ondra Medek xmed...@gmail.com napsal(a):

No pokud byste mel klasicky List nebo Set, tak nejlepsi je obe mnoziny
seradit -  slozitost O(n log n) a pak je projit jednim pruchodem O(n),
tj. celkem O(n + n log n) = O(n log n). Pokud se A a B nemeni prilis,
tak byste mohl vyuzit SortedSet nebo SortedMap, abyste to nemusel po
kazde zmene znovu radit, pak by vas algorimus mel O(n) slozitost, ale
zase insert/delete v seznamech by neco zabral.

Ale vase reseni take neni spatne, za predpokladu, ze se prvky v Map
dobre hashuji, tj. slozitost se pristupu se blizi O(1) a tedy cely
prubeh vaseho algoritmu je pak blizko k O(n).

Jak vidite, pokud si stim chcete hrat, tak si to musite vyzkouset a
zmerit cas :-))

O.

2009/7/21 Michal Nikodím michal.niko...@asei.cz:

Mam dve mnoziny A a B. Mnozina A je 100% prvku a v mnozine B je n prvku.
Potrebuju projit mnozinu A a ke kazdemu prvku mnoziny A dohledat
odpovidajici prvek mnoziny B.

Mnoziny jsou plne v moji rezii. Muze to byt List, Map, dle libosti. Prvky
mnozin jsou tez plne v moji rezii a tak jak to mam ted ma kazdy prvek
unikatni atribut ID (Long) a equals a hashcode je napsan pro tento atribut.
Mnozina B je celkem casto prenactena a ja potrebuju po prenacteni proparovat
s mnozinou A.

Vysledkem je mnozina C kde prvkem je objekt ktery obsahuje instanci z
mnoziny A a spravnou instanci z mnoziny B (nebo null).

Jak tohle delat co nejefektivneji ?

Osobne to resim tak, ze mam mnozinu B jako MapLong, Prvek pricemz iteruju
mnozinu A a podle ID z mapy dohledam odpovidajici prvek B.
Ale moc se i to nezda.





--
Ondra Medek







Re: Java ME - web services

2008-12-04 Tema obsahu Petr Synek
MIDP 2.0 by melo HTTPS podporovat udajne vzdy, staci v URL uvest https 
protokol, viz.:

http://developers.sun.com/mobility/midp/articles/midp20/#https

Petr

Oto Buchta wrote:

Predpokladam, ze se jedna o mobilniho kliwenta, ktery v sobe J2ME ma.
Pokud ne, doporucuji na Javu zapomenout a jit jinym smerem (python).

Pokud tam uz to J2ME je, v prve rade bych se podival, jestli umi SSL.
Na Linuxu by mela byt k dispozici knihovna OpenSSL. Mozna by slo otevrit
ssh tunel na server a pres nej komunikovat, ale toto jsem jeste z Javy
nikdy nedelal, takze nevim, jeslti by tam nebyl nejaky zadrhel.

Co se tyka WebServis - vzdycky je moznost zpravy rucne vytvaret a nacitat,
coz si v pripade RMI predstavit nedokazu. Normalne si otevres HTTP komunikaci
a budes do OutputStreamu posilat svoji zpravu, z InputStreamu si ji
pak prectes. Vsechny mozne JAX* ti usnadni praci, zpravu, vyvoj atd., ale pro
minimalisticke nasazeni, kde ti jde o kazdy bajtik, je to prilis velky LUxUS. 


Staci ti ke komunikaci znat URL servisy a format zprav, na WSDL a XSD si hrat
nemusis.

Mam-li teda shrnout predesle dva prizpevky:
* co vic vis o tom systemu, nez ze je to Linux s malou pameti?
* musi to byt SOAP?
* temer vse lze delat rucne. SSL rucne ale nedelej

Oto 'tapik' Buchta

On Thu, Dec 04, 2008 at 03:10:23PM +0100, Lukáš Zapletal wrote:

Pokud muzete ovlivnit server a jeste je tato moznost, zkusil bych se
vyhnout webovym sluzbam obloukem a pouzil jinou technologii - napr.
REST/JSON.

Paklize toto rozhodnuti neni na Vas, tak se mi jako prvni v hlavne
objevuje otazka: Na cem budete tu JavaME aplikaci spoustet? V
emulatoru CDC/CLDC zarizeni - referencni implementaci od Sunu? Je
vubec vhodna na produkcni nasazeni? A co licence?

Ja osobne neznam zadnou jinou implementaci JavaME pro Linux, ktera by
byla open-source.

Paklize by zadna takova implementace neexistovala (opravte mne
prosim), tak bych se zkusil vydat cestou nejake orezane javy -
napriklad GNU Java s urcitou podmnozinou GNU Classpath knihoven...

LZ

2008/12/4, Peter Rakár [EMAIL PROTECTED]:

Dobry den,
na uvod upozornim ze v javovskych technologiach sa prilis neorientujem, a aj
to je dovod preco sem pisem.

Potrebujem poradit s nasledujucim problemom:
Mam server a klienta, medzi ktorymi chcem komunikovat pomocov webovych
sluzieb. Klien je zariadenie, ktore umoznuje pripojenie na internet, bezi na
nom niektora z linuxovych distribucii a je obmedzeny pametou v jednotkach MB
(mozno desiatky MB). Uvazoval som, ze na klientovi by sa vytvorila
jednoducha aplikacia v JavaME ktora by dokazala komunikovat vyuzitim web
services. Komunikacia musi umoznovat sifrovanie (SSL/TLS).

1) Otazka znie: co konkretne potrebujem nainstalovat a co doimplementovat
aby klient bol schopny takto komunikovat? Nie je mi jasne ci samotna Java ME
podporuje web services + sifrovany prenos. Z toho co som sa dozvedel cez
stranky Sunu, je podpora bezpecnosti (ADPU, JCRMI, PKI, CRYPTO) a web
sluzieb (JAXP, JAX-RPC) ako volitelna cast Javy ME.

2)Ak tato konfiguracia JavaME+optional packages vyhovovala, existuju nejake
zasadne limitacie tychto balickov o ktorych je treba vediet?

3) Zaroven neviem aku ulohu zohrava CDC / CLDC .. to su len rozne
konfiguracie JavaME prisposobene k vykonnostnym moznostiam zariadenia?

4) A otazka na zaver: bolo by mozne v takejto aplikacii postavenej na JavaME
volat funkcie zariadenia napisane v C ?

Budem velmi vdacny za kazdu pomoc,
Peter Rakár



--
Lukas Zapletal
http://lukas.zapletalovi.com





Re: Jak dostat z URI jednotlive query parametry?

2008-10-20 Tema obsahu Petr Synek
Problem navic je, ze obcas byva v URL nekolik parametru stejneho jmena s 
ruznymi hodnotami (parkrat jsem se s tim uz setkal). Takze pouziti 
HashMapString name, String value nemusi byt vzdy vhodne.


Petr


Martin Kuba wrote:

Lukáš Zapletal napsal(a):

Zdravim,

potreboval bych najit v Java Core API kod, ktery mi z URI.getQuery
(resp. getRawQuery) vrati nejakou mapu nebo neco, abych si mohl cist
jednotlive parametry. Nechce se mi to (parser) psat, nebo pouzit cizi
kod. Vim, ze je to trivialni, ale musely by se napsat testy a zcela
jiste by to nejaky cas trvalo. Urcite to nekde uz je hotove (minimalne
v Servlet API), jen bych potreboval nasmerovat, kde :-)


K tomuto jednu poznámku - není definováno, jak jsou parametry odděleny,
takže taková metoda nemůže být univerzální.

RFC 3986 definující URI parametry nedefinuje.

Ve specifikaci HTML je uvedeno, že prohlížeče mají data z HTML formulářů
posílat ve tvaru parametr=hodnota oddělené znakem 
(viz http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4)
ale ve stejné specifikaci je na jiném místě napsáno,
že parametry předávané v URI by měly používat něco jiného
než , nejlépe středníky ;, viz
http://www.w3.org/TR/REC-html40/appendix/notes.html#h-B.2.2

Z tohoto zmatku vyplynulo, že server-side frameworky používají
jako oddělovač , protože to posílají prohlížeče z formulářů
předávaných GET. Ale jsou vývojáři (třeba u nás vývojáři IS MU),
kteří používají v URL jako oddělovač zásadně středníky
(parsují parametry totiž ručně v Perlu).

Čili nelze se obecně spolehnout na to, že parametry v URI
budou mít určitý oddělovač. Pokud se rozhodnete, že chcete
povolit jenom ampersandy, pak by mělo stačit


public static HashMapString, String parseURIQuery(URI uri) throws 
UnsupportedEncodingException {
HashMapString,String map = new HashMapString, String();
String ss = uri.getQuery();
for(String s: ss.split()) {
String[] par = URLDecoder.decode(s,utf-8).split(=);
map.put(par[0],par.length1?par[1]:);
}
return map;
}

public static void main(String[] args) throws URISyntaxException, 
UnsupportedEncodingException {

URI uri = new URI(http://www.neco.cz/hu?a=1b=c+2%20dd;);

HashMapString, String map = parseURIQuery(uri);

System.out.println(map =  + map);
}

Jo, ještě taky URI nemají definováno kódování, ale utf-8 je doporučeno.


Makub


Re: Code-Behind

2007-10-26 Tema obsahu Petr Synek
Jo s tou dvoji deklaraci mas pravdu. Jednou je to v ASPX a jednou v 
parcialni tride generovane automaticky IDE.


Mne jinak nevadi ze pouzivam get() set(), vadi mi jen ze ty get() set() 
musim zbytecne psat do beany, ktera navic musi implementovat cosi (takze 
spousta zbytecne prace). Kdyz ve Swingu pouziju textfield, tak taky 
nemusim dopisovat nejake metody abych vytahl z koponenty jeji hodnotu. 
Swing komponenta vsechny metody pro praci s ni uz ma v sobe. Podobne 
bych rad pracoval v Jave i na webu. Rozhodne by to znamenalo psani mene 
kodu a pro lidi zvykly delat se Swingem a s objekty obecne rychlejsi 
ucici krivku.


Petr


Martin Kuba wrote:

Petr Synek wrote:
To je asi jako bych ve Swingu nekam umistil JTextField a jeste musel vytvorit POJO tridu s getText() a setText() metodama jen kvuli tomu abych mohl z toho textfieldu ziskat text. 
A navic bych jeste musel v konstruktoru rict ze ten JTextField ma ID napr. Calculator a tu POJO tridu musel pojmenovat CalculatorActionBean a implementovat nejaky interface. Tedy zrovna intuitivni mi takovyto programatorsky styl neprijde. 



Od intuitivniho web frameworku bych cekal ze s komponentou numberOne budu 
rovnou v Jave (v code behind) pracovat takto:
String text = numberOne.getText();
numberOne.setText(Franta)

Pricemz o deklaraci promene numberOne se uz nestaram, protoze ta uz byla jednou deklarovana v JSP (neboli don't repeat yourself). 


Jak se koukam na code-behind na http://support.microsoft.com/kb/303247
tak ten TextBox je tam taky definovany dvakrat, jednou
v ASPX:

 asp:textbox id=MyTextBox text=Hello World runat=server/asp:textbox

a podruhe ve tride:

 protected System.Web.UI.WebControls.TextBox MyTextBox;

Jestli .NET pristupuje k protected promennym primo, bez
setXXX() a getXXX() metod, tak je to strucnejsi, ale
porusuje to ruzne zasady, ktere nam SUN vtlouka do hlavy.

Nevidim vyhodu toho, kdyz musim objekt nadeklarovat
a pak na nem volat metodu:

protected System.Web.UI.WebControls.TextBox MyTextBox;

public void MyButton_Click(Object sender, EventArgs e){
MyLabel.Text = MyTextBox.Text.ToString();
}

oproti tomu, kdyz nadefinuju rovnou hodnotu:

private String text;

public Resolution click() {
label = text;
text = Franta;
...
}

Ale jestli to moc potrebujete, staci udelat toto:

public class Neco implements ActionBean{
...
public static class TextBox {
   private String text;
   public String getText() { return text; }
   public void setText(String s) { text = s;}
}

private TextBox textBox =  new TextBox();
public TextBox getTextBox() { return textBox; }

public Resolution click() {
  String text = textBox.getText();
  textBox.setText(Franta);
}

a v JSP udelat

  s:text name=textBox.text /

Tot vse.

Makub



Re: Code-Behind

2007-10-26 Tema obsahu Petr Synek
Mate pravdu ze backing bean muze slouzit pro vice komponent. Ale stale 
to znamena ze musite backing bean napsat.


Ve Swingu se nepouziva backing bean. Tam komponenty maji model tridu 
implicitne v sobe. Napr. text komponenty maji model reprezentovany 
tridou Document, ta uz ve Swingu je a vytvori se automaticky spolu s 
komponentou, ale pokud chcete muzete si dodat i Document svuj.

Rozhodne ale model neni sdileny vice komponentami, tak jako v JSF.

Petr

Josef Petrák - KYBERIE wrote:

Když si porovnáte Swing a JSF, tak jsou na tom stejně, třeba JLabel [JLabel]
vs. UIOutput [UIOutput], to jsou ekvivalentní komponenty, definující
gettery/settery pro své atributy. Backing Bean, do které vpisujete
getttery/settery reprezentuje nějaký logický celek rozhraní, nikoliv jedinou
komponentu. To není to samé, ne?

Ani nevím, jestli něco, jako Backing Bean se používá ve Swingu?

[JLabel] http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JLabel.html
[UIOutput]
http://java.sun.com/javaee/javaserverfaces/1.1/docs/api/javax/faces/componen
t/UIOutput.html

S pozdravem


Josef Petrák, Java vývojář
---
FOAF:http://jspetrak.zapisky.info/profile.rdf
E-mail:  [EMAIL PROTECTED]
Jabber:  [EMAIL PROTECTED]
Mobil:   +420603254189
ICQ: 179271149
---
KYBERIE
Web: http://www.kyberie.cz
Tel: +420226002016

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Petr Synek
Sent: Friday, October 26, 2007 11:29 AM
To: Java
Subject: Re: Code-Behind

Jo s tou dvoji deklaraci mas pravdu. Jednou je to v ASPX a jednou v 
parcialni tride generovane automaticky IDE.


Mne jinak nevadi ze pouzivam get() set(), vadi mi jen ze ty get() set() 
musim zbytecne psat do beany, ktera navic musi implementovat cosi (takze 
spousta zbytecne prace). Kdyz ve Swingu pouziju textfield, tak taky 
nemusim dopisovat nejake metody abych vytahl z koponenty jeji hodnotu. 
Swing komponenta vsechny metody pro praci s ni uz ma v sobe. Podobne 
bych rad pracoval v Jave i na webu. Rozhodne by to znamenalo psani mene 
kodu a pro lidi zvykly delat se Swingem a s objekty obecne rychlejsi 
ucici krivku.


Petr


Martin Kuba wrote:

Petr Synek wrote:

To je asi jako bych ve Swingu nekam umistil JTextField a jeste musel

vytvorit POJO tridu s getText() a setText() metodama jen kvuli tomu abych
mohl z toho textfieldu ziskat text. 

A navic bych jeste musel v konstruktoru rict ze ten JTextField ma ID

napr. Calculator a tu POJO tridu musel pojmenovat CalculatorActionBean a
implementovat nejaky interface. Tedy zrovna intuitivni mi takovyto
programatorsky styl neprijde. 


Od intuitivniho web frameworku bych cekal ze s komponentou numberOne

budu rovnou v Jave (v code behind) pracovat takto:

String text = numberOne.getText();
numberOne.setText(Franta)

Pricemz o deklaraci promene numberOne se uz nestaram, protoze ta uz byla
jednou deklarovana v JSP (neboli don't repeat yourself). 

Jak se koukam na code-behind na http://support.microsoft.com/kb/303247
tak ten TextBox je tam taky definovany dvakrat, jednou
v ASPX:

 asp:textbox id=MyTextBox text=Hello World

runat=server/asp:textbox

a podruhe ve tride:

 protected System.Web.UI.WebControls.TextBox MyTextBox;

Jestli .NET pristupuje k protected promennym primo, bez
setXXX() a getXXX() metod, tak je to strucnejsi, ale
porusuje to ruzne zasady, ktere nam SUN vtlouka do hlavy.

Nevidim vyhodu toho, kdyz musim objekt nadeklarovat
a pak na nem volat metodu:

protected System.Web.UI.WebControls.TextBox MyTextBox;

public void MyButton_Click(Object sender, EventArgs e){
MyLabel.Text = MyTextBox.Text.ToString();
}

oproti tomu, kdyz nadefinuju rovnou hodnotu:

private String text;

public Resolution click() {
label = text;
text = Franta;
...
}

Ale jestli to moc potrebujete, staci udelat toto:

public class Neco implements ActionBean{
...
public static class TextBox {
   private String text;
   public String getText() { return text; }
   public void setText(String s) { text = s;}
}

private TextBox textBox =  new TextBox();
public TextBox getTextBox() { return textBox; }

public Resolution click() {
  String text = textBox.getText();
  textBox.setText(Franta);
}

a v JSP udelat

  s:text name=textBox.text /

Tot vse.

Makub




__ Informace od NOD32 2618 (20071026) __

Tato zprava byla proverena antivirovym systemem NOD32.
http://www.nod32.cz






Re: Code-Behind

2007-10-25 Tema obsahu Petr Synek
Ono Pochopit framework je relativni pojem. I ten kdo uspesne nekolik 
let pouziva napr. Struts ho plne nechape, respektive ho chape jen 
natolik, nakolik ho chapat potrebuje. Vzdyt na co by bylo dobre, aby 
kazdy clen teamu perfektne rozumel tomu jak napsat treba plugin do 
Struts, kdyz to pro danou Struts aplikaci neni vubec plugin potreba?
Kazdy slozitejsi framework plne chapou snad jen jeho autori a ani tam si 
nejsem uplne jisty.


Ze vyvojar ma pochopit co se ma implementovat neni zavisle na tom jestli 
se rozhodne pouzivat IDE nebo Notepad. O deployment na cilovy server se 
u vetsich projektu casto stara deployment specialista a vetsine vyvojaru 
pak muze stacit jen Tomcat integrovany do IDE.



Kazdopadne to uz jsme trochu mimo puvodni tema...
Take jsem hledal jestli v Jave existuje framework co funguje na principu 
ASP.NET nebo Adobe Flex (tj. deklarace v XML + oddeleny code behind na 
obsluhu udalosti a manipulaci s komponentami), ale nic podobneho zatim v 
Jave neobjevil.


Ostatne je zajimave, ze na stejne filozoficke bazi jako ASP.NET nebo 
Flex vlastne funguje i stare dobre HTML+DOM+JavaScript. HTML je 
deklarace komponent a code behing je Javascript spousteny udalostmi a 
operujici nad DOMem. Ovsem HTML je bohuzel takovy jake je a Javascript s 
Javou nebo C# opravdu srovnavat nema smysl :-) Navic to cele bezi jen na 
klientovi. Ale zpusob vyvoje je vlastne podobny jako v ASP.NET.



Jozef Babjak wrote:

je to vhodne, protoze to ma IMHO silnou podporu v IDE a to je podle me
velice dulezite ze zacatku. Navic filozofie Web Packu je podobna


  ^-- Silna podpora v IDE? Ano, to je presne to, co NESMIE mat zaciatocnik,
ktory potrebuje najskor pochopit, co presne musi implementovat, konfigurovat,
ako to prelozit a ako to deploynut. Ked vsetko toto vie urobit rucne, moze
pouzit vykonnu podporut v IDE aby robil veci rychlejsie a nezatazoval sa
reziou frameworku. Ak mu polovicu veci skryjete za IDE, tak ten framework
nikdy nepochopi.

J.




Re: Code-Behind

2007-10-25 Tema obsahu Petr Synek
U Stripes jsem nasel pekny quick start, tak treba na nem muzu osvetlit proc to 
neni uplne ten styl programovani na jaky je asi kolega zvykly z ASP.NET

U Stripes deklaruju komponentu v JSP:
stripes:text name=numberOne/
Potud fajn... 

Ale abych s touto komponentou mohl vubec zacit pracovat v code behind (ziskat z 
ni treba text) musim pro ni deklarovat v Jave bean s alespon:
public double getNumberOne() { return numberOne; }
public void setNumberOne(double numberOne) { this.numberOne = numberOne; }
Navic se musim drzet jmenne konvence a ten bean pojmenovat CalculatorActionBean 
a implementovat ActionBean.


To je asi jako bych ve Swingu nekam umistil JTextField a jeste musel vytvorit 
POJO tridu s getText() a setText() metodama jen kvuli tomu abych mohl z toho 
textfieldu ziskat text. 
A navic bych jeste musel v konstruktoru rict ze ten JTextField ma ID napr. 
Calculator a tu POJO tridu musel pojmenovat CalculatorActionBean a 
implementovat nejaky interface. Tedy zrovna intuitivni mi takovyto 
programatorsky styl neprijde. 


Od intuitivniho web frameworku bych cekal ze s komponentou numberOne budu 
rovnou v Jave (v code behind) pracovat takto:
String text = numberOne.getText();
numberOne.setText(Franta)

Pricemz o deklaraci promene numberOne se uz nestaram, protoze ta uz byla jednou 
deklarovana v JSP (neboli don't repeat yourself). 

Petr


__
 Od: [EMAIL PROTECTED]
 Komu: Java konference@java.cz
 Datum: 25.10.2007 16:38
 Předmět: Re: Code-Behind

Roman Pichlik wrote:
 Kazdopadne to uz jsme trochu mimo puvodni tema...
 Take jsem hledal jestli v Jave existuje framework co funguje na
 principu ASP.NET nebo Adobe Flex (tj. deklarace v XML + oddeleny code
 behind na obsluhu udalosti a manipulaci s komponentami), ale nic
 podobneho zatim v Jave neobjevil.
 
 po treti, existuji
 
 - JSF+facelects|clay
 - Tapestry
 - Wicket
a - Stripes :-)

Makub
-- 
~~
Supercomputing Center Brno Martin Kuba
Institute of Computer Scienceemail: [EMAIL PROTECTED]
Masaryk University http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
--





Re: Featura v Eclipse

2007-06-15 Tema obsahu Petr Synek
jj, a navic na toolbaru je na to ikona. Vypada to pri trose fantazie jako 
zvyraznovaci fixa :-) 

__
 Od: [EMAIL PROTECTED]
 Komu: Java konference@java.cz
 Datum: 15.06.2007 21:25
 Předmět: Re: Featura v Eclipse

 Kde v Eclipse zapnu tu featuru, ktera mi pri oznaceni promenne v kodu 
vysviti vpravo zlute vsechny jeji vyskyty.
  Nejak jsem to vypnul a docela spatne se mi bez toho dela.

me to obcas Eclipse z neznamych duvodu vypne ;-)

Window  Preferences  Java  Editor  Mark Occurences

-- S pozdravem Roman Dagi Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */




MTOM SOAP attachments

2007-03-13 Tema obsahu Petr Synek
Ahoj, 

resim posilani vetsich binarnich attachmentu (v radu MB) ze serveru na klienta 
spolu s jednoduchou SOAP zpravou (WebService je pozadavek zakaznika). 
Rad bych se zeptal zdali mate nekdo praktickou zkusennost s MTOM SOAP 1.2 
attachmenty v Jave. Jaky WS framework je vhodny? 
Co jsem zatim nasel, tak podporovat MTOM by mel Axis2 a JAX-WS 2.0. 
JAX-WS 2.0 vyzaduje Javu 1.5 (coz bude nejspis problem pro zakaznika) a k Axis2 
je slabsi dokumentace a snad zadny tutorial pro MTOM. 
Muzete me prosim nekdo nasmerovat, zejmena jaky WS framework je tady vhodny? 

Diky za pripadne info, 
Petr



RE: Co jde v .NET a nejde v Jave?

2006-11-02 Tema obsahu Petr Synek
Nastesti nic takoveho v Jave ani v .NETu udelat nejde. 
petr
__
 Od: [EMAIL PROTECTED]
 Komu: 'Java' konference@java.cz
 Datum: 02.11.2006 09:13
 Předmět: RE: Co jde v .NET a nejde v Jave?

Samozrejme, že je to zlé, pretože keď sa pozriete na cudzí program, nikdy
neviete, čo za String tam je použitý. Nehľadiac na to, že definovať si
potomka String-u a doplniť mu tam tú metódu nie je problém a volanie sa
zmení na

new MyString(c:\data).getFiles()

čo mi nepríde príliš veľká obeť.

To už potom smrdí C-čkovým typedef (pri použití 2 knižníc v projekte máte
minimálne 3 názvy pre int - skúsenosť z praxe), alebo C-čkovými
preťaženými
operátormi - nikdy neviete, čo vlstne to plus spraví.

Aby som nevyvolal flame - tieto možnosti sú naozaj mocné, ale ak
potrebujete
urobiť rýchlo zmenu už staršieho projektu (t.j. asi v 90% času života
aplikácie) - nevyhovujú.

Rastislav Bedo Siekel


 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of Petr Fischer
 Sent: 1. novembra 2006 13:33
 To: Java
 Subject: Re: Co jde v .NET a nejde v Jave?
 
 
 Petr Synek píše v St 01. 11. 2006 v 01:20 +0100:
  Co se tyce dokumentace, tak v .NET podle mne neni dokumentace zas o 
  moc lepsi nez v Jave (kdyz se budeme bavit zejmena o core 
 J2SE knihovnach). Snad jen je v MSDN o neco vic prikladu jak 
 konkretni tridu pouzit, ale myslim ze ani Java 1.5 uz se nema 
 za co stydet (oproti napr. 1.3. verzi).
  V .NETu mi ale dost chybi moznost si prohlednout zdrojaky 
 knihoven frameworku. Takze opravdu nezbyva nic jineho nez se 
 spolehnout pouze na dokumentaci (coz nebyva idealni) nebo na 
 google (to ale zbytecne zdrzuje). V Jave lze primo nahlednout 
 do zdrojaku (napr. podivat se co vlastne vraci ten zatraceny 
 Boolean.getBoolean(...) ze? :-). 
  
  Co se tyce core knihoven, tak ty mi prijdou .NET knihovny 
 ponekud vic 
  intuitivni.
  Napr. string.IsNullOrEmpty() je docela uzitecna staticka 
 metoda tridy String. V Jave musime psat porad dokola if (s 
 ==null || s.length() = 0) (i o dost podivnejsi ekvivalenty 
 lze casto potkat) nebo si napsat vlastni externi utilitu 
 (prip. stahnout neco hotoveho z Jakarta Commons). 
  
  Dale napr. prace s datumem (DateTime) a casovym usekem (TimeSpan) a 
  jakym zpusobem se tyto 2 tridy dokonale doplnuji (scitani, 
 odcitani, staticke helper metody na vytvareni) je ukazka jak 
 ma .NET dobre propracovane nektere knihovny.
  Kdyz se pak clovek podiva na java.util.Date a ty mraky 
 deprecated constructoru a metod, tak si uvedomi, ze vlastne 
 cely Date je uz dnes jen docela osklivy wrapper nad jednou 
 long promennou a nic vic... Ale neni to rozhodne to co by 
 clovek intuitivne od Date tridy cekal. 
  Pokud chci napriklad vytisknout cas tedy v .NETu 
 Console.WriteLine(DateTime.Now); tak v Jave (jsem pres 
 google http://www.rgagnon.com/javadetails/java-0106.html) 
 zjistil ze musim pouzit minimalne tridy Calendar a 
 SimpleDateFormat a provadet s tim docela slusne harakiri. Bez 
 googlu, je toto prace na min. 5 minut. 
  
 
 To me pripomina jednu vec, i kdyz bych nerad mlzil. Neni v 
 .NETu nahodou mozny rozsirovat existujici tridy o novy metody 
 (muzete si dopsat svoji vlastni metodu do existujici String 
 nebo Date tridy - tedy podobne jako treba ve Smalltalku)? 
 Chapu, ze nekomu to pride jako prasarna, ale je to jen trosku 
 jinej styl OO programovani.
 
 Muzete si pak do String tridy dopsat treba funkci getFiles() a pak
 staci:
 
 c:\data.getFiles() 
 
 To neni zly ne? :)
 
 pf
 
 
 
 
 






Re: Co jde v .NET a nejde v Jave?

2006-11-01 Tema obsahu Petr Synek
Myslim ze to neni nic proti MVC. 
Je to jen zjednoduseni ve smyslu jako by JTable mohl pouzivat primo Hibernate 
entity aniz by bylo nutne predtim rucne plnit javax.swing.table.TableModel z 
Entit. S tim ze se zaroven automaticky zjisti jmena a typy sloupcu (a 
samozrejme ze je take mozne dodatecne toto implicitni mapovani sloupcu upravit, 
pokud nevyhovuje). 

Podobne jednoduse by snad mohl fungovat JBoss Seam pro JSF (viz. 
http://www.onjava.com/pub/a/onjava/2006/03/15/jboss-seam.html), ale jeste jsem 
si to cele nestihl precist. 

petr


__
 Od: [EMAIL PROTECTED]
 Komu: Java konference@java.cz
 Datum: 01.11.2006 10:13
 Předmět: Re: Co jde v .NET a nejde v Jave?

 Napr. GUI nebo Web prvky pracuji primo s datovmi objekty (ADO.NET),
takze vetsinou odpada rucni plneni Model objektu z Entit, tedy vice mene
odpada rucni prehazovani kupy dat tam a zase zpet (i kdyz napr. Jakarta
BeanUtils lrecos v tomhle smeu v Jave take zjednodusuji, ale v .NETu tohle
funguje implicitne a automaticky). 

No to bych zrovna jako vyhodu moc nepovazoval. To je pak o tom, ze se
vsechno toci okolo GUI, ktere zobrazuje i drzi
data, coz neni dobry pristup (rozhodne to neni podle MVC, ale on
Microsoft nikdy MVC moc nebral vazne). Pokud MVC chci
pouzit, pak musim data z modelu kopirovat do GUI :-((

Me se naopak i u desktopovych aplikaci striktni pouziti MVC vzdy
vyplatilo, i kdyz i trivialni aplikace to znamena vic
prace, ale prehlednost kodu a jeho rozsiritelnost jednoznacne hovori ve
prospech tohoto reseni. (pravda nikdy jsem si
GUI neklikal, protoze me to prislo hrozne omezujici )

Abych se ale vyjadril k tematu, vse je to o tom, ktera platforma
vyhraje. To je ta spravna volba  Navic jde i o
filosofickou otazku, ktera podle me trochu zanikla ... chcete mit volnost
a nebo jasne danou cestu, podle toho si vyberte.

P.S. Uz je .NET dostatecne stabilni, aby jej Microsoft nemenil pod rukama
jako se stalo mezi verzi 1.X a 2.0 ... to je
argument pro Javu, mozna ...

-- 
Jiří Mareš (mailto:[EMAIL PROTECTED])
ČSAD SVT Praha, s.r.o. (http://www.svt.cz)
Czech Republic




Re: Co jde v .NET a nejde v Jave?

2006-10-31 Tema obsahu Petr Synek

__
 Od: [EMAIL PROTECTED]
 Komu: Java konference@java.cz
 Datum: 31.10.2006 10:53
 Předmět: Re: Co jde v .NET a nejde v Jave?

On Tuesday 31 October 2006 10:13, Radovana Straube wrote:
 Dobry den,

 C#.NET je vyzrelejsi jazyk, pretoze bol zostaveny
 neskor, na principoch Javy, a vyvaroval sa jej chyb a
 nedostatkov. Napr. anotacie tam existovali uz davno.
 Vsetky funkcie su pekne dokumentovane, Microsoft
 proste staval na svojich skusenostiach a rozsiroval
 iba bazu, ktoru uz mal. V .NET mozete pouzivat viacero
 jazykov, napr. Visual Basic, J# a pod.

Co se tyce dokumentace, tak v .NET podle mne neni dokumentace zas o moc lepsi 
nez v Jave (kdyz se budeme bavit zejmena o core J2SE knihovnach). Snad jen je v 
MSDN o neco vic prikladu jak konkretni tridu pouzit, ale myslim ze ani Java 1.5 
uz se nema za co stydet (oproti napr. 1.3. verzi). 
V .NETu mi ale dost chybi moznost si prohlednout zdrojaky knihoven frameworku. 
Takze opravdu nezbyva nic jineho nez se spolehnout pouze na dokumentaci (coz 
nebyva idealni) nebo na google (to ale zbytecne zdrzuje). V Jave lze primo 
nahlednout do zdrojaku (napr. podivat se co vlastne vraci ten zatraceny 
Boolean.getBoolean(...) ze? :-). 

Co se tyce core knihoven, tak ty mi prijdou .NET knihovny ponekud vic 
intuitivni. 
Napr. string.IsNullOrEmpty() je docela uzitecna staticka metoda tridy String. V 
Jave musime psat porad dokola if (s ==null || s.length() = 0) (i o dost 
podivnejsi ekvivalenty lze casto potkat) nebo si napsat vlastni externi utilitu 
(prip. stahnout neco hotoveho z Jakarta Commons). 

Dale napr. prace s datumem (DateTime) a casovym usekem (TimeSpan) a jakym 
zpusobem se tyto 2 tridy dokonale doplnuji (scitani, odcitani, staticke helper 
metody na vytvareni) je ukazka jak ma .NET dobre propracovane nektere knihovny. 
Kdyz se pak clovek podiva na java.util.Date a ty mraky deprecated constructoru 
a metod, tak si uvedomi, ze vlastne cely Date je uz dnes jen docela osklivy 
wrapper nad jednou long promennou a nic vic... Ale neni to rozhodne to co by 
clovek intuitivne od Date tridy cekal. 
Pokud chci napriklad vytisknout cas tedy v .NETu 
Console.WriteLine(DateTime.Now); tak v Jave (jsem pres google 
http://www.rgagnon.com/javadetails/java-0106.html) zjistil ze musim pouzit 
minimalne tridy Calendar a SimpleDateFormat a provadet s tim docela slusne 
harakiri. Bez googlu, je toto prace na min. 5 minut. 

Dale nechapu proc napr. jinak velmi dobre propracovane java collections nemaji 
svuj vlastni package a motaji se do java.util kde se dneska nachazi uz kde co. 
Atd. ale to nema cenu dal rozebirat. 


Pokud se tyce podpory vice jazyku v .NETu, tak to mi prijde jako snad ta 
nejmensi vyhoda nebo argument. 
Nevim, ale asi malokdo v .NETu dneska pise v C++ nebo v J#. Udajne se v USA 
pise hlavne ve VB.NET a ve zbytku sveta vetsinou v C#. 
Jak uz Tapik psal, pro Javu VM existuje taky spousta jazyku, ale drtiva vetsina 
lidi je IMHO nikdy nebude mit potrebu pouzivat (aspon v nejblizsi dobe ne). 

 Vyhoda Javy je aj v bezproblemovom nasadeni na Linuxe.
 Viem, ze uz bol napisany aj VM pre .NET pod Linuxom,
 ale o nejakom sirsom nasadeni som este nepocula. Ked
 sa clovek rozhodne pre .NET, takze sa v podstate
 rozhodol pre Windows.

Mono nepodporuje vse co .NET od MS (napr. udajne GUI WinForms nic moc). Takze o 
dokonale prenositelnosti z windows na Unix (jako u Javy) nemuze byt asi rec. 
Mono vzniklo tusim tak, ze MS kdysi castecne naimplementoval verzi .NETu 1.0 na 
FreeBSD a dal od toho brzo ruce pryc (spis to byl marketingovy tah nez vazny 
umysl podporovat UNIX). A od te doby uz Mono s .NETem (1.1, 2.0, 3.0) IMHO 
nestaci prilis drzet krok (ale mozna se mylim). 


 Myslim, ze zalezi aj na type programatora. Cloveku,
 ktory ma rad veci jasne nalinkovane, by viac vyhovoval
 .NET, lebo tam mate standardne kniznice a standardne
 postupy. Ak ste viac experimentatorsky typ a bavi vas
 hladat rozne projekty po Internete, tak by Vam asi
 viac vyhovala Java. Ale to je samozrejme len moj
 subjektivny nazor.

To je pravda. 
V .NETu lze vetsinu veci delat jedinym zpusobem a ale vetsinou i snaze s mensim 
poctem vrstev, ktere je nutno rucne psat. 
Napr. GUI nebo Web prvky pracuji primo s datovmi objekty (ADO.NET), takze 
vetsinou odpada rucni plneni Model objektu z Entit, tedy vice mene odpada 
rucni prehazovani kupy dat tam a zase zpet (i kdyz napr. Jakarta BeanUtils 
lecos v tomhle smeru v Jave take zjednodusuji, ale v .NETu tohle funguje 
implicitne a automaticky). 

V Jave je urcite mnohem vetsi volnost vyberu knihoven to je fakt. Ale take je 
tim padem treba vybirat z ruznych variant, ktere se nabizi a to take stoji 
nejake usili. Napr. jaky persistentni framework (jen JDBC, Hibernate, JDO, 
Entity EJB...), jake MVC: (Struts, JSF, Tapestry nebo snad dokonce  
WebWork,...). Jestli vubec pouzit EJB container. 
Ale hlavne je pak treba doresit jak tyto (vetsinou nezavisle) frameworky 
navzajem zintegrovat v ramci 

Re: Rijnove setkani CZJUG

2006-10-30 Tema obsahu Petr Synek
Ahoj, 
dik za info, ale skoda ze o tom neslo info aspon o den drive. V praci se ted 
bohuzel nedostanu na free email a kdyz jsem si zpravu precetl doma, tak uz bylo 
pozde. 
Snad tedy priste. 
petr
__
 Od: [EMAIL PROTECTED]
 Komu: undisclosed-recipients (utajeni adresati):;
 Datum: 30.10.2006 10:22
 Předmět: Rijnove setkani CZJUG

Zdravim,
  v pondělí 30. října 2006 proběhne od 18:00 3. setkání CZJUG, které bude
o anotacích a o JDK 7. Přednášet bude Rob Harwood z firmy JetBrains -
autoři IDE IntelliJ IDEA.  Druhým hostem bude Danny Coward, vývojář JDK a
téma jeho přednášky bude novinky v JDK 7.

Přednášky budou opět na ČVUT v posluchárně K1 (Karlovo náměstí 13, Praha,
vchod přes Strojní fakultu ČVUT).

Abstrakty přednášek a něco málo o přednášejících najdete na
http://java.cz/detail.do?articleId=2543

-- S pozdravem Roman Dagi Pichlik


__
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
__




Re: vytvorenie thumbnail obrazku

2006-04-18 Tema obsahu Petr Synek

Kdyz uz pouzivate neverejne tridy ImageIO z JRE (napr. JPEGImageDecoder apod.), ktere byste nemel primo pouzivat, tak proc uz rovnou nepouzijete legalni API ImageIO...? :-) 

Napr. viz. 
// cteni obr.
http://javaalmanac.com/egs/javax.imageio/BasicImageRead.html
// zapis
http://javaalmanac.com/egs/javax.imageio/Graphic2File.html
// ImageIO api
http://java.sun.com/j2se/1.4.2/docs/api/javax/imageio/ImageIO.html
dal viz google: ImageIO

ImageIO mi prijde jednodussi nez JAI, hlavne proto, ze neni treba nic doinstalovavat do JDK. Navic ImageIO co je v JRE uz umi cist i zapisovat (krome JPEG a PNG) i GIF. 

petr

__
 Od: [EMAIL PROTECTED]
 Komu:  konference@java.cz
 CC:  
 Datum: 17.04.2006 11:29
 Předmět: vytvorenie thumbnail obrazku

  Ahojte,
 
 vo WEB aplikacii potrebujem vytvarat maly nahlad (thumbnail) na obrazok.
 Na nete
 som nasiel nasledujuci zdrojak, ktory pouzivam, ale bohuzial nefunguje
 spravne
 pre GIF obrazky, ale len pre JPG. nemate niekto zdrojak, ktory by fungoval
 pre
 vsetky najpouzivanejsie graficke formaty (jpg, gif, png).
 
 dakujem.
 
 Ivan
 
 momentalne pouzivam zdrojak:
 
 FileInputStream in = new FileInputStream(originalFileName);
 
 com.sun.image.codec.jpeg.JPEGImageDecoder decoder =
 com.sun.image.codec.jpeg.JPEGCodec.createJPEGDecoder(in);
 
 BufferedImage originalImage = decoder.decodeAsBufferedImage();
 
 in.close();
 
 int newdim[] = newDimensions(originalImage.getWidth(null),
 originalImage.getHeight(null));
 
 java.awt.image.BufferedImage thumbImage = new
 java.awt.image.BufferedImage(newdim[0],newdim[1],
 java.awt.image.BufferedImage.TYPE_INT_RGB);
 
 java.awt.Graphics2D graphics2D = thumbImage.createGraphics();
 
 graphics2D.setRenderingHint(java.awt.RenderingHints.KEY_INTERPOLATION,
 java.awt.RenderingHints.VALUE_INTERPOLATION_BILINEAR);
 
 graphics2D.drawImage(originalImage, 0, 0, newdim[0],newdim[1], null);
 
 FileOutputStream out = new FileOutputStream(filename);
 
 com.sun.image.codec.jpeg.JPEGImageEncoder encoder =
 com.sun.image.codec.jpeg.JPEGCodec.createJPEGEncoder(out);
 
 com.sun.image.codec.jpeg.JPEGEncodeParam param =
 encoder.getDefaultJPEGEncodeParam(thumbImage);
 
 //writeParam.setCompressionMode(JPEGImageWriteParam.MODE_EXPLICIT);
 
 param.setQuality(0.9f, false);
 
 encoder.setJPEGEncodeParam(param);
 encoder.encode(thumbImage);
 
 out.close();
 



RE: Kodovani a JSF?

2006-01-04 Tema obsahu Petr Synek
MS SQL driver od MS navic neumi CLOBy a Quantum DB eclipse plugin s nim ma taky 
problemy. 
Cili s MS SQL uz jen jedine JTDS :-)
petr

__
 Od: [EMAIL PROTECTED]
 Komu:  Java konference@java.cz
 CC:  
 Datum: 04.01.2006 11:12
 Předmět: RE: Kodovani a JSF?

  Rozhodne souhlasím. Taky je jtds rychlejí a mení ;-))
 
 Petr
 
 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
 Behalf Of Roman Hrivik
 Sent: Wednesday, January 04, 2006 11:03 AM
 To: Java
 Subject: Re: Kodovani a JSF?
 
 
 
 Len na okraj.
 Sice MS SQL som nepouzival uz roky ale vsade kde som nahodou k tejto
 skratke prisiel ci uz na konfere, alebo inom clanku tak original dodavany
 MS SQL driver je jednak stary (asi aj nie je supportovany) a jednak ma
 problemy s datumami.
 Odporucil by som ti radsej pouzit http://jtds.sourceforge.net/
 
 Roman
 
 
 Pavel Rezny said:
  jj, to bude asi ten problem, ze se v connct stringu nic
  nespecifikovalo a tudis nevim, jake kodovani driver predpokladal a
  jestli byl schopen od serveru zjistit, v jakem kodovani je DB.
  Jednalo se o MS SQL server s kodovanim win-1250 a JDBC driver od
  Microsoftu.
  Takze jeste pohledam timto smerem a ted uz by se melo podarit
  premluvit ho na UTF-8 ;-)
 
  Jeste jednou dekuji za uzitecne rady.
 
 PavelR
 
  Martin Kuba wrote:
 
  Pavel Rezny wrote:
 
 Pro pristup do DB pouzivame Hibernate a pokud byla DB win-1250 a
  stranka byla win-1250 bylo vse spravne, ale pokud byla stranka v
  html-head-meta oznacena jako UTF-8 nebylo kodovani spravne, i kdyz v
  Tapestry 3 (http://jakarta.apache.org/tapestry/) bylo vse nastaveno
  na UTF-8 (jeste nebylo pouzivano JSF).
 
 
  To vypada, ze data z databaze byla nactena sice jako windows-1250
  bajty, ale s deklaraci iso-8859-1, takze ve vnitrnim ulozeni javy
  to byl nejaky nesmysl. Nicmene kdyz se na vystup daly jako iso-8859-1
  (default kodovani ze servletu) a v HTML META tagu se to oznacilo
  jako windows-1250, provedl browser druhy spatny preklad, ktery ale
  vyrusil tu prvni chybu, takze se to zobrazilo dobre.
  Naopak spravne nastaveni kodovani na utf-8 situaci opticky zhorsilo.
 
  Takze problem bude v nastaveni databaze. Co pouzivate ?
  Vidim to tak, ze JDBC driver je natolik hloupy, ze se nezepta
  serveru na spravne kodovani, a zaroven mu nebylo spravne kodovani
  rucne nastaveno. To dela treba MySQL, ale nejspis i jine databaze.
 
  Takze jeste proverim, jak jsou opravdu predavana data z Hibernate a
  jestli by tedy bylo mozne nastavit kodovou stranku vzdy na UTF-8 bez
  ohledu na to, jak jsou ulozena data v DB.
  Ano vnitrni reprezentaci Stringu v Jave chapu presne tak, jak jste
  popsal vyse, a samozrejme pokud se pouziji nastroje javy pro nacitani
  z DB/souboru, tak se vzdy uvadi v jakem kodovani je zdroj. Ale
  protoze jsem si nebyl vubec jisty, jak data dostavam z DB a mel jsem
  predchozi spatnou zkusenost, tak jsem nechtel omezit stranky pouze na
  UTF-8. Ale pokud to nebude pusobit zadny problem, budu jedine rad,
  kdyz budou stranky vzdy v UTF-8.
 
 
  Spravne nacteni dat z databaze je odpovednosti JDBC driveru,
  musite se podivat do jeho dokumentace. Kdyz bude nejhur,
  muzete spatne nacteny String opravit takhle:
 
  String dobre = new String(spatne.getBytes(spatne kodovani),spravne
  kodovani);
 
  ale treba u MySQL staci do JDBC URL dat
  ?useUnicode=truecharacterEncoding=windows-1250
 
  samozrejme za predpokladu, ze server pouziva windows-1250,
  a pak vsechno funguje jako po masle.
 
  Makub
 
 
 
 
 
 
  Information from NOD32 
 This message was checked by NOD32 Antivirus System for Linux Mail Server.
 http://www.nod32.com
 
 
 



Re: eclipse

2005-11-02 Tema obsahu Petr Synek
Toto je bezny jev a nastava vzdy kdy trida nebyla skompilovana s prepinacem -g 
(pripadne obdobou  tohoto prepinace jinych kompileru nez javac).
V takovem pripade debugger vidi jen promenne trid, ale uz ne lokalni promenne 
metod. 

petr
__
 Od: [EMAIL PROTECTED]
 Komu: konference@java.cz
 CC: 
 Datum: 02.11.2005 17:07
 Předmět: eclipse

 Zdravim, 
 nesetkal jste se nekdo s timto ... pri debugu eclipse dela toto 
 pri tomto kodu
 ...
 nextLine = buff.readLine(); 
 String x = nextLine;
 System.out.println(x);
 ...
 
 eclipse nezobrazi hodnotu v promenne x pri debugu, ale presto ji vypise
 
 Josef
 
 
 
 -- Disclaimer --
 Sdeleni Komise pro cenne papiry vyjadruji zpravy opatrene autentickym nebo
 elektronickym podpisem. Zpravy, ktere nejsou takto podepsane, predstavuji
 pouze neformalni vyjadreni zamestnance Komise pro cenne papiry, ktery
 zpravu odeslal.
 
 This message is an informal statement made by an employee of the Czech
 Securities Commission who sent the message. Only messages furnished with a
 genuine or electronic signature are considered to be communications of the
 Czech Securities Commission.




Re: Owner-draw AWT controls

2005-08-23 Tema obsahu Petr Synek
Tusim ze Swing existoval jako JAR knihovna pro Javu 1.1.8. Zkuste se k nemu 
proklikat:
http://java.sun.com/products/jfc/download.html

Jestli to behalo i s MS Javou je tezko rict, ale mohlo by. 

Petr


__
 Od: [EMAIL PROTECTED]
 Komu: konference@java.cz
 Datum: 23.08.2005 14:36
 Předmět: Owner-draw AWT controls

 Zdravim,
 mam takovy dotaz ze zahrobi ... pisu GUI applet v AWT (kvuli MS JVM) a sef
 si vymyslel, ze by chtel kulate tlacitka a jiny combo-box (Choice) atd.
 Nevite o nejake knihovne ?
 Zatim jsem nasel jenom popis, jak udelat button, ale treba s combo-boxem
 je to vyrazne slozitejsi ...
 
 Diky, Marek