Reminders. Github & HTTP steps, together with the minimally viable Django product are due this coming Tuesday! CS370, Günay (Emory) Spring / 8

Size: px
Start display at page:

Download "Reminders. Github & HTTP steps, together with the minimally viable Django product are due this coming Tuesday! CS370, Günay (Emory) Spring / 8"

Transcription

1 Reminders Github & HTTP steps, together with the minimally viable Django product are due this coming Tuesday! CS370, Günay (Emory) Spring / 8

2 Reminders Github & HTTP steps, together with the minimally viable Django product are due this coming Tuesday! I posted a crash-course in Python by the original creator, Guido van Rossum. CS370, Günay (Emory) Spring / 8

3 Reminders Github & HTTP steps, together with the minimally viable Django product are due this coming Tuesday! I posted a crash-course in Python by the original creator, Guido van Rossum. Dutch is open to SSH, you can test your Python les under public_html/. CS370, Günay (Emory) Spring / 8

4 Reminders Github & HTTP steps, together with the minimally viable Django product are due this coming Tuesday! I posted a crash-course in Python by the original creator, Guido van Rossum. Dutch is open to SSH, you can test your Python les under public_html/. Let's start by quizzing you. CS370, Günay (Emory) Spring / 8

5 Exit quiz: Version Control and Web Development Basics What is the advantage of committing your changes into VC often? Explain the dierence between commit and push in git. Explain the dierences, and their consequences, between the two form submission methods in the HTTP protocol. Entry survey: Python, Databases, and Django What is the dierence between languages that are interpreted like Python versus compiled like C? What type of persistent storage is commonly used in web applications for storing information such as sessions and user data? To create a webapp as complex as Google docs, what would be the most cumbersome part of developing with CGI?

6 Data-centric Web Apps Databases, MySQL, Model-View-Controller, Django Introduction CS370 SE Practice & Startup, Cengiz Günay (Some slides courtesy of Eugene Agichstein and the Internets) CS370, Günay (Emory) Data-centric Web Apps Spring / 8

7 Remember Sessions? Why did we need them again? How do we keep track? CS370, Günay (Emory) Data-centric Web Apps Spring / 8

8 Remember Sessions? Why did we need them again? How do we keep track? We need persistent data Let's see some Python examples CS370, Günay (Emory) Data-centric Web Apps Spring / 8

9 Using persistent data Store/update data: In plain files (simplest) In a (g)dbm file (better performance) string keys, string values In a "shelf" (stores objects) avoids parsing/unparsing the values In a real database 3rd party database extensions available 1/22/2013 CS 370, Spring

10 Plain Files key =...username, or session key, or whatever... try: f = open(key, "r") data = f.read() # read previous data f.close() except IOError: data = "" # no file yet: provide initial data data = update(data, form) # do whatever must be done f = open(key, "w") f.write(data) # write new data f.close() # (could delete the file instead if updated data is empty) 1/22/2013 CS 370, Spring

11 (g)dbm files # better performance if there are many records import gdbm key = lastname db = gdbm.open("database", "w") # open for reading+writing if db.has_key(key): data = db[key] # read previous data else: data = "" # provide initial data data = update(data, form) db[key] = data # write new data db.close() 1/22/2013 CS 370, Spring

12 Driving your Website with MySQL 1/22/2013 CS 370, Spring

13 Web 2.0 Runs On LAMP Linux File permissions Apache (web server) Hello.html PHP or Python Application logic+ui control MySQL Data (e.g., Facebook) Applications: Facebook, Flckr, YouTube 1/22/2013 CS 370, Spring

14 How Does Facebook Check Your password? Browser posts request to pwd.py with submitted user and password values user = "bob", pass = "1234". Review: how to get these values from CGI? wd.py looks up user "bob" in MySQL $true_pass="1234" if(pass == true_pass){ /*allow to proceed, else: try again*/} 1/22/2013 CS 370, Spring

15 Databases Organize data in tables Just like Excel:, tables have rows and columns Store presidential pets and their owners: table: PresidentialPets Column = Field Row = Record President Term Pet Barack H. Obama 2008 Bo George W. Bush 2000 Miss Beasley Bill Clinton 1992 Socks 1/22/2013 CS 370, Spring

16 Create a Table PresidentialPets President Term Pet Barack H. Obama 2008 Bo George W. Bush 2000 Miss Beasley Bill Clinton 1992 Socks Databases use Structured Query Language (SQL) to store, access, and manipulate data Supposed to be like English... 1/22/2013 CS 370, Spring

17 Create a Table PresidentialPets: SQL CREATE ( ); Result: TABLE PresidentialPets president varchar (128), term int, pet varchar (128) President Term Pet 1/22/2013 CS 370, Spring

18 MySQL Made Easy:. Access class version of phpmyadmin here: 1/22/2013 CS 370, Spring

19 Storing Data: INSERT statement INSERT into PresidentialPets (president, term, pet) VALUES ( William H Taft, 1908, Pauline Wayne ); President Term Pet Barack H. Obama 2008 Bo George W. Bush 2000 Miss Beasley Bill Clinton 1992 Socks William H Taft 1908 Pauline Wayne 1/22/2013 CS 370, Spring

