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 04:33 | Komunita

    Konference OpenAlt 2026 hledá přednášející. Proběhne o víkendu 7. a 8. listopadu na půdě Fakulty informačních technologií VUT v Brně. Témata konference jsou: Otevřený a svobodný software, IoT a Hnutí tvůrců, Vzdělávání, Bezpečnost a soukromí, Otevřená společnost, komunity a data, OpenMobility a další.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | IT novinky

    Společnosti OpenAI a Broadcom oznámily čip optimalizovaný pro AI pojmenovaný Jalapeño.

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

    Deno (Wikipedie), běhové prostředí (runtime) pro JavaScript, TypeScript a WebAssembly, bylo vydáno v nové verzi 2.9. Hlavní novinkou je deno desktop pro převod Deno projektu na desktopovou aplikaci. Jedná se o alternativu k frameworkům Electron nebo Tauri.

    Ladislav Hagara | Komentářů: 2
    včera 15:44 | IT novinky

    Od zítra jsou Datové schránky oficiálně na nové adrese datovka.gov.cz. Adresa mojedatovaschranka.cz zůstává funkční do 27. srpna 2026, následně budou uživatelé automaticky přesměrováni na datovka.gov.cz.

    Ladislav Hagara | Komentářů: 2
    včera 13:44 | Nová verze

    Dolphin (Wikipedie), tj. open source multiplatformní emulátor herních konzolí GameCube a Wii od Nintenda, byl vydán ve verzi 2606. S podporou Game Boy Playeru.

    Ladislav Hagara | Komentářů: 0
    včera 11:11 | Zajímavý software

    Vasudeva Kamath představil utilitu debvulns, alternativu k nativní utilitě debsecan, pro výpis zranitelností v Debianu. Navíc má především možnost výstupu ve strukturovaných formátech JSON a CSV. V plánu je exportér pro Prometheus.

    Ladislav Hagara | Komentářů: 0
    24.6. 21:44 | IT novinky

    Oficiální český státní eshop s elektronickými dálničními známkami nově najdete na edalnice.gov.cz. Doména gov.cz jasně potvrzuje, že jste na oficiálním státním webu [𝕏].

    Ladislav Hagara | Komentářů: 22
    24.6. 14:22 | Nová verze

    Byla vydána nová verze 4.8.0 interaktivního shellu fish (friendly interactive shell, Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 4
    24.6. 12:00 | Nová verze

    Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem se nově stal čínský LineShine v Národním superpočítačovém centru v Šen-čenu (NSCS) s výkonem 2,198 exaFLOPS. Z prvního místa sesadil americký superpočítač El Capitan s výkonem 1,809 exaFLOPS. Nejvýkonnější český počítač C24 klesl na 215 místo. Karolina, GPU partition klesla na 249. místo a Karolina, CPU partition na 475. místo.

    … více »
    Ladislav Hagara | Komentářů: 13
    23.6. 21:00 | IT novinky

    Zemřel průkopník videoherní hudby Bobby Prince (Wikipedie). Složil hudbu pro hry Wolfenstein 3D, Doom, Doom II, Duke Nukem II a Duke Nukem 3D.

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

    Jednoduchá cache pro R-O-R aplikace

    15.3.2006 17:56 | Přečteno: 1061× | Ruby

    Píšu takovou středně velkou aplikaci v Railsech. Teda backend je R-O-R a frontend je především XUL. Takže různé seznamy tlačím se serveru do Gecka ve formátu RDF, kdy nahrazuji různá ID hodnotami z číselníků.

    Iritovalo mě, jak ActiveRecord na každý záznam v RDF šahá do databáze pro všechny číselníky. Tak jsem napsal následující modul: Acts::SimpleCache, který jednoduše cachuje číselník v hashi v paměti.

    module ActiveRecord
      module Acts
        module SimpleCache
          def self.append_features(base)
            super
            base.extend(ClassMethods)
          end
    
          module ClassMethods
            def acts_as_simple_cache(options = {})
              class_eval do
                after_save { @f_cache = {} }
    
                def self.find(*args)
                  begin
                    if ( (args.length==1) or not args[1].has_key?(:conditions) )
                      logger.debug( "SimpleCache[" + table_name + 
                                    "]::find(" + args[0].to_s + ") - using cache" )
                      @f_cache ||= {}
                      return @f_cache[args[0]] ||= super
                    end
                  rescue => e
                    logger.error( "SimpleCache: exception #{e.class}: #{e.message}" )
                  end
                  super
                end
              end
            end
          end
        end
      end
    end
    
    ActiveRecord::Base.class_eval { include ActiveRecord::Acts::SimpleCache }
    
    

    Použití je takhle snadné:

    class Tvar < ActiveRecord::Base
      has_many :cards
      set_table_name "tvary"
    
      acts_as_simple_cache
    end
    

    Řádek acts_as_simple_cache vložený do definice modelu způsobí, že všechny číselníkové lookupy do tohoto modelu, ktere ActiveRecord generuje půjdou přes cache.

    Zasloužilo by si to učesat, ale jak to je to splňuje účel. Konkrétní akci - generování RDF na různých modelech s počtem číselníků kolem 8-12 jsem zrychlil o 40-60%.

           

    Hodnocení: 67 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    xvasek avatar 15.3.2006 21:51 xvasek | skóre: 21 | blog: | Zlín
    Rozbalit Rozbalit vše Re: Jednoduchá cache pro R-O-R aplikace
    Čím se bavíš, to opravdu zůstává rozum stát. :)

    No je pravda, že WebISu by urychlení prospělo. Při posledním přechodu (kvůli novému mailovému rozhraní) se doba odezvy serveru přibližně zdvojnásobila, ale to jsem přičítal spíš nějaké zapomenuté blbosti nebo špatné konfiguraci a nestálo mi to ani za to, abych napsal mail. Co je pro mě důležitější je odezva na pomalé lince (např. GPRS), kde už je limitujícím faktorem spíš množství dat a WebIS mi přijde, že tady zrovna moc optimalizovaný není. Naproti tomu když má někdo dost rychlou linku, tak si místo 0,25 vteřiny počká 0,5, to se nic neděje.

    Energii bych osobně věnoval v tomto pořadí:

    1) Dokumentový server, verzování dokumentů, fulltextové vyhledávání...

    2) Nějaký CMS (aspoň nástěnka pro administrátora)

    3) Stabilizace samby

    4) Psaní rozhraní, které odbourávají práci roota (obnovení záloh, správa souborů...)

    5) Optimalizace rychlosti

    ...ale to je jenom příspěvek pod blogem, chápu, že hostingové servery s těma prioritama hýbou úplně jinak, než nějaký Stodůlka. :-)
    16.3.2006 08:31 Martin Povolný | blog: Krev na widlich | Brno
    Rozbalit Rozbalit vše Re: Jednoduchá cache pro R-O-R aplikace

    Milej zlatej, se zrychlením pošty po posledním upgrade jseš vedle jak ta jedle.

    Zrychlení je způsobeno tím, ze poštovní rozhraní je kompletně přepsané. Převzaný a upravený PHP kód byl nahrazený nesrovnatelně kvalitnější implementací v RUBY. Tím PHP kompletně vypadlo z konfigurace apache -- jsme nyní úplně PHPfríí (alespoň tam, kde si v tom něco neplácá zákazník).

    Honza šel tak daleko, že optimalizoval IMAPovou knihovnu standardně dodávanou s RUBY -- když zagoogluješ, tak narazíš na moje snahy to tlačit do upstreamu.

    Ad úpravy Cyrusu v posledních dvou blogpostech: ano, projeví se to hlavně na hostingu, ale i všude tam, kde zákazníci přistupují k pošte přes WebIS. Není to tvůj případ?

    Ad čím se bavím -- do toho Ti nic není ;-) Ale vážně, víš, co jsou to hříhy mládí? Ne? Tak věz, že jsem někdy studoval postgraduál na informatice a že jsem se snažil dělat do slovníků. No a jedna nejmenovaná instituce tehdy žádala o grant na tvorbu nového slovníku a jak na sviňu jsem tam byl napsaný jako řešitel....

    Jak to v životě chodí, ve chvíli, kdy jsem to na FI začal balit, tak vyšel ten grant a já se ocitl v situaci, kdy na mém software, kterým bych se už třeba ano moc nechtěl zabývat, běží tvorba slovníku, na které má po dobu 3 let dělat team cca 10 lidí...

    Teď ještě k tvým prioritám:

    1) dokumentový server: ve fázi plánování je ten full-text, další DMS features až později

    2) CMS: v práci mame do WebIS zaintegrováno wiki, ale není to přesně to, co bychom chtěli dávat zákazníkům, probíhají experimenty s wysiwyg editory.

    3) samba - na tom intenzivně pracuju, když si zrovna "nehraju" s XULem , XBL a Railsama ;-)

    4) rozhraní... - ano, v práci je management databází, klíčů do VPN, ve fázi plánování jsou další věci -- management DHCP, přístup k zálohám, ...

    5) optimalizace rychlosti -- věčný problém, běh na dlouhou trať -- viz předchozí 2 blogposty...

    xvasek avatar 16.3.2006 21:40 xvasek | skóre: 21 | blog: | Zlín
    Rozbalit Rozbalit vše Re: Jednoduchá cache pro R-O-R aplikace
    No tak si to čtu a mám z toho pocit, že jsem tě buď naštval (za což se omlouvám), nebo máš blbou náladu. Každopádně pokud to bylo pochopeno tak, že si tady veřejně stěžuju, tak jsem to tak rozhodně nemyslel. Já jsem spokojený uživatel, těším se na každou novinku a nebojím se ani beta-testovat a kdybyste mi dali přístup ke kódu, tak bych občas i něco opravil. Tady ty věci jsem psal jako komentář k blogu z toho důvodu, že se mi nechce otravovat na hotline, protože v poslední době vypadáte, že toho máte fakt hodně. Prostě jsem chtěl, abys tady ty moje "rady" mohl v poklidu ignorovat...
    16.3.2006 22:58 Martin Povolný | blog: Krev na widlich | Brno
    Rozbalit Rozbalit vše Re: Jednoduchá cache pro R-O-R aplikace
    Ne, nenaštval ;-) Ja sám jsem takovej ironickej protivnej rejpal, taky možná trošku agresivněji reaguju, když mám pocit, že někdo rejpá do mě, byť jen v náznaku, prostě jsem takovej protiva.

    Že toho máme troštu víc, to je pravda, přebíráme teď takovou větší záležitost... A druhou stranu, to je život, a je to lepší, než nemít do čeho píchnout.

    Máme teď novýho kolegu -- znáš Jeníka? Tak toho. Pomalu se rozkoukává, ale jak pomine prvotní šok z toho, že má místo v PERLu programovat v RUBY a odsazovat na 4 mezery a zvykne si, že když na něj někdo vrrrrčí (třeba Mára), tak to neznamená nic zlého (ba naopak), zapracuje se, tak potom bude třeba zase volněji...
    16.3.2006 23:01 Martin Povolný | blog: Krev na widlich | Brno
    Rozbalit Rozbalit vše Re: Jednoduchá cache pro R-O-R aplikace
    Každopádně se nemáš za co omlouvat a naopak já děkuji za zájem a promiň, že jsem na tebe na potkání vybafl.
    xvasek avatar 17.3.2006 09:09 xvasek | skóre: 21 | blog: | Zlín
    Rozbalit Rozbalit vše Re: Jednoduchá cache pro R-O-R aplikace
    Jeníka zatím neznám, uvidíme. Jenom pořád nechápu to vaše Ruby. :-)

    Stejně je to sranda. Když ještě frčela jenom válka mezi Perlem a PHP, tak jsem čekal, že i přes počáteční náskok PHP zvítězí nakonec Perl. Postavil jsem se na "správnou" stranu a čekal, co z toho vyleze. No a teď se tak dívám kolem sebe a vidím, že se směje třetí (Python) respektive čtvrtý (Ruby) a Perl nebo PHP? Skoro jsem se už několikrát chtěl podívat na Python, ale nakonec jsem si řekl, že mi Perl vlastně vyhovuje a co používají ostatní je mi celkem jedno.

    Založit nové vláknoNahoru

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