GET /api/v2/video/1436
HTTP 200 OK Vary: Accept Content-Type: text/html; charset=utf-8 Allow: GET, PUT, PATCH, HEAD, OPTIONS
{ "category": "PyCon DE 2012", "language": "German", "slug": "praktische-anwendung-von-metaklassen", "speakers": [ "Mirko Dziadzka" ], "tags": [ "debugging", " metaclasses" ], "id": 1436, "state": 1, "title": "Praktische Anwendung von Metaklassen", "summary": "Metaklassen (metaclasses) in Python werden oft als exotische Spracheigenschaft\nbetrachtet. Der Vortrag zeigt anhand konkreter Beispiele, wie sich Metaklassen\nin realen Projekten zum Debuggen und zum Code vereinfachen einsetzen lassen.\n\n# Praktische Anwendungen von Metaklassen\n\nPython besitzt mit den Metaklassen ein sehr m\u00e4chtiges Werkzeug, um orthogonale\nEigenschaften eines Programms zu Implementieren. Das Stichwort dazu lautet\n\"aspektorientiertes Programmieren\". Leider werden Metaklassen aber oft als\nkomplex und schwierig angesehen.\n\nDer Vortrag zeigt an einem konkreten Beispiel, wie sich durch die Verwendung\nvon Metaklassen Programmentwicklung vereinfachen kann. Konkret wird die\nImplementation eines einfachen Debug- und Trace Frameworks vorgestellt.\n\nDieses erlaubt das nachtr\u00e4gliche instrumentieren von Klassen-Methoden, um eine\nselektive Ablaufverfolgung von Methodenaufrufen auf Objekten erm\u00f6glicht. Dies\nwird erreicht, ohne das diese Debug Aufrufe im normalen Quellcode erscheinen\noder bei nicht Benutzung Performance Auswirkungen haben.\n\n", "description": "", "quality_notes": "", "copyright_text": "", "embed": "<object width=\"640\" height=\"390\"><param name=\"movie\" value=\"http://youtube.com/v/-dU-O8ksYDM?version=3&amp;hl=en_US\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://youtube.com/v/-dU-O8ksYDM?version=3&amp;hl=en_US\" type=\"application/x-shockwave-flash\" width=\"640\" height=\"390\" allowscriptaccess=\"always\" allowfullscreen=\"true\"></embed></object>", "thumbnail_url": "http://i2.ytimg.com/vi/-dU-O8ksYDM/hqdefault.jpg", "duration": null, "video_ogv_length": null, "video_ogv_url": null, "video_ogv_download_only": false, "video_mp4_length": null, "video_mp4_url": "http://s3.us.archive.org/nextdayvideo/pyconde/pyconde2012/Vortrag_Praktische_Anwendung_v.mp4?Signature=3JFs0BklwaXWVciMRq0u9cAbwew%3D&Expires=1352042733&AWSAccessKeyId=FEWGReWX3QbNk0h3", "video_mp4_download_only": false, "video_webm_length": null, "video_webm_url": "", "video_webm_download_only": false, "video_flv_length": null, "video_flv_url": "", "video_flv_download_only": false, "source_url": "https://www.youtube.com/watch?v=-dU-O8ksYDM", "whiteboard": "", "recorded": "2012-10-30", "added": "2012-11-02T05:02:01", "updated": "2014-04-08T20:28:26.949" }