20 Accessing Data: SELECT statement SELECT ( president, term, pet) FROM PresidentialPets WHERE ( term >=2000 ); President Term Pet Barack H. Obama 2008 Bo George W. Bush 2000 Miss Beasley 1/22/2013 CS 370, Spring

21 1/22/2013 CS 370, Spring

22 Exercise: Leave a comment Goal: Store user's vote for favorite donut in database to nd out most popular avors Try it: Approach: 1 Process user input (easy) 2 Connect to database (test) 3 Store comment in database 4 Retrieve and show all comments Results will be in database (use phpmyadmin) Login as test Look into database test CS370, Günay (Emory) Data-centric Web Apps Spring / 8

23 Step 0: Setup Table for your Data Goal: store comments in table comments user Comment IP Address Eugene Blah! James foo Create table comments with 3 columns 1/22/2013 CS 370, Spring

24 Step 2: Connect to Database #connect to mysql database import MySQLdb as mdb con = mdb.connect('localhost', 'cs370', 'pwd', 'cs370000') 1/22/2013 CS 370, Spring

25 Step 3: Store Comment #use cursor cur = con.cursor() Sql = INSERT INTO comments(comment, user, ip) VALUES( blah!, foo, ) cur.execute(sql) # Prepared statement (template) version: Sql = "INSERT INTO comments(comment, user, ip) VALUES(%s, %s, %s) cur.execute(sql, (comment, user, ip)) 1/22/2013 CS 370, Spring

26 Need to sanitize user input! Use: comment = cgi.escape(comment) 1/22/2013 CS 370, Spring

27 Step 4: Display Data try: cur = con.cursor(mdb.cursors.dictcursor) cur.execute("select * FROM comments") rows = cur.fetchall() print "<table>" for row in rows: print "<tr>\n" print "<td>%s</td><td>%s</td><td>%s</td>" % (row["user"], row["ip"], row["comment"]) print "</tr>\n" print "</table>" cur.close() except mdb.error, e: print "Error %d: %s" % (e.args[0],e.args[1]) 1/22/2013 CS 370, Spring

28 Modify the code Leave a Comment You can SSH to dutch Login with your Emory credentials Go to your public_html/ subdirectory Copy les from /home/test/public_html/ Modify them and see the results! Warning: Your webpages on Dutch are accessible from outside campus! Except for SSH, which requires to be on campus or start VPN. CS370, Günay (Emory) Data-centric Web Apps Spring / 8

29 Reference URLs SQL Tutorials: MySQL + Python programming: 1/22/2013 CS 370, Spring

30 Architecture of Web App: Continued The LAMP stack approach 1/24/2013 CS 370, Spring

31 Today s: Step Up a bit When you go too far up, abstraction-wise, you run out of oxygen. Sometimes smart thinkers just don't know when to stop, and they create these absurd, allencompassing, high-level pictures of the universe that are all good and fine, but don't actually mean anything at all. - Joel Spolsky Figure 1: Architecture Astronaut 1/24/2013 CS 370, Spring

32 Web Application Frameworks Closely integrates Data, UI, and logic Simplifies development, maintainance Hides communication from app developer Not required to manually manage database connectivity 1/24/2013 CS 370, Spring

33 App without a framework 1/24/2013 CS 370, Spring

34 Problems What happens when multiple parts of your application need to connect to the database? Solution:? Should a developer really have to worry about printing the Content-Type line and remember to close the database connection? What happens when this code is reused in multiple environments, each with a separate database and password? What happens when a Web designer who has no experience coding Python wishes to redesign the page? One wrong character could crash the entire application. 1/24/2013 CS 370, Spring

35 DRY Principle DRY = Don t Repeat Yourself Every piece of knowledge must have a single, unambiguous, authoritative representation within a system. Antonym: WET (We Enjoy Typing ) BAD. Antonym: Cut & Paste Programming Duplication (inadvertent or purposeful duplication) can lead to maintenance nightmares, poor factoring, and logical contradictions. 1/24/2013 CS 370, Spring

36 Approach: Model-View-Controller Model: maintain state of application. Typically done with a database View: output to client, usually as HTML code, rendered by a web browser. Controller: interaction with user. handles user input, processes data and communicates with Model to save state. Formalized in /24/2013 CS 370, Spring

37 MVC: Example with HTML+CSS Model View Controller (= Browser) 1/24/2013 CS 370, Spring

38

39 Next Time Tuesday's class will be a lab session, bring your laptops We will do a Django tutorial demonstrating the Model-View-Controller approach You can nish up your Prj1 steps (we don't have enough time to do ALL of the steps!) CS370, Günay (Emory) Data-centric Web Apps Spring / 8

Reminders. Full Django products are due next Thursday! CS370, Günay (Emory) Spring / 6

