Nový open source router Turris Omnia NG je v prodeji. Aktuálně na Allegro, Alternetivo, Discomp, i4wifi a WiFiShop.
Na YouTube a nově také na VHSky byly zveřejněny sestříhané videozáznamy přednášek z letošního OpenAltu.
Jednou za rok otevírá společnost SUSE dveře svých kanceláří široké veřejnosti. Vítáni jsou všichni, kdo se chtějí dozvědět více o naší práci, prostředí ve kterém pracujeme a o naší firemní kultuře. Letos se dveře otevřou 26. 11. 2025 v 16:00. Můžete se těšit na krátké prezentace, které vám přiblíží, na čem naši inženýři v Praze pracují, jak spolupracujeme se zákazníky, partnery i studenty, proč máme rádi open source a co pro nás skutečně
… více »Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za říjen (YouTube).
Jeff Quast otestoval současné emulátory terminálu. Zaměřil se na podporu Unicode a výkon. Vítězným emulátorem terminálu je Ghostty.
Amazon bude poskytovat cloudové služby OpenAI. Cloudová divize Amazon Web Services (AWS) uzavřela s OpenAI víceletou smlouvu za 38 miliard USD (803,1 miliardy Kč), která poskytne majiteli chatovacího robota s umělou inteligencí (AI) ChatGPT přístup ke stovkám tisíc grafických procesů Nvidia. Ty bude moci využívat k trénování a provozování svých modelů AI. Firmy to oznámily v dnešní tiskové zprávě. Společnost OpenAI také nedávno
… více »Konference Prague PostgreSQL Developer Day 2026 (P2D2) se koná 27. a 28. ledna 2026. Konference je zaměřena na témata zajímavá pro uživatele a vývojáře. Příjem přednášek a workshopů je otevřen do 14. listopadu. Vítáme témata související s PostgreSQL či s databázemi obecně, a mohou být v češtině či angličtině.
Byl vydán Devuan 6 Excalibur. Přehled novinek v poznámkách k vydání. Kódové jméno Excalibur bylo vybráno podle planetky 9499 Excalibur. Devuan (Wikipedie) je fork Debianu bez systemd. Devuan 6 Excalibur vychází z Debianu 13 Trixie. Devuan 7 ponese kódové jméno Freia.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu poprvé překročil 3 %, aktuálně 3,05 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 27,18 %. Procesor AMD používá 67,10 % hráčů na Linuxu.
Joel Severin v diskusním listu LKML představil svůj projekt linuxového jádra ve WebAssembly (Wasm). Linux tak "nativně" běží ve webovém prohlížeči. Potřebné skripty pro převod jsou k dispozici na GitHubu.
            Řešení dotazu:
java.lang.Comparable a java.util.Comparator. Pro programování v Javě je vůbec vhodné přečíst si JavaDoc k často používaným balíkům (java.lang, java.util, java.io, java.text) a alespoň anotaci všech tříd v těchto balíkách, abyste měl přehled aspoň o tom základním, co vám runtime knihovna Javy poskytuje.
            
 a radim ho... vse je OK a funguje(pokud radim podle veku),
jen se mi nejak nedari to seradit podle jmena - 
nevim, jak mam ziskat tu clenskou promenmou jmeno.....?? 
  
diky za rady 
trida Clovek: http://pastebin.com/m317ab129
    trida Test: http://pastebin.com/m6e4cc751
            
 (a ani to neni nikde v osnovach)..... takze bych uprednostnil nejake(jednodussi) reseni (vrchol toho co jsme delali byl spojovy seznam, ArrayList,.......) takze by po me asi nemeli chtit nejake "komparatoty" 
.....napada Vas nake jednodussi reseni?? 
ja kdyz sem delal neco podobneho(semestralni praci - jednoduchou databazi), tak sem si kazdy Objekt me tridy "prevedl" do Stringu (kde byli vsechny jeho clenske promenne) a ten jsem pak radil....jenze to bylo urcite dost hloupe resene.... 
diky za rady 
            java.lang.Comparable, najdete tam, že implementace této třídy je právě ono „přirozené řazení“ – a o tom se píše v zadání.
            
 Jinak jak uz nekdo psal, jednodussi reseni nez komparator asi neni. Prevest objekt na string a ten pak tridit neni snad primo hloupe, ale dobre reseni to rozhodne neni.
            
            
