abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 17:44 | IT novinky

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal Zprávu o stavu kybernetické bezpečnosti ČR za rok 2024 (pdf). V loňském roce NÚKIB evidoval dosud nejvíce kybernetických bezpečnostních incidentů s celkovým počtem 268. Oproti roku 2023 se však jedná pouze o drobný nárůst a závažnost dopadů evidovaných incidentů klesá již třetím rokem v řadě. V minulém roce NÚKIB evidoval pouze jeden velmi významný incident a významných incidentů bylo zaznamenáno 18, což oproti roku 2023 představuje pokles o více než polovinu.

    Ladislav Hagara | Komentářů: 0
    dnes 13:55 | Komunita

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie). Servo mimo jiné nově zvládne animované obrázky APNG a WebP.

    Ladislav Hagara | Komentářů: 0
    dnes 13:11 | IT novinky

    Na chytré telefony a počítačové tablety v Rusku bude od začátku příštího měsíce povinné předinstalovávat státem podporovanou komunikační aplikaci MAX, která konkuruje aplikaci WhatsApp americké společnosti Meta Platforms. Oznámila to dnes ruská vláda. Ta by podle kritiků mohla aplikaci MAX používat ke sledování uživatelů. Ruská státní média obvinění ze špehování pomocí aplikace MAX popírají. Tvrdí, že MAX má méně oprávnění k přístupu k údajům o uživatelích než konkurenční aplikace WhatsApp a Telegram.

    Ladislav Hagara | Komentářů: 20
    dnes 04:22 | IT novinky

    Společnost PINE64 stojící za telefony PinePhone nebo notebooky Pinebook publikovala na svém blogu srpnový souhrn novinek. Kvůli nedostatečnému zájmu byla ukončena výroba telefonů PinePhone Pro.

    Ladislav Hagara | Komentářů: 1
    včera 22:22 | Nová verze

    Po pěti měsících vývoje byla vydána nová verze 0.15.1 programovacího jazyka Zig (GitHub, Wikipedie). Verze 0.15.0 byla přeskočena. Přispělo 162 vývojářů. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 21:55 | Komunita

    Před sedmi lety společnost Valve představila fork projektu Wine s názvem Proton umožňující v Linuxu přímo ze Steamu hrát počítačové hry do té doby běžící pouze ve Windows. Aktuální přehled podporovaných her na stránkách ProtonDB

    Ladislav Hagara | Komentářů: 0
    včera 14:55 | IT novinky

    Společnost DuckDuckGo rozšířila svůj AI chat Duck.ai o GPT-5 mini (𝕏). Duck.ai umožňuje anonymní přístup bez vytváření účtů k několika modelům umělé inteligence. Aktuálně k GPT-4o mini, GPT-5 mini, Llama 4 Scout, Claude Haiku 3.5 a Mistral Small 3.

    Ladislav Hagara | Komentářů: 5
    včera 12:44 | Bezpečnostní upozornění

    Marek Tóth v příspěvku DOM-based Extension Clickjacking: Data ve správcích hesel v ohrožení na svém blogu popsal novou clickjacking techniku s několika variantami útoků a otestoval ji proti 11 správcům hesel. Výsledkem bylo nalezení několika 0-day zranitelností, které mohly ovlivnit uložená data desítek milionů uživatelů. Jedno kliknutí kdekoliv na webové stránce kontrolované útočníkem umožňovalo ukrást uživatelská data ze

    … více »
    Ladislav Hagara | Komentářů: 1
    20.8. 21:11 | IT novinky

    Na dnešní akci Made by Google 2025 (YouTube) byly představeny telefony Pixel 10 s novým čipem Google Tensor G5 a novými AI funkcemi, hodinky Pixel Watch 4 a sluchátka Pixel Buds 2a.

    Ladislav Hagara | Komentářů: 25
    20.8. 14:11 | Nová verze

    The Document Foundation oznámila vydání nové major verze 25.8 svobodného kancelářského balíku LibreOffice. Podrobný přehled nových vlastností i s náhledy v poznámkách k vydání (cs) a také na Youtube a PeerTube.

    Ladislav Hagara | Komentářů: 17
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (75%)
     (10%)
     (4%)
     (4%)
     (6%)
     (0%)
    Celkem 48 hlasů
     Komentářů: 6, poslední včera 13:35
    Rozcestník

    Javapolis2007: hlasováních o změnách v jazyce Java

    Na javapolis.com byly zveřejněny návrhy komunity pro novou generaci jazyka Java. Rovněž můžete navštívit výsledky hlasování, které jsou tematicky rozdělené na uzávěry (closures), různé změny v jazyce, používané aplikační servery a (nejen javovské) webové frameworky

    6.2.2008 09:13 | Michal Vyskočil | Zajímavý článek


    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    6.2.2008 11:35 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    To je výborné – přes 80 % hlasujících ještě nezaznamenalo existenci enumů, takže požadují switch na String, ale hlavně že požadují closures, se kterými nebudou umět pracovat už vůbec… :-(
    6.2.2008 12:14 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    Proč by nebyl užitečný switch na string? Třeba pro konverzi řetězce ze vstupu na enum? :-) To je jako módní mezi javisty, že zesměšňují každého, kdo požaduje užitečné featury?
    6.2.2008 12:32 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    Proč by nebyl užitečný switch na string? Třeba pro konverzi řetězce ze vstupu na enum?
    Myslíte jako vždy ručně znovu implementovat metodu Enum.valueOf(String)? K čemu by to bylo dobré?
    To je jako módní mezi javisty, že zesměšňují každého, kdo požaduje užitečné featury?
    Nevidím nic užitečného na „featuře“, která s větším množstvím kódu umožňuje něco, co umožňuje už jiná stávající vlastnost (enumy), které jsou navíc kontrolovatelné už v době kompilace.
    6.2.2008 12:48 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    Podle matematické teorie jde naprosto jakýkoli algoritmus napsat pomocí podmíněného příkazu, přiřazení a volání funkce. Cokoli navíc je zbytečné - pokud Váš názor je konzistentní, tak Java v současné době je beznadějně přeplácaná, takže vypiště prosím petici na tvrdé seškrtání Javy.

    Umožnění switch na string umožňuje více, než ten váš enum. To, že nemáte dostatek fantazie beru. Sice nepřehledně se to dá emulovat - vytvořit třeba naprosto zbytečný enum s hodnotami všech stringů co potřebuji ve switchi, zkonvertovat string na enum, a pak šup s enum hodnotami do switche, ale považuji to za zbytečnou buzeraci - a přehlednost výsledného kódu bude podstatně nižší, než když v tom switchi budou stringy rovnou.
    6.2.2008 13:25 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    Umožnění switch na string umožňuje více, než ten váš enum. To, že nemáte dostatek fantazie beru. Sice nepřehledně se to dá emulovat - vytvořit třeba naprosto zbytečný enum s hodnotami všech stringů co potřebuji ve switchi, zkonvertovat string na enum, a pak šup s enum hodnotami do switche, ale považuji to za zbytečnou buzeraci - a přehlednost výsledného kódu bude podstatně nižší, než když v tom switchi budou stringy rovnou.
    Ty Stringy stejně musím někde vyjmenovat, ať ve switchi, nebo v enumu. Jenom ten enum dává programátorovi i překladači jasně najevo, že je to nějaká omezená množina řetězců, a kompilátor to pak také může kontrolovat (např. kontrolovat, že jste ve switchi ošetřil všechny možné hodnoty). Takže jediný případ, kdy by použití switche místo enumu mělo smysl, je potenciálně nekonečný počet možných vstupních řetězců. Jenomže nekonečný switch taky nejde udělat. Navíc pokud ten program bude mít alespoň nějakou kulturu, nebudete mít řetězce přímo v kódu, ale budete je mít jako konstanty – takže kód bude vypadat skoro stejně, jako s použitím enumu, ale nebude tam ta kontrola v době překladu. Jinak v kódu je rozdíl mezi enumem a switchem volání jediné metody, což těžko výrazně sníží přehlednost kódu.
    6.2.2008 14:27 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    A kompilátor ve switchi nemůže zkontrolovat to všechno co tu píšete? Kompilátor nemůže zkontrolovat, že jste ve switchi ošetřil všechny možné hodnoty? To jsou mi novinky. Znovu opakuji, že to, že Vaše fantazie je omezená na to, kde se dá použít string ve switch - není problém stringu ve switchi.

    Pokud kód bude mít kulturu, tak bude psán tak, aby byl co nejpřehlednější, nejudržovatelnější a nejčitelnější - což nutně neevokuje mít všechny literály jako konstanty - to tu zase tvrdíte něco co není pravda. To už taky můžete tvrdit, že vhodné programování je stylem:

    ... final int MUL_CONST = 2; ...

    public int mul_by_two(int operand) { return operand * MUL_CONST; }

    Jestli programujete výše uvedeným stylem, to jest všechny literály tlačíte na sílu jako konstanty, tak potěš pámbů. A je úplně jedno, jestli jde o čísla, stringy, nebo jiné typy - někdy je vhodné je definovat jako konstanty, a někdy je vhodnější je zapsat přímo do kódu.

    Rozdíl mezi enumem a switchem není volání jedné metody.
    6.2.2008 16:50 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    A kompilátor ve switchi nemůže zkontrolovat to všechno co tu píšete? Kompilátor nemůže zkontrolovat, že jste ve switchi ošetřil všechny možné hodnoty? To jsou mi novinky. Znovu opakuji, že to, že Vaše fantazie je omezená na to, kde se dá použít string ve switch - není problém stringu ve switchi.
    Pokud kompilátoru předem nedám seznam všech přípustných hodnot, nemůže zkontrolovat, že jsem pro každou přípustnou hodnotu napsal odpovídající větev case. Pokud by switch pro Stringy přinášel i tu možnost určit všechny přípustné hodnoty, dostanete enum. Tak proč ho vymýšlet podruhé?
    Pokud kód bude mít kulturu, tak bude psán tak, aby byl co nejpřehlednější, nejudržovatelnější a nejčitelnější - což nutně neevokuje mít všechny literály jako konstanty - to tu zase tvrdíte něco co není pravda.
    Hodnoty ve switchi nejsou jen tak nějaké hodnoty spadlé z nebe, ale je to několik hodnot z omezené množiny. Místo takových hodnot se typicky používají konstanty, protože je většinou používáte na více místech. Jenomže pro omezenou množinu hodnot už má Java vlastní datový typ – enum. A jsme zase zpátky na začátku.
    Rozdíl mezi enumem a switchem není volání jedné metody.
    Najděte víc jak jeden rozdíl:
    private static final String ONE = "ONE";
    private static final String TWO = "TWO";
    private static final String THREE = "THREE";
    
    switch (str) {
      case ONE: doOne(); break;
      case TWO: doTwo(); break;
      case THREE: doThree(); break;
    }
    
    private enum Numbers { ONE, TWO, THREE};
    switch (Numbers.valueOf(str)) {
      case ONE: doOne(); break;
      case TWO: doTwo(); break;
      case THREE: doThree(); break;
    }
    
    Já v tom z hlediska kódu vidím jediný rozdíl, volání metody Numbers.valueOf(String). Z hlediska významu tam vidím minimálně další dvě věci, obě ku prospechu enumů:
    private enum Numbers { ONE, TWO, THREE};
    switch (Numbers.valueOf(str)) {
      case ONE: doOne(); break;
      case TWO: doTwo(); break;
    }
    
    Kompilátor může dát varování, že je switch neúplný, a:
    private enum Numbers { ONE, TWO, THREE};
    switch (Numbers.valueOf(str)) {
      case ONE: doOne(); break;
      case TWO: doTwo(); break;
      case THREE: doThree(); break;
      case WINTER: doWinter(); break;
    }
    
    Tohle vám kompilátor s enumem ani nepřeloží. Se Stringem to v obou případech projde, a divit se budete až za běhu programu.
    Znovu opakuji, že to, že Vaše fantazie je omezená na to, kde se dá použít string ve switch - není problém stringu ve switchi.
    Mohl byste napsat nějaký konkrétní příklad? Podle mne 99,99 % užití Stringu ve switchi je případ, kdy mám předem známou množinu řetězců, které očekávám někde na vstupu, a potřebuju zjistit, která konkrétní hodnota na tom vstupu je. Přesně k tomuhle ale má Java enum, a není důvod zavádět další konstrukci (Java není Perl). Ta zbývající desetina promile jsou případy, kdy by se autor kódu měl přeci jen zamyslet, zda to nemá být enum… Napadá mne vlastně jediný případ, kdy nejde enum použít přímočaře, a to je nemožnost dědění enumů. A i v takovém případě je implementace s využitím enumu lepší, než switch se Stringy, které se vám náhle z ničeho nic zjeví v kódu.
    zoul avatar 6.2.2008 16:53 zoul | skóre: 43 | blog: | Boskovice
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    Obdivuhodná trpělivost.
    6.2.2008 17:05 qk_
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    Naprosto souhlasim. Ono obecne spousta lidi nepouziva enumy v jave, i kdyz to je hodne uzitecna vec.
    Pomaha to i v udrzovatelnosti kodu po rozsireni, kdy musite pridat nejakou funkci a tak pridate moznost do enumu a prekladac rekne, pokud je v nejakym switchy tato moznost opomenuta a tak se predejde dost chybam, ktere by se jinak spatne hledali.
    Jinak vas obdivuju tak dlouho nekoho presvedcovat o necem co je pomerne jasne a co kazdy rozumny programator vi. Jedine kdy by bylo switchovani podle stringu uzitecne je pres regexpy...ale to si myslim ze je zhruba tak slozite jako napsat metodu, ktera ten regexp prevede na hodnotu v enumu a navic zas tak casto se regexpy nepouzivaji.
    15.3.2008 16:17 KsR
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    celá tahle diskuze je ujetá -ve skutečnosti tady jeden druhému jen říká, kdo je větší "blbec". A přitom neumíte ani psát česky:) "Češtin můj kobil", co?
    Daniel Kvasnička ml. avatar 6.2.2008 13:59 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    6.2.2008 17:16 qk_
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    Tento zapisek pouze rika, ze by bylo dobry mit v enumu nejakou hodnotu, kdyz dany string neni v enumu misto hazeni vyjimky. Coz mi ale nepripada tak tezky udelat. pokud clovek chce tak si to celkem rychle a elegantne obali treba jako v tom clanku pomoci dalsi hodnoty enumu jako NONDEF a tridy, kde si odchyti tu vyjimku a vrati tu NONDEF hodnotu enumu.
    Ale mne pripada tedy reseni s vyjimkami podstatne lepsi. Napriklad v SAXu, kdyz jinou hodnotu nez definovanou (a nemam kontrolu pres xsd), tak zavolat nejakou masineriji na zpracovani a az na vrsku odchytavam ruzne exceptiony, ktere vyvola ta masinerie a znamenaji vetsinou nejakej fatal (napriklad spatna cesta k souboru, spatne hodnoty atd) a tak preskocim cely zpracovavani danyho elementu.
    Daniel Kvasnička ml. avatar 6.2.2008 22:42 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: Javapolis2007: hlasováních o změnách v jazyce Java
    Ja jsem to sem dal jen proto, ze hned ze zacatku je ukazano jak se da enumem nahradit switch na stringy... Jak to ukazuje Filip Jirsak vyse. Switch na stringy je v podstate zbytecny.
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."

    Založit nové vláknoNahoru


    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.