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 18:30 | Komunita

Jednodeskový počítač Raspberry Pi slaví již 5 let. Prodej byl spuštěn 29. února 2012. O víkendu proběhne v Cambridgi velká narozeninová party. Na YouTube bylo při této příležitosti zveřejněno video představující zajímavé projekty postavené na Raspberry Pi.

Ladislav Hagara | Komentářů: 0
dnes 18:30 | Nová verze

Byla vydána verze 2017.1.1 svobodného multiplatformního leteckého simulátoru FlightGear. Kódový název a výchozí letiště této verze je Bergen. Přehled novinek v Changelogu.

Ladislav Hagara | Komentářů: 0
dnes 10:50 | Zajímavý software

Mozilla.cz informuje o dvou nových experimentálních funkcích v programu Firefox Test Pilot (zprávička). Snooze Tabs slouží k odkládání panelů na později. Pokud vám někdo pošle odkaz, ale vy nemáte čas si stránku hned přečíst, můžete si naplánovat otevření panelu na později. Stačí kliknout na tlačítko a vybrat, kdy chcete panel otevřít. Firefox panel schová a ve vybraný čas znovu otevře. Pulse umožňuje ohodnotit, jak dobře stránka funguje, např. jak rychle se ve Firefoxu načetla. Podle nasbíraných hodnocení pak bude Mozilla prohlížeč ladit.

Ladislav Hagara | Komentářů: 5
dnes 02:00 | IT novinky

V Barceloně probíhá veletrh Mobile World Congress 2017. Nokia na něm například představila (360° video na YouTube) novou Nokii 3310 (YouTube). BlackBerry představilo BlackBerry KEYone (YouTube) s QWERTY klávesnicí. LG představilo LG G6 (YouTube). Huawei HUAWEI P10 a P10 Plus. Samsung představil tablet Galaxy Tab S3.

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

Komunita kolem Linuxu From Scratch (LFS) vydala Linux Linux From Scratch 8.0 a Linux From Scratch 8.0 se systemd. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů přichází především s Glibc 2.25 a GCC 6.3.0. Současně bylo oznámeno vydání verze 8.0 knih Beyond Linux From Scratch (BLFS) a Beyond Linux From Scratch se systemd.

Ladislav Hagara | Komentářů: 0
včera 11:11 | Nová verze

Byla vydána verze 0.10.0 webového prohlížeče qutebrowser (Wikipedie). Přehled novinek v příspěvku na blogu. Vývojáři qutebrowseru kladou důraz na ovladatelnost pomocí klávesnice a minimální GUI. Inspirovali se prohlížečem dwb a rozšířeními pro Firefox Vimperator a Pentadactyl. Prohlížeč qutebrowser je naprogramován v Pythonu a využívá PyQt5. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GNU GPL 3.

Ladislav Hagara | Komentářů: 27
25.2. 16:22 | Nová verze

Po pěti měsících od vydání Waylandu a Westonu 1.12.0 oznámil Bryce Harrington (Samsung) vydání Waylandu 1.13.0 a Westonu 2.0.0.

Ladislav Hagara | Komentářů: 5
24.2. 13:37 | Bezpečnostní upozornění

Společnost Cloudflare (Wikipedie) na svém blogu potvrdila bezpečnostní problém s její službou. V požadovaných odpovědích od reverzní proxy byla odesílána také data z neinicializované paměti. Útočník tak mohl získat cookies, autentizační tokeny, data posílaná přes HTTP POST a další citlivé informace. Jednalo se o chybu v parsování HTML. Zneužitelná byla od 22. září 2016 do 18. února 2017. Seznam webů, kterých se bezpečnostní problém potenciálně týká na GitHubu.

Ladislav Hagara | Komentářů: 1
24.2. 08:22 | Nová verze

Byla vydána první beta verze Ubuntu 17.04 s kódovým názvem Zesty Zapus. Ke stažení jsou obrazy Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu GNOME, Ubuntu Kylin, Ubuntu Studio a Xubuntu. Dle plánu by Ubuntu 17.04 mělo vyjít 13. dubna 2017.

Ladislav Hagara | Komentářů: 58
23.2. 17:53 | Bezpečnostní upozornění

Google na svém blogu věnovaném počítačové bezpečnost informuje o nalezení "reálného" způsobu generování kolizí hašovací funkce SHA-1. Podrobnosti a zdrojové kódy budou zveřejněny do 90 dnů. Již dnes lze ale na stránce SHAttered nalézt 2 pdf soubory, jejichž obsah se liší a SHA-1 otisk je stejný (infografika).

