CIS 192: Lecture 10 Web Development with Flask

Size: px
Start display at page:

Download "CIS 192: Lecture 10 Web Development with Flask"

Transcription

1 CIS 192: Lecture 10 Web Development with Flask Lili Dworkin University of Pennsylvania

2 Last Week s Quiz req = requests.get(" 1. type(req.text) 2. type(req.json) 3. type(req.json())

3 Last Week s Quiz req = requests.get(" 1. type(req.text) <type unicode > 2. type(req.json) <type instancemethod > 3. type(req.json()) <type dict >

4 Last Week s Quiz >>> def hi():... return 0... >>> hi <function hi at 0x1003bbc08> >>> hi() 0 >>> type(hi) <type 'function'> >>> type(hi()) <type 'int'>

5 Last Week s Quiz >>> class Foo():... def bar(self):... return 0... >>> f = Foo() >>> f.bar <bound method Foo.bar of < main.foo instance at 0 x1003caef0>> >>> f.bar() 0 >>> type(f.bar) <type 'instancemethod'> >>> type(f.bar()) <type 'int'>

6 Last Week s Quiz 1. type(json.dumps(json.loads('{"key": "val"}'))) 2. type(json.loads(json.dumps(0)))

7 Last Week s Quiz 1. type(json.dumps(json.loads('{"key": "val"}'))) <type str > 2. type(json.loads(json.dumps(0))) <type int >

8 Last Week s Quiz JSON isn t a type JSON is a format so strings can be valid JSON or not json.dumps Input: Python data structure consisting of dicts, lists, ints, strings, or bools Output: String json.loads Input: String in valid JSON format Output: Python data structure

9 Last Week s Quiz >>> json.dumps([1, 2, 3]) '[1, 2, 3]' >>> json.dumps(0) '0' >>> json.dumps('a') '"a"' # note the double quotes >>> json.dumps(f) TypeError: < main.foo instance at 0x1003caef0> is not JSON serializable

10 Last Week s Quiz >>> json.loads('[1, 2, 3]') [1, 2, 3] >>> json.loads('0') 0 >>> json.loads('a') ValueError: No JSON object could be decoded >>> json.loads("a") ValueError: No JSON object could be decoded >>> json.loads('"a"') u'a'

11 Last Week s Quiz Return the content type of a response object called req.

12 Last Week s Quiz Return the content type of a response object called req. req.headers[ content-type ]

13 Last Week s Quiz What is the main difference between GET and POST requests?

14 Last Week s Quiz What is the main difference between GET and POST requests? GET requests send parameters in the URL. POST requests send parameters in the body.

15 Last Week s Quiz Why does it matter? The server can see the data regardless of whether it is in the URL or the body. And if someone intercepts your package, so can they. But GET requests remain in browser history and can be cached and bookmarked, so you want to avoid that with sensitive data. If you send information in the headers of your GET request, that s safe (as long as you are over SSL). Point of the story: use GET for retrieving, POST for sending.

16 Last Week s Quiz l = [lambda x: 1. type(l) 2. l[0](0) x + i for i in range(5)]

17 Last Week s Quiz l = [lambda x: x + i for i in range(5)] 1. type(l) <type list > (My typo: I really wanted type(l[0]) what is that?) 2. l[0](0) 4 i is a name, and throughout the loop it is being pointed at successively higher integers When we refer to i, we get what it currently points to

18 Web Frameworks We ve been talking about making HTTP requests What about serving them? Flask is a microframework small and simple, and you can see how and why everything is happening Django is the big guy on the block more fully featured, but also more black magic / mysterious

19 Hello World from flask import Flask app = Flask( name def hello_world(): return "Hello World!" if name == ' main ': app.run() prompt$ python flask.py * Running on

20 Hello World app = Flask( name ) When we create an instance of the Flask class, the first argument is the name of the application s module or package When using a single module, use name because this will work regardless of whether name equals main or the actual import name

21 Hello def hello_world(): return "Hello World!" The app.route('/') decorator tells Flask to call the hello_world() function when the relative url / is accessed The hello_world() function returns the web page (in this case, a simple string) to be displayed

22 Hello World app.run() The app.run() function runs the application on a local server This will only be visible on your own computer! We will talk about deployment later

23 Debugging When testing, use app.run(debug=true) Now the server will reload itself on code changes Additionally, you will see error messages in the browser But never leave this on in production!

24 More def bad(): return 'hi' + def bye_world(): return "Bye World!"

25 Variable Rules To add variable parts to a url, use <variable_name> The variables are passed as arguments to the def greet_user(username): return "Hello %s!" % username

26 Variable Rules Multiple urls can route to the def greet_name(first, last=none): name = first + ' ' + last if last else first return "Hello %s!" % name

27 Templating What about some real HTML? Flask uses a templating system called Jinja. <!doctype html> <title>hello from Flask</title> {% if name %} <h1>hello {{ name }}!</h1> {% else %} <h1>hello World!</h1> {% endif %} Need to put this in a templates folder.

28 Templating from flask def template(name=none): return render_template('index.html', name=name)

29 Templating Even cooler... <!doctype html> <title>making a List</title> <ul> {% for item in l %} <li>{{ item }}</li> {% endfor %} def template_list(): l = ['a', 1, True] return render_template('list.html', l=l)

30 GET Requests Recall: a url can be accessed with parameters, e.g.: /hello?key=value Retrieve these parameters from the request.args dictionary from flask import def args(): html = '' for key, value in request.args.items(): html += '%s=%s' % (key, value) html += '<br/>' return html

31 GET Requests Even better, using templates: <!doctype html> <title>displaying Params</title> <ul> {% for key, value in params.items() %} <li>{{ key }}={{ value }}</li> {% endfor %} def template_args(): return render_template('params.html', params=request.args)

32 POST Requests We can also make POST requests to a url Add keyword argument methods=['post', 'GET'] to the app.route() decorator Check if a request was a POST by looking at request.method The data from a POST request can be retrieved from the request.form dictionary

33 POST methods=['post', 'GET']) def post(): if request.method == 'POST': return request.form.get('data', 'default') else: return 'That was a GET request.' >>> url = ' >>> req = requests.post(url, data={'data':'test'}) >>> req.text u'test' >>> req = requests.post(url) >>> req.text u'default'

34 POST Requests What if we try sending a list? >>> url = ' >>> req = requests.post(url, data={'data': [1, 2, 3]}) >>> req.text u'1'

35 POST Requests Instead, use JSON! Only ever send strings across the methods=['post']) def post_list(): l = request.form.get('data') l = json.loads(l) return ','.join(map(str, l)) >>> url = ' >>> resp = requests.post(url, data={'data': json.dumps([1,2,3])}) >>> resp.text 1,2,3

36 Returning JSON Instead of returning HTML, what if we want to return JSON? from flask import def return_json(): return jsonify({'some': 'data'}) >>> url = ' >>> req = requests.get(url) >>> req.json() {u'some': u'data'}

37 Final Project Instructions here.

CIS 192: Lecture 10 Web Development with Flask

CIS 192: Lecture 10 Web Development with Flask CIS 192: Lecture 10 Web Development with Flask Lili Dworkin University of Pennsylvania Web Frameworks We ve been talking about making HTTP requests What about serving them? Flask is a microframework small

More information

Web Development with Flask and the Raspberry Pi Leading by Example CUAUHTEMOC CARBAJAL ITESM CEM 22/04/2014

Web Development with Flask and the Raspberry Pi Leading by Example CUAUHTEMOC CARBAJAL ITESM CEM 22/04/2014 Web Development with Flask and the Raspberry Pi Leading by Example CUAUHTEMOC CARBAJAL ITESM CEM 22/04/2014 Introduction Flask: lightweight web application framework written in Python and based on the

More information

Flask Documentation. Release 0.10.1-20151216

Flask Documentation. Release 0.10.1-20151216 Flask Documentation Release 0.10.1-20151216 December 16, 2015 CONTENTS I User s Guide 1 1 Foreword 3 1.1 What does micro mean?........................... 3 1.2 Configuration and Conventions.......................

More information

Web [Application] Frameworks

Web [Application] Frameworks Web [Application] Frameworks conventional approach to building a web service write ad hoc client code in HTML, CSS, Javascript,... by hand write ad hoc server code in [whatever] by hand write ad hoc access

More information

Web [Application] Frameworks

Web [Application] Frameworks Web [Application] Frameworks conventional approach to building a web service write ad hoc client code in HTML, CSS, Javascript,... by hand write ad hoc server code in [whatever] by hand write ad hoc access

More information

latest Release 0.2.6

latest Release 0.2.6 latest Release 0.2.6 August 19, 2015 Contents 1 Installation 3 2 Configuration 5 3 Django Integration 7 4 Stand-Alone Web Client 9 5 Daemon Mode 11 6 IRC Bots 13 7 Bot Events 15 8 Channel Events 17 9

More information

Introduction to Python

Introduction to Python Caltech/LEAD Summer 2012 Computer Science Lecture 2: July 10, 2012 Introduction to Python The Python shell Outline Python as a calculator Arithmetic expressions Operator precedence Variables and assignment

More information

Modern Web Application Framework Python, SQL Alchemy, Jinja2 & Flask

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

More information

Server-side Development using Python and SQL

Server-side Development using Python and SQL Lab 2 Server-side Development using Python and SQL Authors: Sahand Sadjadee Alexander Kazen Gustav Bylund Per Jonsson Tobias Jansson Spring 2015 TDDD97 Web Programming http://www.ida.liu.se/~tddd97/ Department

More information

The Django web development framework for the Python-aware

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

More information

7 Why Use Perl for CGI?

7 Why Use Perl for CGI? 7 Why Use Perl for CGI? Perl is the de facto standard for CGI programming for a number of reasons, but perhaps the most important are: Socket Support: Perl makes it easy to create programs that interface

More information

Outline. Lecture 18: Ruby on Rails MVC. Introduction to Rails

Outline. Lecture 18: Ruby on Rails MVC. Introduction to Rails Outline Lecture 18: Ruby on Rails Wendy Liu CSC309F Fall 2007 Introduction to Rails Rails Principles Inside Rails Hello World Rails with Ajax Other Framework 1 2 MVC Introduction to Rails Agile Web Development

More information

Flask Web Development. Miguel Grinberg

Flask Web Development. Miguel Grinberg Flask Web Development Miguel Grinberg Flask Web Development by Miguel Grinberg Copyright 2014 Miguel Grinberg. All rights reserved. Printed in the United States of America. Published by O Reilly Media,

More information

Omicron Server Documentation

Omicron Server Documentation Omicron Server Documentation Release 0.1.1 Shahab Akmal, Chris Yoo, Michal Kononenko December 17, 2015 Contents 1 Installation 3 1.1 Dependencies............................................... 3 1.2 Running

More information

Advanced Tornado TWENTYONE. 21.1 Advanced Tornado. 21.2 Accessing MySQL from Python LAB

Advanced Tornado TWENTYONE. 21.1 Advanced Tornado. 21.2 Accessing MySQL from Python LAB 21.1 Advanced Tornado Advanced Tornado One of the main reasons we might want to use a web framework like Tornado is that they hide a lot of the boilerplate stuff that we don t really care about, like escaping

More information

Slides from INF3331 lectures - web programming in Python

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

More information

Chapter 3 Writing Simple Programs. What Is Programming? Internet. Witin the web server we set lots and lots of requests which we need to respond to

Chapter 3 Writing Simple Programs. What Is Programming? Internet. Witin the web server we set lots and lots of requests which we need to respond to Chapter 3 Writing Simple Programs Charles Severance Unless otherwise noted, the content of this course material is licensed under a Creative Commons Attribution 3.0 License. http://creativecommons.org/licenses/by/3.0/.

More information

HTTP - METHODS. Same as GET, but transfers the status line and header section only.

HTTP - METHODS. Same as GET, but transfers the status line and header section only. http://www.tutorialspoint.com/http/http_methods.htm HTTP - METHODS Copyright tutorialspoint.com The set of common methods for HTTP/1.1 is defined below and this set can be expanded based on requirements.

More information

Software Tool Seminar WS1516 - Taming the Snake

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

More information

IVR Studio 3.0 Guide. May-2013. Knowlarity Product Team

IVR Studio 3.0 Guide. May-2013. Knowlarity Product Team IVR Studio 3.0 Guide May-2013 Knowlarity Product Team Contents IVR Studio... 4 Workstation... 4 Name & field of IVR... 4 Set CDR maintainence property... 4 Set IVR view... 4 Object properties view... 4

More information

Introduction to Python

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

More information

socketio Documentation

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

More information

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 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

More information

CIS 192: Lecture 13 Scientific Computing and Unit Testing

CIS 192: Lecture 13 Scientific Computing and Unit Testing CIS 192: Lecture 13 Scientific Computing and Unit Testing Lili Dworkin University of Pennsylvania Scientific Computing I Python is really popular in the scientific and statistical computing world I Why?

More information

Mojolicious. Marcos Rebelo (oleber@gmail.com)

Mojolicious. Marcos Rebelo (oleber@gmail.com) Mojolicious Marcos Rebelo (oleber@gmail.com) Mojolicious An amazing real-time web framework supporting a simplified single file mode through Mojolicious::Lite. Very clean, portable and Object Oriented

More information

Chapter 2 Writing Simple Programs

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

More information

CSCE 110 Programming I Basics of Python: Variables, Expressions, and Input/Output

CSCE 110 Programming I Basics of Python: Variables, Expressions, and Input/Output CSCE 110 Programming Basics of Python: Variables, Expressions, and nput/output Dr. Tiffani L. Williams Department of Computer Science and Engineering Texas A&M University Fall 2011 Python Python was developed

More information

We will learn the Python programming language. Why? Because it is easy to learn and many people write programs in Python so we can share.

We will learn the Python programming language. Why? Because it is easy to learn and many people write programs in Python so we can share. LING115 Lecture Note Session #4 Python (1) 1. Introduction As we have seen in previous sessions, we can use Linux shell commands to do simple text processing. We now know, for example, how to count words.

More information

Python for Rookies. Example Examination Paper

Python for Rookies. Example Examination Paper Python for Rookies Example Examination Paper Instructions to Students: Time Allowed: 2 hours. This is Open Book Examination. All questions carry 25 marks. There are 5 questions in this exam. You should

More information

Computer Networking LAB 2 HTTP

Computer Networking LAB 2 HTTP Computer Networking LAB 2 HTTP 1 OBJECTIVES The basic GET/response interaction HTTP message formats Retrieving large HTML files Retrieving HTML files with embedded objects HTTP authentication and security

More information

Static vs. Dynamic. Lecture 10: Static Semantics Overview 1. Typical Semantic Errors: Java, C++ Typical Tasks of the Semantic Analyzer

Static vs. Dynamic. Lecture 10: Static Semantics Overview 1. Typical Semantic Errors: Java, C++ Typical Tasks of the Semantic Analyzer Lecture 10: Static Semantics Overview 1 Lexical analysis Produces tokens Detects & eliminates illegal tokens Parsing Produces trees Detects & eliminates ill-formed parse trees Static semantic analysis

More information

CSC9B2 Spring 2015 Web Design Practical 1: Introduction to HTML 5

CSC9B2 Spring 2015 Web Design Practical 1: Introduction to HTML 5 CSC9B2 Spring 2015 Web Design Practical 1: Introduction to HTML 5 AIM To learn the basics of creating web pages with HTML5. Remember to register your practical attendance. This sheet contains one checkpoint.

More information

Nupic Web Application development

Nupic Web Application development Nupic Web Application development Contents Focus in... 1 Why to build a Web Application?... 1 The common data flow schema... 1 Tools... 2 Preparations... 2 Download/Install Django... 2 Check if Django

More information

Cloud Elements! Marketing Hub Provisioning and Usage Guide!

Cloud Elements! Marketing Hub Provisioning and Usage Guide! Cloud Elements Marketing Hub Provisioning and Usage Guide API Version 2.0 Page 1 Introduction The Cloud Elements Marketing Hub is the first API that unifies marketing automation across the industry s leading

More information

IBM Watson Ecosystem. Getting Started Guide

IBM Watson Ecosystem. Getting Started Guide IBM Watson Ecosystem Getting Started Guide Version 1.1 July 2014 1 Table of Contents: I. Prefix Overview II. Getting Started A. Prerequisite Learning III. Watson Experience Manager A. Assign User Roles

More information

Webmail Using the Hush Encryption Engine

Webmail Using the Hush Encryption Engine Webmail Using the Hush Encryption Engine Introduction...2 Terms in this Document...2 Requirements...3 Architecture...3 Authentication...4 The Role of the Session...4 Steps...5 Private Key Retrieval...5

More information

Jenkins XML API and Mobile Devices

Jenkins XML API and Mobile Devices Jenkins XML API and Mobile Devices Simone Ardissone Luca Milanesio LMIT Software Ltd. http://www. jenkins-ci.mobi Who we are (1 st guy)! My name is Luca! Founder and Director of LMIT Ltd (UK) the ones

More information

A PREFERENTIAL VOTING SYSTEM AS A COLLABORATION SOFTWARE SOLUTION. A Thesis. Presented to the. Faculty of. San Diego State University

A PREFERENTIAL VOTING SYSTEM AS A COLLABORATION SOFTWARE SOLUTION. A Thesis. Presented to the. Faculty of. San Diego State University A PREFERENTIAL VOTING SYSTEM AS A COLLABORATION SOFTWARE SOLUTION A Thesis Presented to the Faculty of San Diego State University In Partial Fulfillment of the Requirements for the Degree Master of Science

More information

INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011

INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 1 Goals of the Lecture Present an introduction to Objective-C 2.0 Coverage of the language will be INCOMPLETE

More information

Rapid Website Deployment With Django, Heroku & New Relic

Rapid Website Deployment With Django, Heroku & New Relic TUTORIAL Rapid Website Deployment With Django, Heroku & New Relic by David Sale Contents Introduction 3 Create Your Website 4 Defining the Model 6 Our Views 7 Templates 7 URLs 9 Deploying to Heroku 10

More information

TCP/IP Networking, Part 2: Web-Based Control

TCP/IP Networking, Part 2: Web-Based Control TCP/IP Networking, Part 2: Web-Based Control Microchip TCP/IP Stack HTTP2 Module 2007 Microchip Technology Incorporated. All Rights Reserved. Building Embedded Web Applications Slide 1 Welcome to the next

More information

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca

More information

ScanJour PDF 2014 R8. Configuration Guide

ScanJour PDF 2014 R8. Configuration Guide Configuration Guide Contents 1. Configuration Guide for ScanJour PDF 2014 R8 3 2. What's new 4 3. Installing ScanJour PDF WebService 5 4. Features 10 5. Connecting with WorkZone Content Server 14 6. The

More information

600-152 People Data and the Web Forms and CGI CGI. Facilitating interactive web applications

600-152 People Data and the Web Forms and CGI CGI. Facilitating interactive web applications CGI Facilitating interactive web applications Outline In Informatics 1, worksheet 7 says You will learn more about CGI and forms if you enroll in Informatics 2. Now we make good on that promise. First

More information

Developing ASP.NET MVC 4 Web Applications MOC 20486

Developing ASP.NET MVC 4 Web Applications MOC 20486 Developing ASP.NET MVC 4 Web Applications MOC 20486 Course Outline Module 1: Exploring ASP.NET MVC 4 The goal of this module is to outline to the students the components of the Microsoft Web Technologies

More information

Java with Eclipse: Setup & Getting Started

Java with Eclipse: Setup & Getting Started Java with Eclipse: Setup & Getting Started Originals of slides and source code for examples: http://courses.coreservlets.com/course-materials/java.html Also see Java 8 tutorial: http://www.coreservlets.com/java-8-tutorial/

More information

Advanced Install & Configuration Guide

Advanced Install & Configuration Guide Advanced Install & Configuration Guide This document details advanced installation and configuration options for Layer8 software agents. Delivered as standard MSI packages, Layer8 deployment can be made

More information

Clojure Web Development

Clojure Web Development Clojure Web Development Philipp Schirmacher We'll take care of it. Personally. groups.google.com/group/clojure-dus 2012 innoq Deutschland GmbH Agenda Clojure Basics Web Development Libraries Micro Framework

More information

IERG 4080 Building Scalable Internet-based Services

IERG 4080 Building Scalable Internet-based Services Department of Information Engineering, CUHK Term 1, 2015/16 IERG 4080 Building Scalable Internet-based Services Lecture 4 Load Balancing Lecturer: Albert C. M. Au Yeung 30 th September, 2015 Web Server

More information

Cyber Security Workshop Ethical Web Hacking

Cyber Security Workshop Ethical Web Hacking Cyber Security Workshop Ethical Web Hacking May 2015 Setting up WebGoat and Burp Suite Hacking Challenges in WebGoat Concepts in Web Technologies and Ethical Hacking 1 P a g e Downloading WebGoat and Burp

More information

PHP Magic Tricks: Type Juggling. PHP Magic Tricks: Type Juggling

PHP Magic Tricks: Type Juggling. PHP Magic Tricks: Type Juggling Who Am I Chris Smith (@chrismsnz) Previously: Polyglot Developer - Python, PHP, Go + more Linux Sysadmin Currently: Pentester, Consultant at Insomnia Security Little bit of research Insomnia Security Group

More information

Basic Java Constructs and Data Types Nuts and Bolts. Looking into Specific Differences and Enhancements in Java compared to C

Basic Java Constructs and Data Types Nuts and Bolts. Looking into Specific Differences and Enhancements in Java compared to C Basic Java Constructs and Data Types Nuts and Bolts Looking into Specific Differences and Enhancements in Java compared to C 1 Contents Hello World Program Statements Explained Java Program Structure in

More information

Creating Web Services Applications with IntelliJ IDEA

Creating Web Services Applications with IntelliJ IDEA Creating Web Services Applications with IntelliJ IDEA In this tutorial you will: 1. 2. 3. 4. Create IntelliJ IDEA projects for both client and server-side Web Service parts Learn how to tie them together

More information

Getting FileMaker Server 11 and IIS 7.x to Work with SSL. By Todd Duell

Getting FileMaker Server 11 and IIS 7.x to Work with SSL. By Todd Duell Getting FileMaker Server 11 and IIS 7.x to Work with SSL Enable FileMaker Server to communicate with IIS Server using an SSL certificate. By Todd Duell FileMaker Server 11 installs cleanly with IIS Server

More information

Configure Outlook 2013 to connect to Hosted Exchange

Configure Outlook 2013 to connect to Hosted Exchange Configure Outlook 2013 to connect to Hosted Exchange Anglia IT Solutions Hosted Exchange supports: Windows XP, 7 and 8 Microsoft Office 2007 / 2010 / 2013 These instructions describe how to setup Outlook

More information

Introduction to Java

Introduction to Java Introduction to Java The HelloWorld program Primitive data types Assignment and arithmetic operations User input Conditional statements Looping Arrays CSA0011 Matthew Xuereb 2008 1 Java Overview A high

More information

Introduction to Python for Text Analysis

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

More information

Archelon Documentation

Archelon Documentation Archelon Documentation Release 0.6.0 Carson Gee October 05, 2015 Contents 1 Archelon Client 3 1.1 Installation................................................ 3 1.2 Web Enabled History...........................................

More information

General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support

General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support General principles and architecture of Adlib and Adlib API Petra Otten Manager Customer Support Adlib Database management program, mainly for libraries, museums and archives 1600 customers in app. 30 countries

More information

Using TestLogServer for Web Security Troubleshooting

Using TestLogServer for Web Security Troubleshooting Using TestLogServer for Web Security Troubleshooting Topic 50330 TestLogServer Web Security Solutions Version 7.7, Updated 19-Sept- 2013 A command-line utility called TestLogServer is included as part

More information

web frameworks design comparison draft - please help me improve it focus on Model-View-Controller frameworks

web frameworks design comparison draft - please help me improve it focus on Model-View-Controller frameworks web frameworks design comparison draft - please help me improve it focus on Model-View-Controller frameworks Controllers In Rails class MyTestController < ApplicationController def index render_text Hello

More information

Bubble Code Review for Magento

Bubble Code Review for Magento User Guide Author: Version: Website: Support: Johann Reinke 1.1 https://www.bubbleshop.net bubbleshop.net@gmail.com Table of Contents 1 Introducing Bubble Code Review... 3 1.1 Features... 3 1.2 Compatibility...

More information

Ambientes de Desenvolvimento Avançados

Ambientes de Desenvolvimento Avançados Ambientes de Desenvolvimento Avançados http://www.dei.isep.ipp.pt/~jtavares/adav/adav.htm Aula 17 Engenharia Informática 2006/2007 José António Tavares jrt@isep.ipp.pt 1.NET Web Services: Construção de

More information

A Tour of Silex and Symfony Components. Robert Parker @yamiko_ninja

A Tour of Silex and Symfony Components. Robert Parker @yamiko_ninja A Tour of Silex and Symfony Components Robert Parker @yamiko_ninja Wait Not Drupal? Self Introduction PHP Developer since 2012 HTML and JavaScript Since 2010 Full Stack Developer at Dorey Design Group

More information

An Incomplete C++ Primer. University of Wyoming MA 5310

An Incomplete C++ Primer. University of Wyoming MA 5310 An Incomplete C++ Primer University of Wyoming MA 5310 Professor Craig C. Douglas http://www.mgnet.org/~douglas/classes/na-sc/notes/c++primer.pdf C++ is a legacy programming language, as is other languages

More information

CROWNPEAK C# API SYSTEM CONFIGURATION GUIDE VERSION 3.0.1

CROWNPEAK C# API SYSTEM CONFIGURATION GUIDE VERSION 3.0.1 TECHNICAL DOCUMENTATION CROWNPEAK C# API SYSTEM CONFIGURATION GUIDE VERSION 3.0.1 March 2014 2014 CrownPeak Technology, Inc. All rights reserved. No part of this document may be reproduced or transmitted

More information

Introduction to Object-Oriented Programming

Introduction to Object-Oriented Programming Introduction to Object-Oriented Programming Programs and Methods Christopher Simpkins chris.simpkins@gatech.edu CS 1331 (Georgia Tech) Programs and Methods 1 / 8 The Anatomy of a Java Program It is customary

More information

Google App Engine Data Store

Google App Engine Data Store Google App Engine Data Store ae-10-datastore www.appenginelearn.com Unless otherwise noted, the content of this course material is licensed under a Creative Commons Attribution 3.0 License. http://creativecommons.org/licenses/by/3.0/.

More information

Magento Security and Vulnerabilities. Roman Stepanov

Magento Security and Vulnerabilities. Roman Stepanov Magento Security and Vulnerabilities Roman Stepanov http://ice.eltrino.com/ Table of contents Introduction Open Web Application Security Project OWASP TOP 10 List Common issues in Magento A1 Injection

More information

Developing ASP.NET MVC 4 Web Applications

Developing ASP.NET MVC 4 Web Applications Course M20486 5 Day(s) 30:00 Hours Developing ASP.NET MVC 4 Web Applications Introduction In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools

More information

Exercise 1: Python Language Basics

Exercise 1: Python Language Basics Exercise 1: Python Language Basics In this exercise we will cover the basic principles of the Python language. All languages have a standard set of functionality including the ability to comment code,

More information

Flask-SSO Documentation

Flask-SSO Documentation Flask-SSO Documentation Release 0.3.0 CERN July 30, 2015 Contents 1 Contents 3 1.1 Installation................................................ 3 1.2 Quickstart................................................

More information

Website Development Komodo Editor and HTML Intro

Website Development Komodo Editor and HTML Intro Website Development Komodo Editor and HTML Intro Introduction In this Assignment we will cover: o Use of the editor that will be used for the Website Development and Javascript Programming sections of

More information

Lecture 11 Web Application Security (part 1)

Lecture 11 Web Application Security (part 1) Lecture 11 Web Application Security (part 1) Computer and Network Security 4th of January 2016 Computer Science and Engineering Department CSE Dep, ACS, UPB Lecture 11, Web Application Security (part 1)

More information

Outline Basic concepts of Python language

Outline Basic concepts of Python language Data structures: lists, tuples, sets, dictionaries Basic data types Examples: int: 12, 0, -2 float: 1.02, -2.4e2, 1.5e-3 complex: 3+4j bool: True, False string: "Test string" Conversion between types int(-2.8)

More information

Drupal CMS for marketing sites

Drupal CMS for marketing sites Drupal CMS for marketing sites Intro Sample sites: End to End flow Folder Structure Project setup Content Folder Data Store (Drupal CMS) Importing/Exporting Content Database Migrations Backend Config Unit

More information

HTML Form Widgets. Review: HTML Forms. Review: CGI Programs

HTML Form Widgets. Review: HTML Forms. Review: CGI Programs HTML Form Widgets Review: HTML Forms HTML forms are used to create web pages that accept user input Forms allow the user to communicate information back to the web server Forms allow web servers to generate

More information

Welcome to Introduction to programming in Python

Welcome to Introduction to programming in Python Welcome to Introduction to programming in Python Suffolk One, Ipswich, 4:30 to 6:00 Tuesday Jan 14, Jan 21, Jan 28, Feb 11 Welcome Fire exits Toilets Refreshments 1 Learning objectives of the course An

More information

A GP Service for Enterprise Printing. Kevin Shows, Anadarko Petroleum Kirk Kuykendall, Idea Integration 04/20/2011

A GP Service for Enterprise Printing. Kevin Shows, Anadarko Petroleum Kirk Kuykendall, Idea Integration 04/20/2011 Kevin Shows, Anadarko Petroleum Kirk Kuykendall, Idea Integration 04/20/2011 History Implemented ArcGIS Server / browser mapping in 2008 Web ADF December, 2008 WPF April, 2010 Internally branded imaps

More information

Setting Up a Dreamweaver Site Definition for OIT s Web Hosting Server

Setting Up a Dreamweaver Site Definition for OIT s Web Hosting Server page of 4 oit UMass Office of Information Technologies Setting Up a Dreamweaver Site Definition for OIT s Web Hosting Server This includes Web sites on: https://webadmin.oit.umass.edu/~user http://people.umass.edu/

More information

Page1. Tera Doty-Blance http://library.cortland.edu/ttc/training_center.asp

Page1. Tera Doty-Blance http://library.cortland.edu/ttc/training_center.asp Page1 Contents Setting Up a Student Web Account on the SUNY Cortland Web Server... 2 Opening the iweb Application and Choosing a Template... 3 Publishing Your iweb site to Student Web... 5 Creating a Copy

More information

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code. Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...

More information

Creating a Guest Book Using WebObjects Builder

Creating a Guest Book Using WebObjects Builder Creating a Guest Book Using WebObjects Builder Creating a Guest Book Using WebObjects BuilderLaunch WebObjects Builder WebObjects Builder is an application that helps you create WebObjects applications.

More information

Getting Started with the Internet Communications Engine

Getting Started with the Internet Communications Engine Getting Started with the Internet Communications Engine David Vriezen April 7, 2014 Contents 1 Introduction 2 2 About Ice 2 2.1 Proxies................................. 2 3 Setting Up ICE 2 4 Slices 2

More information

ESPResSo Summer School 2012

ESPResSo Summer School 2012 ESPResSo Summer School 2012 Introduction to Tcl Pedro A. Sánchez Institute for Computational Physics Allmandring 3 D-70569 Stuttgart Germany http://www.icp.uni-stuttgart.de 2/26 Outline History, Characteristics,

More information

Creating Java EE Applications and Servlets with IntelliJ IDEA

Creating Java EE Applications and Servlets with IntelliJ IDEA Creating Java EE Applications and Servlets with IntelliJ IDEA In this tutorial you will: 1. Create IntelliJ IDEA project for Java EE application 2. Create Servlet 3. Deploy the application to JBoss server

More information

Office365Mon Developer API

Office365Mon Developer API Office365Mon Developer API Office365Mon provides a set of services for retrieving report data, and soon for managing subscriptions. This document describes how you can create an application to programmatically

More information

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip Load testing with WAPT: Quick Start Guide This document describes step by step how to create a simple typical test for a web application, execute it and interpret the results. A brief insight is provided

More information

Force.com Canvas Developer's Guide

Force.com Canvas Developer's Guide Force.com Canvas Developer's Guide Version 35.0, Winter 16 @salesforcedocs Last updated: October 15, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark

More information

Cross Site Scripting (XSS) and PHP Security. Anthony Ferrara NYPHP and OWASP Security Series June 30, 2011

Cross Site Scripting (XSS) and PHP Security. Anthony Ferrara NYPHP and OWASP Security Series June 30, 2011 Cross Site Scripting (XSS) and PHP Security Anthony Ferrara NYPHP and OWASP Security Series June 30, 2011 What Is Cross Site Scripting? Injecting Scripts Into Otherwise Benign and Trusted Browser Rendered

More information

Introduction to Django Web Framework

Introduction to Django Web Framework Introduction to Django Web Framework Web application development seminar, Fall 2007 Jaakko Salonen Jukka Huhtamäki 1 http://www.djangoproject.com/ Django

More information

Fachgebiet Technische Informatik, Joachim Zumbrägel

Fachgebiet Technische Informatik, Joachim Zumbrägel Computer Network Lab 2015 Fachgebiet Technische Informatik, Joachim Zumbrägel Overview Internet Internet Protocols Fundamentals about HTTP Communication HTTP-Server, mode of operation Static/Dynamic Webpages

More information

IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules

IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules IBM Operational Decision Manager Version 8 Release 5 Getting Started with Business Rules Note Before using this information and the product it supports, read the information in Notices on page 43. This

More information

Art of Code Front-end Web Development Training Program

Art of Code Front-end Web Development Training Program Art of Code Front-end Web Development Training Program Pre-work (5 weeks) Codecademy HTML5/CSS3 and JavaScript tracks HTML/CSS (7 hours): http://www.codecademy.com/en/tracks/web JavaScript (10 hours):

More information

Evaluation. Chapter 1: An Overview Of Ruby Rails. Copy. 6) Static Pages Within a Rails Application... 1-10