Reminders. Full Django products are due next Thursday! CS370, Günay (Emory) Spring / 6 Reminders Full Django products are due next Thursday! CS370, Günay (Emory) Spring 2015 1 / 6 Reminders Full Django products are due next Thursday! Let's start by quizzing you. CS370, Günay (Emory) Spring

More information

Documentation and Deployment

Documentation and Deployment Documentation and Deployment CS 370 SE Practicum, Cengiz Günay (Some slides courtesy of Eugene Agichtein and the Internets) I know what I learned this semester: CS 370, Günay (Emory) Documentation and

More information

Reminders. Emory Horror Code:

Reminders. Emory Horror Code: Reminders Emory Horror Code: Request permission and document any code you did not write We won't hesitate to report you: will cause a dent in your life Reminders Emory Horror Code: Request permission and

More information

Security and Authentication

Security and Authentication Security and Authentication CS 370 SE Practicum, Cengiz Günay (Some slides courtesy of Eugene Agichtein and the Internets) CS 370, Günay (Emory) Security and Authentication Spring 2014 1 / 15 Agenda Upcoming

More information

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016 DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016 AGENDA FOR TODAY Advanced Mysql More than just SELECT Creating tables MySQL optimizations: Storage engines, indexing.

More information

Locate your Advanced Tools and Applications

Locate your Advanced Tools and Applications MySQL Manager is a web based MySQL client that allows you to create and manipulate a maximum of two MySQL databases. MySQL Manager is designed for advanced users.. 1 Contents Locate your Advanced Tools

More information

DATABASE SYSTEMS. Introduction to MySQL. Database System Course, 2016

DATABASE SYSTEMS. Introduction to MySQL. Database System Course, 2016 DATABASE SYSTEMS Introduction to MySQL Database System Course, 2016 AGENDA FOR TODAY Administration Database Architecture on the web Database history in a brief Databases today MySQL What is it How to

More information

CMSC5733 Social Computing

CMSC5733 Social Computing CMSC5733 Social Computing Tutorial 1: Python and Web Crawling Yuanyuan, Man The Chinese University of Hong Kong sophiaqhsw@gmail.com Tutorial Overview Python basics and useful packages Web Crawling Why

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

:

: CS200 Assignment 5 HTML and CSS Due Monday February 11th 2019, 11:59 pm Readings and Resources On the web: http://validator.w3.org/ : a site that will check a web page for faulty HTML tags http://jigsaw.w3.org/css-validator/

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

Once you have entered your Google and password, you can click the Sign In button to continue.

Once you have entered your Google  and password, you can click the Sign In button to continue. Slide 1 Welcome to the Creating and Uploading with Google Docs Tutorial. Google Docs allows you to create documents, spreadsheets, presentations, draw pictures, create forms, and much more directly within

More information

CSCI 1320 Creating Modern Web Applications. Content Management Systems

CSCI 1320 Creating Modern Web Applications. Content Management Systems CSCI 1320 Creating Modern Web Applications Content Management Systems Brown CS Website 2 Static Brown CS Website Up since 1994 5.9 M files (inodes) 1.6 TB of filesystem space 3 Static HTML Generators Convert

More information

Let's Play... Try to name the databases described on the following slides...

Let's Play... Try to name the databases described on the following slides... Database Software Let's Play... Try to name the databases described on the following slides... "World's most popular" Free relational database system (RDBMS) that... the "M" in "LAMP" and "XAMP" stacks

More information

Announcements. PS 3 is out (see the usual place on the course web) Be sure to read my notes carefully Also read. Take a break around 10:15am

Announcements. PS 3 is out (see the usual place on the course web) Be sure to read my notes carefully Also read. Take a break around 10:15am Announcements PS 3 is out (see the usual place on the course web) Be sure to read my notes carefully Also read SQL tutorial: http://www.w3schools.com/sql/default.asp Take a break around 10:15am 1 Databases

More information

AJAX: From the Client-side with JavaScript, Back to the Server

AJAX: From the Client-side with JavaScript, Back to the Server AJAX: From the Client-side with JavaScript, Back to the Server Asynchronous server calls and related technologies CS 370 SE Practicum, Cengiz Günay (Some slides courtesy of Eugene Agichtein and the Internets)

More information

Courtesy of Clayton Fyfe. Lab 2 Runthrough

Courtesy of Clayton Fyfe. Lab 2 Runthrough Courtesy of Clayton Fyfe Lab 2 Runthrough Highlights 1. Accessing and Using phpmyadmin 2. CRUD for phpmyadmin 3. Microsoft expression WEB 3 Overview 4. CRUD for PHP 5. Adding Files to the playground Accessing

More information

Introduction to pysqlite

Introduction to pysqlite Introduction to pysqlite A crash course to accessing SQLite from within your Python programs. Based on pysqlite 2.0. SQLite basics SQLite is embedded, there is no server Each SQLite database is stored

More information

L.A.M.P. Stack Part I

L.A.M.P. Stack Part I L.A.M.P. Stack Part I By George Beatty and Matt Frantz This lab will cover the basic installation and some configuration of a LAMP stack on a Ubuntu virtual box. Students will download and install the

