V linux-cve-announce bylo oznámeno 433 zranitelností za jediný den (19. července).
Byla vydána nová verze 5.44 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 71 vývojářů. Změněno bylo přibližně 270 tisíc řádků v 1 300 souborech. Přehled novinek a změn v podrobném seznamu.
Na 23. září 2026 je do bratislavské Nové Cvernovky naplánovaná jednodenní konference #nobullshit.camp pro tech leadery, DevOps a platform inženýry. Mají tu zaznít upřímné příběhy z praxe o tom, co v produkčních systémech reálně fungovalo, co se pokazilo a co si z toho lidé odnesli. Témata pokrývají tři oblasti – DevOps a platformy (Kubernetes, cloud, provoz systémů), firemní kulturu a leadership. Program běží ve dvou formátech: hlavní
… více »Byla vydána nová verze 1.58 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Josephine Pfeiffer. Vypíchnout lze možnost nmtui zobrazit nastavení Wi-Fi jako QR kód nebo podporu CLAT (464XLAT) a tunelů GENEVE (Generic Network Virtualization Encapsulation).
Zákaz používání mobilních telefonů a dalších elektronických komunikačních zařízení ve školách, jehož uzákonění navrhli jako poslanci premiér Andrej Babiš (ANO) a ministr školství Robert Plaga (za ANO), dnes podle očekávání vláda podpořila. Novinářům to oznámil Babiš, podle Plagy byla podpora kabinetu jednomyslná. Účinnost předkladatelé navrhují od 1. září 2027. Podle opoziční ODS je plošný zákaz líbivé populistické opatření namířené proti digitální gramotnosti dětí.
Vládní CERT upozorňuje (𝕏) na zranitelnost ve WordPress Core: CVE-2026-63030 s přezdívkou wp2shell. Zranitelnost typu vzdálené spuštění kódu (RCE) bez nutnosti autentizace umožňuje útočníkovi spouštět libovolný kód prostřednictvím endpointu WordPress REST API Batch. Ke zneužití není vyžadován platný uživatelský účet ani interakce uživatele. Úspěšné zneužití může vést ke kompletnímu kompromitování webové stránky a souvisejících dat. Zranitelnost postihuje verze WordPress 6.9.0 až 6.9.4 a 7.0.0 až 7.0.1.
Evropská komise (EK) vyměřila čínskému internetovému prodejci AliExpress pokutu 550 milionů eur (13,3 miliardy korun) za porušení povinností vyplývajících z nařízení o digitálních službách (DSA). Platforma podle EK řádně neposuzovala a neomezovala rizika související s prodejem nelegálních, nebezpečných nebo padělaných výrobků na svém internetovém tržišti. Komise zároveň firmě nařídila přijmout nápravná opatření. Podle AliExpressu je pokuta nepřiměřená.
Ruffle, tj. open source emulátor Flash Playeru napsaný v Rustu, byl vydán ve verzi 0.4.0. Ke stažení je také na Flathubu. Přímo ve webovém prohlížeči lze vyzkoušet online dema nebo vlastní swf soubory.
HollowByte je zranitelnost typu Denial of Service (DoS) v kryptografické knihovně OpenSSL. Útočník může odesíláním škodlivého payloadu o velikosti pouhých 11 bajtů zaplnit paměť serveru. OpenSSL před ověřením dat vyhradí nepřiměřený blok paměti (až 131 KB). Server pak čeká na data, která nepřišla. Zranitelnost je opravena ve verzích OpenSSL 4.0.1, 3.6.3, 3.5.7, 3.4.6 a 3.0.21.
Ve španělské A Coruñě probíhá GUADEC 2026, tj. letošní konference vývojářů a uživatelů desktopového prostředí GNOME. Videozáznamy přednášek jsou k dispozici na YouTube.
Funkce vrací identifikační číslo objektu předaného v argumentu. Toto číslo je vlastně adresou, kde je objekt uložen v paměti. Většinou se bude jednat o celá čísla, ale může se jednat také o dlouhé celé číslo. Identifikační číslo objektu je naprosto originální. Zruší-li se však objekt, může být vytvořen nový se stejným číslem (na stejné adrese).
Obě tyto funkce slouží ke vstupu dat z klávesnice. Je-li zadán prompt, vytiskne se na standardní výstup ještě před čtením. raw_input přečte řetězec a vrátí jej tak, jak jej získal. Oproti tomu input pracuje jako následující příkaz: eval(raw_input(prompt)). Pro vstup od uživatele se tato funkce nehodí, není bezpečná. Není-li jí předán platný pythonský výraz, vyvolá výjimku SyntaxError. Může se stát, že budou vyvolány i jiné výjimky; to záleží na výrazu, který uživatel zadal. Pokud požadujete lepší funkcionalitu při uživatelském vstupu, můžete importovat modul readline - obě funkce jej automaticky použijí.
>>> raw_input("Zadejte jméno: ")
Zadejte jméno: Jakub Matys
'Jakub Matys'
>>> x = 25
>>> input()
x ** 3
15625
>>> input()
'a' + 25
Traceback (most recent call last):
File "", line 1, in ?
File "", line 0, in ?
TypeError: cannot concatenate 'str' and 'int' objects
>>>
Jediným úkolem této funkce je zjistit, zda je object instancí třídy classinfo. Pokud ano, vrací True, jinak False. Funkce může být také použita pro typovou kontrolu. Potřebujete-li kontrolovat, zda je objekt instancí určité množiny, můžete jako druhý argument předat n-tici tříd, typu, n-tic, nebo všeho dohromady.
>>> isinstance(5, float) False >>> class trida1: ... pass ... >>> class trida2 (trida1): ... pass ... >>> obj = trida2() >>> isinstance(obj, trida1) True >>> # jak je videt, polymorfismus funguje skvele >>> isinstance(5, (int, float, trida1)) True >>>
Další testovací funkce. Vrátí True, pokud je class podtřídou classinfo. Pravidla pro argumenty jsou stejná jako výše.
Tato funkce vrací mateřskou třídu typu type. Předáte-li jako druhý argument objekt, bude s ním vrácená třída provázána (tj. metody vrácené třídy budou volány pro objekt, jehož instance je předána jako druhý argument). Pokud je druhým argumentem objekt, musí platit isinstance(obj, type) == True. A pokud je druhý argument typ, je nutná podmínka issubclass(type2, type).
Následující příklad je docela jasný sám o sobě. (z Python.org)
class C(B):
def meth(self, arg):
super(C, self).meth(arg)
Funkce prochází seznam list a aplikuje na každou položku funkci function. Vrací seznam hodnot, které vrátila jednotlivá volání funkce function.
>>> def treti_moc(x): ... return x ** 3 ... >>> map (treti_moc, range(1,25)) [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000, 1331, 1728, 2197, 2744, 3375, 4096, 4913, 5832, 6859, 8000, 9261, 10648, 12167, 13824] >>>
Funkce vrací objekt, který se používá pro řízený přístup k atributu třídy. Jako první tři argumenty se předávají funkce pro získání hodnoty atributu, funkce pro uložení do atributu a funkce pro smazání atributu. Posledním argumentem je dokumentační řetězec. V následujícím příkladě se ukládá do atributu __x pomocí x:
>>> class C(object): ... def __init__(self): self.__x = None ... def getx(self): return self.__x ... def setx(self, value): self.__x = value ... def delx(self): del self.__x ... x = property(getx, setx, delx, "I'm the 'x' property.") ... >>> obj = C() >>> obj.x = 7 >>> obj.x 7 >>> obj._C__x 7 >>>
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
(Had si cestu najde...
) Jenom mě trošku zarazila věta "jak je videt, polymorfismus funguje skvele" - kde přesně je tam vidět polymorfní chování? (Ano, je možné, že jsem puntičkář, vím to...
)
>>> class trida1: ... pass ... >>> class trida2 (trida1): ... pass ... >>> obj = trida2() >>> isinstance(obj, trida1) True >>> # jak je videt, polymorfismus funguje skvele(
obj je instancí trida2, která dědí z trida1, proto isinstance vrací True - tady to vidím já)
.
Jinak ja osobne teda na prekladu jedne stranky standardni dokumentace http://docs.python.org/lib/built-in-funcs.html nevidim zadny prinos a nechapu smysl tohoto serialu.
class A:
def x(self):
print "h"
class B:
def x(self):
print "f"
#a tady trochu "polymorfisujeme"
A().x()
B().x()
)
Python polymorfismus neumí, jako dynamický jazyk ho nepotřebuje.
Lze emulovat introspekcí.
Polymorfismus – odkazovaný objekt se chová podle toho, jaký je jeho skutečný typ. Pokud několik objektů poskytuje stejné rozhraní, pracuje se s nimi stejným způsobem, ale jejich konkrétní chování se liší. V praxi se tato vlastnost projevuje např. tak, že na místo, kde je očekávána instance nějaké třídy, můžeme dosadit i instanci libovolné její podtřídy (třídy, která přímo či nepřímo z této třídy dědí), která se může chovat jinak, než by se chovala instance rodičovské třídy, ovšem v rámci mantinelů, daných popisem rozhraní.No a v tom mém příkladě máš 2 objekty, rozdílného skutečného typu, poskytující stejné rozhraní, s kterými se stejně pracuje, ale jejich konkrétní chování se liší. Ještě bych mírně dovysvětlil ten příklad s dědičností v té citaci. To je příklad spíše typický pro staticky typované jazyky, kdy se kompilátor, aby byl spokojenej, musí dozvědět, zda nějaké typy jsou kompatibilní (ve smyslu stejného rozhraní). A k tomu se dá využít dědičnost a nebo třeba v javě interfaces, které s dědičností vůbec nesouvisí. No a pokud ten jazyk nepoužívá statickou typovou kontrolu, tak to samozřejmě kompilátoru sdělovat nemusíš. Ale to neznamená, že v daném jazyce polymorfismus neexistuje. Prostě polymorfismus se statickou typovou kontrolou (nebo s dědičností) souvisí velmi vzdáleně.
"Polymorfismus objektu souvisí s definicí rozhraní a jeho zjednodušením. Je to známo také pod názvem přetížení objektu (funkce, metody, operátoru). Přesnější a jasnější definice polymorfismu je zde: http://www.cs.vsb.cz/saloun/educ/C_CPP/kurs_CPP/ch02s03.html Jeho podstata spočívá, že jeden název metody (funkce, operátoru) může sdílet několik metod, které se liší pčtem parametrů nebo jejich datovými typy. Jazyk pak sám podle předaných parametrů použije správnou. "Tak to si pleteš s ad-hoc polymorfismem, který je jen jednou z inkarnací polymorfismu obecně.
On hovoří o subtyping polymorfismu.
Je pravda, že ad-hoc polymorfismus ani tak moc polymorfismem není - spíš je to statický vícenásobný dispatch podle přesného typu parametrů a nějakou tou mnohotvárností se moc nevyznačuje ani volající funkce (leda, že ta by byla polymorfní parametricky, ale to už by bylo úplně jiné kafe celkově
), ani ty volané.
Python samozřejmě polymorfismus podporuje, jinak by kód volající metody objektu nemohl být použitelný s objektem předem neznámé třídy porporujícím dané rozhraní.
. To že Python podporuje prostory jmen a v nich může mít odkazy na funkce/metody/promenne stejneho nazvu neni polymorfismus. Dynamicky jazyk polymorfismus, jako vlastnost jazyka, nema a nepotrebuje,
"To že Python podporuje prostory jmen a v nich může mít odkazy na funkce/metody/promenne stejneho nazvu neni polymorfismus."Ne, to polymorfismus není. Polymorfismus je schopnost jediné definice kódu pracovat s daty různých typů. To ale Python bezesporu (díky pozdní vazbě volání metod) umí, pokud dotyčný kód manipuluje se svými parametry prostřednictvím definovaných rozhraní.
S datovými typy polimorfismus souvisí dost úzce, viz první věta tvé citace.Však já netvrdím, že s datovými typy nesouvisí, ale tvrdím, že nesouvisí se statickou typovou kontrolou. No a zbytek viz Kyosuke. Ty si pod pojmem polymorfismus představuješ "overloading - přetěžování", což ti teda na základě wikipedie uznám jako jeden z typů polymorfismu, ikdyž stím moc niterně nesouhlasím
. Nicméně tvrdím, že když se řekne v OOP polymorfismus, tak je chybou (nebo je to minimálně matoucí) mluvit o přetěžování alias overloadingu.
class A:
def x(self):
print "h"
class B:
def x(self):
print "f"
for z in [ A(), B()]:
z.x()
x() a druha treba yable jako y() , pak objekt
co je obe splnuje, by byl IMHO kandidat na moznost uplatneni polymorfni chovani.
(Student nejsem, ale pripomina mi to trochu Freuda (viz. polymorfne perverzni chovani)
) o mnoha aspektech polymorfismu a nic takovéhohle tam nefigurovalo.
pi = [kosočtverec, čárka]
for elem in pi:
elem.nakresli()
Metoda nakresli() je jeden interface, který se pro různé typy postará o
příslušnou akci.
a = 5 #celé číslo
b = 5.2 #reálné číslo
cisla = [a, b]
for x in cisla:
print x.__div__(2) #metoda vyděldvěma()
Metoda vyděldvěma() udělá jinou akci pro integer (dělí celočíselně) a jinou akci pro float (dělí "reálně"). A
je to polymorfismus, že jo? Velmi podobně by to vypadalo i v céčku, že? Jen
s trochu jinou syntaxí. A co jaderné volání, které zjistí IP adresu síťovky?
Je to polymorfismus, když pro různé síťovky (drátové i bezdrátové) od
různých výrobců existuje jeden interface? A co funkce sinus? Je polymorfní, když na základě různých argumentů
dělá různé akce a vrací různé výsledky? A co bitová negace? Kolik zrnek
písku už je hromada?