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í
×
    včera 17:44 | Zajímavý článek

    Jak si zobrazit pomocí Chrome a na Chromiu založených webových prohlížečích stránky s neplatným certifikátem? Stačí napsat thisisunsafe.

    Ladislav Hagara | Komentářů: 3
    včera 00:33 | Bezpečnostní upozornění

    V repozitáři AUR (Arch User Repository) linuxové distribuce Arch Linux byly nalezeny a odstraněny tři balíčky s malwarem. Jedná se o librewolf-fix-bin, firefox-patch-bin a zen-browser-patched-bin.

    Ladislav Hagara | Komentářů: 10
    včera 00:22 | Komunita

    Dle plánu by Debian 13 s kódovým názvem Trixie měl vyjít v sobotu 9. srpna.

    Ladislav Hagara | Komentářů: 0
    19.7. 13:22 | Komunita

    Vývoj linuxové distribuce Clear Linux (Wikipedie) vyvíjené společností Intel a optimalizováné pro jejich procesory byl oficiálně ukončen.

    Ladislav Hagara | Komentářů: 1
    18.7. 14:00 | Zajímavý článek

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    18.7. 12:00 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 12.0 (Mastodon). Forgejo je fork Gitei.

    Ladislav Hagara | Komentářů: 1
    17.7. 18:44 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 155 (pdf) a Hello World 27 (pdf).

    Ladislav Hagara | Komentářů: 1
    17.7. 16:11 | Nová verze

    Hyprland, tj. kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, byl vydán ve verzi 0.50.0. Podrobný přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 4
    17.7. 15:55 | Komunita

    Patrick Volkerding oznámil před dvaatřiceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.

    Ladislav Hagara | Komentářů: 6
    16.7. 21:22 | IT novinky

    Ministerstvo pro místní rozvoj (MMR) jako první orgán státní správy v Česku spustilo takzvaný „bug bounty“ program pro odhalování bezpečnostních rizik a zranitelných míst ve svých informačních systémech. Za nalezení kritické zranitelnosti nabízí veřejnosti odměnu 1000 eur, v případě vysoké závažnosti je to 500 eur. Program se inspiruje přístupy běžnými v komerčním sektoru nebo ve veřejné sféře v zahraničí.

    Ladislav Hagara | Komentářů: 19
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (28%)
     (18%)
     (5%)
     (5%)
     (3%)
     (5%)
     (5%)
     (33%)
    Celkem 40 hlasů
     Komentářů: 6, poslední dnes 09:19
    Rozcestník

    stokrat nic zabilo vola....a i jednou nic mne nici

    22.1.2007 00:39 | Přečteno: 1485× | programovani | poslední úprava: 22.1.2007 00:40

    Tenhle zapisek je o nejhorsi veci na programovani, trivialni chyby s fatalnimi dusledky.

    Prepisy ve jmenech promennych pri vhodne zvoleny pojmenovaci konvenci jsou v pohode (tzn ze nejsou u sebe moc blizko a taky se jejich jmena nedaji snadno splest). Proste kompilator rekne pomerne srozumitelnou hlasku, ale jsou horsi veci, kdy se objevi v zdnalive bezproblemovym kodu podivna hlaska.

    Podobna se mi stala nedavno:

    for(i=0;i<10;i++);
    {
        pthread_join(thread[i],NULL);
        pthread_join(thread[i+10],NULL);
    }

    Takovy jednoduchy kod, ktery ceka az vsechny thready(20) zpracuji svoji ulohu. No a program obcas zatuhne, obcas hodi SIGSEG a ted kde ladit, kdyz to pise ze ta chyba je v pthread_join. No je to na infarkt najit chybu, ktera je fakt trivialni a vznikla obycejnou nepozornosti, pri vimovskym vkladani.Kdyz sme u toho nevite o nejakym unixovym programu pro refactoring C/C++ kodu??? Presne pro tohle by se to hodilo, protoze by to znovu zformatovalo text a prikaz by pekne sel na samostatnou radku.

    A zrovna dneska dalsi takova trivialitka co dokaze poradne otravit. K programu sem si chtel v ramci uspory mista udelat jednoduchy zipovani dat se kterymi se pracuje. Jen jednoduchej fork + exec. a potreboval sem to umistit jako pruchodovy. Kod na par radek a staci prohodit parametry v dup2 a hned zacne bzip2 hazet podivny hlasky o i/o error, z kterych se toho moc nepozna. Nastesti jeste ze existuje funkce fstat, ale stejne cloveka takovyhle veci otravi, kdyz musi v gdb overovat i to co vidi ze je dobre.

    Pouzivate neco(program, programovaci technika) proti takovymhle otravnym chybam, ktery zbytecne zabiraj cas pri debugovani?
    no zaverem jen poprat vsem co nejmin podobnych chyb.

           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    wake avatar 22.1.2007 01:00 wake | skóre: 30 | blog: wake | Praha
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    jo, perl a { za ) ... ;-)
    Tento příspěvek má hlavičku i patičku!
    22.1.2007 01:10 qk | skóre: 15 | blog: qk_develop
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    jj, taky to obcas pouzivam, ale ne vzdy mam moznost delat na vlastnim programu s vlastni konvenci formatovani, proto by se hodil nejakej nastroj na refactoring, abych mohl psat ve svem stylu a posilat a prijimat v definovanem nekym jinym. Tohle je treba naprosto vyborny u Eclipse(bohuzel CDT neumi tohle pro C/C++).
    lankvil avatar 22.1.2007 03:12 lankvil | skóre: 8 | Praha
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Na formatovani kodu v c se da pouzit napriklad indent. Po prohledani debianich balicku na me vypadlo i bcpp coz by melo fungovat i na c++ ale nezkousel sem to.

    Jinak takovy zakerny chyby nastvou to je fakt :) zvlast kdyz mas tech vic vlaken a spadne to jenom obcas
    Já mám taky blog
    22.1.2007 08:08 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Multithreadové aplikace zásadně padají jen občas. Nejvíc to naštve, když ta mrcha padá jen na produkčním stroji a na testovacím ne a ne spadnout, přestože člověk nasimuluje několikanásobnou zátěž oproti tomu produkčnímu…
    22.1.2007 12:16 qk | skóre: 15 | blog: qk_develop
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    diky, ten indent vypada zajimave, urcite zkusim.
    22.1.2007 08:06 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    vim: :set autoindent

    btw, odporúčam začať používať (x)emacs :-) kto nevyskúša, nepochopí :-D

    22.1.2007 15:25 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    btw ++ :)
    22.1.2007 08:55 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Prepisy ve jmenech promennych pri vhodne zvoleny pojmenovaci konvenci jsou v pohode (tzn ze nejsou u sebe moc blizko a taky se jejich jmena nedaji snadno splest). Proste kompilator rekne pomerne srozumitelnou hlasku,…
    To je ten šťastnější případ. Vzhledem k masivnímu skriptování webových stránek na straně klienta se nyní ukazuje JavaScript jako dynamický jazyk bez nutnosti deklarace proměnných jako ne příliš šťastná volba pro klientské skriptování. Resp. pro několika řádkové skripty by stačil, ale to co se píše dnes… O nějaké srozumitelné hlášce se může programátorovi jenom zdát, a chybu v tom, že proměnnou elements jednou jedinkrát napíšete jako element můžete hledat klidně několik hodin (protože co je to platné vyvíjet primárně ve Firefoxu, když ta chyba je zrovna v kódu, který obchází nějaký nedodělek MSIE)… Doufám, že se dožiju renesance Java Appletů v prohlížečích, byť by i byly skryté a pouze manipulovali s DOMem prohlížeče, jako to dnes dělá JavaScript.
    22.1.2007 09:10 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    asi blbá otázka: vy kód negenerujete? :-D

    imho za väčšinou chýb stojí nevhodne zvolený postup vývoja :-)
    A vami spomínaný príklad s obchádzaním chýb? To je také ťažké vytvoriť si jednu medzivrstvu s rovnakým interface, implementovanú pre každý browser zvlášť? Pravda, medzivrstvovať či nemedzivrstvovať, to otázka. :-)

    22.1.2007 09:19 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Generujeme, i když vstup je vlastně šablona JavaScriptu, kde se nahrazuje pár věcí – takže žádný GWT (to by byl kanón na vrabce).

    Mezivrstva tam samozřejmě je, bohužel překlep byl právě v té implementaci pro MSIE6. Při trochu složitějších skriptech bohužel hlášky MSIE o typu chyby a jejím místě jsou zcela nezávislé na tom, kde chyba skutečně je :-(
    22.1.2007 09:22 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Při trochu složitějších skriptech bohužel hlášky MSIE o typu chyby a jejím místě jsou zcela nezávislé na tom, kde chyba skutečně je

    Podle mne je za vším ta zpropadená zpětná kompatibilita. Tahle tradice pochází už z dob CP/M, která měla pro všechny chyby celkem tři různé hlášky… :-)

    22.1.2007 09:38 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    No v Javě by se ti to nestalo, protože bys napsal for (int i = ...
    22.1.2007 10:31 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Což ovšem lze i v C++ a možná i v C99…
    DjAARA avatar 22.1.2007 12:32 DjAARA | skóre: 32 | Praha|Náklo|Olomouc
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    ano for (int i=…) v C99 lze
    22.1.2007 12:40 Scarabeus IV | skóre: 20 | blog: blogisek_o_gentoo | Praha
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    C99 by mel nadavat..., ale v cpp to jde urcite
    22.1.2007 12:43 Scarabeus IV | skóre: 20 | blog: blogisek_o_gentoo | Praha
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    for(int i=0;i<lines;i++)
    matice.c:32: error: ‘for’ loop initial declaration used outside C99 mode
    22.1.2007 13:00 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Což ovšem naopak v praxi znamená, že v C99 je to korektní, ale zapomněl jste parser přepnout na C99 syntaxi.
    22.1.2007 15:48 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Přesně tak, sám občas použiju :), ale pak to zase při čištení kódu vybírám, protože mi to přijde jako nekompatibilní prasárna :)... (kdyby byl jediný překládač gcc...)
    Baník pyčo!
    22.1.2007 16:29 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Označovat ISO standard výrazem nekompatibilní prasárna bych označil za vpravdě revoluční počin… :-)
    23.1.2007 14:12 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Třeba dělá v MS… ;-)
    22.1.2007 13:15 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Podle gcc v C99 určitě, respektive, bez --std=c99 se mi podobná konstrukce nepovedla přeložit. Horší je Visual Studio, které vyžaduje příponu .cpp, jinak to nahlásí jako chybu.
    When your hammer is C++, everything begins to look like a thumb.
    22.1.2007 13:27 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Okýnkáři a to jejich lpění na příponách… :-D Když nemohli rozlišit .c a .C, vymysleli si .cpp. :-D
    22.1.2007 14:25 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    oni by aj rozlišovali, ale .c++ zapísať nevedeli :-)
    22.1.2007 14:55 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Nejsem si jistý, zda Visual Studio vůbec podporuje aspoň něco z C99. Typicky se třeba kvůli nim u multiplatformních projektů obcházejí standardní typy z <stdint.h>
    elviin avatar 23.1.2007 11:41 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    afaik vs nevyzaduje priponu. Ted jsem prelozil s vs2005 soubor, ktery jsem prejmenoval z test5.cpp na test5:
    1>------ Build started: Project: test002, Configuration: Debug Win32 ------
    1>Compiling...
    1>test5
    1>Build log was saved at "file://d:\Projects\test002\test002\Debug\BuildLog.htm"
    1>test002 - 0 error(s), 0 warning(s)
    ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
    
    22.1.2007 15:17 me
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    tak to se me jeste nikdy nestalo.... (a to v C++ programuju leta...)

    Založit nové vláknoNahoru

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