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 11:11 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 161 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 10:44 | Nová verze

    Po delší době vývoje vyšla nativní linuxová verze virtuálního bubeníka MT-PowerDrumKit 2 ve formátu VST3. Mezi testovanými hosty jsou Reaper, Ardour, Bitwig a Carla.

    balda | Komentářů: 1
    včera 21:33 | Nová verze

    Desktopové prostředí Budgie bylo vydáno ve verzi 10.10. Dokončena byla migrace z X11 na Wayland. Budgie 10 vstupuje do režimu údržby. Vývoj se přesouvá k Budgie 11. Dlouho se řešilo, v čem bude nové Budgie napsáno. Budgie 10 je postaveno nad GTK 3. Přemýšlelo se také nad přepsáním z GTK do EFL. Budgie 11 bude nakonec postaveno nad Qt 6.

    Ladislav Hagara | Komentářů: 0
    včera 13:00 | Humor

    OpenChaos.dev je 'samovolně se vyvíjející open source projekt' s nedefinovaným cílem. Každý týden mohou lidé hlasovat o návrzích (pull requestech), přičemž vítězný návrh se integruje do kódu projektu (repozitář na GitHubu). Hlasováním je možné změnit téměř vše, včetně tohoto pravidla. Hlasování končí vždy v neděli v 9:00 UTC.

    NUKE GAZA! 🎆 | Komentářů: 3
    včera 03:00 | Nová verze

    Byl vydán Debian 13.3, tj. třetí opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.13, tj. třináctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    10.1. 03:00 | Komunita

    Na stránkách Evropské komise, na portálu Podělte se o svůj názor, se lze do 3. února podělit o názor k iniciativě Evropské otevřené digitální ekosystémy řešící přístup EU k otevřenému softwaru.

    Ladislav Hagara | Komentářů: 6
    9.1. 19:44 | Zajímavý software

    Společnost Kagi stojící za stejnojmenným placeným vyhledávačem vydala (𝕏) alfa verzi linuxové verze (flatpak) svého proprietárního webového prohlížeče Orion.

    Ladislav Hagara | Komentářů: 5
    9.1. 19:11 | IT novinky

    Firma Bose se po tlaku uživatelů rozhodla, že otevře API svých chytrých reproduktorů SoundTouch, což umožní pokračovat v jejich používání i po plánovaném ukončení podpory v letošním roce. Pro ovládání také bude stále možné využívat oficiální aplikaci, ale už pouze lokálně bez cloudových služeb. Dokumentace API dostupná zde (soubor PDF).

    NUKE GAZA! 🎆 | Komentářů: 2
    9.1. 14:22 | Zajímavý článek

    Jiří Eischmann se v příspěvku na svém blogu rozepsal o open source AdGuard Home jako domácí ochraně nejen před reklamou. Adguard Home není plnohodnotným DNS resolverem, funguje jako DNS forwarder s možností filtrování. To znamená, že když přijme DNS dotaz, sám na něj neodpoví, ale přepošle ho na vybraný DNS server a odpovědi zpracovává a filtruje dle nastavených pravidel a následně posílá zpět klientům. Dá se tedy používat k blokování reklamy a škodlivých stránek a k rodičovské kontrole na úrovni DNS.

    Ladislav Hagara | Komentářů: 7
    9.1. 03:33 | Zajímavý software

    AI Claude Code od Anthropicu lépe rozumí frameworku Nette, tj. open source frameworku pro tvorbu webových aplikací v PHP. David Grudl napsal plugin Nette pro Claude Code.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (8%)
     (4%)
     (0%)
     (9%)
     (20%)
     (3%)
     (5%)
     (3%)
     (11%)
     (49%)
    Celkem 381 hlasů
     Komentářů: 9, poslední dnes 18:09
    Rozcestník

    Dotaz: C++ hlavičkové martýrium

    11.11.2019 03:55 LSD
    C++ hlavičkové martýrium
    Přečteno: 539×
    Prosím vás ako riešite modulárnosť v C++ (to oddelovanie implementácie a interface do samostatných súborov), pre mňa je to utrpenie zbytočne sa tým zabije veľa času. Okrem toho to popiera princíp DRY. Pascal to mal podobné, ale tam sa to robilo aspoň vrámci jednej unity. V C++ to zabili ešte viac tým, že sa treba direktívami starať aby sa kód nevkladal viac krát a tiež tým, že šablóny musia byť vcelku.

    Chápem že je to historické dedičstvo C++ kedysi to možno zlepšilo prehľadnosť. Ale dnes? V dobe IDEčiek? WTF?

    V C++ 20 budú majú byť heradery nahradené plnohodnotnými modulmi s exportami, ale čo dovtedy?

    Nebaví ma robiť stále manuálnu prácu Ctrl+C a Ctrl+V. Ajtak skrývanie implementácie používam naozaj výnimočne (viditeľnosť Najčastejšie riešim na úrovni tried) takže pre mňa je to len zbytočná byrokracia. Neviete mi odporučiť nejaký tool ktorý by to zjednodušil prípadne robil automaticky?

    Viem, že môžem celé triedy aj s implementáciou vložiť do header fajlu alebo aj cc / cpp a potom ich includovať v celku, ale niekoré compilery sa potom správajú ako alenka v ríši divov. A programátorom sa z toho ježia vlasy na hlave.

    Odpovědi

    11.11.2019 09:21 pavell
    Rozbalit Rozbalit vše Re: C++ hlavičkové martýrium
    Abys pochopil vyhody, musel bys nejdriv pochopit, co je to compilation unit apod. Jinak tahle diskuze nema smysl.
    11.11.2019 10:04 debian+
    Rozbalit Rozbalit vše Re: C++ hlavičkové martýrium
    V C++ 20 budú majú byť heradery nahradené plnohodnotnými modulmi s exportami, ale čo dovtedy?
    modules[48] – experimentally supported in Clang 5[49] and Visual Studio 2015 Update 1[50] as well as GCC[51] zdroj Nie je to tak tazke: https://gcc.gnu.org/wiki/cxx-modules Zas, kto ma rad veci pod kontrolou, tak to pouzivat nebude chciet.
    Ale dnes? V dobe IDEčiek? WTF?
    V IDE mas alebo si vies vytvorit addon, ktory ti vytvori definicie (vytvor .h subor z *.c). Ale zas 100% istotu to zautomatizovat brani implementacia, ze definicia prototypu funkcie nie je rychlim pozretim jednoznacne jasne (chyba klucove slovo function). Ale to by sa dalo rozsirit ako rozsirenie prehladavaca, ak by to niekto chcel. A na preklad tu mas make, cmake.

    C/C++ je blizko hardveru a ten system prekladanie je kvoli velkym projektom (sak kludne si mozes vsetko hodit do jedneho *.c a tak to prekladat. A to potom ocenis (pri hrach alebo webovom engine), ze zmenou jedneho riadku nemusis cakat na preklad 20 minut ale 30s (nemusis mat extra nadupany notebook).
    11.11.2019 13:48 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: C++ hlavičkové martýrium
    …a tiež tým, že šablóny musia byť vcelku.

    Někdy nemusí. Klíčové slovo: explicit instantiation. Samozřejmě se to nedá použít u šablon typu kontejnery, které musí podporovat (skoro) libovolný uživatelem specifikovaný typ. Nicméně pokud má člověk aspoň trochu kontrolu nad tím, které typy nějaká šablona bude podporovat, pak se dá úplně oddělit header od implementace i u šablon.

    xkucf03 avatar 11.11.2019 14:37 xkucf03 | skóre: 50 | blog: xkucf03
    Rozbalit Rozbalit vše Re: C++ hlavičkové martýrium

    1) Ano, je to utrpení (např. ve srovnání s Javou), zvlášť pokud chceš dodržovat zpětnou kompatibilitu. Nechutně tam prosakuje abstrakce resp. technické detaily, které ti narušují logický návrh rozhraní. Ale takové už C++ je.

    2) Řešitelné je to přes Opaque pointer (a.k.a. PImpl idiom, D-Pointer)

    3) IDE v tomhle docela dost pomáhají – dá se proklikávat mezi hlavičkovým souborem a implementací, v .cpp souborech ti to bude napovídat metody z .h souborů, které můžeš implementovat, měl by fungovat i refaktoring atd.

    4) Lze dát všechno do .h souboru, některé tzv. „header-only“ knihovny to tak dělají. AFAIK to není optimální z hlediska rychlosti kompilace, ale u menších věcí to asi nevadí.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes

    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.