......
to zda to uci dobre nebo spatne nemohu dost dobre posoudit, protoze programovani moc nerozumim.....muzu jen rict, ze cviceni me bavi: s ucitelem byla sranda, rad na cokoli odpovi,...a myslim, ze sem se toho za tech par tydnu celkem dost naucil.....
Jinak o vyuku techto predmetu(spojenych s programovanim) se stara katedra informatiky, ne?
            
 a radim ho... vse je OK a funguje(pokud radim podle veku), jen se mi nejak nedari to seradit podle jmena - nevim, jak mam ziskat tu clenskou promenmou jmeno.....?? 
diky za rady 
trida Clovek: http://pastebin.com/m317ab129 trida Test: http://pastebin.com/m6e4cc751 
            return jmeno.compareToIgnoreCase(jmeno2).
            Propiska. Lepší je použít generika, pak to za vás pohlídá kompilátor, pak ale stejně potřebujete udělat test na null.
Za čtvrté, stav by měl být zřejmě výčtový typ (enum). 
Za páté, soustava tolika do sebe vnořených ifů by ve vás vždy měla vyvolat podezření, že je na tom kód něco špatně. Zkusil bych třeba tohle:
if (other == null) {
  return -1;
}
assert this.nazevFirmy != null;
int result = this.nazevFirmy.compareTo(other.nazevFirmy);
if (result != 0) {
  return result;
}
assert this.barva != null;
result = this.barva.compareTo(other.barva);
if (result != 0) {
  return result;
}
assert this.barvaPisma != null;
result = this.barvaPisma.compareTo(other.barvaPisma);
if (result != 0) {
  return result;
}
assert this.stav != null;
result = this.stav.compareTo(other.stav);
return result;
            
int result = 0;
if (this.nazevFirmy != null) {
    result = this.nazevFirmy.compareTo(other.nazevFirmy);
} else if (other.nazevFirmy != null) {
    result = 1;
}
if (result != 0) {
    return result;
}
...
nebo kompaktněji
int result = (this.nazevFirmy  != null) ? this.nazevFirmy.compareTo(other.nazevFirmy)
           : (other.nazevFirmy != null) ? 1
                                        : 0;
            asserty jsou přesně podle původního kódu (který nepředpokládal nullové hodnoty), jenom v tom původním kódu chyběly. Pokud tam prázdné hodnoty mohou být, pak je samozřejmě nutné s nimi počítat.
            assertem (a příslušně zdokumentován v JavaDocu).
            assertů je kontrakt metody takový, že nemá žádné požadavky na vstupní parametry, a v té metodě je chyba – neošetřený případ, kdy některá z hodnot bude prázdná. Pokud někdo tuto metodu zavolá na objekt s prázdnou hodnotou, dojde k výjimce, a je to chyba programátora této metody.
Pokud se použijí asserty (a zdokumentuje se to v JavaDocu, kompilátor zatím s asserty pracovat neumí), je součástí kontraktu metody to, že hodnoty nejsou prázdné. Pokud někdo zavolá metodu na objekt s prázdnými hodnotami, je to chyba volajícího. Některé budoucí verze kompilátorů snad budou umět na takové chyby upozornit už v době překladu.
            @Null a @NotNull). Ale je potřeba si uvědomit, kdy se asserty do Javy přidaly.
            assert jenom syntaktický cukr místo
