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 17:00 | IT novinky

    Společnost Seznam.cz spouští konverzační nástroj založený na umělé inteligenci Seznam Asistent. Asistent využívá vlastní jazykový model SeLLMa a dočasně i komerční modely od OpenAI provozované v evropských datacentrech prostřednictvím Microsoft Azure. Dlouhodobým cílem Seznamu je provozovat Asistenta výhradně na interních jazykových modelech a ve vlastních datových centrech.

    Ladislav Hagara | Komentářů: 2
    dnes 11:55 | Zajímavý software

    Software LibrePods osvobozuje bezdrátová sluchátka AirPods z ekosystému Applu. Exkluzivní funkce AirPods umožňuje využívat na Androidu a Linuxu. Díky zdokumentování proprietárního protokolu AAP (Apple Accessory Protocol).

    Ladislav Hagara | Komentářů: 0
    dnes 05:00 | Nová verze

    Byl vydán AlmaLinux OS 10.1 s kódovým názvem Heliotrope Lion. S podporou Btrfs. Podrobnosti v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Komunita

    Placená služba prohledávání zprostředkovatelů dat a automatického odstraňování uniklých osobních údajů Mozilla Monitor Plus bude 17. prosince ukončena. Bezplatná monitorovací služba Mozilla Monitor bude i nadále poskytovat okamžitá upozornění a podrobné pokyny k omezení rizik úniku dat. Služba Mozilla Monitor Plus byla představena v únoru loňského roku.

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

    Waydroid (Wikipedie, GitHub) byl vydán v nové verzi 1.6.0. Waydroid umožňuje spouštět aplikace pro Android na běžných linuxových distribucích. Běhové prostředí vychází z LineageOS.

    Ladislav Hagara | Komentářů: 3
    včera 15:44 | Nová verze

    Příspěvek na blogu Raspberry Pi představuje novou kompletně přepracovanou verzi 2.0 aplikace Raspberry Pi Imager (YouTube) pro stažení, nakonfigurování a zapsání obrazu operačního systému pro Raspberry Pi na SD kartu. Z novinek lze vypíchnout volitelnou konfiguraci Raspberry Pi Connect.

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

    Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 8.00. Přináší podporu nejnovějších procesorů Intel a AMD nebo také tmavý režim.

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

    Programovací jazyk Racket (Wikipedie), tj. jazyk z rodiny jazyků Lisp a potomek jazyka Scheme, byl vydán v nové major verzi 9.0. Hlavní novinku jsou paralelní vlákna (Parallel Threads).

    Ladislav Hagara | Komentářů: 0
    včera 10:11 | Komunita

    Před šesti týdny bylo oznámeno, že Qualcomm kupuje Arduino. Minulý týden byly na stránkách Arduina aktualizovány podmínky používání a zásady ochrany osobních údajů. Objevily se obavy, že by otevřená povaha Arduina mohla být ohrožena. Arduino ubezpečuje, že se nic nemění a například omezení reverzního inženýrství v podmínkách používání se týká pouze SaaS cloudové aplikace.

    Ladislav Hagara | Komentářů: 0
    23.11. 13:33 | Bezpečnostní upozornění

    Knihovna libpng, tj. oficiální referenční knihovna grafického formátu PNG (Portable Network Graphics), byla vydána ve verzi 1.6.51. Opraveny jsou 4 bezpečnostní chyby obsaženy ve verzích 1.6.0 (vydána 14. února 2013) až 1.6.50. Nejvážnější z chyb CVE-2025-65018 může vést ke spuštění libovolného kódu.

    Ladislav Hagara | Komentářů: 12
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (19%)
     (18%)
     (22%)
     (15%)
     (23%)
     (16%)
     (17%)
    Celkem 399 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník
    Štítky: není přiřazen žádný štítek


    Vložit další komentář
    22.12.2008 13:39 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Být databázovým strojem, nemám ORM rád
    The Vietnam of Computer Science, co na to říct víc.
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    22.12.2008 13:53 paskma | skóre: 13 | blog: Paskmův blog
    Rozbalit Rozbalit vše Re: Být databázovým strojem, nemám ORM rád

    Tenhle post je o budu čtyři ze závěru zmiňovaného článku:

    Acceptance of O/R-M limitations

    22.12.2008 18:58 JS
    Rozbalit Rozbalit vše Re: Být databázovým strojem, nemám ORM rád

    Podle me je "Vietnamem CS" samotna myslenka, ze datove struktury lze reprezentovat jako sit samostatnych nezavislych objektu. Nechci zcela shazovat prinos OOP, ale myslim, ze casto vede na tento druh programovani.

    23.12.2008 09:47 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Být databázovým strojem, nemám ORM rád
    samotna myslenka, ze datove struktury lze reprezentovat jako sit samostatnych nezavislych objektu
    Což lze, že jo. Stačí mít persistentní heap, ne nějakou přiblblou SQL databázi :-D
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    23.12.2008 14:49 Ivan
    Rozbalit Rozbalit vše Re: Být databázovým strojem, nemám ORM rád

    Takovymhle systemum asi patri budoucnost. Ty priblble SQL databaze jeste porad vedou v parametrech jako: kapacita, zalohovani, performance a replikace. Objektove databaze maji jedinou vyhodu, ktera se jim neda uprit, setri cas programatoru.

    23.12.2008 18:58 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Být databázovým strojem, nemám ORM rád
    Když na to přijde, to jsou všechno řešitelné problémy. V diskusích tady na Ábíčku by se daly dohledat Kyosukeho zmínky o "velkých" objektových databázích nad Lispem; já osobně o tom nic nevím, ale nevidím důvod, proč by to nemělo jít. Výhody relačních databází jsou asi spíš implementační. A vezměte třeba "sloupcové" databáze (BigTable a spol.), tak úžasně vám relační databáze neškálujou ani náhodou :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    22.12.2008 16:15 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Být databázovým strojem, nemám ORM rád
    Používám SQLAlchemy a mám podobný problém s ORM. V plánu je přepsat aplikaci do budoucna tak, aby se nikde nepoužíval ORM.

    Na druhou stranu je fakt jednoduché s tím dělat. Člověk napíše to co potřebuje opravdu relativně rychle a nehrozí třeba SQL Injection a další blbosti.
    mkoubik avatar 22.12.2008 18:40 mkoubik | skóre: 5 | blog: lorem_ipsum | Praha 8 - Bohnice
    Rozbalit Rozbalit vše Re: Být databázovým strojem, nemám ORM rád
    Jak z toho ven?

    Kešovat. Při načtení objektu tento uchovat pro případ, že budou potřeba i ostatní atributy a při update/delete/insertu cache zneplatnit.
    22.12.2008 19:59 paskma | skóre: 13 | blog: Paskmův blog
    Rozbalit Rozbalit vše Re: Být databázovým strojem, nemám ORM rád

    Vždyť ten převod na hashmapu vlastně takovým cachováním je.

    Pořádné cachování by se muselo domastit přímo do djanga.

    14.7.2009 13:00 heracek
    Rozbalit Rozbalit vše Re: Být databázovým strojem, nemám ORM rád

    Tento clanek je pomerne zcestny. Uz v dobe kdy byl psan byl nepresny az nepravdivy.

    Django umoznuje v jedinem SQL dotazu pomoci metody  select_related() instance tridy QuerySet ziskat pozadovane objekty i s objekty vztazenymi (tj. PopiskaZbozi i prislusne Zbozi). Staci zapsat:

    popisky = PopiskaZbozi.objects.filter(<vyhledavaci_podminky>).select_related('zbozi')

    Pote kod v sablone {{ nějaká_popiska.zboží.počet_na_skladu }} i zvoleny zpusob razeni nevyvolaji dalsi SQL dotazy.

    Popripade lze zapsat select_related(), nebo select_related(depth=1). Viz dokumentace QuerySet API reference. (dalsi reseni by bylo pouziti metod values() nebo values_list() instance QuerySet)

     

    Dale autor operuje s nevyslovenym predpokladem, ze jeden velky dotaz do SQL databaze je vzdy rychlejsi, nez mnoho malych. Tento predpoklad nemusi vzdy platit (obvzlast u MySQL) a je ho treba podlozit merenim (ostatne jako kazdou spravnou optimalizaci)

     

    Dale popsane razeni:

    def porovnej_popisky(a, b):
        return cmp(a.zboží.počet_na_skladu, b.zboží.počet_na_skladu)
    
    seznam_popisek.sort(porovnej_popisky)
    

    bych pouzil jen v opravdu jenkrajsim pripade (napriklad - chci ziskat prvnich 10 objektu PopiskaZbozi serazenych abecedne podle popis, ale vysledek chci nakonec seradit podle pocet_na_sklade).

    Django pro serazeni na urovni SQL pouziva metodu order_by() instance QuerySet.

    Vysledny kod by mohl vypadat takto:

    popisky = PopiskaZbozi.objects.filter(<vyhledavaci_podminky>).select_related('zbozi').order_by('zbozi__pocet_na_sklade')

    Vysledkem je jediny SQL dotaz (i kdyz pritupuji ke zbozi) a objekty jsou jiz z SQL serveru poslany serazeny.

    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.