Things you didn't know about Python
|
|
|
- Hester Webb
- 10 years ago
- Views:
Transcription
1 Things you didn't know about Python a presentation by Armin Ronacher for PyCon South Africa
2 Things you didn't know about Python might already know computers a presentation by Armin Ronacher for PyCon South Africa
3 Things you didn't know about Python might already know a presentation by Armin Ronacher and the computers for PyCon South Africa
4 Everything is horrible and nobody cares
5 We're doomed
6
7 [Untitled]
8
9 Motivation for this Talk Who am I and why this talk
10 Armin Ronacher Software Engineer at Fireteam Game Middleware
11 We're using Python And not just us. Python has been popular in parts of in the gaming industry
12 I'm also doing Python Libraries and help people online using them.
13
14 What we can learn from Wifi Hotspots
15 Starting Somewhere Intended Login Mask
16 Down the Rabbit Hole Served by Apache, PHP 5.3, Directory Listings
17 *.php_backup source code? Check! SQL Injection? Check
18 Further Register Globals? Check Debug Comments? Check
19 And Further GPL Violation? Check
20 Yay! Pre generated voucher PDF? Check
21 To Round it all Up Comes with Instructions
22 Priorities It's not secure if it does not have XML
23
24 A Step Back What do Wifi Hotspots have to do with anything?
25 Python is not perfect but the criticism is very high level
26 First World Problems Most of our problems with Python are not stopping us from using the language. It just might make it less pleasant.
27 Who is using Python? Let's start with the marketing bits
28 Big Players NASA, Disney, Youtube, Google, etc.
29 Trivia: Microsoft shipped Python in 96 Microsoft Merchant Server was written in Python in 1996
30 But really everybody Python is one of the things that just shows up. If for nothing else, then build scripts.
31 Trivia: Dropbox uses Python Not just on the server, the client is also implemented in Python!
32 Gaming uses Python Demonware, Agora, EA/ESN, Fireteam
33 Nobody got fired for choosing Python
34 We are the IBM of Dynamic Languages
35 History Lessons A few interesting bits about the past
36 1991: Where all started Exceptions Multiple Inheritance C inspired IO system
37 Trivia: string.py was horrible It had O(n 2 ) upper/lower functions
38 Trivia: what did this do until 2.5? raise ((a, b), c), d answer: raises exception a with value d
39 Trivia: mutex.py a module called mutex not actually a mutex survived until 2.7
40 1995: The Huge Jump to 1.5 Regular Expressions Exceptions as classes Built-in package support Embeddable
41 Trivia: did you know re is 50% python? the regular expression compiler is written in Python You notice that when you python -mtrace
42 Trivia: why are builtin types lowercase? because they used to be functions the types where in types.py types.stringtype was the type of a string (camelcase)
43 2000: Modern Python: Python 2.0 Unicode Support Augmented assignments (+= etc.) Garbage Collector PEPs
44 2004: Python as you know it File encoding cookies Boolean types sets reverse iteration generator expressions
45 Trivia: introduced True and False but no boolean type : no true/false 2.3.0: real boolean type
46 Today: Evolving Language PyPy Python 3
47 Reasons for Popularity key adopters and killer-apps
48 Really Early Adopters Math and Scientific Community Python's operator overloading and simple syntax was very convenient for scientific uses.
49 Trivia: Math Driven Syntax foo[1,...,2] == foo[(1, Ellipsis, 2)]
50 Other Factors Python was easy to extend with C extensions and starting with distutils it was possible to distribute them
51 Windows! Python has had excellent Windows support in the past unlike many other programming languages that were created in the POSIX environment
52 Trivia: Battlefield 2 used Python And since the engine is still used today there are free to play versions of Battlefield still using Python for scripting
53 Web Development We slowly and steadily became a proven platform for the web Python is not the final answer there but an amazing platform to start
54 Twisted If you wanted to do networking a few years ago Twisted was the answer
55 Trivia: Early XMPP Transports Most of the XMPP to X transports were written in Python with Twisted
56
57 But Really
58 It's fun! People enjoy working with the language
59 I have yet to see a Wifi Hotspot Portal Page that is written in Python and sucks
60 Disclaimer: I understand that this statement is very optimistic and bad Python code exists in practice, that there are frameworks in the Python community that advocate for sloppy code, that there are widely used modules with security problems or bad general design, that there are indeed Wifi hotspot login pages that are horrible and indeed written in Python, that there are well written Wifi login pages in PHP (I don't actually believe that), that I am hugely biased and that my sample size is waaaaaaaaaaaaaaaaay too small.
61 FUN!? What is this?
62 Y U NO WORK
63 No Running into Walls
64 Descriptors Python's most important language feature
65 What are Descriptors? get set delete Common descriptors: functions, properties
66 Trivia: Functions are Descriptors that's what makes them methods if placed within classes
67 Example: Basic Descriptor Lookup >>> class Foo(object):... def my_function(self):... pass... >>> Foo.my_function <unbound method Foo.my_function> >>> Foo. dict ['my_function'] <function my_function at 0x1002e1410> >>> Foo. dict ['my_function']. get (None, Foo) <unbound method Foo.my_function> >>> >>> Foo().my_function <bound method Foo.my_function of < main.foo object at 0x1002e2710>> >>> Foo. dict ['my_function']. get (Foo(), Foo) <bound method Foo.my_function of < main.foo object at 0x1002e2750>>
68 Example: Everyday Decorators >>> class def foo(self):... return 'hello pycon'... >>> Foo().foo 'hello pycon'
69 Cached Properties missing = object() class cached_property(object): def init (self, func): self.func = func self. name = func. name self. doc = func. doc self. module = func. module def get (self, obj, type=none): if obj is None: return self value = obj. dict.get(self. name, missing) if value is missing: value = self.func(obj) obj. dict [self. name ] = value return value
70 Example: Cached Properties class Post(object): def init (self, text): self.text = def rendered_text(self): return markdown_to_html(self.text)
71 Duck Typing if it's not a penguin it must be a duck
72 ABDT: Abstract Base Duck Typing abstract bases for improved duck typing
73 Abstract Base Duck Typing abc.abcmeta metaclass for abstract bases collections.* common abstract bases
74 Abstract Base Duck Typing callable(x) -> isinstance(x, Callable) tryexcept(hash(x)) -> isinstance(x, Hashable) tryexcept(iter(x)) -> isinstance(x, Iterable) tryexcept(len(x)) -> isinstance(x, Sized) tryexcept(hasattr(x, contains )) -> isinstance(x, Container) -> isinstance(x, Mapping) isinstance(x, Set) isinstance(x, Sequence) isinstance(x, MutableMapping) isinstance(x, MutableSet) isinstance(x, MutableSequence)
75 Example: Abstract Base Duck Typing >>> from collections import Iterator >>> class MyIter(object):... def iter (self):... return self... def next(self):... return >>> isinstance(myiter(), Iterator) True
76 Custom Ducks from abc import ABCMeta, abstractmethod class Markedup(object): metaclass = def subclasshook (cls, C): if cls is Markedup: if hasattr(c, " html "): return True return NotImplemented
77 Example: Custom Ducks >>> class Markup(unicode):... def html (self):... return self... >>> isinstance(markup('test'), Markedup) True
78 Debugging Helpers use internals to track down bugs
79 Tracking Imports import sys import builtin real_import = builtin. import def debug_import(name, locals=none, globals=none, fromlist=none, level=-1): glob = globals or sys._getframe(1).f_globals importer_name = glob and glob.get(' name ') or 'unknown' print '%s imports %s' % (importer_name, name) return real_import(name, locals, globals, fromlist, level) builtin. import = debug_import
80 Example: Tracking Imports >>> import urlparse main imports urlparse urlparse imports collections collections imports _abcoll collections imports _collections collections imports operator collections imports keyword collections imports sys collections imports heapq heapq imports itertools heapq imports operator heapq imports bisect bisect imports _bisect heapq imports _heapq collections imports itertools
81 Interpreter Frames def print_frame_info(frame): print 'module: %s' % frame.f_globals.get(' name ') print 'filename: %s' % frame.f_code.co_filename print 'current line: %d' % frame.f_lineno loc = dict((k, v) for k, v in frame.f_locals.iteritems() if not k.startswith(' ')) print 'local variables: %s' % loc
82 Example: Interpreter Frames >>> import sys >>> print_frame_info(sys._getframe()) module: main filename: <stdin> current line: 1 local variables: { 'a': 2, 'b': 4, 'sys': <module 'sys' (built-in)>, 'print_frame_info': <function print_frame_info at 0x > }
83 Dumping Threads import sys import traceback def dump_threads(): for thread_id, frame in sys._current_frames().iteritems(): print 'Thread #%d' % thread_id print ''.join(traceback.format_stack(frame))
84 Example: Dumping Threads >>> import time, threading >>> def foo():... for x in xrange(10):... time.sleep(1)... >>> threading.thread(target=foo).start() >>> dump_threads() Thread # File "lib/python2.7/threading.py", line 483, in run self. target(*self. args, **self. kwargs) File "<stdin>", line 3, in foo time.sleep(1) Thread # File "<stdin>", line 1, in <module> dump_threads() File "<stdin>", line 4, in dump_threads print ''.join(traceback.format_stack(frame)).rstrip()
85 Why we love Python and why we don't use other things
86 Win because awesome Fail This is how I sell Python
87 Slow Execution Monitor Dump stacktrace if an API request runs longer than N seconds Permanent background thread Request start -> set marker Request end -> remove marker If marker active for more than N seconds -> log stacktrace
88 Remote Console All Python code has a thread that listens for requests on redis Can be used to execute arbitrary Python code for debugging Sends results back to redis
89 Rich Logging We log into Sentry error groups all stacktraces on dev environments include local variables for all frames Also speaks $language
90 Sentry Includes all information, groups automatically
91 Memory Leak Finding Walk over all objects the garbage collector can reach Resolve weak references Group by type Log to top grossing to graphite every second
92 Finding a Greenlet Leak Easy to track down what exactly is happening, ~40 lines of code
93 Killer Libraries SQLAlchemy lxml *WSGI $webframework
94 virtualenv it does not matter that packaging or the import system is broken it could be so much worse virtualenv makes the big chaos into many separate small chaoses
95 Easy to Learn Language can be picked up in weeks It's a fun language to learn It's very dynamic and leaves room for (crazy) experimentation
96 not insane TM
97 An Amazing Community Developers and people all around the world embraces simple and truly open licenses loves documentation now also loves testing
98
99 screw hackernews
100
101 & Worry Less get stuff done
102
103 Q&A Armin
Scaling Graphite Installations
Scaling Graphite Installations Graphite basics Graphite is a web based Graphing program for time series data series plots. Written in Python Consists of multiple separate daemons Has it's own storage backend
PYTHON IN A NUTSHELL. O'REILLY Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo. Alex Martelli. Second Edition
PYTHON IN A NUTSHELL Second Edition Alex Martelli O'REILLY Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo iii Table of Contents Preface ix Part 1. Getting Started with Python 1. Introduction to
Tuning WebSphere Application Server ND 7.0. Royal Cyber Inc.
Tuning WebSphere Application Server ND 7.0 Royal Cyber Inc. JVM related problems Application server stops responding Server crash Hung process Out of memory condition Performance degradation Check if the
University of Hull Department of Computer Science. Wrestling with Python Week 01 Playing with Python
Introduction Welcome to our Python sessions. University of Hull Department of Computer Science Wrestling with Python Week 01 Playing with Python Vsn. 1.0 Rob Miles 2013 Please follow the instructions carefully.
Django & Python 3. Aymeric Augustin - @aymericaugustin. PyConFR - September 16th, 2012
Django & Python 3 Aymeric Augustin - @aymericaugustin PyConFR - September 16th, 2012 1 Python 3 is the future 2 Python 3 is the future present 3 Django wants a future 4 how? 5 porting strategies 3to2 single
HOSTING PYTHON WEB APPLICATIONS. Graham Dumpleton PyCon Australia Sydney 2011
HOSTING PYTHON WEB APPLICATIONS Graham Dumpleton PyCon Australia Sydney 2011 WEB APPLICATIONS Only a few well known Python web applications. WEB FRAMEWORKS Many Python web frameworks for building your
Intro to scientific programming (with Python) Pietro Berkes, Brandeis University
Intro to scientific programming (with Python) Pietro Berkes, Brandeis University Next 4 lessons: Outline Scientific programming: best practices Classical learning (Hoepfield network) Probabilistic learning
Java Monitoring. Stuff You Can Get For Free (And Stuff You Can t) Paul Jasek Sales Engineer
Java Monitoring Stuff You Can Get For Free (And Stuff You Can t) Paul Jasek Sales Engineer A Bit About Me Current: Past: Pre-Sales Engineer (1997 present) WaveMaker Wily Persistence GemStone Application
Grinder Webtest Documentation
Grinder Webtest Documentation Release 0.1 Automation Excellence March 15, 2012 CONTENTS i ii You are reading the documentation for Grinder Webtest, a custom module for the Grinder load test framework
socketio Documentation
socketio Documentation Release 0.1 Miguel Grinberg January 17, 2016 Contents 1 What is Socket.IO? 3 2 Getting Started 5 3 Rooms 7 4 Responses 9 5 Callbacks 11 6 Namespaces 13 7 Using a Message Queue 15
Introduction to Python
WEEK ONE Introduction to Python Python is such a simple language to learn that we can throw away the manual and start with an example. Traditionally, the first program to write in any programming language
Interviewing for Software Jobs. Matt Papakipos Brown Math/CS 93 Slides presented at Brown University on October 7, 2014
Interviewing for Software Jobs Matt Papakipos Brown Math/CS 93 Slides presented at Brown University on October 7, 2014 Who Am I Matt Papakipos Lived and coded in Silicon Valley since high school. My parents
Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security
Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security Presented 2009-05-29 by David Strauss Thinking Securely Security is a process, not
AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping
AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference
DevKey Documentation. Release 0.1. Colm O Connor
DevKey Documentation Release 0.1 Colm O Connor March 23, 2015 Contents 1 Quickstart 3 2 FAQ 5 3 Release Notes 7 i ii DevKey Documentation, Release 0.1 Github PyPI Contents 1 DevKey Documentation, Release
Free Report. My Top 10 Tips to Betting Like a Pro With Zero Risk
Free Report My Top 10 Tips to Betting Like a Pro With Zero Risk Legal Disclaimer: EVERY EFFORT HAS BEEN MADE TO ACCURATELY REPRESENT THIS PRODUCT AND IT'S POTENTIAL. EVEN THOUGH THIS INDUSTRY IS ONE OF
A Comparison of Programming Languages for Graphical User Interface Programming
University of Tennessee, Knoxville Trace: Tennessee Research and Creative Exchange University of Tennessee Honors Thesis Projects University of Tennessee Honors Program 4-2002 A Comparison of Programming
Visual Basic Programming. An Introduction
Visual Basic Programming An Introduction Why Visual Basic? Programming for the Windows User Interface is extremely complicated. Other Graphical User Interfaces (GUI) are no better. Visual Basic provides
Total Application Instances - Details 11/28/2015 00:00:00-12/4/2015 23:59:59
Application Instances - Details 11/28/2015 00:00:00-12/4/2015 23:59:59 s: Elizabeth Turner Organizational units: Unknown, Frane, ServersZG, Computers, Orchestrator, test, s, AzureRemoteAppPreview, UnitTests,...
LAMP [Linux. Apache. MySQL. PHP] Industrial Implementations Module Description
LAMP [Linux. Apache. MySQL. PHP] Industrial Implementations Module Description Mastering LINUX Vikas Debnath Linux Administrator, Red Hat Professional Instructor : Vikas Debnath Contact
.NET and J2EE Intro to Software Engineering
.NET and J2EE Intro to Software Engineering David Talby This Lecture.NET Platform The Framework CLR and C# J2EE Platform And Web Services Introduction to Software Engineering The Software Crisis Methodologies
Introduction to Logging. Application Logging
Introduction to Logging David Beazley Copyright (C) 2008 http://www.dabeaz.com Note: This is a supplemental subject component to Dave's Python training classes. Details at: http://www.dabeaz.com/python.html
Persist It Using and Abusing Microsoft s Fix It Patches
Persist It Using and Abusing Microsoft s Fix It Patches Jon Erickson : isight Partners : [email protected] Abstract: Microsoft has often used Fix it patches, which are a subset of Application
Introduction to Python for Text Analysis
Introduction to Python for Text Analysis Jennifer Pan Institute for Quantitative Social Science Harvard University (Political Science Methods Workshop, February 21 2014) *Much credit to Andy Hall and Learning
Implementation of Web Application Firewall
Implementation of Web Application Firewall OuTian 1 Introduction Abstract Web 層 應 用 程 式 之 攻 擊 日 趨 嚴 重, 而 國 內 多 數 企 業 仍 不 知 該 如 何 以 資 安 設 備 阻 擋, 仍 在 採 購 傳 統 的 Firewall/IPS,
Introduction to Web Development with R
Introduction to Web Development with R moving to the cloud... Jeroen Ooms http://www.stat.ucla.edu/~jeroen UCLA Dept. of Statistics Revolution Analytics user 2010, Gaithersburg, Maryland, USA An example:
Working with forms in PHP
2002-6-29 Synopsis In this tutorial, you will learn how to use forms with PHP. Page 1 Forms and PHP One of the most popular ways to make a web site interactive is the use of forms. With forms you can have
Computational Mathematics with Python
Computational Mathematics with Python Basics Claus Führer, Jan Erik Solem, Olivier Verdier Spring 2010 Claus Führer, Jan Erik Solem, Olivier Verdier Computational Mathematics with Python Spring 2010 1
Pyak47 - Performance Test Framework. Release 1.2.1
Pyak47 - Performance Test Framework Release 1.2.1 November 07, 2015 Contents 1 Performance & Load Tests in Python 3 2 Site Menu 5 2.1 Detailed Install and Setup........................................
Gillcup Documentation
Gillcup Documentation Release 0.2.1 Petr Viktorin 2015-07-19 Contents 1 Introduction 3 1.1 Version warning............................................. 3 1.2 The Project................................................
Certified The Grinder Testing Professional VS-1165
Certified The Grinder Testing Professional VS-1165 Certified The Grinder Testing Professional Certified The Grinder Testing Professional Certification Code VS-1165 Vskills certification for The Grinder
Building Applications Using Micro Focus COBOL
Building Applications Using Micro Focus COBOL Abstract If you look through the Micro Focus COBOL documentation, you will see many different executable file types referenced: int, gnt, exe, dll and others.
Source Code Review Using Static Analysis Tools
Source Code Review Using Static Analysis Tools July-August 05 Author: Stavros Moiras Supervisor(s): Stefan Lüders Aimilios Tsouvelekakis CERN openlab Summer Student Report 05 Abstract Many teams at CERN,
E-Commerce: Designing And Creating An Online Store
E-Commerce: Designing And Creating An Online Store Introduction About Steve Green Ministries Solo Performance Artist for 19 Years. Released over 26 Records, Several Kids Movies, and Books. My History With
CME 193: Introduction to Scientific Python Lecture 8: Unit testing, more modules, wrap up
CME 193: Introduction to Scientific Python Lecture 8: Unit testing, more modules, wrap up Sven Schmit stanford.edu/~schmit/cme193 8: Unit testing, more modules, wrap up 8-1 Contents Unit testing More modules
Chapter 2 Writing Simple Programs
Chapter 2 Writing Simple Programs Charles Severance Textbook: Python Programming: An Introduction to Computer Science, John Zelle Software Development Process Figure out the problem - for simple problems
Automatic promotion and versioning with Oracle Data Integrator 12c
Automatic promotion and versioning with Oracle Data Integrator 12c Jérôme FRANÇOISSE Rittman Mead United Kingdom Keywords: Oracle Data Integrator, ODI, Lifecycle, export, import, smart export, smart import,
Introduction to Python
1 Daniel Lucio March 2016 Creator of Python https://en.wikipedia.org/wiki/guido_van_rossum 2 Python Timeline Implementation Started v1.0 v1.6 v2.1 v2.3 v2.5 v3.0 v3.1 v3.2 v3.4 1980 1991 1997 2004 2010
Computational Mathematics with Python
Boolean Arrays Classes Computational Mathematics with Python Basics Olivier Verdier and Claus Führer 2009-03-24 Olivier Verdier and Claus Führer Computational Mathematics with Python 2009-03-24 1 / 40
dinero Documentation Release 0.0.1 Fusionbox
dinero Documentation Release 0.0.1 Fusionbox November 09, 2015 Contents 1 Usage 3 1.1 Payments 101............................................... 3 1.2 Quickstart................................................
CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014
CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages Nicki Dell Spring 2014 What is a Programming Language? A set of symbols and associated tools that translate (if necessary) collections
PRE-TOURNAMENT INTERVIEW TRANSCRIPT: Tuesday, January 27, 2015
PRE-TOURNAMENT INTERVIEW TRANSCRIPT: Tuesday, January 27, 2015 LYDIA KO MODERATOR: Happy to be joined in the media center by Rolex Rankings No. 2, Lydia Ko. Lydia, you're coming off winning the CME last
The Django web development framework for the Python-aware
The Django web development framework for the Python-aware Bill Freeman PySIG NH September 23, 2010 Bill Freeman (PySIG NH) Introduction to Django September 23, 2010 1 / 18 Introduction Django is a web
Ruby on Rails. a high-productivity web application framework. blog.curthibbs.us/ http://blog. Curt Hibbs <[email protected]>
Ruby on Rails a high-productivity web application framework http://blog blog.curthibbs.us/ Curt Hibbs Agenda What is Ruby? What is Rails? Live Demonstration (sort of ) Metrics for Production
Python Lists and Loops
WEEK THREE Python Lists and Loops You ve made it to Week 3, well done! Most programs need to keep track of a list (or collection) of things (e.g. names) at one time or another, and this week we ll show
EPiServer Operator's Guide
EPiServer Operator's Guide Abstract This document is mainly intended for administrators and developers that operate EPiServer or want to learn more about EPiServer's operating environment. The document
Creating federated authorisation
Creating federated authorisation for a Django survey application Ed Crewe Background - the survey application Federated authorisation What do I mean by this? 1. Users login at a third party identity provider
56 Key Profit Building Lessons I Learned from Jay Abraham s MasterMind Marketing Training.
56 Key Profit Building Lessons I Learned from Jay Abraham s MasterMind Marketing Training. Jay Abraham is a man you should all know. If you do not - go to the library and start learning - just do it! He
CS106A, Stanford Handout #38. Strings and Chars
CS106A, Stanford Handout #38 Fall, 2004-05 Nick Parlante Strings and Chars The char type (pronounced "car") represents a single character. A char literal value can be written in the code using single quotes
White Paper. The Power of Siebel escripting at Runtime. Bringing Siebel Developer Closer to Rapid Application Development
White Paper The Power of Siebel escripting at Runtime Bringing Siebel Developer Closer to Rapid Application Development A Simple Technique to Boost Productivity and Improve the Quality of Scripting in
Choosing a Content Management System (CMS)
Choosing a Content Management System (CMS) Document Version Revision History Date Document Version Description Created By: 10/Oct/2013 First draft Laraib Saad Table of Contents 1. Introduction
Web Applications Security: SQL Injection Attack
Web Applications Security: SQL Injection Attack S. C. Kothari CPRE 556: Lecture 8, February 2, 2006 Electrical and Computer Engineering Dept. Iowa State University SQL Injection: What is it A technique
Modern Web Application Framework Python, SQL Alchemy, Jinja2 & Flask
Modern Web Application Framework Python, SQL Alchemy, Jinja2 & Flask Devert Alexandre December 29, 2012 Slide 1/62 Table of Contents 1 Model-View-Controller 2 Flask 3 First steps 4 Routing 5 Templates
Software Engineering Concepts: Testing. Pointers & Dynamic Allocation. CS 311 Data Structures and Algorithms Lecture Slides Monday, September 14, 2009
Software Engineering Concepts: Testing Simple Class Example continued Pointers & Dynamic Allocation CS 311 Data Structures and Algorithms Lecture Slides Monday, September 14, 2009 Glenn G. Chappell Department
CS 1133, LAB 2: FUNCTIONS AND TESTING http://www.cs.cornell.edu/courses/cs1133/2015fa/labs/lab02.pdf
CS 1133, LAB 2: FUNCTIONS AND TESTING http://www.cs.cornell.edu/courses/cs1133/2015fa/labs/lab02.pdf First Name: Last Name: NetID: The purpose of this lab is to help you to better understand functions:
Flash and Python. Dynamic Object oriented Rapid development. Flash and Python. Dave Thompson
Dynamic Object oriented Rapid development 1 What is Flash? Byte code is interpreted by VM in Flash Player Actionscript code is compiled to byte code AS2 Flash Player 7+, Flash Player Lite AS3 Flash Player
A: We really embarrassed ourselves last night at that business function.
Dialog: VIP LESSON 049 - Future of Business A: We really embarrassed ourselves last night at that business function. B: What are you talking about? A: We didn't even have business cards to hand out. We
Kofax Export Connector 8.3.0 for Microsoft SharePoint
Kofax Export Connector 8.3.0 for Microsoft SharePoint Administrator's Guide 2013-02-27 2013 Kofax, Inc., 15211 Laguna Canyon Road, Irvine, California 92618, U.S.A. All rights reserved. Use is subject to
IBM WebSphere Server Administration
IBM WebSphere Server Administration This course teaches the administration and deployment of web applications in the IBM WebSphere Application Server. Duration 24 hours Course Objectives Upon completion
Mike: Alright welcome to episode three of Server Talk, I m here with Alexey. I m Mike. Alexey, how are things been going, man?
Mike: Alright welcome to episode three of Server Talk, I m here with Alexey. I m Mike. Alexey, how are things been going, man? Alexey: They re doing pretty good. Yeah, I don t know, we ve launched two
Building and breaking a Python sandbox
Building and breaking a Python sandbox Director Organizer @jessicamckellar http://jesstess.com Why? Learning a language Providing a hosted scratch pad Distributed computation Inspecting running processes
Web development... the server side (of the force)
Web development... the server side (of the force) Fabien POULARD Document under license Creative Commons Attribution Share Alike 2.5 http://www.creativecommons.org/learnmore Web development... the server
Intrusion detection for web applications
Intrusion detection for web applications Intrusion detection for web applications Łukasz Pilorz Application Security Team, Allegro.pl Reasons for using IDS solutions known weaknesses and vulnerabilities
Survey of Unit-Testing Frameworks. by John Szakmeister and Tim Woods
Survey of Unit-Testing Frameworks by John Szakmeister and Tim Woods Our Background Using Python for 7 years Unit-testing fanatics for 5 years Agenda Why unit test? Talk about 3 frameworks: unittest nose
Introduction to Python
Introduction to Python Sophia Bethany Coban Problem Solving By Computer March 26, 2014 Introduction to Python Python is a general-purpose, high-level programming language. It offers readable codes, and
Project 2: Web Security Pitfalls
EECS 388 September 19, 2014 Intro to Computer Security Project 2: Web Security Pitfalls Project 2: Web Security Pitfalls This project is due on Thursday, October 9 at 6 p.m. and counts for 8% of your course
CEFNS Web Hosting a Guide for CS212
CEFNS Web Hosting a Guide for CS212 INTRODUCTION: TOOLS: In CS212, you will be learning the basics of web development. Therefore, you want to keep your tools to a minimum so that you understand how things
Pillars of Python: Six Python Web frameworks compared
Published on InfoWorld (http://www.infoworld.com) Home > Test Center > Application Development > Pillars of : Six Web frameworks... > Pillars of : Six Web frameworks compared Pillars of : Six Web frameworks
by [email protected] http://www.facebook.com/khoab
phpfastcache V2 by [email protected] http://www.facebook.com/khoab Website: http://www.phpfastcache.com Github: https://github.com/khoaofgod/phpfastcache 1. What s new in version 2.0? To take advantage
Finding and Preventing Cross- Site Request Forgery. Tom Gallagher Security Test Lead, Microsoft
Finding and Preventing Cross- Site Request Forgery Tom Gallagher Security Test Lead, Microsoft Agenda Quick reminder of how HTML forms work How cross-site request forgery (CSRF) attack works Obstacles
Automating SQL Injection Exploits
Automating SQL Injection Exploits Mike Shema IT Underground, Berlin 2006 Overview SQL injection vulnerabilities are pretty easy to detect. The true impact of a vulnerability is measured
django-cron Documentation
django-cron Documentation Release 0.3.5 Tivix Inc. September 28, 2015 Contents 1 Introduction 3 2 Installation 5 3 Configuration 7 4 Sample Cron Configurations 9 4.1 Retry after failure feature........................................
10 awesome features of Python that you can't use because you refuse to upgrade to Python 3
10 awesome features of Python that you can't use because you refuse to upgrade to Python 3 1 / 72 http://asmeurer.github.io/python3-presentation/slides.html#1 1/72 10 awesome features of Python that you
The PHP 5.4 Features You Will Actually Use
The PHP 5.4 Features You Will Actually Use About Me Lorna Jane Mitchell PHP Consultant/Developer Author of PHP Master Twitter: @lornajane Website: http://lornajane.net 2 About PHP 5.4 New features Traits
POWERSHELL (& SHAREPOINT) This ain t your momma s command line!
POWERSHELL (& SHAREPOINT) This ain t your momma s command line! JAMYE FEW SENIOR CONSULTANT 12+ years as IT Professional ( IT PRO duck DEV ) A little IT PRO, little more DEV and a lot of ducking. Certifiable
CSE 403. Performance Profiling Marty Stepp
CSE 403 Performance Profiling Marty Stepp 1 How can we optimize it? public static String makestring() { String str = ""; for (int n = 0; n < REPS; n++) { str += "more"; } return str; } 2 How can we optimize
Improving Web Vulnerability Scanning. Daniel Zulla
Improving Web Vulnerability Scanning 1 Daniel Zulla Introduction Hey! 2 Hi there! I m Dan. This is my first year at DEFCON. I do programming and security start-ups. I do some penetration testing as well
INDEX. Introduction Page 3. Methodology Page 4. Findings. Conclusion. Page 5. Page 10
FINDINGS 1 INDEX 1 2 3 4 Introduction Page 3 Methodology Page 4 Findings Page 5 Conclusion Page 10 INTRODUCTION Our 2016 Data Scientist report is a follow up to last year s effort. Our aim was to survey
Installing and Configuring PostgreSQL 8 on WinXP
Installing and Configuring PostgreSQL 8 on WinXP Before you begin, having a firewall up and running, such as Zone Alarm, can cause problems with Apache installations. I recommend that you turn off Zone
Introducing Python as a main Programming Language
Introducing Python as a main Programming Language CTO: P. Büchler ([email protected]) www.soxes.ch Sennweidstrasse 1b CH-8608 Bubikon Telefon +41 (0)55 253 00 53 Telefax +41 (0)55 253 00 51 1 Agenda 1.
What Is A Security Program? How Do I Build A Successful Program?
What Is A Security Program? How Do I Build A Successful Program? White Paper A Security Program is like building a house, the standards provide you with a list of parts needed to build the house and a
Authorize Sauce Documentation
Authorize Sauce Documentation Release 0.4.1 Jeff Schenck March 19, 2016 Contents 1 Saucy Features 3 2 Contents 5 2.1 Installation................................................ 5 2.2 Introduction...............................................
Software Tool Seminar WS1516 - Taming the Snake
Software Tool Seminar WS1516 - Taming the Snake November 4, 2015 1 Taming the Snake 1.1 Understanding how Python works in N simple steps (with N still growing) 1.2 Step 0. What this talk is about (and
The HTTP Plug-in. Table of contents
Table of contents 1 What's it for?... 2 2 Controlling the HTTPPlugin... 2 2.1 Levels of Control... 2 2.2 Importing the HTTPPluginControl...3 2.3 Setting HTTPClient Authorization Module... 3 2.4 Setting
Python Loops and String Manipulation
WEEK TWO Python Loops and String Manipulation Last week, we showed you some basic Python programming and gave you some intriguing problems to solve. But it is hard to do anything really exciting until
PHP on IBM i: What s New with Zend Server 5 for IBM i
PHP on IBM i: What s New with Zend Server 5 for IBM i Mike Pavlak Solutions Consultant [email protected] (815) 722 3454 Function Junction Audience Used PHP in Zend Core/Platform New to Zend PHP Looking to
Apache Gump. Continuous Integration on Steroids. Apache Software Foundation Building Bridges @ FOSDEM 2005
Apache Gump Continuous Integration on Steroids About LSD http://www.leosimons.com/ [email protected] ASF Member Apache Excalibur, Gump, Wiki, Infrastructure Physics Student, Enschede Presentations,
Slides from INF3331 lectures - web programming in Python
Slides from INF3331 lectures - web programming in Python Joakim Sundnes & Hans Petter Langtangen Dept. of Informatics, Univ. of Oslo & Simula Research Laboratory October 2013 Programming web applications
Zend Server 4.0 Beta 2 Release Announcement What s new in Zend Server 4.0 Beta 2 Updates and Improvements Resolved Issues Installation Issues
Zend Server 4.0 Beta 2 Release Announcement Thank you for your participation in the Zend Server 4.0 beta program. Your involvement will help us ensure we best address your needs and deliver even higher
Typo3 Extension API. mysqldump --password=[password] [database name] [tablename] --add-drop-table >./ext_tables_static.sql
Typo3 Extension API Introduction Typo3 can be extended in nearly any direction without loosing backwards compatibility. The Extension API provides a powerful framework for easily adding, removing, installing
Proactive Monitoring using Predictive Analytics
Solving the Real Problems with Performance Monitoring Proactive Monitoring using Predictive Analytics Written by: Douglas A. Brown, MVP, CTP President & Chief Technology Officer DABCC, Inc. www.dabcc.com
Dove User Guide Copyright 2010-2011 Virgil Trasca
Dove User Guide Dove User Guide Copyright 2010-2011 Virgil Trasca Table of Contents 1. Introduction... 1 2. Distribute reports and documents... 3 Email... 3 Messages and templates... 3 Which message is
SyncTool for InterSystems Caché and Ensemble.
SyncTool for InterSystems Caché and Ensemble. Table of contents Introduction...4 Definitions...4 System requirements...4 Installation...5 How to use SyncTool...5 Configuration...5 Example for Group objects
