OT: SunSPOT - programatorska soutez

2009-07-21 Tema obsahu Jakub Podlesak

Zdravím konferenci,

Společnost SUN Microsystems se rozhodla věnovat českému sdružení 
CZJUG jeden vývojový kit pro technologii SunSPOT.
Rozhodl jsem se o tento kit uspořádat soutěž.
Podrobnosti najdou všichni zájemci na

http://blogs.sun.com/japod/entry/sout%C4%9B%C5%BE_o_sunspot_development_kit

Javě zdar!

~Jakub

P.S. Všem účastníkům posledního předprázdninového setkání CZJUG
se tímto omlouvám za zpožděné vyhlášení


Re: Co s dlouhotrvajicimi konstruktory Swing component?

2009-07-21 Tema obsahu Vaclav Stumbauer
Zdravim,

jeden dialog mi nabublal do podobnych rozmeru - cca 10 tabu, 150-200
component + dalsich cca 30 tlacitek a polozek menu.
vytvoreni komponent stejne jako vysazeni do layoutu se ve vysledku
vola z konstruktoru a dialog se ukaze nez bys rekl swing.
Neni to Netbeans platforma.

Chci tim rict - prijde mi ze se v pozadi musi dit neco vic nez jen
konstrukce GUI.

VS


2009/7/21 Tomas Hubalek :
> Data do tech komponent se samozrejme dotahuji postupne a na pozadi. Problem
> je s tim ze NetBeansy nagenerovana metoda initComponents dlouho trva,
> protoze je uvnitr hodne komponent.
>
> Pokud jde o ty taby, neda se svitit, tech informaci je tam opravdu hodne,
> tezko to udelat jinak (nehlede na to, ze to tak je v zadani od zakaznika).
>
> Nakonec jsem usoudil ze na nektere veci (specialne veci spousteni uvnitr
> akci) pouziju SwingUtilities.invokeLater(), ktere kdyz se pouzije s citem,
> pocit tuhnuti aplikace se snad zlepsi...
>
> Tom
>
> -Původní zpráva-
> Od: konference-boun...@java.cz za uživatele Vity Vity
> Odesláno: út 7/21/2009 11:03
> Komu: konference@java.cz
> Předmět: Re: Co s dlouhotrvajicimi konstruktory Swing component?
>
>
> Zdravim,
> rekl bych, ze odpoved se naskyta sama - dotahovat komponenty kazdeho tabu
> postupne.
> Obecne bych i dost pochyboval, ze bude uzivatel pouzivat vsech 15 naraz a
> pokud jich tam skutecne mate 15, tak to take vypada na spatny GUI navrh.
>
>
> -Vity
>
>
> Dne 21. červenec 2009 10:41 Tomas Hubalek 
> napsal(a):
>> Zdar,
>> mame pomerne hodne slozity formular ve Swingu (asi patnact tabu, v kazdem
>> dalsich milion komponent) a jenom konstruktor tohoto formulare trva pres
>> deset vterin, cili i vytvoreni topkomponenty s timto formularem zpusobi
>> zatuhnuti na vic nez deset vterin (podotykam ze vsude jsou nacitana data
>> ve
>> SwingWorkerech, takze to je opravdu jen  cas, kdy se blokuje EDT).
>>
>> Premyslim, jestli je mozne nejak (alespon pocitove) zrychlit vytvoreni
>> tohoto formulare.  SwingWorker na to AFAIK pouzit nejde, protoze metoda
>> doInBackground nesmi pristupovat ke Swingovym komponentam.
>>
>> Jak to resite vy? Nejaka lazy inicializace? Komponent pooling?
>>
>> Dik za kazdy tip
>>
>> Tom
>
>
>


Re: Sparovani dvou mnozin

2009-07-21 Tema obsahu Ondra Medek
>> Jde o mnoziny velikosti radove stovek prvku.
>>
>> Tak nejak doufam, ze nekde existuje neco magickeho :-) co jen pouziju a
>> voala (Google collections ?)
>
> zeby
> java.util.set.containsAll() ???
>

aha, tedy spise java.util.set.removeAll() nebo java.util.set.retainAll()


Re: Sparovani dvou mnozin

