abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 10:27 | Nová verze
Projekt Debian s potěšením oznamuje, že po téměř 24 měsících nepřetržitého vývoje byla vydána nová stabilní verze 8 s kódovým názvem "Jessie". Díky spojenému úsilí týmů Debian Security a Debian Long Term Support bude tato verze podporována 5 let.
xxl | Komentářů: 76
24.4. 15:00 | Nová verze
Byla vydána verze 4.2 redakčního systému WordPress. Kódové označením Powell bylo vybráno na počest amerického jazzového klavíristy Buda Powella. Nová verze přináší například jednodušší sdílení obsahu, podporu nových znakových sad, hudební a matematické symboly, hieroglyfy a obrázkové znaky Emoji, náhled motivů nebo efektivnější aktualizaci pluginů.
Ladislav Hagara | Komentářů: 2
23.4. 23:00 | Bezpečnostní upozornění
Ve svobodné implementaci IEEE 802.11i suplikantu wpa_supplicant byla nalezena bezpečnostní chyba CVE-2015-1863 ve způsobu, kterým wpa_supplicant používá SSID získané z management rámců upravujících informace o členech P2P. Chyba může vést k odhalení obsahu paměti, DoS a pravděpodobně i ke spuštění libovolného kódu. K dispozici je již záplata, případně lze jako první pomoc vypnout podporu P2P. [CSIRT.CZ]
Ladislav Hagara | Komentářů: 2
23.4. 18:00 | Nová verze
Bylo vydáno Ubuntu 15.04 s kódovým jménem Vivid Vervet. Ke stažení jsou k dispozici Ubuntu Desktop, Server, Snappy Core, Ubuntu Cloud Server, Ubuntu Netboot, Kubuntu, Lubuntu, Ubuntu Studio, Ubuntu GNOME, Ubuntu Kylin, Ubuntu MATE a Xubuntu. Podrobnosti v poznámkách k vydání.
Ladislav Hagara | Komentářů: 53
23.4. 15:00 | Pozvánky
Student mediálních studií, dramaturgie a scenáristiky Miroslav Vlček s kameramanem Tomášem Chalupským se rozhodli, že se podívají Ochrannému svazu autorskému neboli OSA na zoubek a zjistí, jak je to s ním doopravdy. Jejich dokumentární film #OSAfilm má premiéru dnes v 19:00 v Brně v kavárně Praha (Husova 18).
Ladislav Hagara | Komentářů: 26
23.4. 09:59 | Nová verze

Po více jak roce vývoje vyšla další hlavní verze projektu Centreon 2.6.0. Centreon je webová nadstavba nad monitorovací systém Nagios/Icinga/Centreon Engine.

… více »
Max | Komentářů: 10
22.4. 22:22 | Nová verze
Vyšel Syncthing 0.11.0. Jedná se o svobodnou alternativu k programu BitTorrent Sync. Nejnovější verze Syncthingu nepodporuje synchronizaci s předchozími verzemi. Podrobnosti v poznámkách k vydání.
Ladislav Hagara | Komentářů: 0
22.4. 22:00 | Nová verze
Vyšla verze 7.42.0 nástroje a knihovny pro přenos dat cURL. Verze 7.42.0 vychází 56 dnů po vydání verze 7.41.0. Do vývoje se zapojilo 47 přispěvatelů. Opraveno bylo 118 chyb, z toho 4 bezpečnostní. Podrobnosti v seznamu změn. Představení nové verze také na YouTube.
Ladislav Hagara | Komentářů: 0
22.4. 19:19 | Nová verze
Devět dnů po vydání první RC verze (zprávička) vyšla stabilní verze 5.1.0 GCC (GNU Compiler Collection) řady 5. Dle nového číslování byla verze 5.0.0 experimentální. Přehled změn, nových vlastností a oprav a dokumentace na stránkách GCC.
Ladislav Hagara | Komentářů: 9
22.4. 08:00 | Nová verze
Byla vydána nová stabilní verze 1.8.0 webového serveru a reverzní proxy nginx. Verze 1.8.0 vychází rok po verzi 1.6.0 (zprávička) a přináší řadu nových vlastností. Podrobnosti v seznamu změn (CHANGES-1.8). Popularita nginx roste. Dle W3Techs je zastoupení nginx na 1000 i na 10000 nejvytíženějších webech vyšší, než zastoupení Apache.
Ladislav Hagara | Komentářů: 10
Nešifrované HTTP
 (10%)
 (90%)
