Byla vydána nová verze 25.12.6 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Opravena je řada zranitelností v základních síťových službách, které jsou ve výchozím nastavení aktivní a které lze zneužít na dálku. Důrazně je doporučena aktualizace.
Český projekt mapSTL.com promění vybrané místo na světě ve 3D mapu pro tisk, včetně měst, kopců a hor. Vytištěnou mapu můžete také pověsit na zeď jako obraz. STL i barevný 3MF stáhnete zdarma a bez registrace. Vyzkoušejte své oblíbené místo a podělte se o zpětnou vazbu.
Byl zveřejněn průběžně aktualizovaný program konference OpenAlt 2026 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Konference proběhne o víkendu 7. a 8. listopadu v prostorách FIT VUT v Brně. Vstup je zdarma.
Po 9 týdnech vývoje od vydání Linuxu 7.2 oznámil Linus Torvalds vydání Linuxu 7.3. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.
Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 9.00. S podporou architektury AArch64 (ARM64).
Společnost Fairphone stojící za stejnojmennými mobilními telefony představila (pdf) bezdrátová špuntová sluchátka Fairbuds 2. Opravitelná, s vyměnitelnými bateriemi a tříletou zárukou. Cena 119 eur.
Už mě nebavilo neustále přepisovat koncovky v e-mailech co generujeme na Hlidacky.cz, tak jsem googlil páté pády křestních jmen a nalezl jsem.Nacpal jsem to zrůdně to jednoho velkého pole a uělal z toho gem - to kdyby se to někomu hodilo. Je to můj první pokus o gem - šlo by to udělat líp? Věřím že to i někdo další bude potřebovat a pak si vzpomene že o tom četl na abclinuxu:)
Tiskni
Sdílej:
% ruby benchmark.rb
Rehearsal ---------------------------------------------------------
using local variable: 62.000000 0.030000 62.030000 ( 62.237641)
using constant: 0.000000 0.000000 0.000000 ( 0.000484)
----------------------------------------------- total: 62.030000sec
user system total real
using local variable: 61.900000 0.000000 61.900000 ( 62.282676)
using constant: 0.000000 0.000000 0.000000 ( 0.000466)
Jak to zlepšit - dát to pole někde mimo tu metodu?
class CzechNamesVocative
NAMES = { "Marie" => "Marie",
"Jana" => "Jano",
... }
def self.do(name)
NAMES[name]
end
end
Takhle se ti to načte do paměti při startu aplikace, namísto toho, abys při každém volání té metody vytvořil 70k řetězců a pak je nechal GC zase uvolnit.
Super, to zní skvěle, předělám to.
Jak jen spouštíš ten benchmark?
Benchmark.bmbm do |x|
n = 1000
x.report('using local variable:') { n.times { CzechNamesVocativeLocal.do('Petr') } }
x.report('using constant: ') { n.times { CzechNamesVocativeConstant.do('Petr') } }
end