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 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. Vypíchnout lze volitelnou konfiguraci Raspberry Pi Connect.

    Ladislav Hagara | Komentářů: 0
    dnes 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
    dnes 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
    dnes 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
    včera 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ářů: 6
    včera 12:22 | Zajímavý článek

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

    Ladislav Hagara | Komentářů: 0
    21.11. 22:33 | Zajímavý software

    Hru Warhammer: Vermintide 2 (ProtonDB) lze na Steamu získat zdarma napořád, když aktivaci provedete do pondělí 24. listopadu.

    Ladislav Hagara | Komentářů: 1
    21.11. 19:33 | Nová verze Ladislav Hagara | Komentářů: 0
    21.11. 13:11 | IT novinky

    Evropská komise schválila český plán na poskytnutí státní pomoci v objemu 450 milionů eur (téměř 11 miliard Kč) na rozšíření výroby amerického producenta polovodičů onsemi v Rožnově pod Radhoštěm. Komise o tom informovala v dnešní tiskové zprávě. Společnost onsemi by podle ní do nového závodu v Rožnově pod Radhoštěm měla investovat 1,64 miliardy eur (téměř 40 miliard Kč).

    Ladislav Hagara | Komentářů: 24
    21.11. 06:11 | Komunita

    Microsoft v příspěvku na svém blogu věnovaném open source oznámil, že textové adventury Zork I, Zork II a Zork III (Wikipedie) jsou oficiálně open source pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (19%)
     (18%)
     (22%)
     (15%)
     (23%)
     (16%)
     (17%)
    Celkem 393 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Jednoduchá cache pro R-O-R aplikace

    15.3.2006 17:56 | Přečteno: 1039× | 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.