More information

DATABASE SYSTEMS. Database programming in a web environment. Database System Course,

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016-2017 AGENDA FOR TODAY The final project Advanced Mysql Database programming Recap: DB servers in the web Web programming

More information

CS 1110 SPRING 2016: GETTING STARTED (Jan 27-28) First Name: Last Name: NetID:

CS 1110 SPRING 2016: GETTING STARTED (Jan 27-28)   First Name: Last Name: NetID: CS 1110 SPRING 2016: GETTING STARTED (Jan 27-28) http://www.cs.cornell.edu/courses/cs1110/2016sp/labs/lab01/lab01.pdf First Name: Last Name: NetID: Goals. Learning a computer language is a lot like learning

More information

Lecture 10(-ish) Web [Application] Frameworks

Lecture 10(-ish) Web [Application] Frameworks Lecture 10(-ish) Web [Application] Frameworks Minimal Python server import SocketServer import SimpleHTTPServer class Reply(SimpleHTTPServer.SimpleHTTPRequestHandler): def do_get(self): # query arrives

More information

An Introduction to Stored Procedures in MySQL 5 by Federico Leven6 Apr 2011

An Introduction to Stored Procedures in MySQL 5 by Federico Leven6 Apr 2011 An Introduction to Stored Procedures in MySQL 5 by Federico Leven6 Apr 21 MySQL 5 introduced a plethora of new features - stored procedures being one of the most significant. In this tutorial, we will

More information

DATABASE SYSTEMS. Introduction to MySQL. Database System Course, 2016

DATABASE SYSTEMS. Introduction to MySQL. Database System Course, 2016 DATABASE SYSTEMS Introduction to MySQL Database System Course, 2016 AGENDA FOR TODAY Administration Database Architecture on the web Database history in a brief Databases today MySQL What is it How to

More information

Roxen Content Provider

Roxen Content Provider Roxen Content Provider Generation 3 Templates Purpose This workbook is designed to provide a training and reference tool for placing University of Alaska information on the World Wide Web (WWW) using the

More information

Using Google sites. Table of Contents

Using Google sites. Table of Contents Using Google sites Introduction This manual is intended to be used by those attempting to create web-based portfolios. It s contents hold step by step procedures for various aspects of portfolio creation

More information

Module - P7 Lecture - 15 Practical: Interacting with a DBMS

Module - P7 Lecture - 15 Practical: Interacting with a DBMS Introduction to Modern Application Development Prof. Tanmai Gopal Department of Computer Science and Engineering Indian Institute of Technology, Madras Module - P7 Lecture - 15 Practical: Interacting with

More information

The NoPlsql and Thick Database Paradigms

The NoPlsql and Thick Database Paradigms The NoPlsql and Thick Database Paradigms Part 2: Adopting ThickDB Toon Koppelaars Real-World Performance Oracle Server Technologies Bryn Llewellyn Distinguished Product Manager Oracle Server Technologies

More information

Hello everyone! Page 1. Your folder should look like this. To start with Run your XAMPP app and start your Apache and MySQL.

Hello everyone! Page 1. Your folder should look like this. To start with Run your XAMPP app and start your Apache and MySQL. Hello everyone! Welcome to our PHP + MySQL (Easy to learn) E.T.L. free online course Hope you have installed your XAMPP? And you have created your forms inside the studio file in the htdocs folder using

More information

Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum

Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum Table of Contents Preparation... 3 Exercise 1: Create a repository. Use the command line.... 4 Create a repository...

More information

Lecture 3: Web Servers / PHP and Apache. CS 383 Web Development II Monday, January 29, 2018

Lecture 3: Web Servers / PHP and Apache. CS 383 Web Development II Monday, January 29, 2018 Lecture 3: Web Servers / PHP and Apache CS 383 Web Development II Monday, January 29, 2018 Server Configuration One of the most common configurations of servers meant for web development is called a LAMP

More information

Web Hosting. Important features to consider

Web Hosting. Important features to consider Web Hosting Important features to consider Amount of Storage When choosing your web hosting, one of your primary concerns will obviously be How much data can I store? For most small and medium web sites,

More information

Front End Programming

Front End Programming Front End Programming Mendel Rosenblum Brief history of Web Applications Initially: static HTML files only. Common Gateway Interface (CGI) Certain URLs map to executable programs that generate web page

More information

HOW TO FLASK. And a very short intro to web development and databases

HOW TO FLASK. And a very short intro to web development and databases HOW TO FLASK And a very short intro to web development and databases FLASK Flask is a web application framework written in Python. Created by an international Python community called Pocco. Based on 2

More information

CS 2316 Homework 9a GT Room Reservation Login

CS 2316 Homework 9a GT Room Reservation Login CS 2316 Homework 9a GT Room Reservation Login Due: Wednesday November 5th Out of 100 points Files to submit: 1. HW9.py This is an INDIVIDUAL assignment! Collaboration at a reasonable level will not result

More information

CSCE 548 Building Secure Software SQL Injection Attack

