Megint találtak egy jó nagy - 2 tonnás - bombát, de most számunkra kellemetlenebb helyen: tovább...
Bomba
Py3k snippets - typecheck
A python 3.0-ban jelennek meg a függvény argumentum megjegyzések (annotations, nemtom minek lehetne értelmesen fordítani), ami amellett, hogy dokumentációs célokat szolgál, segítségével megvalósítható python alatt is a függvény paraméterek típusellenőrzése (mert az egyébként nincs).
Maga az ellenőrzés nem lesz része a python 3.0-nak, és mindenhol azt írják, hogy egyszerű megcsinálni, de mivel sehol sem találtam meg, ezért megcsináltam magam. És valóban, egy egyszerű dekorátor függvény teszi, ami nekünk kell:
import inspect def typecheck(func): def inner(*args, **kwargs): # check *args valueiter = iter(func.__annotations__.values()) for arg in args: argclass = next(valueiter) if not inspect.isclass(argclass): continue if not issubclass(arg.__class__, argclass): raise TypeError("Hibas bejovo parameter!") # check **kwargs for arg in kwargs: if not arg in func.__annotations__ or not inspect.isclass(func.__annotations__[arg]): continue if not issubclass(kwargs[arg].__class__, func.__annotations__[arg]): raise TypeError("Hibas bejovo parameter!") # call the function return func(*args, **kwargs) return inner
Nézzük működés közben:
@typecheck def a(alma: int, beka: str = "szia", mokus: int = 2): print(alma, beka, mokus) >>> a(1, mokus=10) 1 szia 10 >>> a(1, mokus=10, beka=3) Traceback (most recent call last): File "stdin", line 1, in module File "stdin", line 16, in inner TypeError: Hibas bejovo parameter! >>> a(1, beka="hello") 1 hello 2
Persze ez csak egy gyors megoldás, érdemes lenne a hibaüzenetben kiírni, hogy melyik paraméter hibás, ezt az érdeklődők megírhatják kommentben.
Pythonra fel!
Balatonszemes
Hétvégére Kappe meghívott minket a balatoni nyaralójukba, mi meg elfogadtuk a meghívást.
Szerencsére az időjárás velünk volt, és a múlt héten sem sikerült annyira kihűlnie a víznek, hogy ne lehessen fürdeni, sőt.
Péntek este Zamárdiban egy echte olasz pizzériában kezdtünk, ahol egész jó volt a pizza, bár kicsit égett volt a széle, pláne Shery adagjának, sőt neki még egy mag is jutott a cseresznyés pitéjébe, amire sikerült is ráharapnia.
Másnap nemzetközi jellegű kaját főztünk: gyros fűszerkeverékes pulykamell, paradicsomos szószban, bográcsban. Egyébként elég jóra sikerült.
Egyik reggel viszont olyat láttunk, amit eddig csak természetfilmekben: észrevettem, hogy egy darázs küzd a pókhálóban - ami nem baj, mert a darazsakat nem annyira szeretjük -, de mikor jobban szemügyre vettem kiderült, hogy nem ennyire egyértelmű a helyzet. A darázs ugyanis a pókot fogta, és szurkálta, majd pókostul kitépte magát a hálóból és elrepült. A pók valószínűleg darázslárvák első eledele lesz.
Jon Lajoie
Nem jellemző rám a youtube nézegetés, de ez a csávó nagyon tud, az összes videója kötelező darab.
Be gay today!
Python 3.0
Nemrég, hogy megjelent a python 3.0 beta (sőt, lassan itt a beta 2), úgy gondoltam, hogy megnézem mostmár mit tud. Eddig is olvasgattam, hogy a 2.x vonalhoz képest bizony változik az API, bár mivel a 2-es vonal is folytatódik, és több dologgal is segítik az áttérést, túl nagy gondok valószínűleg nem lesznek. A python 2.6 képes (lesz majd) jelezni, ha nem 3.0 kompatibilis dolgokat használ az ember, és ha már csak azokat használ, akkor van egy tool - a 2to3 -, ami az esetek 99%-ában automatikusan átalakítja a forrás py3k kompatibilissé.
Na nézzük röviden mit kapunk. tovább...
Főtt kukorica
Pénteken végre áthoztuk a szőnyegeket Imitől, és szombaton le is raktuk őket Sheryvel, úgyhogy mostmár lehet a földön fekve nézni a montort
Vettünk ilyen összecsukhatós fa székeket is, már csak egy asztal hiányzik az erkélyről, hogy ott lehessen reggelizni. Ezt is kitaláltuk már, hogy milyen lenne jó, már csak meg kéne találni, vagy elő kéne állítani.
Ma voltunk usziban is, utána pedig főztünk kukoricát. Azt hittem, hogy azt órákig kell főzni, pedig forrás után elég neki negyed óra. Így viszont lehet, hogy máskor is csinálok ![]()
DNS poisoning
A DNS-ről régóta tudjuk, hogy nem egy szuperbiztonságos dolog, nem akkoriban találták ki, amikor a biztonság téma volt.
A DNS cache poisoning egy tipikus támadási forma, és ennek egy pofátlanul egyszerű módját fedezte fel egy biztonsági szakértő kb. fél évvel ezelőtt - és ahelyett, hogy meggazdagodott volna szinte észrevehetetlen phishing oldalak gyártásából -, szólt az ipar nagyobb szereplőinek (Microsoft, Cisco, hogy ki kéne találni valamit. És úgy tűnik, hogy szépen csendben kitaláltak valamit, ugyanilyen csendben leimplementálták, majd ma bejelentették, hogy ez van, frissítsen mindenki. (Pl. jött ki új bind is!)
Dicséretes az ilyen együttműködés, így tovább, és nosza, mindenki frissítsen!
[securityfocus]
Kis pihi
Szerdán hazamentünk - illetve a nyaralóba -, hogy egy kicsit pihenjünk.
Sütöttünk szalonnát, amit én régen nem annyira szerettem, de most azt mondom, hogy évente egyszer minimum kell, mert nagyon jó volt. Napoztunk (bár a túl jó minőségű naptej miatt Shery nagy bánatára alig barnultunk), néztük a halakat a stég mellett, és aktívan nem csináltunk semmit
Pénteken aztán apunak segítettem, és megépítettük a leendő csónakház vázát. Igaz, hogy nem túl nehéz a csónak, de Sheryvel ketten azért alig bírtuk kihozni a házból, jóval egyszerűbb lesz, ha majd csak egy küszöbön kell átemelni, aztán szinte bent is lesz a vízben.