Celkem 350 hlasů
 Komentářů: 12, poslední dnes 09:03
Rozcestník
Reklama
Autoškola testy online Levný benzín

Mám python ještě radši než dřív.

30.5.2008 17:58 | Přečteno: 1096× | poslední úprava: 30.5.2008 18:04

Dalsí kousek pythoního kódu, na který jsem pyšný.

Nejsem pyšný na sebe, nejde o nic složitého ani objevného. Jsem pyšný na python, protože jsem zase jednou zjistil že jsem neudělal chybu, když jsem se vybodnul na Javu.

O co jde ? Potřebuji předem neznámou datovou strukturu serializovat do ekvivalentního pythoního kódu. Není to žádná raketová věda, ale čekal jsem spoustu otravování s tím, aby byl výsledek syntakticky košer, aby to pobralo vnořené struktury, aby se to dalo snadno rozšiřovat o nové datové typy. Když jsem se konečně přinutil přestat "psát Céčko v pythonu" a začal "přemýšlet v pythonu", vyplynulo to samo, s jednoduchostí a samozřejmostí, která mi ještě ted bere dech.

# convert data to code
import types

data2code = {
    types.DictType: lambda x: "{" + ", ".join(["%s: %s" % (textualize(k), textualize(v)) for k,v in x.items()]) + "}",
    types.TupleType: lambda x: "(" + ("".join([ textualize(i)+", " for i in x ])) + ")",
    types.ListType: lambda x: "[" + (", ".join([ textualize(i) for i in x ])) + "]",
    types.StringType: lambda x: '"%s"' % x,
    types.UnicodeType: lambda x: '"%s"' % x,
    types.IntType: lambda x: str(x),
    types.BooleanType: lambda x: str(x),
    types.NoneType: lambda x: "None",
}

# shorthand for converting of given val
def textualize(val):
    return data2code[type(val)](val)
       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

30.5.2008 18:51 spang
Rozbalit Rozbalit vše Re: Mám python ještě radši než dřív.
Ehhh, znáš funkci repr() ?
repr(object)

Return a string containing a printable representation of an object. This is the same value yielded by conversions (reverse quotes). It is sometimes useful to be able to access this operation as an ordinary function. For many types, this function makes an attempt to return a string that would yield an object with the same value when passed to eval().

rADOn avatar 30.5.2008 19:08 rADOn | skóre: 43 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Mám python ještě radši než dřív.
Znám, bohužel háček je v tom For many types. Součástí jsou i nestandartní data, jmenovitě xmlrpc/fastrpc typy a ty mají s implementací __repr__() vážný problém. Z kódu který jsem postnul jsem je pro jednoduchost vynechal.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
Nikola Ciprich avatar 30.5.2008 19:45 Nikola Ciprich | skóre: 22 | blog: NiX_blog | Bohumín
Rozbalit Rozbalit vše Re: Mám python ještě radši než dřív.
ty lambdy jsou tam trosku zbytecne, co takhle:

types.BooleanType: str

;)
Did you ever touch the starlight ? Dream for a thousand years? Have you ever seen the beauty Of a newborn century?
30.5.2008 23:38 CEST
Rozbalit Rozbalit vše Re: Mám python ještě radši než dřív.
Chapu to dobre, ze tahle funkce dela to same jako v perlu Data::Dumper nebo v PHP serialize? BTW: mas u toho retezce osetreny, kdyz bude obsahovat uvozovky?
1.6.2008 17:21 vlasta neubauer
Rozbalit Rozbalit vše Re: Mám python ještě radši než dřív.
nevím co dělá Perlovský Data::Dumper, ale v PHP jde s píše o ekvivalent funkce var_export(). serializace je trošku něco jiného. tady jde o konverzi na validní kód, ne o konverzi na 'prostý' text.

Založit nové vláknoNahoru

ISSN 1214-1267   Powered by Hosting 90 Server hosting
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.