Building Python web app on GAE

Size: px
Start display at page:

Download "Building Python web app on GAE"

Transcription

1 Building Python web app on GAE tw3gsucks, a 3G network speed test web app. PyHUG Tsai, Shih-Chang 2011/12/21

2 It all starts with... 3G network is really SUCKS!!! I'm used to live in a connected world! Bad network quality/bandwidth makes me crazy!!!

3 Is there anything I can do? Yes! But maybe we can do it more interestingly!

4 Google Map! Bandwidth data alone is really boring. What if we put these data on maps?

5 tw3gsucks project profile Open source project Url: Github -

6 How tw3gsucks works

7 GAE is good place to start! Google Application Engine Python natively supported - Good! Database support - Good! Given a domain name like yourapp.appspot.com - Even better! Tutorials, many documents & sample code It's all FREE & Ready to go! - Huge Win!!!

8 Techniques involved HTML5 - GPS support jquery - Controlling UI & download sample data Python + Django - Service side programming GAE - App hosting & Database support Google Map - Showing map Github - Version control these are all new to me... :P

9 GAE - Get Started A google ID (of course.) GAE SDK is a beginner's good friend! Download GAE SDK at

10 A Sample Application More info on app.yaml goto:

11 A basic GAE python program import os from google.appengine.ext.webapp import template from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app class MainPage(webapp.RequestHandler): def get(self): template_values = { 'key': value } path = os.path.join(os.path.dirname( file ), 'index.html') self.response.out.write(template.render(path, template_values)) application = webapp.wsgiapplication([ ('/', MainPage) ], debug=true) def main(): run_wsgi_app(application) if name == ' main ': main()

12 app.yaml for tw3gsucks application: tw3gsucks version: 1 runtime: python api_version: 1 inbound_services: - warmup handlers: - url: /css static_dir: css - url: /payload static_dir: payload - url: /showmap script: signalreportgen.py - url: /favicon.ico static_files: static/images/favicon.ico upload: static/images/favicon.ico - url: /.* script: reportsignal.py

13 Location - enabling GPS <html> <script> function locationgot(position) { $("#require_gps").hide(); $("input[name='location']").val(position.coords.latitude+', ' + position.coords.longitude); $("#reportpanel").fadein(); test(); } $(".msg").hide(); $(".result").hide(); if (navigator.geolocation) { $("#require_gps").fadein(); navigator.geolocation.getcurrentposition(locationgot); } else { } </script> </html>

14 Bandwidth detection This is a little bit tricky. <html> <script> var time1; var bytesloaded = ; function test() { $(":submit").attr("disabled", true); var d = new Date; time1 = d.gettime(); $.get( 'payload/speedtestpayload.html', function(obj) { var d = new Date; var time = Math.round((d.getTime()-time1)/10)/100; // 取秒以下兩位小數 var connspeed = Math.round (bytesloaded/time/1000); // 單位 :Kbytes per second $("input[name='speed']").val(connspeed); $(":submit"). attr("disabled", false); } ); } </script> </html>

15 Storing data on GAE database Create Data Model: from google.appengine.ext import db class SignalReport(db.Model): """Models an individual signal report entry, geolocation, connection info, ip address, and date.""" location = db.geoptproperty() speed = db.integerproperty() tech = db.stringproperty() provider = db.stringproperty() ip = db.stringproperty() date = db.datetimeproperty(auto_now_add=true)

16 Storing data on GAE database Save data: import os from google.appengine.ext import webapp from google.appengine.ext import db class MainPage(webapp.RequestHandler): def get(self): path = os.path.join(os.path.dirname( file ), 'index.html') self.response.out.write(template.render(path, [])) def post(self): location = self.request.get('location').split(', ') provider_tech = self.request.get('provider_tech').split(' ') // provider_tech is like 中華電信 3G speed = self.request.get('speed') signalreport = SignalReport() if speed.isdigit(): signalreport.speed = int(speed) signalreport.location = db.geopt(lat = location[0], lon=location[1]) signalreport.tech = provider_tech[1] signalreport.provider = provider_tech[0] signalreport.ip = self.request.remote_addr signalreport.put()

17 Retrieving data and applying template class ShowMap2Page(webapp.RequestHandler): def get(self): signal_query = SignalReport.all() signals = signal_query.fetch(signal_query.count()) template_values = { 'signals': signals } path = os.path.join(os.path.dirname( file ), 'showmaptest.html') self.response.out.write(template.render(path, template_values))

18 Integrating Google Map <script type="text/javascript" src=" <script type="text/javascript"> var map = new google.maps.map(document.getelementbyid("map_canvas"), myoptions); var mylatlng = new google.maps.latlng({{ signal.location.lat }}, {{ signal.location.lon }}); var contentstring = '<div id="content">'+ '<div id="landmarknotice">'+ '<img src=badimage />'+ ' 實測每秒 {{ signal.speed }} KB ({{ signal.provider }} {{ signal.tech }})'+ '</div>'+ '<p> {{ signal.datestr }}</p>'+ '<p><font size="-1"> 經緯度 :{{ signal.location.lon }},{{ signal.location.lat }}</font></p>'+ '</div>'; var infowindow = new google.maps.infowindow({ content: contentstring }); var marker = new google.maps.marker({ position: mylatlng, map: map, icon: BadImage, title: " 測速 {{ signal.speed }} kbps" }); google.maps.event.addlistener(marker, 'click', createenclosur(map,marker, infowindow)); </script>

19 Something missing Carrier identification (using IP addr, perhaps) Better map presentation

20 Show Time

webapp2 Documentation

webapp2 Documentation webapp2 Documentation Release 3.0.0b1 Rodrigo Moraes Jun 20, 2017 Contents 1 Quick links 3 2 Status 5 3 Tutorials 7 4 Guide 31 5 API Reference - webapp2 57 6 API Reference - webapp2_extras 73 7 API Reference

More information

App Engine Web App Framework

App Engine Web App Framework App Engine Web App Framework Jim Eng / Charles Severance jimeng@umich.edu / csev@umich.edu www.appenginelearn.com Textbook: Using Google App Engine, Charles Severance (Chapter 5) Unless otherwise noted,

More information

App Engine Web App Framework

App Engine Web App Framework App Engine Web App Framework Jim Eng / Charles Severance jimeng@umich.edu / csev@umich.edu www.appenginelearn.com Textbook: Using Google App Engine, Charles Severance (Chapter 5) Unless otherwise noted,

More information

CS2021- Week 10 Models and Views. Model, View, Controller. Web Development Model, Views, Controller Templates Databases

CS2021- Week 10 Models and Views. Model, View, Controller. Web Development Model, Views, Controller Templates Databases CS2021- Week 10 Models and Views Web Development Model, Views, Controller Templates Databases Model, View, Controller The MVC pa@ern is simple and very useful in web development. MVC pa@ern forces one

More information

Jaesun Han (NexR CEO & Founder)

Jaesun Han (NexR CEO & Founder) S1 2008. 10. 23 Jaesun Han (NexR CEO & Founder) jshan0000@gmail.com http://www.nexr.co.kr S2 Big Switch: Power Burden Iron Works Edison Power Plant & Power Grid S3 Big Switch: Computing Corporate Data

More information

Hons. B.Sc. Degree in Software Engineering/Development. Web and Cloud Development

Hons. B.Sc. Degree in Software Engineering/Development. Web and Cloud Development Hons. B.Sc. Degree in Software Engineering/Development Web and Cloud Development Summer 2012 Instructions to candidates: Answer any four questions all questions carry equal marks. Start your answer at

More information

CS2021-Week 9 - Forms. HTML Forms. Python Web Development. h?ps://www.udacity.com/wiki/ cs253/unit-2html. Form for Submitting input:

CS2021-Week 9 - Forms. HTML Forms. Python Web Development. h?ps://www.udacity.com/wiki/ cs253/unit-2html. Form for Submitting input: CS2021-Week 9 - Forms Python Web Development HTML Forms h?ps://www.udacity.com/wiki/ cs253/unit-2html Form for Submitting input: Web Application:

More information

한재선 KAIST 정보미디어경영대학원겸직교수 & NexR 대표이사

한재선 KAIST 정보미디어경영대학원겸직교수 & NexR 대표이사 2009. 3. 11 한재선 (jshan0000@gmail.com) KAIST 정보미디어경영대학원겸직교수 & NexR 대표이사 http://www.web2hub.com S1 S2 Big Switch: Power Burden Iron Works Edison Power Plant & Power Grid S3 Big Switch: Computing Corporate

More information

Chapter 19: Twitter in Twenty Minutes

Chapter 19: Twitter in Twenty Minutes Chapter 19: Twitter in Twenty Minutes In the last chapter, we learned how to create and query persistent data with App Engine and Google's Datastore. This chapter continues with that discussion by stepping

More information

Google & the Cloud. GData, Mashup Editor, AppEngine. Gregor Hohpe Software Engineer Google, Inc. All rights reserved,

Google & the Cloud. GData, Mashup Editor, AppEngine. Gregor Hohpe Software Engineer Google, Inc. All rights reserved, Google & the Cloud GData, Mashup Editor, AppEngine Gregor Hohpe Software Engineer www.eaipatterns.com 2008 Google, Inc. All rights reserved, 2008 Google, Inc. All rights reserved, 2 1 Web 2.0 From the

More information

CS4HS Using Google App Engine. Michael Parker

CS4HS Using Google App Engine. Michael Parker CS4HS Using Google App Engine Michael Parker (michael.g.parker@gmail.com) So what is it? What's it for? Building and running web applications Why use it? Handles serving web pages, efficiently storing

More information

Google App Engine Using Templates

Google App Engine Using Templates Google App Engine Using Templates Charles Severance and Jim Eng csev@umich.edu jimeng@umich.edu Textbook: Using Google App Engine, Charles Severance Unless otherwise noted, the content of this course material

More information

Rapid Development with Django and App Engine. Guido van Rossum May 28, 2008

Rapid Development with Django and App Engine. Guido van Rossum May 28, 2008 Rapid Development with Django and App Engine Guido van Rossum May 28, 2008 Talk Overview This is not a plug for Python, Django or Google App Engine Except implicitly :) Best practices for using Django

More information

Google Maps Samples. Google Maps Samples 2012

Google Maps Samples. Google Maps Samples 2012 Google Maps Samples Contents Introduction... 2 Map-simple... 2 Add map holder... 2 Add map library... 3 Add Cascading Style Sheets... 4 Initialize map... 6 Test... 8 Direction-Simple... 8 Create UI...

More information

welcome to BOILERCAMP HOW TO WEB DEV

welcome to BOILERCAMP HOW TO WEB DEV welcome to BOILERCAMP HOW TO WEB DEV Introduction / Project Overview The Plan Personal Website/Blog Schedule Introduction / Project Overview HTML / CSS Client-side JavaScript Lunch Node.js / Express.js

More information

Installing and Running the Google App Engine On a Macintosh System

Installing and Running the Google App Engine On a Macintosh System Installing and Running the Google App Engine On a Macintosh System This document describes the installation of the Google App Engine Software Development Kit (SDK) on a Macintosh and running a simple hello

More information

CCS Lab FAQ: Using Google App Engine to host websites

CCS Lab FAQ: Using Google App Engine to host websites CCS Lab FAQ: Using Google App Engine to host websites Lauren Kennedy School of Psychology University of Adelaide Abstract This document is intended to be used a step-by-step guide to using Google App Engine

More information

HTML5 and CSS3 JavaScript Advanced Features Page 1

HTML5 and CSS3 JavaScript Advanced Features Page 1 HTML5 and CSS3 JavaScript Advanced Features Page 1 1 HTML5 and CSS3 JAVASCRIPT ADVANCED FEATURES 2 3 4 5 6 Geolocation The HTML5 Geolocation API is used to get the geographical position of a user Most

More information

web.py Tutorial Tom Kelliher, CS 317 This tutorial is the tutorial from the web.py web site, with a few revisions for our local environment.

web.py Tutorial Tom Kelliher, CS 317 This tutorial is the tutorial from the web.py web site, with a few revisions for our local environment. web.py Tutorial Tom Kelliher, CS 317 1 Acknowledgment This tutorial is the tutorial from the web.py web site, with a few revisions for our local environment. 2 Starting So you know Python and want to make

More information

Google App Engine Data Store. Google is BIG. Advanced Stuff.

Google App Engine Data Store. Google is BIG. Advanced Stuff. Google App Engine Data Store ae-10-datastore 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

In this project, you ll learn how to create your own webpage to tell a story, joke or poem. Think about the story you want to tell.

In this project, you ll learn how to create your own webpage to tell a story, joke or poem. Think about the story you want to tell. Tell a Story Introduction In this project, you ll learn how to create your own webpage to tell a story, joke or poem. Step 1: Decide on a story Before you get coding, you ll need to decide on a story to

More information

django-sticky-uploads Documentation

django-sticky-uploads Documentation django-sticky-uploads Documentation Release 0.2.0 Caktus Consulting Group October 26, 2014 Contents 1 Requirements/Installing 3 2 Browser Support 5 3 Documentation 7 4 Running the Tests 9 5 License 11

More information

Anatomy of a SPA: Client-side MVC

Anatomy of a SPA: Client-side MVC 11/12/11 10:35 AM Anatomy of a SPA: Client-side MVC SPA: Single Page Application MVC: Model-View-Controller file:///users/baguirre/downloads/rubyconf-slides/index.html#1 11/12/11 10:36 AM My name is Alvaro

More information

webkitpony Documentation

webkitpony Documentation webkitpony Documentation Release 0.1 Toni Michel May 24, 2014 Contents 1 Motivation 3 2 Goal 5 3 Understanding webkitpony 7 3.1 Understanding webkitpony........................................ 7 3.2 The

More information

Unable To Access An Error Message Corresponding To Your Field Name. Codeigniter Callback

Unable To Access An Error Message Corresponding To Your Field Name. Codeigniter Callback Unable To Access An Error Message Corresponding To Your Field Name. Codeigniter Callback I get field was not set error when I'm validating a form. Here is my view Unable to access an error message corresponding

More information

Building a Django Twilio Programmable Chat Application

Building a Django Twilio Programmable Chat Application Building a Django Twilio Programmable Chat Application twilio.com/blog/08/0/python-django-twilio-programmable-chat-application.html March 7, 08 As a developer, I ve always wanted to include chat capabilities

More information

2. What is Google App Engine. Overview Google App Engine (GAE) is a Platform as a Service (PaaS) cloud computing platform for developing and hosting web applications in Google-managed data centers. Google

More information

Building and packaging mobile apps in Dreamweaver CC

Building and packaging mobile apps in Dreamweaver CC Building and packaging mobile apps in Dreamweaver CC Requirements Prerequisite knowledge Previous experience with Dreamweaver, jquery Mobile, and PhoneGap will help you make the most of this tutorial.

More information

django-ad-code Documentation

django-ad-code Documentation django-ad-code Documentation Release 1.0.0 Mark Lavin Apr 21, 2018 Contents 1 Installation 3 2 Documentation 5 3 License 7 4 Contributing 9 5 Contents 11 5.1 Getting Started..............................................

More information

Building Production Quality Apps on App Engine. Ken Ashcraft 5/29/2008

Building Production Quality Apps on App Engine. Ken Ashcraft 5/29/2008 Building Production Quality Apps on App Engine Ken Ashcraft 5/29/2008 Outline Writing code for production Testing performance Safe deployment after launch 3 Writing Code for Production Writing Code for

More information

CSCU9B2 Practical 8: Location-Aware Web Pages NOT USED (DOES NOT ALL WORK AS ADVERTISED)

CSCU9B2 Practical 8: Location-Aware Web Pages NOT USED (DOES NOT ALL WORK AS ADVERTISED) CSCU9B2 Practical 8: Location-Aware Web Pages NOT USED (DOES NOT ALL WORK AS ADVERTISED) Aims: To use JavaScript to make use of location information. This practical is really for those who need a little

More information

django-session-security Documentation

django-session-security Documentation django-session-security Documentation Release 2.5.1 James Pic Oct 27, 2017 Contents 1 Why not just set the session to expire after X minutes? 3 2 How does it work? 5 3 Requirements 7 4 Resources 9 4.1

More information

GMusicProcurator Documentation

GMusicProcurator Documentation GMusicProcurator Documentation Release 0.5.0 Mark Lee Sep 27, 2017 Contents 1 Features 3 2 Table of Contents 5 2.1 Installation................................................ 5 2.1.1 Requirements..........................................

More information

CIW 1D CIW JavaScript Specialist.

CIW 1D CIW JavaScript Specialist. CIW 1D0-635 CIW JavaScript Specialist http://killexams.com/exam-detail/1d0-635 Answer: A QUESTION: 51 Jane has created a file with commonly used JavaScript functions and saved it as "allfunctions.js" in

More information

Evolution of the "Web

Evolution of the Web Evolution of the "Web App" @HenrikJoreteg @Hoarse_JS THIS USED TO BE SIMPLE! 1. WRITE SOME HTML 2. LAY IT OUT WITH FRAMES OR TABLES 3. FTP IT TO A SERVER! 4. BAM! CONGRATULATIONS, YOU RE A WEB DEVELOPER!

More information

Unifer Documentation. Release V1.0. Matthew S

Unifer Documentation. Release V1.0. Matthew S Unifer Documentation Release V1.0 Matthew S July 28, 2014 Contents 1 Unifer Tutorial - Notes Web App 3 1.1 Setting up................................................. 3 1.2 Getting the Template...........................................

More information

Web applications Developing Android/Iphone Applications using WebGUI

Web applications Developing Android/Iphone Applications using WebGUI Web applications Developing Android/Iphone Applications using WebGUI Joeri de Bruin Oqapi Software joeri@oqapi.nl 1 Overview Web applications Create WebApp with WebGUI Turn WebApp into native mobile app

More information

BXG BLUX Game Engine Getting Started BXG Getting Started

BXG BLUX Game Engine Getting Started BXG Getting Started BXG Getting Started 1. Setup... 2 1.1. General Tools... 2 1.2. Downloading BXG SDK... 3 1.3. Downloading Sample Games... 6 2. Step-by-Step Example of Game Source Writing... 9 2.1. Constructing Game working

More information

Alert. In [ ]: %%javascript alert("hello");

Alert. In [ ]: %%javascript alert(hello); JavaScript V Alerts and Dialogs For many years, alerts and dialogs, which pop up over the browser, were popular forms of user interaction These days there are nicer ways to handle these interactions, collectively

More information

Pop-up. File format/ size: Must provide (.gif or.jpg) still image - max. 75KB for Mobile - max. 400KB for Tablet

Pop-up. File format/ size: Must provide (.gif or.jpg) still image - max. 75KB for Mobile - max. 400KB for Tablet Pop-up Dimensions: Mobile: 640 (W) x 960 (H) pixels Tablet Portrait - 1536 (W) x 2048 (H) pixels [For mytv SUPER only] Tablet Landscape - 2048 (W) x 1536 (H) pixels [For mytv SUPER only] File format/ size:

More information

CIS192 Python Programming

CIS192 Python Programming CIS192 Python Programming Wrap-Up Lecture Harry Smith University of Pennsylvania December 6, 2017 Harry Smith (University of Pennsylvania) CIS 192 December 6, 2017 1 / 20 Outline 1 A Brief Discussion on

More information

Building Scalable Web Apps with Python and Google Cloud Platform. Dan Sanderson, April 2015

Building Scalable Web Apps with Python and Google Cloud Platform. Dan Sanderson, April 2015 Building Scalable Web Apps with Python and Google Cloud Platform Dan Sanderson, April 2015 June 2015 pre-order now Agenda Introducing GCP & GAE Starting a project with gcloud and Cloud Console Understanding

More information

Design Document V2 ThingLink Startup

Design Document V2 ThingLink Startup Design Document V2 ThingLink Startup Yon Corp Andy Chen Ashton Yon Eric Ouyang Giovanni Tenorio Table of Contents 1. Technology Background.. 2 2. Design Goal...3 3. Architectural Choices and Corresponding

More information

CSE 115. Introduction to Computer Science I

CSE 115. Introduction to Computer Science I CSE 115 Introduction to Computer Science I Road map Review Limitations of front-end sites Web servers Examples Review

More information

GPS Device API Guide Program

GPS Device API Guide Program http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:hyb3.5:guide:ios:gps GPS Device API Guide Program Outline Mobile GPS Device API Guide Program is a guide application for GPS Device API, using

More information

Writing Web Apps in C++? Eric Bidelman, Google COSCUP / GNOME.Asia - Taipei, Taiwan August 14, 2010

Writing Web Apps in C++? Eric Bidelman, Google COSCUP / GNOME.Asia - Taipei, Taiwan August 14, 2010 Writing Web Apps in C++? Eric Bidelman, Google COSCUP / GNOME.Asia - Taipei, Taiwan August 14, 2010 Agenda Overview of Native Client SDK Calculator tutorial Demos Native Client Native Client ( NaCl ) The

More information

Framework7 and PhoneGap. By Lars Johnson

Framework7 and PhoneGap. By Lars Johnson Framework7 and PhoneGap By Lars Johnson What do I need to Know? HTML CSS JavaScript By Lars Johnson What is the difference between- Web App Native App Native/Web Hybrid App What are some examples? http://phonegap.com/blog/2015/03/12/mobile-choices-post1

More information

Jquery Ajax Json Php Mysql Data Entry Example

Jquery Ajax Json Php Mysql Data Entry Example Jquery Ajax Json Php Mysql Data Entry Example Then add required assets in head which are jquery library, datatable js library and css By ajax api we can fetch json the data from employee-grid-data.php.

More information

Google Maps Manually Place Marker On Click V3 Remove

Google Maps Manually Place Marker On Click V3 Remove Google Maps Manually Place Marker On Click V3 Remove Following is the HTML Markup containing the Google Map implementation. To add markers you will need to click on the map. These markers are added. When

More information

AngularJS Intro Homework

AngularJS Intro Homework AngularJS Intro Homework Contents 1. Overview... 2 2. Database Requirements... 2 3. Navigation Requirements... 3 4. Styling Requirements... 4 5. Project Organization Specs (for the Routing Part of this

More information

HTML5 Applications Made Easy on Tizen IVI. Brian Jones / Jimmy Huang

HTML5 Applications Made Easy on Tizen IVI. Brian Jones / Jimmy Huang HTML5 Applications Made Easy on Tizen IVI Brian Jones / Jimmy Huang Obstacles IVI Developers Face Today Lots of hardware variety. Multiple operating systems Different input devices Software development

More information

After signing in, click on the grid icon and then click on Drive from the Google app menu.

After signing in, click on the grid icon and then click on Drive from the Google app menu. !!! A quick way to access Google Drive is to go to https://gmail.maine.edu and sign in using your!!! MaineStreet username and password. After signing in, click on the grid icon and then click on Drive

More information

Homework #7 Google Cloud Platform

Homework #7 Google Cloud Platform Homework #7 Google Cloud Platform This semester we are allowing all students to explore cloud computing as offered by the Google Cloud Platform. Using the instructions below one can establish a website

More information

DATABASE SYSTEMS. Introduction to web programming. Database Systems Course, 2016

DATABASE SYSTEMS. Introduction to web programming. Database Systems Course, 2016 DATABASE SYSTEMS Introduction to web programming Database Systems Course, 2016 AGENDA FOR TODAY Client side programming HTML CSS Javascript Server side programming: PHP Installing a local web-server Basic

More information

django-xross Documentation

django-xross Documentation django-xross Documentation Release 0.6.0 Igor idle sign Starikov Jan 14, 2018 Contents 1 Description 3 2 Requirements 5 3 Table of Contents 7 3.1 Quickstart................................................

More information

Manual Html A Href Onclick Submit Form

Manual Html A Href Onclick Submit Form Manual Html A Href Onclick Submit Form JS HTML DOM. DOM Intro DOM Methods HTML form validation can be done by a JavaScript. If a form field _input type="submit" value="submit" /form_. As shown in a previous

More information

django-ajax-form-mixin Documentation

django-ajax-form-mixin Documentation django-ajax-form-mixin Documentation Release 0.0.1 Jonas Geiregat Sep 27, 2017 Contents 1 Usage 3 2 Serving Ajax Validation With Your Static Media Server 7 i ii django-ajax-form-mixin Documentation, Release

More information

Developing Apps for the BlackBerry PlayBook

Developing Apps for the BlackBerry PlayBook Developing Apps for the BlackBerry PlayBook Lab # 2: Getting Started with JavaScript The objective of this lab is to review some of the concepts in JavaScript for creating WebWorks application for the

More information

Getting Started with HTML5 using BlackBerry WebWorks

Getting Started with HTML5 using BlackBerry WebWorks Getting Started with HTML5 using BlackBerry WebWorks Lab # 1: Using New Options in the Latest Web Technologies The objective of this lab is to introduce some of the new concepts added in HTML5 by creating

More information

Introducing FTP and HTTP Updated: 9/25/18

Introducing FTP and HTTP Updated: 9/25/18 Introducing FTP and HTTP Updated: 9/25/18 A. Objectives How to access and FTP server How to upload and download files into and from and FTP server How to create an HTML file. How to upload an HTML file

More information

Süddeutsche Zeitung, Digital Edition

Süddeutsche Zeitung, Digital Edition Süddeutsche Zeitung, Digital Edition Technical Specifications for Ads, as per October 06, 2015 Content 1. Introduction and Delivery Date p. 1 2. Image Ads 2.1. Static image ads p. 2 2.2. HTML-Ads p. 4

More information

This is CS50 CS164. Mobile Software Engineering

This is CS50 CS164. Mobile Software Engineering This is CS50 CS164 Mobile Software Engineering diff cs50 cs164 HTML5, PHP, JavaScript, Objective-C workload typedef struct node { int n; struct node *next; } node; typedef struct node { student *student;

More information

Client Side JavaScript and AJAX

Client Side JavaScript and AJAX Client Side JavaScript and AJAX Client side javascript is JavaScript that runs in the browsers of people using your site. So far all the JavaScript code we've written runs on our node.js server. This is

More information

Serverless Single Page Web Apps, Part Four. CSCI 5828: Foundations of Software Engineering Lecture 24 11/10/2016

Serverless Single Page Web Apps, Part Four. CSCI 5828: Foundations of Software Engineering Lecture 24 11/10/2016 Serverless Single Page Web Apps, Part Four CSCI 5828: Foundations of Software Engineering Lecture 24 11/10/2016 1 Goals Cover Chapter 4 of Serverless Single Page Web Apps by Ben Rady Present the issues

More information

Databases/JQuery AUGUST 1, 2018

Databases/JQuery AUGUST 1, 2018 Databases/JQuery AUGUST 1, 2018 Databases What is a Database? A table Durable place for storing things Place to easily lookup and update information Databases: The M in MVC What is a Database? Your Model

More information

Meet Mojo. Jesse Donaldson Sr. Manager, Mojo Framework

Meet Mojo. Jesse Donaldson Sr. Manager, Mojo Framework Meet Mojo Jesse Donaldson Sr. Manager, Mojo Framework Goals webos UI overview Mojo apps are like web pages Development model is accessible App structure & basic framework usage Head start when you download

More information

Building OSM based web app from scratch

Building OSM based web app from scratch Building OSM based web app from scratch How to find the way through the open source jungle? Nils Vierus, Berlin osm-maps.eu What is my technical background? First programming language: ALGOL 60 (late 70

More information

nacelle Documentation

nacelle Documentation nacelle Documentation Release 0.4.1 Patrick Carey August 16, 2014 Contents 1 Standing on the shoulders of giants 3 2 Contents 5 2.1 Getting Started.............................................. 5 2.2

More information

Technical Requirements

Technical Requirements Technical Requirements Annonces pleinchamp com Delivery of elements 5 working days before the date of posting your campaign Contact : service-coordination@mb-diffusion.com General terms and conditions:

More information

KonaKart Shopping Widgets. 3rd January DS Data Systems (UK) Ltd., 9 Little Meadow Loughton, Milton Keynes Bucks MK5 8EH UK

KonaKart Shopping Widgets. 3rd January DS Data Systems (UK) Ltd., 9 Little Meadow Loughton, Milton Keynes Bucks MK5 8EH UK KonaKart Shopping Widgets 3rd January 2018 DS Data Systems (UK) Ltd., 9 Little Meadow Loughton, Milton Keynes Bucks MK5 8EH UK Introduction KonaKart ( www.konakart.com ) is a Java based ecommerce platform

More information

Table JESSICA MILLER WCLS COORDINATOR

Table JESSICA MILLER WCLS COORDINATOR Google Fusion Table JESSICA MILLER WCLS COORDINATOR JMILLER@CITLIB.ORG Purpose Google Fusion Tables is a data management tool that allows you to come to new conclusions about your data by seeing it in

More information

django-inplaceedit Documentation

django-inplaceedit Documentation django-inplaceedit Documentation Release 1.2.0 Pablo Martín September 17, 2013 CONTENTS i ii CHAPTER ONE GETTING STARTED 1.1 Information Inplace Edit Form is a Django application that allows you to inline

More information

Contents. Demos folder: Demos\14-Ajax. 1. Overview of Ajax. 2. Using Ajax directly. 3. jquery and Ajax. 4. Consuming RESTful services

Contents. Demos folder: Demos\14-Ajax. 1. Overview of Ajax. 2. Using Ajax directly. 3. jquery and Ajax. 4. Consuming RESTful services Ajax Contents 1. Overview of Ajax 2. Using Ajax directly 3. jquery and Ajax 4. Consuming RESTful services Demos folder: Demos\14-Ajax 2 1. Overview of Ajax What is Ajax? Traditional Web applications Ajax

More information

Building a Simple Mobile optimized Web App/Site Using the jquery Mobile Framework (part 2)

Building a Simple Mobile optimized Web App/Site Using the jquery Mobile Framework (part 2) Building a Simple Mobile optimized Web App/Site Using the jquery Mobile Framework (part 2) pinboard.in tag http://pinboard.in/u:jasonclark/t:amigos-jquery-mobile/ Agenda Open questions on jquery Mobile

More information

Creative Techniques for Loading Web Pages Faster

Creative Techniques for Loading Web Pages Faster low hanging fruit vs. micro-optimization Creative Techniques for Loading Web Pages Faster Trevor Parscal - Roan Kattouw - @trevorparscal @catrope People Roan robot Trevor human People Back-end Front-end

More information

Slug: HTML5 for Mobile Web Applications, ISBN number, 23! kyrnin hour23-code.doc

Slug: HTML5 for Mobile Web Applications, ISBN number, 23! kyrnin hour23-code.doc Slug: HTML5 for Mobile Web Applications, ISBN number, 23! kyrnin hour23-code.doc Hour 23 Code to detect support for GeoLocation, simply detect if the browser has that object: function supports_geolocation()

More information

Tutorials Php Y Jquery Mysql Database Without Refreshing Code

Tutorials Php Y Jquery Mysql Database Without Refreshing Code Tutorials Php Y Jquery Mysql Database Without Refreshing Code Code for Pagination using Php and JQuery. This code for pagination in PHP and MySql gets. Tutorial focused on Programming, Jquery, Ajax, PHP,

More information

Marketo Forms Integration Guide

Marketo Forms Integration Guide The SendSafely Secure Upload Widget can be easily integrated into any Marketo Form. Once integrated, users can secure attach files to any Marketo form. If you are not familiar with how SendSafely works,

More information

Developing with Google App Engine

Developing with Google App Engine Developing with Google App Engine Dan Morrill, Developer Advocate Dan Morrill Google App Engine Slide 1 Developing with Google App Engine Introduction Dan Morrill Google App Engine Slide 2 Google App Engine

More information

Statirator Documentation

Statirator Documentation Statirator Documentation Release 0.2.0 Meir Kriheli June 21, 2014 Contents 1 Reason 3 2 Source Code 5 2.1 Quick Start................................................ 5 2.2 Modus operandi.............................................

More information

Manual Html Image Src Url Path Not Working

Manual Html Image Src Url Path Not Working Manual Html Image Src Url Path Not Working _img src="file:///absolute/path/to/rails-app/public/image.png" alt="blah" /_. However i obviously want a relative path instead. Where is the relative path going.

More information

widgets, events, layout loosely similar to Swing test browser, or plugin for testing with real browser on local system

widgets, events, layout loosely similar to Swing test browser, or plugin for testing with real browser on local system 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

GPS Device API Guide Program

GPS Device API Guide Program http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:hyb3.5:guide:add:gps GPS Device API Guide Program Outline Mobile GPS Device API Guide Program is a guide application for GPS Device API, using

More information

Django-CSP Documentation

Django-CSP Documentation Django-CSP Documentation Release 3.0 James Socol, Mozilla September 06, 2016 Contents 1 Installing django-csp 3 2 Configuring django-csp 5 2.1 Policy Settings..............................................

More information

5/19/2015. Objectives. JavaScript, Sixth Edition. Using Touch Events and Pointer Events. Creating a Drag-and Drop Application with Mouse Events

5/19/2015. Objectives. JavaScript, Sixth Edition. Using Touch Events and Pointer Events. Creating a Drag-and Drop Application with Mouse Events Objectives JavaScript, Sixth Edition Chapter 10 Programming for Touchscreens and Mobile Devices When you complete this chapter, you will be able to: Integrate mouse, touch, and pointer events into a web

More information

Working Bootstrap Contact form with PHP and AJAX

Working Bootstrap Contact form with PHP and AJAX Working Bootstrap Contact form with PHP and AJAX Tutorial by Ondrej Svestka Bootstrapious.com Today I would like to show you how to easily build a working contact form using Boostrap framework and AJAX

More information

About Sven. Using Groovy & Grails since Aug 2006 Grails Podcast, Groovy Series Working at Yahoo!, Inc. Find out yourself

About Sven. Using Groovy & Grails since Aug 2006 Grails Podcast, Groovy Series Working at Yahoo!, Inc. Find out yourself About Sven Using Groovy & Grails since Aug 2006 Grails Podcast, Groovy Series Working at Yahoo!, Inc Find out yourself www.svenhaiges.de 2 Goals You know how to get started! You know how AJAX is supported

More information

Mobile Technologies. Types of Apps

Mobile Technologies. Types of Apps Mobile Technologies Types of Apps What is mobile? Devices and their capabilities It s about people Fundamentally, mobile refers to the user, and not the device or the application. Barbara Ballard, Designing

More information

ThingLink User Guide. Andy Chen Eric Ouyang Giovanni Tenorio Ashton Yon

ThingLink User Guide. Andy Chen Eric Ouyang Giovanni Tenorio Ashton Yon ThingLink User Guide Yon Corp Andy Chen Eric Ouyang Giovanni Tenorio Ashton Yon Index Preface.. 2 Overview... 3 Installation. 4 Functionality. 5 Troubleshooting... 6 FAQ... 7 Contact Information. 8 Appendix...

More information

Lab 1: Introducing HTML5 and CSS3

Lab 1: Introducing HTML5 and CSS3 CS220 Human- Computer Interaction Spring 2015 Lab 1: Introducing HTML5 and CSS3 In this lab we will cover some basic HTML5 and CSS, as well as ways to make your web app look and feel like a native app.

More information

wagtailmenus Documentation

wagtailmenus Documentation wagtailmenus Documentation Release 2.12 Andy Babic Nov 17, 2018 Contents 1 Full index 3 1.1 Overview and key concepts....................................... 3 1.1.1 Better control over top-level menu

More information

Dreamweaver CS6. Table of Contents. Setting up a site in Dreamweaver! 2. Templates! 3. Using a Template! 3. Save the template! 4. Views!

Dreamweaver CS6. Table of Contents. Setting up a site in Dreamweaver! 2. Templates! 3. Using a Template! 3. Save the template! 4. Views! Dreamweaver CS6 Table of Contents Setting up a site in Dreamweaver! 2 Templates! 3 Using a Template! 3 Save the template! 4 Views! 5 Properties! 5 Editable Regions! 6 Creating an Editable Region! 6 Modifying

More information

Homework 9: Stock Search Android App with Facebook Post A Mobile Phone Exercise

Homework 9: Stock Search Android App with Facebook Post A Mobile Phone Exercise Homework 9: Stock Search Android App with Facebook Post A Mobile Phone Exercise 1. Objectives Ø Become familiar with Android Studio, Android App development and Facebook SDK for Android. Ø Build a good-looking

More information

Homework 8: Ajax, JSON and Responsive Design Travel and Entertainment Search (Bootstrap/Angular/AJAX/JSON/jQuery /Cloud Exercise)

Homework 8: Ajax, JSON and Responsive Design Travel and Entertainment Search (Bootstrap/Angular/AJAX/JSON/jQuery /Cloud Exercise) Homework 8: Ajax, JSON and Responsive Design Travel and Entertainment Search (Bootstrap/Angular/AJAX/JSON/jQuery /Cloud Exercise) 1. Objectives Get familiar with the AJAX and JSON technologies Use a combination

More information

Configuring Anonymous Access to Analysis Files in TIBCO Spotfire 7.5

Configuring Anonymous Access to Analysis Files in TIBCO Spotfire 7.5 Configuring Anonymous Access to Analysis Files in TIBCO Spotfire 7.5 Introduction Use Cases for Anonymous Authentication Anonymous Authentication in TIBCO Spotfire 7.5 Enabling Anonymous Authentication

More information

Building Native Mapping Apps with PhoneGap: Advanced Techniques Andy

Building Native Mapping Apps with PhoneGap: Advanced Techniques Andy Building Native Mapping Apps with PhoneGap: Advanced Techniques Andy Gup @agup Agenda Application life-cycle Working with UI frameworks Security Geolocation Offline Expectations Experience with PhoneGap

More information

VS005 - Cordova vs NativeScript

VS005 - Cordova vs NativeScript presenta VS005 - Cordova vs NativeScript Fabio Franzini Microsoft MVP www.wpc2015.it info@wpc2015.it - +39 02 365738.11 - #wpc15it 1 Apache Cordova Telerik NativeScript Cordova VS NativeScript Agenda www.wpc2015.it

More information

Understanding the Dumper Program Google Application Engine University of Michigan Informatics

Understanding the Dumper Program Google Application Engine University of Michigan Informatics UnderstandingtheDumperProgram GoogleApplicationEngine UniversityofMichigan Informatics Thishandoutdescribesaverysimpleandlow levelgoogleapplicationengine applicationcalled Dumper thatjustdumpsoutthedatafromahttprequest.

More information

28 JANUARY, Updating appearances. WordPress. Kristine Aa. Kristoffersen, based on slides by Tuva Solstad and Anne Tjørhom Frick

28 JANUARY, Updating appearances. WordPress. Kristine Aa. Kristoffersen, based on slides by Tuva Solstad and Anne Tjørhom Frick Updating appearances WordPress Kristine Aa. Kristoffersen, based on slides by Tuva Solstad and Anne Tjørhom Frick Agenda Brief talk about assessments Plan for WordPress lessons Installing themes Installing

More information

we're telling PHP to convert the contents of a file (in this case, Apple's server. Curl Error Code 19 Payload File Is Missing

we're telling PHP to convert the contents of a file (in this case, Apple's server. Curl Error Code 19 Payload File Is Missing Curl Error Code 19 Payload File Is Missing @nategood nategood on May 19. Merge pull executable file 1177 lines (1042 sloc) 36.862 kb @return bool has the internal curl request been initialized? */. 19.

More information