CSCE 548 Building Secure Software SQL Injection Attack CSCE 548 Building Secure Software SQL Injection Attack Professor Lisa Luo Spring 2018 Previous class DirtyCOW is a special type of race condition problem It is related to memory mapping We learned how

More information

CSC111 Computer Science II

CSC111 Computer Science II CSC111 Computer Science II Lab 1 Getting to know Linux Introduction The purpose of this lab is to introduce you to the command line interface in Linux. Getting started In our labs If you are in one of

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

Setting up the Master Computer

Setting up the Master Computer Setting up the Master Computer for gofish the O FISH-AL Sales Program Be forwarned, non-technical translation for what is to come: blah, blah, doze off and blah-blah. Last updated March 12, 2016 I appologize

More information

PHPRad. PHPRad At a Glance. This tutorial will show you basic functionalities in PHPRad and

PHPRad. PHPRad At a Glance. This tutorial will show you basic functionalities in PHPRad and PHPRad PHPRad At a Glance. This tutorial will show you basic functionalities in PHPRad and Getting Started Creating New Project To create new Project. Just click on the button. Fill In Project properties

More information

This Tutorial is for Word 2007 but 2003 instructions are included in [brackets] after of each step.

This Tutorial is for Word 2007 but 2003 instructions are included in [brackets] after of each step. This Tutorial is for Word 2007 but 2003 instructions are included in [brackets] after of each step. Table of Contents Just so you know: Things You Can t Do with Word... 1 Get Organized... 1 Create the

More information

Computer Security Coursework Exercise CW1 Web Server and Application Security

Computer Security Coursework Exercise CW1 Web Server and Application Security Computer Security Coursework Exercise CW1 Web Server and Application Security In this coursework exercise we will guide you through an attack against a vulnerable machine. You will take the role of Mallet

More information

Blog site (cont.) theme, 202 view creations, 205 Browser tools, 196 Buytaert, Dries, 185

Blog site (cont.) theme, 202 view creations, 205 Browser tools, 196 Buytaert, Dries, 185 Index A Administration, 157 backups and restore (see Backups and restore website) file system, 161 log files, 162 tasks, 157 updates and security patches, 165 user accounts, 166 Aggregator module, 218

More information

Back-end architecture

Back-end architecture Back-end architecture Tiberiu Vilcu Prepared for EECS 411 Sugih Jamin 2 January 2018 https://education.github.com/pack 1 2 Outline HTTP 1. HTTP and useful web tools 2. Designing APIs 3. Back-end services

More information

Real Life Web Development. Joseph Paul Cohen

Real Life Web Development. Joseph Paul Cohen Real Life Web Development Joseph Paul Cohen joecohen@cs.umb.edu Index 201 - The code 404 - How to run it? 500 - Your code is broken? 200 - Someone broke into your server? 400 - How are people using your

More information

Oracle Application Express: Administration 1-2

Oracle Application Express: Administration 1-2 Oracle Application Express: Administration 1-2 The suggested course agenda is displayed in the slide. Each lesson, except the Course Overview, will be followed by practice time. Oracle Application Express:

More information

L6 Application Programming. Thibault Sellam Fall 2018

L6 Application Programming. Thibault Sellam Fall 2018 L6 Application Programming Thibault Sellam Fall 2018 Topics Interfacing with applications Database APIs (DBAPIS) Cursors SQL!= Programming Language Not a general purpose programming language Tailored for

More information

Instructor s Notes Web Data Management Web Client/Server Concepts. Web Data Management Web Client/Server Concepts

Instructor s Notes Web Data Management Web Client/Server Concepts. Web Data Management Web Client/Server Concepts Instructor s Web Data Management Web Client/Server Concepts Web Data Management 152-155 Web Client/Server Concepts Quick Links & Text References Client / Server Concepts Pages 4 11 Web Data Mgt Software

More information

Teacher Guide. Edline -Teachers Guide Modified by Brevard Public Schools Revised 6/3/08

Teacher Guide. Edline -Teachers Guide Modified by Brevard Public Schools  Revised 6/3/08 Teacher Guide Teacher Guide EDLINE This guide was designed to give you quick instructions for the most common class-related tasks that you will perform while using Edline. Please refer to the online Help

More information

Credits: Some of the slides are based on material adapted from

Credits: Some of the slides are based on material adapted from 1 The Web, revisited WEB 2.0 marco.ronchetti@unitn.it Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf 2 The old web: 1994 HTML pages (hyperlinks)

More information

Assignment 1: Port & Starboard

Assignment 1: Port & Starboard Assignment 1: Port & Starboard Revisions: Jan 7: Added note on how to clean project for submission. Submit a ZIP file of all the deliverables to the CourSys: https://courses.cs.sfu.ca/ All submissions

More information

HelpAndManual_illegal_keygen Contactor Elite Autoresponder Installation Guide

HelpAndManual_illegal_keygen Contactor Elite Autoresponder Installation Guide HelpAndManual_illegal_keygen Contactor Elite Autoresponder Guide HelpAndManual_illegal_keygen Contactor Elite Autoresponder Autoresponder and Newsletter Delivery System To most web sites, their mailing

More information

Improved Web Development using HTML-Kit

Improved Web Development using HTML-Kit Improved Web Development using HTML-Kit by Peter Lavin April 21, 2004 Overview HTML-Kit is a free text editor that will allow you to have complete control over the code you create and will also help speed

More information

Canvas by Instructure Student User Guide

Canvas by Instructure Student User Guide Canvas by Instructure Student User Guide Contents Login to Canvas... 2 Interface Canvas... 3 Dashboard Canvas... 3 Sidebar... 3 Calendar... 4 Notifications... 4 Submit Assignment... 5 Turnitin... 6 Take

More information

Server-Side Web Programming: Python (Part 2) Copyright 2017 by Robert M. Dondero, Ph.D Princeton University

Server-Side Web Programming: Python (Part 2) Copyright 2017 by Robert M. Dondero, Ph.D Princeton University Server-Side Web Programming: Python (Part 2) Copyright 2017 by Robert M. Dondero, Ph.D Princeton University 1 Objectives You will learn about: Python WSGI programming Web app frameworks in general (briefly)

More information

ApacheCon NA How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum

ApacheCon NA How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum ApacheCon NA 2015 How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum 1Tech, Ltd. 29 Harley Street, London, W1G 9QR, UK www.1tech.eu 1 Overview Common Getting Started Problems Common

More information

162 HW2. David Culler, Arka Bhattacharya, William Liu. September 2014

162 HW2. David Culler, Arka Bhattacharya, William Liu. September 2014 162 HW2 David Culler, Arka Bhattacharya, William Liu September 2014 Contents 1 Introduction 2 1.1 Setup Details........................................... 2 1.2 Structure of HTTP Request...................................

More information

Persistence & State. SWE 432, Fall 2016 Design and Implementation of Software for the Web

Persistence & State. SWE 432, Fall 2016 Design and Implementation of Software for the Web Persistence & State SWE 432, Fall 2016 Design and Implementation of Software for the Web Today What s state for our web apps? How do we store it, where do we store it, and why there? For further reading:

More information

How to connect to the University of Exeter VPN service

How to connect to the University of Exeter VPN service How to connect to the University of Exeter VPN service *****Important Part of the process of using the VPN service involves the automatic download and installation of Juniper Network Connect software,

More information

Lab 01 How to Survive & Introduction to Git. Web Programming DataLab, CS, NTHU

Lab 01 How to Survive & Introduction to Git. Web Programming DataLab, CS, NTHU Lab 01 How to Survive & Introduction to Git Web Programming DataLab, CS, NTHU Notice These slides will focus on how to submit you code by using Git command line You can also use other Git GUI tool or built-in

More information

CSCI 4000 Assignment 4

CSCI 4000 Assignment 4 Austin Peay State University, Tennessee Spring 2018 CSCI 4000: Advanced Web Development Dr. Leong Lee CSCI 4000 Assignment 4 Total estimated time for this assignment: 12 hours (if you are a good programmer)

More information

Cmpt 101 Lab 1 - Outline

Cmpt 101 Lab 1 - Outline Cmpt 101 Lab 1 - Outline Instructions: Work through this outline completely once directed to by your Lab Instructor and fill in the Lab 1 Worksheet as indicated. Contents PART 1: GETTING STARTED... 2 PART

More information

Guidelines for Using the Hello Brain Health App

Guidelines for Using the Hello Brain Health App Guidelines for Using the Hello Brain Health App 1 Welcome! These guidelines have been designed to show you how to use the Hello Brain Health app. We will bring you through all of the processes involved

More information

Flexible Engine. Startup Guide

Flexible Engine. Startup Guide Flexible Engine Startup Guide This guide presents the deployment of a web server accessible from the internet and its database, on the Flexible Engine platform 2017 Orange Business Services version July

More information

HOW TO Google Online Fillable Forms for Kiwanis Club Websites

HOW TO Google Online Fillable Forms for Kiwanis Club Websites KIWANIS INTERNATIONAL HOW TO Google Online Fillable Forms for Kiwanis Club Websites Publish via email, website or blog Mandy Grover User instructions for creating free online fillable forms with Google

More information

Full Stack Web Developer Nanodegree Syllabus

Full Stack Web Developer Nanodegree Syllabus Full Stack Web Developer Nanodegree Syllabus Build Complex Web Applications Before You Start Thank you for your interest in the Full Stack Web Developer Nanodegree! In order to succeed in this program,

More information

Advanced Web Tutorial 10

Advanced Web Tutorial 10 Advanced Web Tutorial 10 Editor Brackets / Visual Studio Code Goals Creating a blog with PHP and MySql. - Set up and configuration of Xampp - Learning Data flow using Create/Read/Update and Delete Things

More information

Family Map Server Specification

Family Map Server Specification Family Map Server Specification Acknowledgements The Family Map project was created by Jordan Wild. Thanks to Jordan for this significant contribution. Family Map Introduction Family Map is an application

More information