if (Boolean.getBoolean("assertion.enabled") && !(expr)) {
  throw new AssertionError(…);
}
? K čemu by bylo dobré něco takového do jazyka zavádět?
            v té metodě je chyba – neošetřený případ, kdy některá z hodnot bude prázdnáJenže ve Vašem případě je ten případ stejně špatně/dobře ošetřen. Buď null je platná hodnota, a pak se to může řešit extra porovnáním tak, jak jsem navrhoval. A nebo null platná hodnota není. A v případě vstupu neplatné hodnoty se vyhazuje výjimka. A je už jen na úzusu jestli vyhodíte NPE nebo jinou, akorát že kvůli NPE nemusíte psát další řádky kódu, čímžto má marginální výhodu. Pokud chcete něco dokumentovat, můžete napsat do dokumentace jednu větu: žádné z polí nesmí být null. Slabé povahy takový guard ještě můžou chtít vynutit v konstruktoru/setteru jak jsem řekl.
int budete cpát String, taky dostanete za běhu výjimku – ale je snaha to odchytit dřív, konkrétně tohle už v době kompilace. assert má stejný význam, akorát současné kompilátory asserty nijak nekontrolují. Na produkčním prostředí můžete mít assert vypnutý a kód může normálně projít (ne tento konkrétně, ale jiný kód chráněný assertem).
A v případě vstupu neplatné hodnoty se vyhazuje výjimka.Jenže je podstatné, jestli programátor tu neplatnou hodnotu kontroluje, nebo jestli si dá jako podmínku, že na vstupu neplatná hodnota nesmí být, a pak už ji nekontroluje. Test s
ifem a vyhozením výjimky je první případ, assert nebo třeba deklarace typů parametrů metody je druhý případ – programátor hodnoty na vstupu nekontroluje a předpokládá že jsou správně. A deklarovaný typ nebo assert jsou jen nápověda pro nástroje, které tuhle kontrolu udělají za programátora, který danou metodu využívá – přičemž u deklarace typu parametru tu kontrolu umí udělat už kompilátor, u assertů to udělat (zatím) neumí a je to ponecháno až na JVM.
            Potíž je ale v tom, co říkáte, totiž že toto vlastnost jazyka není.Není to vlastnost současných kompilátorů, vlastnost jazyka to je od verze 1.4. Problém assertů v Javě je ten, že jsou tak obecné, že kompilátor nemůže umět vyhodnotit všechny možné případy. Ale nenulovost by umět vyhodnocovat mohl. A možná to už i nějaké nástroje na statickou kontrolu kódu dělají. Ani kompilátor od Sunu ve všem neodpovídá plně specifikaci Javy (tj. že by využíval všechny možnosti dané jazykem) – třeba takovou anotaci