Evaluation. Chapter 1: An Overview Of Ruby Rails. Copy. 6) Static Pages Within a Rails Application... 1-10 Chapter 1: An Overview Of Ruby Rails 1) What is Ruby on Rails?... 1-2 2) Overview of Rails Components... 1-3 3) Installing Rails... 1-5 4) A Simple Rails Application... 1-6 5) Starting the Rails Server...

More information

Setting up Web Material. An introduction

Setting up Web Material. An introduction Setting up Web Material An introduction How to publish on the web Everyone with an Aberystwyth University account can publish material on the web http://users.aber.ac.uk/you9/ The URL of your home page

More information

Oracle Forms Services Secure Web.Show_Document() calls to Oracle Reports Server 6i

Oracle Forms Services Secure Web.Show_Document() calls to Oracle Reports Server 6i Oracle Forms Services Secure Web.Show_Document() calls to Oracle Reports Server 6i $Q2UDFOH7HFKQLFDO:KLWHSDSHU 0DUFK Secure Web.Show_Document() calls to Oracle Reports Server 6i Introduction...3 solution

More information

Tableau Server Trusted Authentication

Tableau Server Trusted Authentication Tableau Server Trusted Authentication When you embed Tableau Server views into webpages, everyone who visits the page must be a licensed user on Tableau Server. When users visit the page they will be prompted

More information