Jiří Hradil blog

o software


Elektronická konference o Javě - konference@java.cz

Informace, archív zpráv, FAQ.
Pokud vás zajímá platforma Java a související technologie, doporučuji přihlášení. Je to konference v češtině, která je skutečně užitečná, živá a plná pokladů. :)

Publikoval Jiří Hradil • 18.01.2004 v 19:01 • pod kategorií NezařazenéŽádné komentáře

Pár triků pro PostgreSQL 7.2

1. Chcete po přečtení dokumentace vědět, jak použít klíčové slovo interval tak, aby používalo atribut v tabulce místo pevně zadaných hodnot? Zkuste tento postup:
SELECT datum+(atribut_s_int ||'days')::interval FROM tabulka;

2. Jak změníme atribut tabulky z NULL na NOT NULL (bez drop a create tabulky)?

UPDATE pg_attribute SET attnotnull = TRUEWHERE attname = 'atribut'AND attrelid = (SELECT oid FROM pg_class WHERE relname = 'tabulka');

POZNÁMKA: Pro opačný převod NOT NULL na NULL stačí nastavit SET attnotnull = FALSE.

Publikoval Jiří Hradil • 15.01.2004 v 23:01 • pod kategorií NezařazenéŽádné komentáře

Jak má vypadat správná metoda equals()?

Nejdříve trocha matematiky.
Metoda equals() implementuje vztah ekvivalence. Je:
  • reflexivní: Pro jakoukoli odkazovou hodnotu x musí x.equals(x) vrátit true.
  • symetrická: Pro jakékoli odkazové hodnoty x a y musí x.equals(y) vrátit true jen a pouze tehdy, když y.equals(x) vrátí true.
  • tranzitivní: Pro jakékoli odkazové hodnoty x, y a z musí platit, že když x.equals(y) vrací true a y.equals(z) vrací true, pak x.equals(z) musí vrátit true.
  • konzistentní: Pro jakékoli odkazové hodnoty x a y musí platit, že více volání x.equals(y) stále vrací true nebo stále vrací false za předpokladu, že nedojde ke změně žádných informací použitých v porovnáváních equals() daného objektu.
  • nenullová“: Pro všechny odkazové hodnoty x, které nejsou null, musí x.equals(null) vrátit false.

Recept na kvalitní equals by mohl vypadat takto:

1. Pomocí operátoru == prověřte, zda je argument odkazem na tento objekt. Pokud ano, vraťte true (výkonnostní optimalizace).
2. Pomocí operátoru instanceof prověřte, zda je argument správného typu. Pokud ne, vraťte false.
3. Převeďte argument na správný typ (protože jsme už provedli instanceof, vždy to dopadne dobře).
4. U každého významného atributu dané třídy prověřte, zda daný atribut argumentu odpovídá příslušnému atributu tohoto objektu. Pokud všechny tyto testy uspějí, vraťte true; jinak false.
5. Když dokončíte zápis metody equals(), položte si 3 otázky: je symetrická, je tranzitivní a je konzistentní? (Zbývající 2 vlastnosti se obvykle naplní samy.) Pokud ne, je třeba metodu upravit. :)

ZDROJ: Joshua Bloch: Java efektivně-57 zásad softwarového experta, Grada Publishing, 1. vydání, Praha 2002, ISBN: 80-247-0416-1

Publikoval Jiří Hradil • 15.01.2004 v 01:01 • pod kategorií NezařazenéŽádné komentáře

Java Code Conventions

Povinně přečíst a používat. Poznámka: taky budu muset upravit několik zdrojáků… ;)
Code Conventions for the Java Programming Language, Code Conventions for the JavaServer Pages Technology (1.x).
Publikoval Jiří Hradil • 13.01.2004 v 16:01 • pod kategorií NezařazenéŽádné komentáře

Kompletní letecká mapa ČR

Chcete se podívat na ČR z ptačí perspektivy s rozlišením 0.5 metru? Společnost Geodis Brno poskytla barevnou ortofotomapu celé ČR, pro prohlížení je nutná registrace. Můj subjektivní pocit-perfektní!
Publikoval Jiří Hradil • 11.01.2004 v 14:01 • pod kategorií NezařazenéŽádné komentáře

Převod Collection=>Array, Array=>List

Jak převedeme kolekci na pole a naopak? Kolekce na pole, pole na seznam.
Publikoval Jiří Hradil • 10.01.2004 v 17:01 • pod kategorií NezařazenéŽádné komentáře

NetBeans a refactoring

NetBeans 4.0 má mít konečně refactoring. Vyjde snad v létě 2004. Do té doby
můžou uživatelé používat externí moduly, třeba RefactorIT (info).
Freeware licence umožňuje pracovat pouze s 50 zdrojovými soubory.
(verze, ceny)

Publikoval Jiří Hradil • 09.01.2004 v 19:01 • pod kategorií NezařazenéŽádné komentáře