2009-07-21 Tema obsahu Ondra Medek
2009/7/21 Michal Nikodím :
> Diky za rozbor. Mel jsem ale vice vypichnout tu podminku, ze mnozina A je
> 100% prvku a B ma jen 0-100% protilehlych prvku.
> Z toho mi vyplyva, ze nemohu pouzit sesortovani a protilehlost prvku,
> protoze nektere A prvky nemaji prvek v mnozine B.

lze to pouzit, pokud je prvcich definovano usporadani, tj. lze prvky
porovnat mensi/vetsi

>
> Jde o mnoziny velikosti radove stovek prvku.
>
> Tak nejak doufam, ze nekde existuje neco magickeho :-) co jen pouziju a
> voala (Google collections ?)

zeby
java.util.set.containsAll() ???

>
>
>



-- 
Ondra Medek


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  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 :

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 Map pricemz iteruju
mnozinu A a podle ID z mapy dohledam odpovidajici prvek B.
Ale moc se i to nezda.





--
Ondra Medek







Re: Sparovani dvou mnozin

2009-07-21 Tema obsahu Michal Nikodím
Diky za rozbor. Mel jsem ale vice vypichnout tu podminku, ze mnozina A 
je 100% prvku a B ma jen 0-100% protilehlych prvku.
Z toho mi vyplyva, ze nemohu pouzit sesortovani a protilehlost prvku, 
protoze nektere A prvky nemaji prvek v mnozine B.


Jde o mnoziny velikosti radove stovek prvku.

Tak nejak doufam, ze nekde existuje neco magickeho :-) co jen pouziju a 
voala (Google collections ?)





Re: Sparovani dvou mnozin

2009-07-21 Tema obsahu Vity Vity

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


-Vity


Dne 21. červenec 2009 14:08 Ondra Medek  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 :
>> 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 Map pricemz iteruju
>> mnozinu A a podle ID z mapy dohledam odpovidajici prvek B.
>> Ale moc se i to nezda.
>>
>>
>
>
>
> --
> Ondra Medek
>



Re: Sparovani dvou mnozin

2009-07-21 Tema obsahu Ondra Medek
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 :
> 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 Map pricemz iteruju
> mnozinu A a podle ID z mapy dohledam odpovidajici prvek B.
> Ale moc se i to nezda.
>
>



-- 
Ondra Medek


RE: Co s dlouhotrvajicimi konstruktory Swing component?

2009-07-21 Tema obsahu Tomas Hubalek
Data do tech komponent se samozrejme dotahuji postupne a na pozadi. Problem je 
s tim ze NetBeansy nagenerovana metoda initComponents dlouho trva, protoze je 
uvnitr hodne komponent.

Pokud jde o ty taby, neda se svitit, tech informaci je tam opravdu hodne, tezko 
to udelat jinak (nehlede na to, ze to tak je v zadani od zakaznika).

Nakonec jsem usoudil ze na nektere veci (specialne veci spousteni uvnitr akci) 
pouziju SwingUtilities.invokeLater(), ktere kdyz se pouzije s citem, pocit 
tuhnuti aplikace se snad zlepsi...

Tom 

-Původní zpráva-
Od: konference-boun...@java.cz za uživatele Vity Vity
Odesláno: út 7/21/2009 11:03
Komu: konference@java.cz
Předmět: Re: Co s dlouhotrvajicimi konstruktory Swing component?
 

Zdravim,
rekl bych, ze odpoved se naskyta sama - dotahovat komponenty kazdeho tabu 
postupne.
Obecne bych i dost pochyboval, ze bude uzivatel pouzivat vsech 15 naraz a pokud 
jich tam skutecne mate 15, tak to take vypada na spatny GUI navrh.


-Vity


Dne 21. červenec 2009 10:41 Tomas Hubalek  napsal(a):
> Zdar,
> mame pomerne hodne slozity formular ve Swingu (asi patnact tabu, v kazdem
> dalsich milion komponent) a jenom konstruktor tohoto formulare trva pres
> deset vterin, cili i vytvoreni topkomponenty s timto formularem zpusobi
> zatuhnuti na vic nez deset vterin (podotykam ze vsude jsou nacitana data ve
> SwingWorkerech, takze to je opravdu jen  cas, kdy se blokuje EDT).
>  
> Premyslim, jestli je mozne nejak (alespon pocitove) zrychlit vytvoreni
> tohoto formulare.  SwingWorker na to AFAIK pouzit nejde, protoze metoda
> doInBackground nesmi pristupovat ke Swingovym komponentam.
>  
> Jak to resite vy? Nejaka lazy inicializace? Komponent pooling?
>  
> Dik za kazdy tip
>  
> Tom