Ladislav Hagara | Komentářů: 41
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 726 hlasů
 Komentářů: 68, poslední dnes 07:29
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: Ukončení cyklů

    17.2.2014 21:16 Jakubysko
    Ukončení cyklů
    Přečteno: 234×
    Ahoj, jak vyskočit ze dvou cyklů? Potřebuji vyskočit z toho vnořeného. Díky while true do while true do break break done done

    Odpovědi

    17.2.2014 21:33 Carth_Onasi
    Rozbalit Rozbalit vše Re: Ukončení cyklů

    První věc - jak to souvisí s Unixem nebo Linuxem?

    Druhá věc - má to být ... do break done break done

    Třetí věc - while true je cesta do pekel

    Čtvrtá věc - dělá se to tak, že nadefinuješ proměnu (např. konec = false), pak ve vnitřním cyklu pro ukončení nastavíš konec na true a ve vnějším cyklu to testuješ - to jsou základní programovací techniky.
    18.2.2014 08:25 potato
    Rozbalit Rozbalit vše Re: Ukončení cyklů
    while true je cesta do pekel
    Cykly s podmínkou ukončení uprostřed nepřestanou být užitečné jen proto, že se ti nelíbí. A v jazycích, které nemají cykly s podmínkou na konci (shell, Python, ...), je while-true často nejelegantnější/nejpraktičtější způsob, jak cyklus realizovat.
    18.2.2014 15:24 Andrej | skóre: 43 | blog: Republic of Mordor | Zürich
    Rozbalit Rozbalit vše Re: Ukončení cyklů
    Třetí věc - while true je cesta do pekel

    To řekl kdo? Nejčastěji to slýchám od lidí, kteří nikdy neprogramovali. Opak je pravdou — cyklus, který testuje podmínku někde uprostřed, je leckdy elegantnější a efektivnější než zoufalá snaha vyjádřit totéž ve formě cyklů s podmínkou a krokem v těsném sousedství. Nestandardní typy cyklů začnou být dvojnásob užitečné ve chvíli, kdy cyklus závisí na dvou různých ukončovacích podmínkách, které mohou nastat nezávisle na sobě.

    Čtvrtá věc - dělá se to tak, že nadefinuješ proměnu (např. konec = false), pak ve vnitřním cyklu pro ukončení nastavíš konec na true a ve vnějším cyklu to testuješ - to jsou základní programovací techniky.

    Co je tohle za hovadinu? Prasárny tohoto typu vedou k tvorbě kódu, který je neefektivní (což nemusí nutně vadit, ale cosi to vypovídá o programátorských kvalitách autora) a velmi nepřehledný (což vadí po všech stránkách).

    Tazatel se ptal, jak vyskočit ze dvou vnořených cyklů — předpokládám, že v shellu, když se ptá na linuxové poradně. Odpověď je jednoduchá: bash i dash (a možná i jiné shelly) mají příkaz break s číselným parametrem. Číselný parametr má implicitně hodnotu 1, tedy break bez parametru vyskočí z nejbližšího cyklu nebo selectu. Hodnota 0 znamená, že se nikam nevyskakuje a vrátí se 0 (úspěch). Hodnota větší než 1 vyskakuje z vnořených cyklů.

    Odpověď na původní otázku by asi byla break 2. (A vůbec není nutné vymýšlet fantasmagorie o tom, jak by se údajně mělo či nemělo programovat.)

    ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
    LangPa avatar 17.2.2014 23:21 LangPa | skóre: 12 | blog: LangPavel | Hradec Králové
    Rozbalit Rozbalit vše Re: Ukončení cyklů
    1) goto je taky cesta do pekel ale funguje.

    2) jaký jazyk? Některé umožňují, tuším, napsat break 2
    17.2.2014 23:34 cronin | skóre: 48
    Rozbalit Rozbalit vše Re: Ukončení cyklů
    ... iné umožňujú pomenovať slučku návestím, aby bolo následne z vnútorného cyklu brejknúť ten vonkajší.

    Inak povedané: ak chce opytujúci sa lepšiu odpoveď, mal by lepšie sformulovať otázku.
    18.2.2014 11:16 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Ukončení cyklů
    Přijde na to v jakém jazyku.
    První a druhý příklad lze realizovat ve většině (včetně bash-e).
    Třetí příklad je nepěkný a někde jsem četl, že je ospravedlnitelný pokud je těch cyklů roj (pokud by to mělo být jediné goto v kódu, tak bych ho neospravedlnil :)).
    /* gcc -W -pedantic loop.c -o loop */
    #include <stdlib.h>
    #include <stdio.h>
    
    int main( int arc, char **argv ) {
      int breakit;
      int doit;
    
      /*an example */
      printf("\nExample 1:\n");
      breakit = 0;
      while(1){
        printf("1st loop\n");
        while(1){
          printf("2nd loop\n");
          if(1==1){
            printf("Cond. to break all loops, break 2nd loop\n");
            breakit=1;
            break;
          }
        }
        if(breakit==1){
          printf("Break 1st loop\n");
          break;
        }
      }
    
      /*an better example */
      printf("\nExample 2:\n");
      doit = 1;
      while(doit){
        printf("1st loop\n");
        while(doit){
          printf("2nd loop\n");
          if(1==1){
            printf("Cond. to break all loops, break 2nd loop\n");
            doit=0;
            break;
          }
        }
      }
    
      /*Do not recomended */
      printf("\nExample 3:\n");
      while(1){
        printf("1st loop\n");
        while(1){
          printf("2nd loop\n");
          if(1==1){
            printf("Cond. to break all loops, goto (to) loopsend: \n");
            goto loopsend;
          }
        }
      }
      loopsend:
    
      return 0;
    }
    
    
    Některé jazyk jako třeba Java může mít něco takovéhoto (netestováno.)
     class JavaLoop{
        public static void main(String[] args){
          System.out.print("\nExample 1:\n");
          topouter:
          while(true){
            System.out.print("1st loop\n");
            while(true){
              System.out.print("2nd loop\n");
              if(1==1){
                System.out.print("Cond. to break all loops, break with label\n");
                break topouter;
              }
            }
          }
          return 0;
        }
      }
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    Založit nové vláknoNahoru

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

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