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 12:55 | Nová verze

    CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.

    jardaIT | Komentářů: 2
    včera 12:22 | Bezpečnostní upozornění

    Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].

    Ladislav Hagara | Komentářů: 1
    14.5. 17:22 | Komunita

    Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.

    Ladislav Hagara | Komentářů: 5
    14.5. 16:55 | Zajímavý software

    Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.

    Ladislav Hagara | Komentářů: 26
    14.5. 14:00 | Zajímavý projekt

    Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.

    Pinhead | Komentářů: 6
    14.5. 02:22 | Zajímavý software

    Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.

    Ladislav Hagara | Komentářů: 0
    14.5. 01:11 | Nová verze

    Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    13.5. 21:22 | Bezpečnostní upozornění

    Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.

    Ladislav Hagara | Komentářů: 1
    13.5. 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 13
    13.5. 12:55 | IT novinky

    Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1643 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

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

    22.1.2007 00:39 | Přečteno: 1542× | 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: 71 | 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: 67 | 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: 67 | 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: 71 | 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: 71 | 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: 71 | 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: 71 | 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: 71 | 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.