Společnost OpenAI představila svůj nejnovější AI model GPT-4o (o jako omni, tj. vše). Nově také "vidí" a "slyší". Videoukázky na 𝕏 nebo YouTube.
Ondřej Filip publikoval reportáž z ceremonie podpisu kořenové zóny DNS. Zhlédnout lze také jeho nedávnou přednášku Jak se podepisuje kořenová zóna Internetu v rámci cyklu Fyzikální čtvrtky FEL ČVUT.
Společnost BenQ uvádí na trh novou řadu monitorů RD určenou pro programátory. První z nich je RD240Q.
Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem nadále zůstává Frontier od HPE (Cray) s výkonem 1,206 exaFLOPS. Druhá Aurora má oproti loňsku přibližně dvojnásobný počet jader a dvojnásobný výkon: 1,012 exaFLOPS. Novým počítačem v první desítce je na 6. místě Alps. Novým českým počítačem v TOP500 je na 112. místě C24 ve Škoda Auto v Mladé Boleslavi. Ostravská Karolina, GPU
… více »GHC (Glasgow Haskell Compiler, Wikipedie), tj. překladač funkcionálního programovacího jazyka Haskell (Wikipedie), byl vydán ve verzi 9.10.1. Přehled novinek v poznámkách k vydání.
Po 9 týdnech vývoje od vydání Linuxu 6.8 oznámil Linus Torvalds vydání Linuxu 6.9. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna. Později také na Linux Kernel Newbies.
Byla vydána verze 0.2.0 v Rustu napsaného frameworku Pingora pro vytváření rychlých, spolehlivých a programovatelných síťových systémů. Společnost Cloudflare jej letos v únoru uvolnila pod licencí Apache 2.0.
Open source RDP (Remote Desktop Protocol) server xrdp (Wikipedie) byl vydán ve verzi 0.10.0. Z novinek je vypíchnuta podpora GFX (Graphic Pipeline Extension). Nová větev řeší také několik bezpečnostních chyb.
Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.
Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].
Mít objekt - transparentní proxy je taky prasárna?Naprosto. V Javě je to jeden z oblíbených způsobů, jak implementovat AOP, a s klidem bych řekl, že ten nejhorší. Nevím teda, jak v Pythonu, ale v Javě se té transparence pořádně dosáhnout nedá, takže
this
není this
a vůbec samé pěkné věci.
this
a ta není "obalena" tou proxy mrchou?
A mimochodem, dokáží někdy zapšklí C++kaři pochopit, že nemají patent na rozum a že Javisté nejsou untermensch?
class Math(object): def cosmos_constant(self): return 1 def pow(self, x): return x*x*self.cosmos_constant() class Proxy(object): def __init__(self, target): self.target = target def __getattr__(self, name): print 'logging this call...' return getattr(self.target, name) m = Math() print m.pow(4) p = Proxy(m) print p.pow(5)A ty bys chtěl, aby se zalogovalo volání té kosmologické konstanty z pow()?
cosmos_constant()
se chová odlišně v závislosti na tom, kdo ji volá, což je v tomhle případě vcelku na dvě věci. Představ si, že bys tou proxy chtěl změnit vesmír (nastavit kosmologickou konstantu na 2). Proto jsem psal, že to je prasárna
Na druhou stranu, v některých případech takový zástupný objekt může dobře postačit (třeba takové hrubé trasování, jako ve tvojí ukázce), to uznávám.
Představ si, že bys tou proxy chtěl změnit vesmír (nastavit kosmologickou konstantu na 2).Něco na tenhle způsob?
kyo@valinor:~> ghci GHCi, version 6.8.2: http://www.haskell.org/ghc/ :? for help Loading package base ... linking ... done. Prelude> let 2 + 2 = 5 in 2 + 2 5 Prelude>
Metoda cosmos_constant() se chová odlišně v závislosti na tom, kdo ji volá, což je v tomhle případě vcelku na dvě věci.Nechová se odlišně ta metoda, vždyť jsou to dvě různé metody, ne?
p.cosmos_constant()
a dostanu 2, očekávám, že volání p.pow(2)
vrátí 8. Vy ne?
Math
máte napsán tak, že počítá se svou kosmologickou konstantou (proto třeba self
). Kdybyste chtěl, aby počítal s jeho (nějakého cizího objektu), musíte mu ten cizí objekt předat jako parametr. cosmos_constant()
buď nemáte nadefinovánu tak, že vrací svou kosmologickou konstantu, nebo ji tak nadefinovánu máte, a pak vytvořená proxy porušuje tento dohodnutý kontrakt. Proxy s tím ale nemá nic společného, kdybyste si ten dohodnutý kontrakt porušil už v implementaci třídy Math
, dopadnete stejně.
v Javě se té transparence pořádně dosáhnout nedá, takže this není this a vůbec samé pěkné věciJak to že ne?
this
je pořád reference na objekt, na kterém je volána aktuální metoda. To že okolo toho objektu je nějaká proxy nemůže ten objekt zajímat. Očekávám, že když v objektu zavolám na this
final metodu, provede se úplně to samé, jako bych kód té metody přímo vložil do svého kódu. Pokud tu metodu chci provést na stejném objektu, který referencuje ten, kdo moji metodu vyvolal, musí mi referenci na ten objekt předat. Zkuste si někdy něco napsat v JavaScriptu, abyste viděl, jak to vypadá, když si nikdy nemůžete být jist, co je this
.
To že okolo toho objektu je nějaká proxy nemůže ten objekt zajímat.Proto tvrdím, že se nedá dosáhnout plné transparence. Výraz this není this berte proboha trochu s nadsázkou, já přece jenom dobře vím, jak taková proxy funguje
Tiskni Sdílej: