PHP bylo dlouho distribuováno pod vlastní licencí – s výjimkou částí spadajících pod licenci Zend Engine. Po několikaleté práci se povedlo PHP přelicencovat na 3bodovou licenci BSD.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube). Na Linuxu je vedle Qt frontendu nově k dispozici také GTK4 / libadwaita frontend.
Neziskové průmyslové konsorcium Khronos Group vydalo verzi 3.1 specifikace OpenCL (Open Computing Language). OpenCL je průmyslový standard pro paralelní programování heterogenních počítačových systémů.
Homebridge pro integraci chytrých domácích zařízení byl vydán ve verzi 2.0.0. Nově vedle protokolu HomeKit Accessory Protocol (HAP) podporuje standard chytré domácnosti Matter.
Omarchy je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 3.7.0 - The Gaming Edition. Z novinek lze vypíchnout příkaz omarchy a celou řadu herních možností.
CyberChef byl vydán v nové major verzi 11. Přehled novinek v Changelogu. CyberChef je webová aplikace pro analýzu dat a jejich kódování a dekódování, šifrování a dešifrování, kompresi a dekompresi, atd. Často je využívaná při kybernetických cvičeních a CTF (Capture the Flag).
Byla vydána nová verze 2.4.67 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 11 zranitelností.
Brush (Bo(u)rn(e) RUsty SHell) je v Rustu napsaný shell kompatibilní s Bash (Bourne Again SHell). Vydána byla verze 0.4.0.
Google zveřejnil seznam 1 141 projektů (vývojářů) od 184 organizací přijatých do letošního, již dvaadvacátého, Google Summer of Code. Přihlášeno bylo celkově 23 371 projektů od 15 245 vývojářů ze 131 zemí.
Na čem pracovali vývojáři GNOME a KDE Plasma minulý týden? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
class entity:
name = ""
def __init__(self, name):
self.name = name
self.asset = self.asset()
def say_hello(self):
print "Hello, my name is " + self.name
class asset:
def describe_yourself(self):
print "This is [ZDE SE MA VYPSAT OBSAH PROMENNE name Z PARENT CLASS]'s inherent asset"
#create virtual object
dezo = entity("Dezo")
#call methods owned by virtual object
dezo.say_hello()
dezo.asset.describe_yourself()
class Entity:
def __init__(self, name):
self.name = name
def say_hello(self):
print "Hello, my name is " + self.name
def describe(self):
print "This is " + self.name + "'s inherent asset"
#create virtual object
dezo = Entity("Dezo")
#call methods owned by virtual object
dezo.say_hello()
dezo.describe()
Jenom upozorňuji, že by bylo lepší, kdyby v té třídě žádný print nebyl...
class asset_tmp:
def describe_yourself(self):
print "This is [ZDE SE MA VYPSAT OBSAH PROMENNE name Z PARENT CLASS]'s inherent asset"
class entity:
name = ""
def __init__(self, name):
self.name = name
self.asset = self.asset()
def say_hello(self):
print "Hello, my name is " + self.name
asset = asset_tmp
asset_tmp.__name__ = "asset" # pro puristy
del asset_tmp
…ergo i kdyby se ti to povedlo nejak zaridit tak to stejne nejspis nebude delat to co potrebujes nebo to bude zbytecne slozity.
class Asset(object):
def __init__(self, cls):
self.cls = cls
def describe_yourself(self):
print "This is %s's inherent asset" % self.cls.name
class Entity(object):
name = ""
def __init__(self, name):
self.name = name
self.asset = Asset(self)
def say_hello(self):
print "Hello, my name is " + self.name
Klidne to muzes vrazit do namespace tridy, ale nedava smysl to takhle svazovat kdyz Asset objekt muzes aplikovat na libovolny jiny objekt. A cely je to cviceni v marnosti pacz kdyz se na to podiva pythonista, tak uvidi jenom zbytecne prekomplikovany zpusob jak napsat dezo.__name__.
entity přidat jediný řádek:
self.asset.name = name
Tiskni
Sdílej: