• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    XCHAOSANSI C/C99 (specifikace), GNU C (gcc, glibc), Tiny C (tcc) a POSIX - ne nutně C++,g++,libstdc++ nebo Win32 API
    /* Toto je klub především pro lidi, pro které je programování jednou z mnoha massive multiplayer online počítačových her, které lze hrát.
        V tomto klubu hrozí sémantická hereze a nezdravě vysoký obsah syntaktického cukru. Nevhodné pro algoritmické diabetiky.
        Od účastníků debaty se předpokládá automaticky přístup k instalovanému GNU C: sudo apt-get install build-essential
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    C (programovací jazyk)#C99 Heslo na české Wikipedii
    Jazyk C - Základy praktického programování V Praze 2oo7 pro SSPŠ Tomáš Harvie Mudruňka a kolektiv - jak si programování v C představuje většina lidí
    http://stevenkobes.com/ctest.html C Programming Puzzlers - nepouštějte se do flamewars v tomhle klubu, pokud neuhodnete aspoň polovinu správně!
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    http://en.wikipedia.org/wiki/C99 C99 is a modern dialect of the C programming language.
    http://cprogramminglanguage.net/ C programming language
    http://cprogramminglanguage.net/c-programming-language-tutorial.aspx C programming language - úvod
    http://en.wikipedia.org/wiki/Criticism_of_the_C_programming_language C makes it easy to shoot yourself in the foot. (ještě že ne do hlavy...)
    http://en.wikipedia.org/wiki/C_preprocessor
    http://gcc.gnu.org/onlinedocs/gcc/Variadic-Macros.html C99 makra s proměnným počtem argumentů - __VA_ARGS__
    http://gcc.gnu.org/onlinedocs/gcc/ GNU C Compiler
    http://gcc.gnu.org/onlinedocs/gcc-4.2.2/gcc/Optimize-Options.html
    http://bellard.org/tcc/ Tiny C Compiler - prý C99 compliant (min. umí __VA_ARGS__) - vhodný pro skriptování v C - umí #!/usr/bin/tcc -run
    http://en.wikipedia.org/wiki/International_Obfuscated_C_Code_Contest - pokud jste neviděli tohle, tak jste ještě neviděli opravdu nečitelný C zdroják
    http://bellard.org/otcc/ Obfuscated Tiny C Compiler - z tohohle vtípku vznikl Tiny C compiler
    http://en.wikipedia.org/wiki/ANSI_C Jak se střelit do nohy standardizovaným způsobem.
    http://eli-project.sourceforge.net/c_html/c.html ANSI C Specification
    http://www.lysator.liu.se/c/ Různý ANSI C bordel
    http://www.cs.rit.edu/~ats/books/ooc.pdf Object Oriented Programming with ANSI-C - a pak že to nejde
    http://en.wikipedia.org/wiki/Longjmp co jsou to setjmp()/longjmp() knihovní funkce (pro všechny, podle kterých to bez C++ try { } catch() ... nejde)
    http://groups.google.com/group/comp.lang.c++.moderated/browse_thread/thread/dcdc710c27f47c72 C neumí správně počítat (?)
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    http://www.fastcgi.com/ FastCGI is simple because it is actually CGI with only a few extensions.
    http://www.metalshell.com/source_code/18/Mysql_Select.html How to do a simple connection and select with mysql
    http://xmlsoft.org/ The XML C parser and toolkit of Gnome
    http://curl.haxx.se/libcurl/ libcurl - the multiprotocol file transfer library
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    https://dev.arachne.cz/svn/cll1h SVN/Trac jazyka C<<1 (user-friendly nadstavba nad ANSI C99 - ve stylu JQuery vs. JavaScript)
    Benchmark iterace a serializace stringů v různých jazycích vs. v C
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        moderátor se velice zhruba řídí zvyklostmi moderace, která kdysi platila v řadě konferencí sítě FidoNet ... C != 0xdead */
    rozbalit záhlaví
    XCHAOS
    XCHAOS --- ---
    FLEGMA: viz to co jsem psal: já bych se ani nebránil vygenerování té C-syntaxe z konvenčního textového SQL dotazu: dokonce by na to určitě šlo udělat nějaký markup, který by ti zdroják před-kompiloval, pokud by si změnil ty SQL dotazy v nějakém specificky naformátovaném "komentáři", předcházejícím generovanou sekvenci (prostě zase makra, akorát tentokrát na jiném levelu :-)

    že se to používá, jsem tušil.. před lety jsem si vyměnil pár mailů s Ondřejem Čadou, který si mi vytahoval tím, že jeho úžasný C++ framework umí právě tohle (akorát si nejsem jistý, jestli jen pomocí přetěžování C++ operátorů neřetězil ten SQL dotaz - ale to zřejmě právě bylo jednotné API pro různé implementaci)

    vlastně celý můj dotaz byl "existuje něco takového např. pro MySQL"? protože protlačování výsledku přes sockety to zase může (trochu brzdit) - pokud by to byla databáze ve sdílené paměti (v tomto jsou Unixy/Linuxy dobré a já jsem v používání shmget() začátečník), tak pochopitelně: výsledek dotazu pak může být složen z pointerů na původní umístění v paměti a nic se nemusí kopírovat.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    FLEGMA: Kdyz mne furt prijde ze ty mu nabizis pohodlnejsi a "silnejsi" vyrobu dotazu, kdezto xchaos touzi po rychlejsim zpracovani (tj. mit to ze strany stroje co nejvic predzvejkany). Takze dynamicky skladani jde primo proti tomu po cem touzi.
    FLEGMA
    FLEGMA --- ---
    XCHAOS: Presto bych ti doporucil skouknout kod nejakyho ORM frameworku, protoze to, co se snazis vymyslet, uz davno existuje. Mapovani SQL na datovej model fakt neni novinka dnesniho roku :-DD. A to jak predpripraveny dotazy, kdy mas nejakej string jako:

    select title from blog b where b.id = :idParam

    a pak uz dynamicky v kodu jen nasetujes ten parametr nebo druhej zpusob popsal JACHYMKO, kdy mas nejaky api na pridavani podminek, projekci (ktery sl. se vyberou), joiny, razeni, atd. a skladas dotaz kompletne dynamicky. Oba dva zpusoby se v ORM frameworkach pouzivaj. Chapu, ze tvuj model neni objektovej, ale muzes trochu popsat usecase (vcetne typu dat, jestli to neni tajny) pro tvuj toolik, pak pujde treba lip pochopit, proc chces sesmolit neco vlastniho.
    CHEVALIER
    CHEVALIER --- ---
    REDGUY: Děkuji.
    REDGUY
    REDGUY --- ---
    CHEVALIER: Nikde nemluvim o pristupu k _databazi_ jinak nez pres SQL (ovsem i to samozrejme jde, viz NoSQL databaze). Mluvim o pristupu k datum. Kdyz mam data ktera se mi vejdou do pameti a ke kterym budu potrebovat pristupovat tak casto a tak rychle, ze i parsovani SQL prikazu bude problem, tak ty data nebudu drzet v SQL databazi na jinem serveru (nebo aspon v jinem procesu), ale proste je budu mit rovnou u sebe v pameti a budu k nim pristupovat primo. Nebudu muset resit sitovou latenci, parsovani SQL, to ze databaze je delana na genericky data takze jeji query optimizer nemusi najit optimalni strategii pro muj konkretni pripad a tak dale.
    CHEVALIER
    CHEVALIER --- ---
    REDGUY: Jsem neznalec. Jak se dá přistupovat k databázi jinak než přes SQL. Jde mi konkrétně o SQLite3. Děkuji.
    REDGUY
    REDGUY --- ---
    Hele, vis co, XChaosi? Je to prece jednoduchy. Mame tendlecten opensource, tak vezmi svoji oblibenou databazi, pridej do ni logovani jak dlouho trvalo rozparsovat kazdej dotaz a spust nejakej real-world test a pak se pochlub cislama. Ciny misto kecu! Oh, wait... ja mluvim s xchaosem 8))
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: 100x nic umorilo osla by davalo smysl, pokud bys 100x parsoval na 1 dotaz. Pokud ale 100x parsujes na 100 dotazu, tak ti to parsovani furt dela nejaky naprosto nezanedbatelny procento casu (tipl bych ze dost pod varianci v pingu).
    REDGUY
    REDGUY --- ---
    XCHAOS: jenže 100x nic umořilo osla... jak rikam: pokud mas data, ktera se (a) vejdou do pameti a (b) pristupujes k nim tak casto, ze i ta odhadem radove milisekunda (mozna mene) parsovani SQL je kriticka, tak jsi idiot pokud k nim pristupujes pomoci SQL. Chapes?

    Btw, uz ti doslo jaky je rozdil mezi SQL a RE, diky kteremu ma smysl RE predkompilovat, zatimco SQL ne?
    REDGUY
    REDGUY --- ---
    XCHAOS: jde o to, že já směřuju k decentralizované síti malých serverů coz ten google v podstate taky, ze. Podle vsecho maji velmi mnoho relativne malych pocitacu.

    pokud tebe živí centralizace, tak už chápu, proč je pro tebe tak existenčně důležité se mi posmívat...) - HAHAHA. To je fakt super jak hrozne si fandis. Opravdu si myslis, ze i kdyby nahodou me zivilila centralizace (nezivi), tak pro moji existenci je nejak podstatne jestli se zrovna tobe posmivam? Ne, fakt nejsi tak dulezitej.
    XCHAOS
    XCHAOS --- ---
    koukám... "sledujících lidí 78"... nemělo by to tu aspon trochu víc být o Céčku a o Linuxu, v takovém případě? :-)
    XCHAOS
    XCHAOS --- ---
    REDGUY: jenže 100x nic umořilo osla... a opět, pokud sis nevšiml, tak interakce uživatel vs. server se za posledních 10-15 let posunula daleko více k realtime, než tomu bylo historicky.

    pokud bych psal skript, co se pustí jednou za den v 6 ráno z cronu, tak mi pochopitelně bude srdečně jedno, jestli poběží 5 sekund nebo 50 minut. ale pokud píšeš nějaký ajaxový onmouseover, tak ti najednou není jedno, jestli se každý request na server zpracovává desetinu sekundy.
    XCHAOS
    XCHAOS --- ---
    FLEGMA: Ano. V podstatě mluvím o "neobjektovém relačním mapování" :-)
    XCHAOS
    XCHAOS --- ---
    FLEGMA: jestli myslíš http://cs.wikipedia.org/wiki/Objektov%C4%9B_rela%C4%8Dn%C3%AD_mapov%C3%A1n%C3%AD tak je to možná přibližně, ale ne zcela přesně to, o čem asi mluvím.

    pro mě je to prostě "compile time SQL" :-)

    REDGUY: jo, sice se hádáme už asi 3 roky, ale postupně se poznáváme. já investory rád nemám a z peněz investorů nežiju (no, samozřejmě diskutabilně... když podepíšeme s dodavatelem smlouvu na X let a on si půjčí peníze, aby danou službu zřídil...).

    jak je přesně implementovaná serverová farma Googlu, to popopravdě ví málokdo - a já už vůbec ne. jde o to, že já směřuju k decentralizované síti malých serverů - do prostředí heterogenního, co se administrace týče (ano... pokud tebe živí centralizace, tak už chápu, proč je pro tebe tak existenčně důležité se mi posmívat...)
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    FLEGMA: Ja sem pochopil ze nechce generovany SQL dotazy, ale chce nejak predzpracovany SQL dotazy aby pak ten samotnej dotaz byl rychlejsi.
    FLEGMA
    FLEGMA --- ---
    XCHAOS: No ty se vlastne ptas po ORM frameworku. V Jave je nejkomplexnejsi Hibernate, ekvivalent pro C++ by mel bejt LiteSQL a Hiberlite, ale to jsem nezkousel. ORM je idealni na CRUD operace, naopak na high performance, masivni zpracovani dat je logicky lepsi rucne psany SQL nez generovany, kvuli specifikam optimalizace v db enginu (napr. hinty v oraclu) Da se to i kombinovat, cast dotatazu generovat a performance critical sql mapping dopsat rucne.
    REDGUY
    REDGUY --- ---
    XCHAOS: ne každý rozhazuje peníze investorů - HAHAHAHAHAHA. Jojo. Jezis, to je tak _strasne_ vtipny, s ohledem na to jak peclive nas nasi investori kontrolujou (a jak jsou zatim spokojeny).


    XCHAOS: se v současnosti horečnatě snaží rozvíjet svůj vlastní "9824345. blgoovej engine" - jo, jasne. A povidej, prehanej, jak jsou zatizeny jejich DB servery? A jak jejich www servery? A jak se jim data vejdou do pameti serveru se 4GB ram? Povidej, kdyz o tom tak sebejiste vykladas, urcite o tom spoustu vis. Sem s tim 8))
    REDGUY
    REDGUY --- ---
    XCHAOS: proto se ptám na to, jestli je to nějaké API, že ano je. A jmenuje se SQL. A pricetni lide vedi, ze parsovani SQL prikazu trva nula nula nic a nema smysl ztracet cas nejakou pseudooptimalizaci.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    REDGUY: Muzete alespon naznacovat?
    (Mne to prekvapilo protoze ted nevlastnim pocitac co by mel alespon 8GB)
    XCHAOS
    XCHAOS --- ---
    REDGUY: popravdě - i Google, jako největší serverová farma na světě, se v současnosti horečnatě snaží rozvíjet svůj vlastní "9824345. blgoovej engine" (protože nic jinýho GooglePlus není, že ano...). v podstatě ano - je to dnes stejně základní zadání, jako byl před 30 lety WYSIWYG textový editor.

    (viz tag #whitespace, že ano :-)
    XCHAOS
    XCHAOS --- ---
    REDGUY: dobře, ale každý nepracuje v Seznamu, nebo kde. a většina firem má poměrně příčetné požadavky na množství dat svých klientů, se kterými pracuje (rozuměj: ne každý rozhazuje peníze investorů - někdo hospodaří jen s tím, co sám vydělá)
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: no... ano. ne. proto se ptám na to, jestli je to nějaké API, že ano :-)

    prostě to, nad čím si lámu hlavu je jednoduché: jak kdo vlastně programuje složitější datové struktury do svých aplikací jinak, než že naformuluje SQL dotaz do stringu a zavolá nějaké spojení do databáze? viděl jsem pochopitelně ledacos... ale zase proti tomu, co jsem si zvykl používat za funkce v SQL, je to všechno poměrně primitivní...
    Kliknutím sem můžete změnit nastavení reklam