Sparovani dvou mnozin

2009-07-21 Tema obsahu Michal Nikodím

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 Map pricemz 
iteruju mnozinu A a podle ID z mapy dohledam odpovidajici prvek B.

Ale moc se i to nezda.



Re: Co s dlouhotrvajicimi konstruktory Swing component?

2009-07-21 Tema obsahu Vity Vity

Zdravim,
rekl bych, ze odpoved se naskyta sama - dotahovat komponenty kazdeho tabu 
postupne.
Obecne bych i dost pochyboval, ze bude uzivatel pouzivat vsech 15 naraz a pokud 
jich tam skutecne mate 15, tak to take vypada na spatny GUI navrh.


-Vity


Dne 21. červenec 2009 10:41 Tomas Hubalek  napsal(a):
> Zdar,
> mame pomerne hodne slozity formular ve Swingu (asi patnact tabu, v kazdem
> dalsich milion komponent) a jenom konstruktor tohoto formulare trva pres
> deset vterin, cili i vytvoreni topkomponenty s timto formularem zpusobi
> zatuhnuti na vic nez deset vterin (podotykam ze vsude jsou nacitana data ve
> SwingWorkerech, takze to je opravdu jen  cas, kdy se blokuje EDT).
>
> Premyslim, jestli je mozne nejak (alespon pocitove) zrychlit vytvoreni
> tohoto formulare.  SwingWorker na to AFAIK pouzit nejde, protoze metoda
> doInBackground nesmi pristupovat ke Swingovym komponentam.
>
> Jak to resite vy? Nejaka lazy inicializace? Komponent pooling?
>
> Dik za kazdy tip
>
> Tom



Re: Co s dlouhotrvajicimi konstruktory Swing component?

2009-07-21 Tema obsahu Daniel Holešínský
Zdravim,

nepomuze přidat přesýpací hodiny?  :) (nebo jiny ukazatel načítání). To neni
ani moc vtip, uživatel má potom pocit, že se něco děje a nemá před sebou
zamrzlou aplikaci.

Dan

2009/7/21 Tomas Hubalek 

>  Zdar,
> mame pomerne hodne slozity formular ve Swingu (asi patnact tabu, v kazdem
> dalsich milion komponent) a jenom konstruktor tohoto formulare trva pres
> deset vterin, cili i vytvoreni topkomponenty s timto formularem zpusobi
> zatuhnuti na vic nez deset vterin (podotykam ze vsude jsou nacitana data ve
> SwingWorkerech, takze to je opravdu jen  cas, kdy se blokuje EDT).
>
> Premyslim, jestli je mozne nejak (alespon pocitove) zrychlit vytvoreni
> tohoto formulare.  SwingWorker na to AFAIK pouzit nejde, protoze metoda
> doInBackground nesmi pristupovat ke Swingovym komponentam.
>
> Jak to resite vy? Nejaka lazy inicializace? Komponent pooling?
>
> Dik za kazdy tip
>
> Tom
>


Co s dlouhotrvajicimi konstruktory Swing component?

2009-07-21 Tema obsahu Tomas Hubalek
Zdar, 

mame pomerne hodne slozity formular ve Swingu (asi patnact tabu, v
kazdem dalsich milion komponent) a jenom konstruktor tohoto formulare
trva pres deset vterin, cili i vytvoreni topkomponenty s timto
formularem zpusobi zatuhnuti na vic nez deset vterin (podotykam ze vsude
jsou nacitana data ve SwingWorkerech, takze to je opravdu jen  cas, kdy
se blokuje EDT).
 
Premyslim, jestli je mozne nejak (alespon pocitove) zrychlit vytvoreni
tohoto formulare.  SwingWorker na to AFAIK pouzit nejde, protoze metoda
doInBackground nesmi pristupovat ke Swingovym komponentam. 
 
Jak to resite vy? Nejaka lazy inicializace? Komponent pooling? 
 
Dik za kazdy tip
 
Tom