@SuppressWarnings jednapětkový kompilátor od Sunu ignoroval, přestože byla součástí runtime knihovny (a u Javy se rozdíl mezi jazykem a runtime knihovnou stírá).
Tudíž je momentálně uvedený assert ekvivalentem testu s NPE a je momentálně zbytečné ho používat.Funkčně ano, ale sémanticky to ekvivalentní není. Souhlasím s vámi, že dnes není prakticky rozdíl*) v chování aplikace když použiju
assert nebo klasický if a vyhození výjimky. Ale význam toho kódu je odlišný a je podle mne škoda se toho významového rozdílu zbavovat.
*) samozřejmě až na to, že s vypnutými assertions je instrukce assert ekvivalentní prázdné instrukci, takže se ušetří provedení pár instrukcí.
Čistě syntakticky by ale bylo lepší aby guardy parametrů byly u jejich deklarace a ne někde v těle funkce.Ano, to jsem psal a zmiňoval jsem anotace, které ovšem v Javě 1.4, kde byly zavedeny asserty, nebyly.
Problém assertů v Javě je ten, že jsou tak obecné, že kompilátor nemůže umět vyhodnotit všechny možné případy.No, ano. A tudíž je to z hlediska detekce při kompilaci k ničemu. Kdyby raději vzali ten jeden případ a dotáhli ho do dokonalosti. Java má vůbec zajímavou historii pokusů a omylů.
Ano, to jsem psal a zmiňoval jsem anotace, které ovšem v Javě 1.4, kde byly zavedeny asserty, nebyly.Anotace mi přijdou jako takový úlet kde se kompenzují všechny problémy, které by se měly řešit jinde. Druhý úlet podobného rázu je pak "programování v snippetech", jak to dovolují "moderní IDE".
Ne opravdu to neni vlastnost jazyka od verze 1.4. Je presne definovano, co aserce jsouDoporučuju přečíst si ten dokument, který jste odkazoval.
rozhodne nejsou urcene ke kontrole nejakych invariantu behem prekladu.To jsem taky nikde nepsal, já jsem psal o vývoji.
Sam asercim fandim, ale napriklad vyse uvadene umisteni aserce tesne pred radek, na kterem pri poruseni aserce ihned dojde k NPE, postrada smysl. … Aserce si precte pouze programator a ten by mel tak jako tak videt, ze na pristim radku dojde k NPEPředpoklady je nutné do kódu napsat hned, když se píše – až ten jednoduchý kód na dva řádky natáhnete na deset řádků, už nikoho nenapadne
assert tam doplňovat. Stejně tak to nikoho nenapadne v okamžiku, kdy přístup přes členskou proměnnou nahradí voláním metody a možnost vyhození NPE přestane být tak zjevná.
            assert v kódu zároveň znamená něco jako komentář „vím o tom, že tahle podmínka musí být splněna“. Takže když budu číst výše uvedený kód bez assertů, budu muset začít hledat, jestli ty hodnoty opravdu nemohou být prázdné, nebo jestli je v tom příslušném kódu chyba, nebo jestli je záměr vyhazovat NPE (a chybí to třeba v dokumentaci). Když je tam assert napsaný, vím, že neřešení prázdných hodnot byl autorův záměr.
            
            Takže když budu čísta
strojové zpracováníjsou dvě různé věci. A já pro lidi píšu lidsky a už jsme si ujasnili, že asserty jsou strojově momentálně na prd. A když už mluvíme o strojovém zpracování tak si dovolím ještě dvě poznámky. Za prvé proboha proč musím do JavaDocu opisovat jména parametrů (případně jejich typy), když to v zápětí píšu do deklarace. Vemte si příklad z perlovského Getopt::Euclid. Za druhé divil byste se co všechno lze relativně spolehlivě stojove zpracovat. Bylo by stokrát příjemnější kdybych mohl psát "jméno nesmí být null" do komentáře a dostal z toho varování překladače, pokud tam někde budu cpát null, než abych strkal na dvacet míst kódu nějaké kryptogramy a počítač mi je překládal do češtiny.
už jsme si ujasnili, že asserty jsou strojově momentálně na prdPokud váš kód nikdy nespouštíte. Pokud jej spouštíte například v testech, můžete spoustu porušení kontraktu odhalit už během testů. A i když se na chybu přijde až během normálního testování, pořád assert pomůže najít skutečné místo vzniku chyby (zatímco když necháte program běžet dál, může někdy spadnout až za dost dlouho, a původní příčinu pak budete dlouho hledat).
assert pre mna okrem ineho aj indikator kvality kodu. Zatial co uplnu nepritomnost assertov nehodnotim nijako -- niektori ho proste pausalne nepuzivaju -- zriedkave pouztie assertov v zriedkavych koplikovanych castiach kodu hodnotim ako pozitivnu snahu programatora zaviest prisnejsiu kontrolu seba sameho. Ak je vsak kod prepchaty assertami, vidim to ako varovny signal, ze autor nebol schopny urobit natolko robustny dizajn, aby mu vobec sam doveroval. 
            
            
.....copak ste to nedelali na cvicenich(nebo prednaskach???)na jakem si programu??
na druhou stranu take nevim co od toho mam ocekavat
.....
ucil sem se z materialu co jsou na eduwebu(je to celkem pekne zpracovane), dale primo od zdroje napr: http://java.sun.com/docs/books/tutorial/ , pak ucebnice Pavla Herouta,.....
na netu je mraky informaci, zdrojaku,,.....
            
        Tiskni
            
                Sdílej: