RailsConf Europe 2008 Juggernaut Realtime Rails. Alex MacCaw and Stuart Eccles

Size: px
Start display at page:

Download "RailsConf Europe 2008 Juggernaut Realtime Rails. Alex MacCaw and Stuart Eccles"

Transcription

1 RailsConf Europe 2008 Juggernaut Realtime Rails Alex MacCaw and Stuart Eccles

2 RailsConf Europe 2008 Juggernaut Realtime Rails Alex MacCaw and Stuart Eccles

3

4 server push

5 HTTP HTTP GET/POST <html/> <script/> Client Server

6 Server Push Client Server

7 what is Juggernaut?

8 History Written by Alex MacCaw in 2006 Published at Latest versions at GitHub just for Edge Rails MIT License

9 3 Components Invisible Flash SWF Rails Plugin Juggernaut Server Client Messenger Broadcaster

10 Juggernaut is also

11 This guy... what do we want?

12 This guy... what do we want?

13 X-Men Character

14 X-Men Character

15 the other Juggernaut?

16 real world users

17 Collaboration

18 Real Time Interaction

19 Multiplayer Games

20 Multiplayer Games

21 Chat

22 Real Time Activity Feeds

23 Enhancing Traditional Media

24 juggernaut competition

25

26 resource intensive

27 resource intensive not realtime

28

29 Firefox memory issues

30 Firefox memory issues not crossdomain

31 Firefox memory issues IE clicking not crossdomain

32 Firefox memory issues max 2 streams in IE IE clicking not crossdomain

33 features browser compatibility Flash 8 > 95% of all browsers cross-os Prototype and JQuery versions

34 features scale with eventmachine 30k concurrent users and clustering support

35 features channels client can subscribe to one or more channels Broadcast can be channel selected Broadcast can even be client selected

36 features authentication IP whitelist shared secrets authentication callbacks

37 features callbacks client connect callback client disconnect callback

38 features queries query server for list of clients

39 in pictures

40 Rails Application Juggernaut Rails Plugin Juggernaut Push Server

41 Rails Application Juggernaut Rails Plugin Juggernaut Push Server

42 GET Rails Application Juggernaut Rails Plugin Juggernaut Push Server

43 OK Rails Application Juggernaut Rails Plugin Juggernaut Push Server

44 SUBSCRIBE Rails Application Juggernaut Rails Plugin Juggernaut Push Server

45 Rails Application Juggernaut Rails Plugin Juggernaut Push Server

46 Rails Application Juggernaut Rails Plugin callback Juggernaut Push Server

47 Rails Application SUBSCRIBE Juggernaut Rails Plugin Juggernaut Push Server

48 Rails Application Juggernaut Rails Plugin callback Juggernaut Push Server

49 Rails Application RJS Juggernaut Rails Plugin JSON MESSAGE Juggernaut Push Server

50 Rails Application Juggernaut Rails Plugin JS Juggernaut Push Server

51 JS Rails Application Juggernaut Rails Plugin Juggernaut Push Server

52 Wonder-women has entered chat Rails Application Juggernaut Rails Plugin JS Juggernaut Push Server

53 Wonder-women has entered chat JS Rails Application Juggernaut Rails Plugin Juggernaut Push Server

54 Rails Application Juggernaut Rails Plugin Juggernaut Push Server

55 Rails Application Juggernaut Rails Plugin Juggernaut Push Server

56 AJAX Rails Application Juggernaut Rails Plugin Juggernaut Push Server

57 Rails Application RJS Juggernaut Rails Plugin JSON MESSAGE Juggernaut Push Server

58 Rails Application Juggernaut Rails Plugin JS JS JS Juggernaut Push Server

59 Rails Application Juggernaut Rails Plugin JS JS Juggernaut Push Server JS

60 Rails Application JS Juggernaut Rails Plugin JS Juggernaut Push Server JS

61 JS Rails Application JS Juggernaut Rails Plugin Juggernaut Push Server JS

62 SuperMan says Hi! SuperMan says Hi! Rails Application Juggernaut Rails Plugin SuperMan says Hi! Juggernaut Push Server

63 Rails Application Juggernaut Rails Plugin Juggernaut Push Server

64 Rails Application Juggernaut Rails Plugin Juggernaut Push Server

65 RAKE Rails Application Juggernaut Rails Plugin Juggernaut Push Server

66 Rails Application RJS Juggernaut Rails Plugin JSON MESSAGE Juggernaut Push Server

67 Rails Application Juggernaut Rails Plugin JS JS JS Juggernaut Push Server

68 Rails Application Juggernaut Rails Plugin JS JS Juggernaut Push Server JS

69 Rails Application JS Juggernaut Rails Plugin JS Juggernaut Push Server JS

70 JS Rails Application JS Juggernaut Rails Plugin Juggernaut Push Server JS

71 Chat will be closing in 10 minutes! Chat will be closing in 10 minutes! Rails Application Juggernaut Rails Plugin Chat will be closing in 10 minutes! Juggernaut Push Server

72 Rails Application Juggernaut Rails Plugin Juggernaut Push Server

73 Rails Application Juggernaut Rails Plugin Juggernaut Push Server

74 notification Rails Application Juggernaut Rails Plugin Juggernaut Push Server

75 Rails Application Juggernaut Rails Plugin callback Juggernaut Push Server

76 Rails Application RJS Juggernaut Rails Plugin JSON MESSAGE Juggernaut Push Server

77 Rails Application Juggernaut Rails Plugin JS JS Juggernaut Push Server

78 Rails Application Juggernaut Rails Plugin JS Juggernaut Push Server JS

79 Rails Application JS Juggernaut Rails Plugin Juggernaut Push Server JS

80 SuperMan has left the building! Rails Application Juggernaut Rails Plugin SuperMan has left the building! Juggernaut Push Server

81 Audience Participation

82 def code

83 Partial Update Example

84 Install Juggernaut script/plugin install \ sudo gem install juggernaut (includes json and eventmachine dependencies)

85 Start the Push Server juggernaut -g juggernaut.yml juggernaut -c juggernaut.yml

86 View <html> <head> <%= javascript_include_tag :defaults, :juggernaut %> <%= juggernaut %> </head>

87 Controller render :juggernaut do page page.replace 'person-45', :partial => 'person' end

88 That s it!

89 Demo 1: Chat

90 Subscribe to channels <%= juggernaut(:channels => ['one', 'two', 'three']) %>

91 Broadcast to channels render :juggernaut => { :type => :send_to_channels, :channels => ['one'] } do page page.alert('hello World') end

92 Subscribe as a particular client <%= juggernaut(:client_id => current_user.id) %>

93 Broadcast to a particular client render :juggernaut => { :type => :send_to_client, :client_id } do page page.alert('hello World') end

94 Find connected clients Juggernaut.show_clients

95 Don t want inline RJS? render_juggernaut('person_update.rjs')

96 Don t Want RJS? Juggernaut.send_to_all( alert( foo ); ) Juggernaut.send_to_client( alert( foo Juggernaut.send_to_channel( alert( foo

97 Demo 2: Google Maps

98 tips

99 Don t push huge amounts of HTML to the browser. Trigger an AJAX request instead Don t push huge amounts of Javascript to the browser. Trigger a function call already loaded by the browser. In callbacks Juggernaut will pass the session id so you can use existing session information. Escape your user inputs!! XSS is very dangerous in a Push JavaScript world.

100 Thank You! Q & A

Standard 1 The student will author web pages using the HyperText Markup Language (HTML)

Standard 1 The student will author web pages using the HyperText Markup Language (HTML) I. Course Title Web Application Development II. Course Description Students develop software solutions by building web apps. Technologies may include a back-end SQL database, web programming in PHP and/or

More information

WEB SECURITY WORKSHOP TEXSAW Presented by Solomon Boyd and Jiayang Wang

WEB SECURITY WORKSHOP TEXSAW Presented by Solomon Boyd and Jiayang Wang WEB SECURITY WORKSHOP TEXSAW 2014 Presented by Solomon Boyd and Jiayang Wang Introduction and Background Targets Web Applications Web Pages Databases Goals Steal data Gain access to system Bypass authentication

More information

PubNub Training Webinar. Introduction to PubNub JavaScript SDK

PubNub Training Webinar. Introduction to PubNub JavaScript SDK PubNub Training Webinar Introduction to PubNub JavaScript SDK Course Agenda Participation What is PubNub? JavaScript API Resources Upcoming Events Q & A What is PubNub? Globally distributed Realtime Data

More information

IERG 4080 Building Scalable Internet-based Services

IERG 4080 Building Scalable Internet-based Services Department of Information Engineering, CUHK MScIE 2 nd Semester, 2015/16 IERG 4080 Building Scalable Internet-based Services Lecture 9 Web Sockets for Real-time Communications Lecturer: Albert C. M. Au

More information

EIE4432 Web Systems and Technologies Project Report. Project Name: Draw & Guess GROUP 21. WatermarkPDF. shenxialin shen

EIE4432 Web Systems and Technologies Project Report. Project Name: Draw & Guess GROUP 21. WatermarkPDF. shenxialin shen EIE4432 Web Systems and Technologies Project Report s e Project Name: Draw & Guess GROUP 21 SHEN Xialin (Spark) 12131888D Introduction XUE Peng (Raymond) 12134614D This is a multi-player draw and guess

More information

Live Guide Co-browsing

Live Guide Co-browsing TECHNICAL PAPER Live Guide Co-browsing Netop develops and sells software solutions that enable swift, secure and seamless transfer of video, screens, sounds and data between two or more computers over

More information

What s New in CloudKit

What s New in CloudKit System Frameworks #WWDC15 What s New in CloudKit Session 704 Olivier Bonnet icloud Client Eric Krugler icloud Server 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted

More information

User Interaction: jquery

User Interaction: jquery User Interaction: jquery Assoc. Professor Donald J. Patterson INF 133 Fall 2012 1 jquery A JavaScript Library Cross-browser Free (beer & speech) It supports manipulating HTML elements (DOM) animations

More information

DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER PROJECT

DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER PROJECT DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER BY Javid M. Alimohideen Meerasa M.S., University of Illinois at Chicago, 2003 PROJECT Submitted as partial fulfillment of the requirements for the degree

More information

Mini Project - Phase 2 Connexus Website

Mini Project - Phase 2 Connexus Website Mini Project - Phase 2 Connexus Website The url to Connexus Website: http://connexus-beta.appspot.com/ Here is my github repository: https://github.com/azizclass/nimadini The second phase is in the MiniProject-Phase2/Connexus

More information

Learn Web Development CodersTrust Polska course outline. Hello CodersTrust! Unit 1. HTML Structuring the Web Prerequisites Learning pathway.

Learn Web Development CodersTrust Polska course outline. Hello CodersTrust! Unit 1. HTML Structuring the Web Prerequisites Learning pathway. Learn Web Development CodersTrust Polska course outline Hello CodersTrust! Syllabus Communication Publishing your work Course timeframe Kick off Unit 1 Getting started with the Web Installing basic software

More information

last time: command injection

last time: command injection Web Security 1 last time: command injection 2 placing user input in more complicated language SQL shell commands input accidentally treated as commands in language instead of single value (e.g. argument/string

More information

Security and Privacy. SWE 432, Fall 2016 Design and Implementation of Software for the Web

Security and Privacy. SWE 432, Fall 2016 Design and Implementation of Software for the Web Security and Privacy SWE 432, Fall 2016 Design and Implementation of Software for the Web Today Security What is it? Most important types of attacks Privacy For further reading: https://www.owasp.org/index.php/

More information

Spark SDK Video - Overview and Coding Demo

Spark SDK Video - Overview and Coding Demo DEVNET-2026 Spark SDK Video - Overview and Coding Demo Olivier Proffit - Sr. Product Manager David Staudt DevNet Developer Evangelist Cisco Spark How Questions? Use Cisco Spark to communicate with the

More information

Web Application with AJAX. Kateb, Faris; Ahmed, Mohammed; Alzahrani, Omar. University of Colorado, Colorado Springs

Web Application with AJAX. Kateb, Faris; Ahmed, Mohammed; Alzahrani, Omar. University of Colorado, Colorado Springs Web Application with AJAX Kateb, Faris; Ahmed, Mohammed; Alzahrani, Omar University of Colorado, Colorado Springs CS 526 Advanced Internet and Web Systems Abstract Asynchronous JavaScript and XML or Ajax

More information

Software. Full Stack Web Development Intensive, Fall Lecture Topics. Class Sessions. Grading

Software. Full Stack Web Development Intensive, Fall Lecture Topics. Class Sessions. Grading Full Stack Web Development Intensive, Fall 2017 There are two main objectives to this course. The first is learning how to build websites / web applications and the assets that compose them. The second

More information

Events & Callbacks (ESaaS 6.5)! 2013 Armando Fox & David Patterson, all rights reserved

Events & Callbacks (ESaaS 6.5)! 2013 Armando Fox & David Patterson, all rights reserved Events & Callbacks (ESaaS 6.5)! 2013 Armando Fox & David Patterson, all rights reserved Events" What: occurrences that affect the user interface" User interacts with a page element" Previously-set timer

More information

CS 155 Project 2. Overview & Part A

CS 155 Project 2. Overview & Part A CS 155 Project 2 Overview & Part A Project 2 Web application security Composed of two parts Part A: Attack Part B: Defense Due date: Part A: May 5th (Thu) Part B: May 12th (Thu) Project 2 Ruby-on-Rails

More information

Frontend UI Training. Whats App :

Frontend UI Training. Whats App : Frontend UI Training Whats App : + 916 667 2961 trainer.subbu@gmail.com What Includes? 1. HTML 5 2. CSS 3 3. SASS 4. JavaScript 5. ES 6/7 6. jquery 7. Bootstrap 8. AJAX / JSON 9. Angular JS 1x 10. Node

More information

NODE.JS MOCK TEST NODE.JS MOCK TEST I

NODE.JS MOCK TEST NODE.JS MOCK TEST I http://www.tutorialspoint.com NODE.JS MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Node.js Framework. You can download these sample mock tests at

More information

Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios

Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Simone Bordet sbordet@intalio.com 1 Agenda What are Comet web applications? Impacts of Comet web applications WebSocket

More information

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript PHP Curriculum Module: HTML5, CSS3 & JavaScript Introduction to the Web o Explain the evolution of HTML o Explain the page structure used by HTML o List the drawbacks in HTML 4 and XHTML o List the new

More information

Oracle Communications WebRTC Session Controller

Oracle Communications WebRTC Session Controller Oracle Communications WebRTC Session Controller Concepts Release 7.0 E40976-01 November 2013 Oracle Communications WebRTC Session Controller Concepts, Release 7.0 E40976-01 Copyright 2013, Oracle and/or

More information

IBM Web Content Manager, programmatically using content as a service.

IBM Web Content Manager, programmatically using content as a service. Introduction 1 IBM Web Content Manager, programmatically using content as a service. Table of Contents Table of Contents... 1 Introduction... 1 Prerequisites... 3 IBM Web Content Manager... 3 IBM Script

More information

Your Scripts in My Page: What Could Possibly Go Wrong? Sebastian Lekies / Ben Stock Martin Johns

Your Scripts in My Page: What Could Possibly Go Wrong? Sebastian Lekies / Ben Stock Martin Johns Your Scripts in My Page: What Could Possibly Go Wrong? Sebastian Lekies (@slekies) / Ben Stock (@kcotsneb) Martin Johns (@datenkeller) Agenda The Same-Origin Policy Cross-Site Script Inclusion (XSSI) Generalizing

More information

Web Sockets and SignalR Building the Real Time Web

Web Sockets and SignalR Building the Real Time Web Web Sockets and SignalR Building the Real Time Web DDD South West Saturday 26th May 2012 Chris Alcock Agenda Introduction What is Real Time? Interactive? Web Sockets Who What When How? Examples (Client

More information

Jquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error

Jquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error Jquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error The request returns http 200 OK, but the xhr status is 0, error. jquery Ajax Request to get JSON data fires error event to make an ajax

More information

Adventures with BaseX and web applications. Andy Feb 2013

Adventures with BaseX and web applications. Andy Feb 2013 Adventures with BaseX and web applications Andy Bunce @apb1704 Feb 2013 BaseX and the Web GraphXQ RESTXQ + Graphviz ( Using a PaaS ) CellarXQ Angular.js + OAuth BaseX with Node.js + events RESTXQ http://docs.basex.org/wiki/restxq

More information

LICENSING PROGRAM SOFTWARE IMPROVEMENT NOTICE VERSION 3.9

LICENSING PROGRAM SOFTWARE IMPROVEMENT NOTICE VERSION 3.9 9.1 Recipient Selection Interface Redesigned the "Step 1 - Select Recipients" form for intuitive profiling and added the ability to select multiple Bookmarks for mailings. The Recipients List is updated

More information

20486-Developing ASP.NET MVC 4 Web Applications

20486-Developing ASP.NET MVC 4 Web Applications Course Outline 20486-Developing ASP.NET MVC 4 Web Applications Duration: 5 days (30 hours) Target Audience: This course is intended for professional web developers who use Microsoft Visual Studio in an

More information

Smashing Node.JS: JavaScript Everywhere

Smashing Node.JS: JavaScript Everywhere Smashing Node.JS: JavaScript Everywhere Rauch, Guillermo ISBN-13: 9781119962595 Table of Contents PART I: GETTING STARTED: SETUP AND CONCEPTS 5 Chapter 1: The Setup 7 Installing on Windows 8 Installing

More information

JavaScript: the Big Picture

JavaScript: the Big Picture JavaScript had to look like Java only less so be Java's dumb kid brother or boy-hostage sidekick. Plus, I had to be done in ten days or something worse than JavaScript would have happened.! JavaScript:

More information

Courslets, a golf improvement web service. Peter Battaglia

Courslets, a golf improvement web service. Peter Battaglia Courslets, a golf improvement web service Peter Battaglia Discussion Project Overview Design and Technologies Utilized Rails and REST URLs, URLs, URLs Rails and Web Services What s s exposed as a service?

More information

Top 10 AJAX security holes & driving factors

Top 10 AJAX security holes & driving factors Top 10 AJAX security holes & driving factors Shreeraj Shah Founder, Net Square shreeraj@net-square.com Introduction One of the central ingredients of Web 2.0 applications is Ajax encompassed by JavaScripts.

More information

Contents. xvii xix xxiil. xxvii

Contents. xvii xix xxiil. xxvii Contents FOREWORD INTRODUCTION INDUSTRY ANALYSIS PREFACE ACKNOWLEDGMENTS BIOGRAPHY XV xvii xix xxiil XXV xxvii PART I CHAPTER 1 INTRODUCTION TO MOBILE SECURITY DEVELOPMENT Understanding Secure Web Development

More information

HTTP Authentication API

HTTP Authentication API HTTP Authentication API Note: Both GET (URL format) and POST http requests are supported. Note that POST is considered better security as URL data can be cached in the browser. HTTP URL Format http(s)://your_securenvoy_server/secserver?flag=desktop&version=2.0&status=auth&userid=(my_userid)&passcode=(6

More information

Keeping Rails Applications on Track with Brakeman. Justin RailsConf 2012

Keeping Rails Applications on Track with Brakeman. Justin RailsConf 2012 Keeping Rails Applications on Track with Brakeman Justin Collins @presidentbeef RailsConf 2012 1 Everyone knows they should worry about security 2 But when should you worry? 3 Idealized Software Development

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

Security. CSC309 TA: Sukwon Oh

Security. CSC309 TA: Sukwon Oh Security CSC309 TA: Sukwon Oh Outline SQL Injection NoSQL Injection (MongoDB) Same Origin Policy XSSI XSS CSRF (XSRF) SQL Injection What is SQLI? Malicious user input is injected into SQL statements and

More information

EPHP a tool for learning the basics of PHP development. Nick Whitelegg School of Media Arts and Technology Southampton Solent University

EPHP a tool for learning the basics of PHP development. Nick Whitelegg School of Media Arts and Technology Southampton Solent University EPHP a tool for learning the basics of PHP development Nick Whitelegg School of Media Arts and Technology Southampton Solent University My background Lecturer at Southampton Solent University since 2003

More information

Content Security Policy

Content Security Policy Content Security Policy And mitigating Cross-site Scripting vulnerabilities Joseph Fields M.Sc Computer Science - December 2016 Introduction HTML and Javascript power billions of websites visited daily

More information

PHP. MIT 6.470, IAP 2010 Yafim Landa

PHP. MIT 6.470, IAP 2010 Yafim Landa PHP MIT 6.470, IAP 2010 Yafim Landa (landa@mit.edu) LAMP We ll use Linux, Apache, MySQL, and PHP for this course There are alternatives Windows with IIS and ASP Java with Tomcat Other database systems

More information

Real Time Apps Using SignalR

Real Time Apps Using SignalR Real Time Apps Using SignalR Anurag Choudhry Solution Architect,Banking Technology Group,Tata Consultancy Services,New Delhi, India Anshu Premchand Lead, Presales & Solutions,Banking Technology Group,Tata

More information

Master Project Software Engineering: Team-based Development WS 2010/11

Master Project Software Engineering: Team-based Development WS 2010/11 Master Project Software Engineering: Team-based Development WS 2010/11 Implementation, September 27 th, 2011 Glib Kupetov Glib.Kupetov@iese.fraunhofer.de Tel.: +49 (631) 6800 2128 Sebastian Weber Sebastian.Weber@iese.fraunhofer.de

More information

The paper shows how to realize write-once-run-anywhere for such apps, and what are important lessons learned from our experience.

The paper shows how to realize write-once-run-anywhere for such apps, and what are important lessons learned from our experience. Paper title: Developing WebRTC-based team apps with a cross-platform mobile framework. Speaker: John Buford. Track: Mobile and Wearable Devices, Services, and Applications. Hello everyone. My name is John

More information

Building Your Blog Audience. Elise Bauer & Vanessa Fox BlogHer Conference Chicago July 27, 2007

Building Your Blog Audience. Elise Bauer & Vanessa Fox BlogHer Conference Chicago July 27, 2007 Building Your Blog Audience Elise Bauer & Vanessa Fox BlogHer Conference Chicago July 27, 2007 1 Content Community Technology 2 Content Be. Useful Entertaining Timely 3 Community The difference between

More information

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments. Web Development WEB101: Web Development Fundamentals using HTML, CSS and JavaScript $2,495.00 5 Days Replay Class Recordings included with this course Upcoming Dates Course Description This 5-day instructor-led

More information

HTML5 for mobile development.

HTML5 for mobile development. HTML5 for mobile development Txus Ordorika @txusinho @ludei HTML5 for development (I) HTML5 to be the silver bullet of development Low entrance - barrier Runs over VM (write once, run everywhere) ECMA-262

More information

Web basics: HTTP cookies

Web basics: HTTP cookies Web basics: HTTP cookies Myrto Arapinis School of Informatics University of Edinburgh February 11, 2016 1 / 27 How is state managed in HTTP sessions HTTP is stateless: when a client sends a request, the

More information

About the Tutorial. Audience. Prerequisites. Disclaimer & Copyright. TurboGears

About the Tutorial. Audience. Prerequisites. Disclaimer & Copyright. TurboGears About the Tutorial TurboGears is a Python web application framework, which consists of many modules. It is designed around the MVC architecture that are similar to Ruby on Rails or Struts. TurboGears are

More information

Viewer 2.0. Shared Media one of the exciting improvements! 2010 Linden Lab 2

Viewer 2.0. Shared Media one of the exciting improvements! 2010 Linden Lab 2 Viewer 2.0 Shared Media one of the exciting improvements! 2010 Linden Lab 2 Shared Media Brings the Web Into Second Life Web Pages Yes, Including Flash! Yes, even Flash video! Yes, on any surface! Yes,

More information

How is state managed in HTTP sessions. Web basics: HTTP cookies. Hidden fields (2) The principle. Disadvantage of this approach

How is state managed in HTTP sessions. Web basics: HTTP cookies. Hidden fields (2) The principle. Disadvantage of this approach Web basics: HTTP cookies Myrto Arapinis School of Informatics University of Edinburgh March 30, 2015 How is state managed in HTTP sessions HTTP is stateless: when a client sends a request, the server sends

More information

INTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary

INTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary INTERNET ENGINEERING HTTP Protocol Sadegh Aliakbary Agenda HTTP Protocol HTTP Methods HTTP Request and Response State in HTTP Internet Engineering 2 HTTP HTTP Hyper-Text Transfer Protocol (HTTP) The fundamental

More information

Custom Embedded Tabs, on page 1 Configure Cisco Jabber for Android on Chromebook, on page 8 Cisco Jabber Mobile App Promotion, on page 9

Custom Embedded Tabs, on page 1 Configure Cisco Jabber for Android on Chromebook, on page 8 Cisco Jabber Mobile App Promotion, on page 9 Custom Embedded Tabs, on page 1 Configure Cisco Jabber for Android on Chromebook, on page 8 Cisco Jabber Mobile App Promotion, on page 9 Custom Embedded Tabs Applies to Cisco Jabber for desktop and mobile

More information

Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server

Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server CIS408 Project 5 SS Chung Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server The catalogue of CD Collection has millions

More information

Connect and Transform Your Digital Business with IBM

Connect and Transform Your Digital Business with IBM Connect and Transform Your Digital Business with IBM 1 MANAGEMENT ANALYTICS SECURITY MobileFirst Foundation will help deliver your mobile apps faster IDE & Tools Mobile App Builder Development Framework

More information

Enabling realtime collaborative dataintensive

Enabling realtime collaborative dataintensive Fakultät für Informatik Technische Universität München Enabling realtime collaborative dataintensive web applications A case study using serverside JavaScript Betreuer: Sascha Roth Kooperationspartner:

More information

CS 498RK FALL RESTFUL APIs

CS 498RK FALL RESTFUL APIs CS 498RK FALL 2017 RESTFUL APIs Designing Restful Apis blog.mwaysolutions.com/2014/06/05/10-best-practices-for-better-restful-api/ www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api Resources

More information

Qiufeng Zhu Advanced User Interface Spring 2017

Qiufeng Zhu Advanced User Interface Spring 2017 Qiufeng Zhu Advanced User Interface Spring 2017 Brief history of the Web Topics: HTML 5 JavaScript Libraries and frameworks 3D Web Application: WebGL Brief History Phase 1 Pages, formstructured documents

More information

Cross-domain leakiness Divulging sensitive information & attacking SSL sessions Chris Evans - Google Billy Rios - Microsoft

Cross-domain leakiness Divulging sensitive information & attacking SSL sessions Chris Evans - Google Billy Rios - Microsoft Cross-domain leakiness Divulging sensitive information & attacking SSL sessions Chris Evans - Google Billy Rios - Microsoft Who are we? Chris Evans Troublemaker, Engineer, Tech Lead, Google Security Team

More information

Make your application real-time with PubSubHubbub. Brett Slatkin May 19th, 2010

Make your application real-time with PubSubHubbub. Brett Slatkin May 19th, 2010 Make your application real-time with PubSubHubbub Brett Slatkin May 19th, 2010 View live notes and ask questions about this session on Google Wave http://tinyurl.com/push-io2010 Me http://onebigfluke.com

More information

55191: Advanced SharePoint Development

55191: Advanced SharePoint Development Let s Reach For Excellence! TAN DUC INFORMATION TECHNOLOGY SCHOOL JSC Address: 103 Pasteur, Dist.1, HCMC Tel: 08 38245819; 38239761 Email: traincert@tdt-tanduc.com Website: www.tdt-tanduc.com; www.tanducits.com

More information

jquery to connect with DynamoDB via Lambda API March 9-10, 2017 CS160 Section

jquery to connect with DynamoDB via Lambda API March 9-10, 2017 CS160 Section jquery to connect with DynamoDB via Lambda API March 9-10, 2017 CS160 Section Upcoming Assignments Design 05 due 3/15 Programming Assignment 3 due 3/16 You will need your fire tablets! Group assignment

More information

Introduction and first application. Luigi De Russis. Rails 101

Introduction and first application. Luigi De Russis. Rails 101 Introduction and first application Luigi De Russis 2 About Rails Ruby on Rails 3 Framework for making dynamic web applications created in 2003 Open Source (MIT License) for the Ruby programming language

More information

Application Design and Development: October 30

Application Design and Development: October 30 M149: Database Systems Winter 2018 Lecturer: Panagiotis Liakos Application Design and Development: October 30 1 Applications Programs and User Interfaces very few people use a query language to interact

More information

CSCE 120: Learning To Code

CSCE 120: Learning To Code CSCE 120: Learning To Code Module 11.0: Consuming Data I Introduction to Ajax This module is designed to familiarize you with web services and web APIs and how to connect to such services and consume and

More information

CS50 Quiz Review. November 13, 2017

CS50 Quiz Review. November 13, 2017 CS50 Quiz Review November 13, 2017 Info http://docs.cs50.net/2017/fall/quiz/about.html 48-hour window in which to take the quiz. You should require much less than that; expect an appropriately-scaled down

More information

Attacking Web2.0. Daiki Fukumori Secure Sky Technology Inc.

Attacking Web2.0. Daiki Fukumori Secure Sky Technology Inc. Attacking Web2.0 Daiki Fukumori Secure Sky Technology Inc. Agenda Introduction What Is Web2.0 (from Attackers view) Attacking Same-Origin Policy Advanced Attacking Same-Origin

More information

KVM Console. KVM Console

KVM Console. KVM Console , page 1 Virtual, page 2 KVM Direct Access, page 5 Starting the from a Server, page 6 Starting the from a Service Profile, page 6 Starting the from the Cisco UCS KVM Direct Web Page, page 7 Starting the

More information

JavaScript Web Applications: JQuery Developers' Guide To Moving State To The Client By Alex MacCaw READ ONLINE

JavaScript Web Applications: JQuery Developers' Guide To Moving State To The Client By Alex MacCaw READ ONLINE JavaScript Web Applications: JQuery Developers' Guide To Moving State To The Client By Alex MacCaw READ ONLINE If you are looking for a book by Alex MacCaw JavaScript Web Applications: jquery Developers'

More information

Catbook Workshop 1: Client Side JS. Danny Tang

Catbook Workshop 1: Client Side JS. Danny Tang Catbook Workshop 1: Client Side JS Danny Tang Previously... Some frontend - Profile page - Nav bar - Stories feed page Techniques - DOM manipulation with JS In this workshop... More frontend - Stories

More information

Managing Meeting Recordings

Managing Meeting Recordings Meetings that you record on the server are automatically listed on the Meeting Recordings page. that the recordings you see are limited to meetings you scheduled. If you are an alternate host for a particular

More information

powered by Series of Tubes Senator Ted Stevens talking about the Net Neutrality Bill Jul 17, powered by

powered by Series of Tubes Senator Ted Stevens talking about the Net Neutrality Bill Jul 17, powered by Page 1 Lecture Notes 1: The Internet and World Wide Web CSE 190 M (Web Programming), Spring 2007 University of Washington Reading: Sebesta Ch. 1 sections 1.1-1.5.2, 1.7-1.8.5, 1.8.8, 1.9 What is the Internet?

More information

IN PRACTICE. Daniele Bochicchio Stefano Mostarda Marco De Sanctis. Includes 106 practical techniques MANNING

IN PRACTICE. Daniele Bochicchio Stefano Mostarda Marco De Sanctis. Includes 106 practical techniques MANNING IN PRACTICE Daniele Bochicchio Stefano Mostarda Marco De Sanctis Includes 106 practical techniques MANNING contents preface xv acknowledgments xvii about this book xix about the authors xxiii about the

More information

Enabling Full-Duplex Communications in APEX

Enabling Full-Duplex Communications in APEX Enabling Full-Duplex Communications in APEX Me Curt Workman - workmancw@ldschurch.org Education University of Utah Work Micron Electronics Evans&Sutherland The Church of Jesus Christ of Latter-Day Saints

More information

Social Networking. A video sharing community website. Executive Summary. About our Client. Business Situation

Social Networking. A video sharing community website. Executive Summary. About our Client. Business Situation Social Networking A video sharing community website. Executive Summary The client firm had a couple of social networking video sharing community websites that were hosted using a freely available open

More information

UI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML

UI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML UI Course (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) HTML: Introduction The World Wide Web (WWW) and history of HTML Hypertext and Hypertext Markup Language Why HTML Prerequisites Objective

More information

Full Stack boot camp

Full Stack boot camp Name Full Stack boot camp Duration (Hours) JavaScript Programming 56 Git 8 Front End Development Basics 24 Typescript 8 React Basics 40 E2E Testing 8 Build & Setup 8 Advanced JavaScript 48 NodeJS 24 Building

More information

Nick Terkay CSCI 7818 Web Services 11/16/2006

Nick Terkay CSCI 7818 Web Services 11/16/2006 Nick Terkay CSCI 7818 Web Services 11/16/2006 Ning? Start-up co-founded by Marc Andreeson, the co- founder of Netscape. October 2005 Ning is an online platform for painlessly creating web apps in a jiffy.

More information

Integration Test Plan

Integration Test Plan Integration Test Plan Team B.E.E.F.E.A.T.E.R. Nick Canzoneri Adam Hamilton Georgi Simeonov Nick Wolfgang Matt Wozniski Date: May 1, 2009 Date Description Revision February 17, 2009 Initial revision 1 April

More information

Lecture 18. WebSocket

Lecture 18. WebSocket Lecture 18. WebSocket 1. What is WebSocket? 2. Why WebSocket? 3. WebSocket protocols 4. WebSocket client side 5. WebSocket on server side 1. Case study, WebSocket on nose.js 2. Case study, WebSocket on

More information

Junction: A Decentralized Platform for Ad Hoc Social and Mobile Applications. Ben Dodson, Monica Lam, Chanh Nguyen, Te-Yuan Huang

Junction: A Decentralized Platform for Ad Hoc Social and Mobile Applications. Ben Dodson, Monica Lam, Chanh Nguyen, Te-Yuan Huang Junction: A Decentralized Platform for Ad Hoc Social and Mobile Applications Ben Dodson, Monica Lam, Chanh Nguyen, Te-Yuan Huang Motivation Motivation Ad Hoc Bring together devices with no previous contact

More information

Web basics: HTTP cookies

Web basics: HTTP cookies Web basics: HTTP cookies Myrto Arapinis School of Informatics University of Edinburgh November 20, 2017 1 / 32 How is state managed in HTTP sessions HTTP is stateless: when a client sends a request, the

More information

How to broadcast in HD 720p using FMLE on cams.com

How to broadcast in HD 720p using FMLE on cams.com How to broadcast in HD 720p using FMLE on cams.com Now that FMLE is configured, you are ready to broadcast in HD on cams.com. Follow the instructions below to broadcast in HD: Step 1 Go to https://models.streamray.com

More information

WebApp development. Outline. Web app structure. HTML basics. 1. Fundamentals of a web app / website. Tiberiu Vilcu

WebApp development. Outline. Web app structure. HTML basics. 1. Fundamentals of a web app / website. Tiberiu Vilcu Outline WebApp development Tiberiu Vilcu Prepared for EECS 411 Sugih Jamin 20 September 2017 1 2 Web app structure HTML basics Back-end: Web server Database / data storage Front-end: HTML page CSS JavaScript

More information

iframe programming with jquery jquery Summit 2011

iframe programming with jquery jquery Summit 2011 iframe programming with jquery jquery Summit 2011 who invited this guy? name s ben strange last name work at disqus co-author, Third-party JavaScript disqus? dis cuss dĭ-skŭs' third-party commenting platform

More information

Working with Javascript Building Responsive Library apps

Working with Javascript Building Responsive Library apps Working with Javascript Building Responsive Library apps Computers in Libraries April 15, 2010 Arlington, VA Jason Clark Head of Digital Access & Web Services Montana State University Libraries Overview

More information

Cross-Browser Functional Testing Best Practices

Cross-Browser Functional Testing Best Practices White Paper Application Delivery Management Cross-Browser Functional Testing Best Practices Unified Functional Testing Best Practices Series Table of Contents page Introduction to Cross-Browser Functional

More information

RIA Security - Broken By Design. Joonas Lehtinen IT Mill - CEO

RIA Security - Broken By Design. Joonas Lehtinen IT Mill - CEO RIA Security - Broken By Design Joonas Lehtinen IT Mill - CEO a system is secure if it is designed to be secure and there are no bugs no system should be designed to be insecure not all bugs are security

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

JavaScript Specialist v2.0 Exam 1D0-735

JavaScript Specialist v2.0 Exam 1D0-735 JavaScript Specialist v2.0 Exam 1D0-735 Domain 1: Essential JavaScript Principles and Practices 1.1: Identify characteristics of JavaScript and common programming practices. 1.1.1: List key JavaScript

More information

Platform. Custom Embedded Tabs. Custom Embedded Tab Definitions. Custom Embedded Tabs, page 1

Platform. Custom Embedded Tabs. Custom Embedded Tab Definitions. Custom Embedded Tabs, page 1 Custom Embedded Tabs, page 1 Custom Embedded Tabs Applies to Cisco Jabber for desktop and mobile clients. Custom embedded tabs display HTML content in the client interface. Learn how to create custom embedded

More information

Force.com Streaming API Developer Guide

Force.com Streaming API Developer Guide Force.com Streaming API Developer Guide Version 41.0, Winter 18 @salesforcedocs Last updated: December 8, 2017 Copyright 2000 2017 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark

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

Lesson 5 Nimbits. Chapter-6 L05: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

Lesson 5 Nimbits. Chapter-6 L05: Internet of Things , Raj Kamal, Publs.: McGraw-Hill Education Lesson 5 Nimbits 1 Cloud IoT cloud-based Service Using Server at the Edges A server can be deployed at the edges (device nodes) which communicates the feeds to the cloud service. The server also provisions

More information

Developing ASP.NET MVC 5 Web Applications

Developing ASP.NET MVC 5 Web Applications 20486C - Version: 1 23 February 2018 Developing ASP.NET MVC 5 Web Developing ASP.NET MVC 5 Web 20486C - Version: 1 5 days Course Description: In this course, students will learn to develop advanced ASP.NET

More information

Interactive Websites: Comet and DWR. Joe Walker, SitePen

Interactive Websites: Comet and DWR. Joe Walker, SitePen Interactive Websites: Comet and DWR Joe Walker, SitePen Agenda: Comet 101 The Ultimate Hack Passing the Pain DWR 101 Demos What is Comet? What is Comet? Long lived HTTP connections Low latency data For

More information

AJAX Workshop. Karen A. Coombs University of Houston Libraries Jason A. Clark Montana State University Libraries

AJAX Workshop. Karen A. Coombs University of Houston Libraries Jason A. Clark Montana State University Libraries AJAX Workshop Karen A. Coombs University of Houston Libraries Jason A. Clark Montana State University Libraries Outline 1. What you re in for 2. What s AJAX? 3. Why AJAX? 4. Look at some AJAX examples

More information

Genesys Mobile Services Deployment Guide. Setting ORS Dependencies

Genesys Mobile Services Deployment Guide. Setting ORS Dependencies Genesys Mobile Services Deployment Guide Setting ORS Dependencies 4/6/2018 Setting ORS Dependencies Contents 1 Setting ORS Dependencies 1.1 Setting ORS Options 1.2 Deploying DFM Files 1.3 Additional ORS

More information

Developer's Guide. High-Level Architecture

Developer's Guide. High-Level Architecture Developer's Guide High-Level Architecture 5/12/2018 High-Level Architecture Contents 1 High-Level Architecture 1.1 Introduction 1.2 Browser Tier Agents 1.3 Web Engagement Server 1.4 Database and Reporting

More information