CS 200. User IDs, Passwords, Permissions & Groups. User IDs, Passwords, Permissions & Groups. CS 200 Spring 2017

CS 200. User IDs, Passwords, Permissions & Groups. User IDs, Passwords, Permissions & Groups. CS 200 Spring 2017 CS 200 User IDs, Passwords, Permissions & Groups 1 Needed to control access to sharepoints and their contents Because Macs & PCs now support multiple accounts, user IDs and passwords are also needed on

More information

CS Final Exam Review Suggestions - Spring 2018

CS Final Exam Review Suggestions - Spring 2018 CS 328 - Final Exam Review Suggestions p. 1 CS 328 - Final Exam Review Suggestions - Spring 2018 last modified: 2018-05-03 Based on suggestions from Prof. Deb Pires from UCLA: Because of the research-supported

More information

How To Upload Your Newsletter

How To Upload Your Newsletter How To Upload Your Newsletter Using The WS_FTP Client Copyright 2005, DPW Enterprises All Rights Reserved Welcome, Hi, my name is Donna Warren. I m a certified Webmaster and have been teaching web design

More information

Enterprise Reporting -- APEX

Enterprise Reporting -- APEX Quick Reference Enterprise Reporting -- APEX This Quick Reference Guide documents Oracle Application Express (APEX) as it relates to Enterprise Reporting (ER). This is not an exhaustive APEX documentation

More information

SelectSurveyASP Advanced User Manual

SelectSurveyASP Advanced User Manual SelectSurveyASP Advanced User Manual Creating Surveys 2 Designing Surveys 2 Templates 3 Libraries 4 Item Types 4 Scored Surveys 5 Page Conditions 5 Piping Answers 6 Previewing Surveys 7 Managing Surveys

More information

Your Own Virtual Playground. CS 1585 :: Doug McGeehan

Your Own Virtual Playground. CS 1585 :: Doug McGeehan Your Own Virtual Playground CS 1585 :: Doug McGeehan Overview Follow these steps on your personal laptop or home PC. 1. 2. 3. 4. 5. Open this URL in your browser: http://tiny.cc/dsl-vm Download and Install

More information

CSCI 4000 Assignment 5

CSCI 4000 Assignment 5 Austin Peay State University, Tennessee Spring 2016 CSCI 4000: Advanced Web Development Dr. Leong Lee CSCI 4000 Assignment 5 Total estimated time for this assignment: 12 hours (if you are a good programmer)

More information

Installing WordPress CMS

Installing WordPress CMS Installing WordPress CMS Extract the contents of the wordpress zip file to D:/public_html/wordpress folder as shown in diagram 1. D:/public_html/wordpress is a virtual domain controlled by Apache Web server

More information

Overview of Web Application Development

Overview of Web Application Development Overview of Web Application Development Web Technologies I. Zsolt Tóth University of Miskolc 2018 Zsolt Tóth (University of Miskolc) Web Apps 2018 1 / 34 Table of Contents Overview Architecture 1 Overview

More information

Lecture 13: MySQL and PHP. Monday, March 26, 2018

Lecture 13: MySQL and PHP. Monday, March 26, 2018 Lecture 13: MySQL and PHP Monday, March 26, 2018 MySQL The Old Way In older versions of PHP, we typically used functions that started with mysql_ that did not belong to a class For example: o o o o mysql_connect()

More information

Department of Electrical Engineering and Computer Science EECS 347 Microprocessor System Projects Spring 2017

Department of Electrical Engineering and Computer Science EECS 347 Microprocessor System Projects Spring 2017 Department of Electrical Engineering and Computer Science EECS 347 Microprocessor System Projects Spring 2017 Personalizable Display Frame ver 1.0 Final Report and User Guide Names: Alex Gangwish, Karan

More information

CS101 Lecture 04: How the Web Works Publishing Web pages. What You ll Learn Today

CS101 Lecture 04: How the Web Works Publishing Web pages. What You ll Learn Today CS101 Lecture 04: How the Web Works Publishing Web pages Aaron Stevens 28 January 2011 1 What You ll Learn Today How does the WWW work? What are web servers, anyway? So I got some HTML pages and stuff.

More information

What is SQL? Toolkit for this guide. Learning SQL Using phpmyadmin

What is SQL? Toolkit for this guide. Learning SQL Using phpmyadmin http://www.php-editors.com/articles/sql_phpmyadmin.php 1 of 8 Members Login User Name: Article: Learning SQL using phpmyadmin Password: Remember Me? register now! Main Menu PHP Tools PHP Help Request PHP

More information

Mysql Tutorial Create Database Username Password Through Phpmyadmin

Mysql Tutorial Create Database Username Password Through Phpmyadmin Mysql Tutorial Create Database Username Password Through Phpmyadmin Convert plain text to MD5 Hash and edit your MySQL Database. Every WordPress blog uses a MySQL Database which can be accessed through

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

BEGINNER PHP Table of Contents

BEGINNER PHP Table of Contents Table of Contents 4 5 6 7 8 9 0 Introduction Getting Setup Your first PHP webpage Working with text Talking to the user Comparison & If statements If & Else Cleaning up the game Remembering values Finishing

