Re: konverze properties file do excelu
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
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
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
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
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
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
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
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
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)
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?
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?
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ů
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
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í?
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í?
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í?
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í?
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
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
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
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
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?
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
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
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
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
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
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
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?
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?
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?
__ 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
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
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?
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
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
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