More information

Things to note: Each week Xampp will need to be installed. Xampp is Windows software, similar software is available for Mac, called Mamp.

Things to note: Each week Xampp will need to be installed. Xampp is Windows software, similar software is available for Mac, called Mamp. Tutorial 8 Editor Brackets Goals Introduction to PHP and MySql. - Set up and configuration of Xampp - Learning Data flow Things to note: Each week Xampp will need to be installed. Xampp is Windows software,

More information

IELM 511 Information Systems Design Labs 5 and 6. DB creation and Population

IELM 511 Information Systems Design Labs 5 and 6. DB creation and Population IELM 511 Information Systems Design Labs 5 and 6. DB creation and Population In this lab, your objective is to learn the basics of creating and managing a DB system. One way to interact with the DBMS (MySQL)

More information

DATABASE SYSTEMS. Introduction to MySQL. Database System Course, 2018

DATABASE SYSTEMS. Introduction to MySQL. Database System Course, 2018 DATABASE SYSTEMS Introduction to MySQL Database System Course, 2018 CAUTION! *This class is NOT a recitation* We will NOT discuss the course material relevant to the exam and homework assignment We have

More information

Web Server Setup Guide

Web Server Setup Guide SelfTaughtCoders.com Web Server Setup Guide How to set up your own computer for web development. Setting Up Your Computer for Web Development Our web server software As we discussed, our web app is comprised

More information

Tutorial 1: Unix Basics

Tutorial 1: Unix Basics Tutorial 1: Unix Basics To log in to your ece account, enter your ece username and password in the space provided in the login screen. Note that when you type your password, nothing will show up in the

More information

YouTube for Hosting Video Tutorials: The Hows, Whys and Why Nots

YouTube for Hosting Video Tutorials: The Hows, Whys and Why Nots University of Iowa Libraries Staff Publications 3-15-2012 YouTube for Hosting Video Tutorials: The Hows, Whys and Why Nots Amy Blevins University of Iowa Chris Childs University of Iowa Ericka A. Raber

More information

I n p u t. This time. Security. Software. sanitization ); drop table slides. Continuing with. Getting insane with. New attacks and countermeasures:

I n p u t. This time. Security. Software. sanitization ); drop table slides. Continuing with. Getting insane with. New attacks and countermeasures: This time Continuing with Software Security Getting insane with I n p u t sanitization ); drop table slides New attacks and countermeasures: SQL injection Background on web architectures A very basic web

More information

Week - 01 Lecture - 04 Downloading and installing Python

Week - 01 Lecture - 04 Downloading and installing Python Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and

More information

CSCI 4000 Assignment 6

CSCI 4000 Assignment 6 Austin Peay State University, Tennessee Spring 2018 CSCI 4000: Advanced Web Development Dr. Leong Lee CSCI 4000 Assignment 6 Total estimated time for this assignment: 6 hours (if you are a good programmer)

More information

FAQs. A guide for school app administrators

FAQs. A guide for school app administrators FAQs A guide for school app administrators Introduction myschoolapp is a simple and cost-effective way to engage with today s mobile parents and carers who run their lives from their phones. It helps you

More information

Smart Bulk SMS & Voice SMS Marketing Script with 2-Way Messaging. Quick-Start Manual

Smart Bulk SMS & Voice SMS Marketing Script with 2-Way Messaging. Quick-Start Manual Mobiketa Smart Bulk SMS & Voice SMS Marketing Script with 2-Way Messaging Quick-Start Manual Overview Mobiketa Is a full-featured Bulk SMS and Voice SMS marketing script that gives you control over your

More information

Introduction to MySQL. Database Systems

Introduction to MySQL. Database Systems Introduction to MySQL Database Systems 1 Agenda Bureaucracy Database architecture overview SSH Tunneling Intro to MySQL Comments on homework 2 Homework #1 Submission date is on the website.. (No late arrivals

More information

Canvas by Instructure User Guide

Canvas by Instructure User Guide Canvas by Instructure User Guide Contents Login to Canvas... 2 Interface Canvas... 3 Dashboard Canvas... 3 Sidebar... 3 Calendar... 4 Notifications... 4 Submit Assignment... 5 Take a Quiz... 5 Gradebook...

More information

Center for Faculty Development and Support. Google Docs Tutorial

Center for Faculty Development and Support. Google Docs Tutorial Center for Faculty Development and Support Google Docs Tutorial Table of Contents Overview... 3 Learning Objectives... 3 Access Google Drive... 3 Introduction... 4 Create a Google Document... 4 Upload

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

CS 1110, LAB 1: PYTHON EXPRESSIONS.

CS 1110, LAB 1: PYTHON EXPRESSIONS. CS 1110, LAB 1: PYTHON EXPRESSIONS Name: Net-ID: There is an online version of these instructions at http://www.cs.cornell.edu/courses/cs1110/2012fa/labs/lab1 You may wish to use that version of the instructions.

More information