A Sample Approach to your Project

Size: px
Start display at page:

Download "A Sample Approach to your Project"

Transcription

1 A Sample Approach to your Project An object-oriented interpreted programming language Python 3 :: Flask :: SQLite3 A micro web framework written in Python A public domain, barebones SQL database system Doug McGeehan

2 Your Development Environment Windows Client PuTTY Xming S&T CLC Machines Pre-installed in CLCs Linux Server Python 3 pip virtualenv

3 Outline 1. Fire up Xming server 2. PuTTY w/ X forwarding 3. Connect to CLC Linux 4. Firefox: test X forwarding 5. mkdir: A Blank Canvas 6. Python virtualenv 7. Installing Flask 8. Flask: Hello World! 9. Your Own Flask Server 10. Flask: Jinja2 Templating 11. Flask: HTML forms & HTTP requests 12. Beginner s SQLite

4 1. Fire up Xming server Start menu Type xming Find it Execute program Nothing happens, but it should be running

5 2. PuTTY w/ X forwarding Start menu Type putty Find it Open program Category >> Connection >> SSH >> X11 Verify box is ticked

6 3. Connecting to a CLC Linux Machine Select a server rcnnxcs213.managed.mst.edu 01 <= NN <= 40 Verify X fowarding enabled Press Open (or Enter) Username + Password

7 3. Connecting to a CLC Linux Machine Select a server rcnnxcs213.managed.mst.edu 01 <= NN <= 40 Verify X fowarding enabled Press Open (or Enter) Username + Password

8 4. Testing X forwarding with Firefox Let s test X fowarding is working. djmvfb@rc05xcs213:~$ Whatever precedes $ is your current working directory ~ is your home directory

9 4. Testing X forwarding with Firefox Let s test X fowarding is working. djmvfb@rc05xcs213:~$ firefox & Execute this command and immediate go into the background. Benefit: no second PuTTY window

10 4. Testing X forwarding with Firefox Let s test X fowarding is working. djmvfb@rc05xcs213:~$ firefox & Execute this command and immediate go into the background. Xming Benefit: no second PuTTY window

11 5. mkdir: A Blank Canvas for your Project djmvfb@rc05xcs213:~$ mkdir cs2300proj Make a directory (folder) for your project

12 5. mkdir: A Blank Canvas for your Project djmvfb@rc05xcs213:~$ mkdir cs2300proj djmvfb@rc05xcs213:~$ cd cs2300proj/ Navigate into said directory

13 5. mkdir: A Blank Canvas for your Project djmvfb@rc05xcs213:~$ mkdir cs2300proj djmvfb@rc05xcs213:~$ cd cs2300proj/ djmvfb@rc05xcs213:~/cs2300proj$ ~/cs2300proj is now your current working directory

14 6. Python virtualenv: Your Development Sandbox ~/cs2300proj$ virtualenv -p python3 venv New python executable in /mnt/dfs/djmvfb/users/ djmvfb/linuxhome/cs2300proj/venv/bin/python Installing setuptools, pip, wheel...done. ~/cs2300proj$ source venv/bin/activate (venv) ~/cs2300proj$

15 6. Python virtualenv: Your Development Sandbox ~/cs2300proj$ source venv/bin/activate (venv) ~/cs2300proj$ Remember this command and the (venv) prefix. You must be in that directory to execute it.

16 7. Installing Flask: a Python micro web framework (venv) ~/cs2300proj$ pip install flask Installs flask in your virtual environment Does not install globally on the server Benefit: no administrative privileges needed install libraries of different versions than those already on the system

17 8. Flask: Hello World! Fire up your favorite editor Protip: learn VIM run.sh: Don t just copy this and paste this. export FLASK_APP=webpage.py export FLASK_DEBUG=1 flask run -h localhost -p 8000 Bash shell environment variables

18 8. Flask: Hello World! Fire up your favorite editor Protip: learn VIM webpage.py: run.sh: Python library import Don t just copy this and paste this. export FLASK_APP=webpage.py export FLASK_DEBUG=1 flask run -h localhost -p 8000 from flask import Flask app = Flask( name ) Don t just copy this and paste def hello_world(): return 'Hello, World!'

19 8. Flask: Hello World! Fire up your favorite editor Protip: learn VIM run.sh: Don t just copy this and paste this. export FLASK_APP=webpage.py Python decorator* export FLASK_DEBUG=1 flask run -h localhost -p 8000 webpage.py: from flask import Flask app = Flask( name ) Don t just copy this and paste def hello_world(): return 'Hello, World!' *Advanced Python entity, kind of difficult to custom use for beginners.

20 8. Flask: Hello World! Fire up your favorite editor Protip: learn VIM webpage.py: run.sh: Don t just copy this and paste this. export FLASK_APP=webpage.py export FLASK_DEBUG=1 Function definition flask run -h localhost -p 8000 from flask import Flask app = Flask( name ) Don t just copy this and paste def hello_world(): return 'Hello, World!'

21 8. Flask: Hello World! Fire up your favorite editor Protip: learn VIM webpage.py: run.sh: Don t just copy this and paste this. export FLASK_APP=webpage.py export FLASK_DEBUG=1 flask run -h localhost Required -p indentation* 8000 from flask import Flask app = Flask( name ) Don t just copy this and paste def hello_world(): return 'Hello, World!' *Tabs or spaces. Recommended: 4 spaces.

22 9. Your Own Flask Server (venv) ~/cs2300proj$ chmod +x run.sh Changes the run.sh file to be executable in Linux

23 9. Your Own Flask Server (venv) ~/cs2300proj$ chmod +x run.sh (venv) ~/cs2300proj$./run.sh Execute the run.sh file that exists in the current working directory

24 9. Your Own Flask Server (venv) ~/cs2300proj$ chmod +x run.sh (venv) ~/cs2300proj$./run.sh * Serving Flask app "webpage" * Forcing debug mode on * Running on (Press CTRL+C to quit) * Restarting with stat * Debugger is active! * Debugger PIN: Only accessible through the local host i.e. from applications running on the Linux box.

25 9. Your Own Flask Server (venv) ~/cs2300proj$ chmod +x run.sh (venv) ~/cs2300proj$./run.sh * Serving Flask app "webpage" * Forcing debug mode on * Running on (Press CTRL+C to quit) * Restarting with stat * Debugger is active! * Debugger PIN: Only accessible through the local host i.e. from applications running on the Linux box.

26 10. Flask + Jinja2 templates: Dynamic Webpages (venv) ~/cs2300proj$ mkdir templates Make a directory (folder) in the current working directory named templates

27 10. Flask + Jinja2 templates: Dynamic Webpages (venv) ~/cs2300proj$ mkdir templates (venv) ~/cs2300proj$ mkdir static (venv) ~/cs2300proj$ ls List the contents of the current working directory

28 10. Flask + Jinja2 templates: Dynamic Webpages (venv) ~/cs2300proj$ mkdir templates (venv) ~/cs2300proj$ mkdir static (venv) ~/cs2300proj$ ls pycache run.sh static templates venv webpage.py Static files: JavaScript, CSS, Images Jinja2 templates: HTML files

29 10. Flask + Jinja2 templates: Dynamic Webpages templates/index.html: <html lang="en"> <head> <title>something Meaningful</title> <meta charset="utf-8" /> </head> Don t just copy this and paste this. <body> <header><h1>{{ header }}</h1></header> </body> </html> webpage.py: Jinja2 template syntax for variable insertion

30 10. Flask + Jinja2 templates: Dynamic Webpages templates/index.html: <html lang="en"> <head> <title>something Meaningful</title> <meta charset="utf-8" /> </head> Don t just copy this and paste this. <body> <header><h1>{{ header }}</h1></header> </body> </html> webpage.py: from flask import Flask from flask import render_template Don t just copy this and paste this. app = Flask( name def doesnt_matter_what_you_name_this(): return render_template( 'index.html', header='demo for CS2300' )

31 10. Flask + Jinja2 templates: Dynamic Webpages templates/index.html: <html lang="en"> <head> <title>something Meaningful</title> <meta charset="utf-8" /> </head> Don t just copy this and paste this. <body> <header><h1>{{ header }}</h1></header> </body> </html> webpage.py: from flask import Flask from flask import render_template Don t just copy this and paste this. app = Flask( name def doesnt_matter_what_you_name_this(): return render_template( 'index.html', header='demo for CS2300' )

32 10. Flask + Jinja2 templates: Dynamic Webpages If statement: {% if True %} {{ variable }} {% endif %} For loop: <ul> {% for item in list %} <li>{{ item }}</li> {% endfor %} </ul>

33 11. Flask: HTML forms and HTTP requests templates/index.html:... <body> {% if header %} <header><h1>{{ header }}</h1></header> {% endif %} <form action="{{ url_for( insert ) }}" method="post"> Something: <input type="text" name="form-field"> <input type="submit" value="submit"> </form> </body> If header variable is defined when rendering template, include this HTML code Insert the URL for the insert function. When submit button is pressed, use HTTP POST to send form data to the action URL

34 11. Flask: HTML forms and HTTP requests templates/index.html:... <body> {% if header %} <header><h1>{{ header }}</h1></header> {% endif %} <form action="{{ url_for( insert ) }}" method="post"> Something: <input type="text" name="form-field"> <input type="submit" value="submit"> </form> </body> def index(): return render_template( 'index.html', header='demo for CS2300' methods=['post']) def insert(): # more code to come return render_template('index.html')

35 11. Flask: HTML forms and HTTP requests templates/index.html:... <body> {% if header %} <header><h1>{{ header }}</h1></header> {% endif %} <form action="{{ url_for( insert ) }}" method="post"> Something: <input type="text" name="form-field"> <input type="submit" value="submit"> </form> </body> def index(): return render_template( 'index.html', header='demo for CS2300' methods=['post']) def insert(): # more code to come return render_template('index.html')

36 11. Flask: HTML forms and HTTP requests templates/index.html:... <body> <header><h1>{{ header }}</h1></header> <form action="{{ url_for( insert ) }}" method="post"> Something: <input type="text" name="form-field"> <input type="submit" value="submit"> </form> </body> </html> webpage.py:... from flask import methods=['post']) def insert(): field = request.form['form-field'] return render_template( 'index.html', header=field )

37 11. Flask: HTML forms and HTTP requests templates/index.html:... <body> <header><h1>{{ header }}</h1></header> <form action="{{ url_for( insert ) }}" method="post"> Something: <input type="text" name="form-field"> <input type="submit" value="submit"> </form> </body> </html> webpage.py:... from flask import methods=['post']) def insert(): field = request.form['form-field'] return render_template( 'index.html', header=field )

38 12. Beginner s SQLite import sqlite3 connection = sqlite3.connect( database.db ) cursor = connection.curser() connection.commit() cursor.close()

39 12. Beginner s SQLite :: Create Table cursor = connection.curser() cursor.execute(""" CREATE TABLE Stuff ( form_fields VARCHAR(120) ) """) connection.commit()

40 12. Beginner s SQLite :: Insert Values cursor = connection.curser() cursor.execute( 'INSERT INTO Stuff VALUES (:val)', {'val': 'something'} ) connection.commit()

41 12. Beginner s SQLite :: Query for Values cursor = connection.curser() result = cursor.execute(""" SELECT * FROM Stuff """).fetchone() result == ( something,)

42 12. Beginner s SQLite :: Back to Flask webpage.py: import sqlite3 connection = sqlite3.connect( data.db ) from flask import methods=['post']) def insert(): field = request.form['form-field'] cursor = connection.cursor() cursor.execute( 'INSERT INTO Stuff VALUES (:val)', {'val': field} ) connection.commit() webpage.py (cont): db_contents = cursor.execute( 'SELECT * FROM Stuff' ).fetchall() return render_template( 'index.html', list_of_stuff=db_contents, header='new Stuff' )

43 12. Beginner s SQLite :: Back to Flask index.html:... {% if list_of_stuff %} <div> <ul> {% for (val,) in list_of_stuff %} <li>{{ val }}</li> {% endfor %} </ul> </div> {% endif %}... webpage.py (cont): db_contents = cursor.execute( 'SELECT * FROM Stuff' ).fetchall() return render_template( 'index.html', list_of_stuff=db_contents, header='new Stuff' )

44 12. Beginner s SQLite :: Back to Flask index.html:... {% if list_of_stuff %} <div> <ul> {% for (val,) in list_of_stuff %} <li>{{ val }}</li> {% endfor %} </ul> </div> {% endif %}... webpage.py (cont): db_contents = cursor.execute( 'SELECT * FROM Stuff' ).fetchall() return render_template( 'index.html', list_of_stuff=db_contents, header='new Stuff' )

45 12. Beginner s SQLite :: Back to Flask index.html:... {% if list_of_stuff %} <div> <ul> {% for (val,) in list_of_stuff %} <li>{{ val }}</li> {% endfor %} </ul> </div> {% endif %}... webpage.py (cont): db_contents = cursor.execute( 'SELECT * FROM Stuff' ).fetchall() return render_template( 'index.html', list_of_stuff=db_contents, header='new Stuff' )

46 12. Beginner s SQLite :: Back to Flask index.html:... {% if list_of_stuff %} <div> <ul> {% for (val,) in list_of_stuff %} <li>{{ val }}</li> {% endfor %} </ul> </div> {% endif %}... webpage.py (cont): db_contents = cursor.execute( 'SELECT * FROM Stuff' ).fetchall() return render_template( 'index.html', list_of_stuff=db_contents, header='new Stuff' )

47 That s it. Python / Flask / SQLite aren t required for your projects Everything beyond this lecture is up to your own learning

48 Further Reading Flask tutorial: SQLite tutorial: Jinja2 tutorial:

49 Demo Code available on S&T GitLab git clone

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

Flask Guide. Meher Krishna Patel. Created on : Octorber, 2017 Last updated : May, More documents are freely available at PythonDSP

Flask Guide. Meher Krishna Patel. Created on : Octorber, 2017 Last updated : May, More documents are freely available at PythonDSP Flask Guide Meher Krishna Patel Created on : Octorber, 017 Last updated : May, 018 More documents are freely available at PythonDSP Table of contents Table of contents i 1 Flask 1 1.1 Introduction.................................................

More information

LECTURE 14. Web Frameworks

LECTURE 14. Web Frameworks LECTURE 14 Web Frameworks WEB DEVELOPMENT CONTINUED Web frameworks are collections of packages or modules which allow developers to write web applications with minimal attention paid to low-level details

More information

LECTURE 14. Web Frameworks

LECTURE 14. Web Frameworks LECTURE 14 Web Frameworks WEB DEVELOPMENT CONTINUED Web frameworks are collections of packages or modules which allow developers to write web applications with minimal attention paid to low-level details

More information

CIS192 Python Programming

CIS192 Python Programming CIS192 Python Programming Web Servers and Web APIs Eric Kutschera University of Pennsylvania March 6, 2015 Eric Kutschera (University of Pennsylvania) CIS 192 March 6, 2015 1 / 22 Outline 1 Web Servers

More information

Python web frameworks

Python web frameworks Flask Python web frameworks Django Roughly follows MVC pattern Steeper learning curve. Flask Initially an April Fools joke Micro -framework: minimal approach. Smaller learning curve http://flask.pocoo.org/docs/0.12/quickstart/#a-minimalapplication

More information

CIS192 Python Programming

CIS192 Python Programming CIS192 Python Programming Web Servers and Web APIs Raymond Yin University of Pennsylvania November 12, 2015 Raymond Yin (University of Pennsylvania) CIS 192 November 12, 2015 1 / 23 Outline 1 Web Servers

More information

Quick housekeeping Last Two Homeworks Extra Credit for demoing project prototypes Reminder about Project Deadlines/specifics Class on April 12th Resul

Quick housekeeping Last Two Homeworks Extra Credit for demoing project prototypes Reminder about Project Deadlines/specifics Class on April 12th Resul CIS192 Python Programming Web Frameworks and Web APIs Harry Smith University of Pennsylvania March 29, 2016 Harry Smith (University of Pennsylvania) CIS 192 March 29, 2016 1 / 25 Quick housekeeping Last

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

Building Web Applications

Building Web Applications Building Web Applications Ambient intelligence Fulvio Corno Politecnico di Torino, 2017/2018 Goal Create simple web applications In Python For interactive interfaces For server-side components Learn a

More information

Building a Python Flask Website A beginner-friendly guide

Building a Python Flask Website A beginner-friendly guide Building a Python Flask Website A beginner-friendly guide PythonHow.com Copyright 2016 PythonHow.com. All rights reserved. 1 Preface This book contains a quick guide on understanding and using the Python

More information

Your departmental website

Your departmental website Your departmental website How to create an online presence, with pictures 7 September, 2016 Jānis Lazovskis Slides available online at math.uic.edu/~jlv/webtalk Things to keep in mind There are many ways

More information

A QUICK GUIDE TO PROGRAMMING FOR THE WEB. ssh (then type your UBIT password when prompted)

A QUICK GUIDE TO PROGRAMMING FOR THE WEB. ssh (then type your UBIT password when prompted) A QUICK GUIDE TO PROGRAMMING FOR THE WEB TO GET ACCESS TO THE SERVER: ssh Secure- Shell. A command- line program that allows you to log in to a server and access your files there as you would on your own

More information

IEMS 5722 Mobile Network Programming and Distributed Server Architecture Semester 2

IEMS 5722 Mobile Network Programming and Distributed Server Architecture Semester 2 IEMS 5722 Mobile Network Programming and Distributed Server Architecture 2016-2017 Semester 2 Assignment 3: Developing a Server Application Due Date: 10 th March, 2017 Notes: i.) Read carefully the instructions

More information

CMSC 201 Spring 2017 Lab 01 Hello World

CMSC 201 Spring 2017 Lab 01 Hello World CMSC 201 Spring 2017 Lab 01 Hello World Assignment: Lab 01 Hello World Due Date: Sunday, February 5th by 8:59:59 PM Value: 10 points At UMBC, our General Lab (GL) system is designed to grant students the

More information

Server-side Development using Python and SQL

Server-side Development using Python and SQL Lab 2 Server-side Development using Python and SQL Spring 2018 TDDD97 Web Programming http://www.ida.liu.se/~tddd97/ Department of Computer and Information Science (IDA) Linköping University Sweden 1 2

More information

CMSC 201 Spring 2018 Lab 01 Hello World

CMSC 201 Spring 2018 Lab 01 Hello World CMSC 201 Spring 2018 Lab 01 Hello World Assignment: Lab 01 Hello World Due Date: Sunday, February 4th by 8:59:59 PM Value: 10 points At UMBC, the GL system is designed to grant students the privileges

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

Part I. UNIX Workshop Series: Quick-Start

Part I. UNIX Workshop Series: Quick-Start Part I UNIX Workshop Series: Quick-Start Objectives Overview Connecting with ssh Command Window Anatomy Command Structure Command Examples Getting Help Files and Directories Wildcards, Redirection and

More information

One of the hardest things you have to do is to keep track of three kinds of commands when writing and running computer programs. Those commands are:

One of the hardest things you have to do is to keep track of three kinds of commands when writing and running computer programs. Those commands are: INTRODUCTION Your first daily assignment is to modify the program test.py to make it more friendly. But first, you need to learn how to edit programs quickly and efficiently. That means using the keyboard

More information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer About the Tutorial PyCharm is the most popular IDE for Python, and includes great features such as excellent code completion and inspection with advanced debugger and support for web programming and various

More information

Flask-Genshi Documentation

Flask-Genshi Documentation Flask-Genshi Documentation Release 0.1 Dag Odenhall September 14, 2011 CONTENTS i ii Flask-Genshi Documentation, Release 0.1 Flask-Genshi is an extension to Flask that allows you to easily use Genshi

More information

Flask Documentation. Release 0.12

Flask Documentation. Release 0.12 Flask Documentation Release 0.12 Mar 21, 2017 CONTENTS I User s Guide 1 1 Foreword 3 2 Foreword for Experienced Programmers 5 3 Installation 7 4 Quickstart 11 5 Tutorial 29 6 Templates 45 7 Testing Flask

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

Quick.JS Documentation

Quick.JS Documentation Quick.JS Documentation Release v0.6.1-beta Michael Krause Jul 22, 2017 Contents 1 Installing and Setting Up 1 1.1 Installation................................................ 1 1.2 Setup...................................................

More information

CSE 101 Introduction to Computers Development / Tutorial / Lab Environment Setup

CSE 101 Introduction to Computers Development / Tutorial / Lab Environment Setup CSE 101 Introduction to Computers Development / Tutorial / Lab Environment Setup Purpose: The purpose of this lab is to setup software that you will be using throughout the term for learning about Python

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

TailorDev Contact Documentation

TailorDev Contact Documentation TailorDev Contact Documentation Release 0.3 Julien Maupetit November 06, 2013 Contents 1 Django TailorDev Contact 3 1.1 Dependencies............................................... 3 1.2 Installation................................................

More information

Introduction to Linux for BlueBEAR. January

Introduction to Linux for BlueBEAR. January Introduction to Linux for BlueBEAR January 2019 http://intranet.birmingham.ac.uk/bear Overview Understanding of the BlueBEAR workflow Logging in to BlueBEAR Introduction to basic Linux commands Basic file

More information

Installing PHP on Windows 10 Bash and Starting a Local Server

Installing PHP on Windows 10 Bash and Starting a Local Server Installing PHP on Windows 10 Bash and Starting a Local Server Bash on Ubuntu/Windows is a way to use a command line to run all kinds of programs (including git!). But we ll want a Bash terminal to run

More information

Using IDLE for

Using IDLE for Using IDLE for 15-110 Step 1: Installing Python Download and install Python using the Resources page of the 15-110 website. Be sure to install version 3.3.2 and the correct version depending on whether

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

MIT AITI Python Software Development Lab DJ1:

MIT AITI Python Software Development Lab DJ1: MIT AITI Python Software Development Lab DJ1: This lab will help you get Django installed and write your first application. 1 Each person in your group must complete this lab and have it checked off. Make

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

Oregon State University School of Electrical Engineering and Computer Science. CS 261 Recitation 1. Spring 2011

Oregon State University School of Electrical Engineering and Computer Science. CS 261 Recitation 1. Spring 2011 Oregon State University School of Electrical Engineering and Computer Science CS 261 Recitation 1 Spring 2011 Outline Using Secure Shell Clients GCC Some Examples Intro to C * * Windows File transfer client:

More information

:59:32 PM PST

:59:32 PM PST Page 1 of 5 1 Group Database PHP workflow 2 3 The Linux side of the CS Lab machines is setup exactly as the Virtual 4 Box images in Scott. You have access to /srv/www/htdocs/php/punetid/ 5 and there is

More information

Technical Note: On The Usage and Development of the AWAKE Web Server and Web Applications

Technical Note: On The Usage and Development of the AWAKE Web Server and Web Applications Technical Note: On The Usage and Development of the AWAKE Web Server and Web Applications Dillon Berger August 10, 2017 Introduction The purpose of this technical note is to give a brief explanation of

More information

Web Programming with Python and JavaScript

Web Programming with Python and JavaScript Web Programming with Python and JavaScript Lecture 9: Security July 26, 2018 Grades 3, 3, 3 Security Context Git HTML Flask SQL APIs JavaScript Django CI/CD Scalability Git Open-Source Software Two-Factor

More information

CSCE UVM Hands-on Session-1 Pre-Work

CSCE UVM Hands-on Session-1 Pre-Work CSCE489-689 UVM Hands-on Session-1 Pre-Work Please complete the following steps before the lecture on Feb-16. These steps will help set-up the environment and tools necessary for the hands-on session.

More information

Helsinki 19 Jan Practical course in genome bioinformatics DAY 0

Helsinki 19 Jan Practical course in genome bioinformatics DAY 0 Helsinki 19 Jan 2017 529028 Practical course in genome bioinformatics DAY 0 This document can be downloaded at: http://ekhidna.biocenter.helsinki.fi/downloads/teaching/spring2017/exercises_day0.pdf The

More information

Using the Zoo Workstations

Using the Zoo Workstations Using the Zoo Workstations Version 1.86: January 16, 2014 If you ve used Linux before, you can probably skip many of these instructions, but skim just in case. Please direct corrections and suggestions

More information

Buzzy Documentation. Release 0. Sebastian Pawluś

Buzzy Documentation. Release 0. Sebastian Pawluś Buzzy Documentation Release 0 Sebastian Pawluś November 10, 2015 Contents 1 Install 3 2 Quick Start 5 3 Renderers 7 4 Settings 9 5 Commands 11 6 Why yield 13 7 Source Code 15 i ii Buzzy Documentation,

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

TangeloHub Documentation

TangeloHub Documentation TangeloHub Documentation Release None Kitware, Inc. September 21, 2015 Contents 1 User s Guide 3 1.1 Managing Data.............................................. 3 1.2 Running an Analysis...........................................

More information

Django Part II SPARCS 11 undead. Greatly Inspired by SPARCS 10 hodduc

Django Part II SPARCS 11 undead. Greatly Inspired by SPARCS 10 hodduc Django Part II 2015-05-27 SPARCS 11 undead Greatly Inspired by SPARCS 10 hodduc Previously on Django Seminar Structure of Web Environment HTTP Requests and HTTP Responses Structure of a Django Project

More information

CSCU9B2 Practical 1: Introduction to HTML 5

CSCU9B2 Practical 1: Introduction to HTML 5 CSCU9B2 Practical 1: Introduction to HTML 5 Aim: To learn the basics of creating web pages with HTML5. Please register your practical attendance: Go to the GROUPS\CSCU9B2 folder in your Computer folder

More information

Carnegie Mellon. Linux Boot Camp. Jack, Matthew, Nishad, Stanley 6 Sep 2016

Carnegie Mellon. Linux Boot Camp. Jack, Matthew, Nishad, Stanley 6 Sep 2016 Linux Boot Camp Jack, Matthew, Nishad, Stanley 6 Sep 2016 1 Connecting SSH Windows users: MobaXterm, PuTTY, SSH Tectia Mac & Linux users: Terminal (Just type ssh) andrewid@shark.ics.cs.cmu.edu 2 Let s

More information

Software Development I

Software Development I 6.148 Software Development I Two things How to write code for web apps. How to collaborate and keep track of your work. A text editor A text editor A text editor Anything that you re used to using Even

More information

CS 246 Winter Tutorial 1

CS 246 Winter Tutorial 1 CS 246 Winter 2015 - Tutorial 1 January 11, 2016 1 Summary General Administration Stuff CS Undergraduate Environment Useful Software Basic Commands.profile Text Editors 2 General Administration Stuff Course

More information

CIS 192: Lecture 11 Databases (SQLite3)

CIS 192: Lecture 11 Databases (SQLite3) CIS 192: Lecture 11 Databases (SQLite3) Lili Dworkin University of Pennsylvania In-Class Quiz app = Flask( main ) @app.route('/') def home():... app.run() 1. type(app.run) 2. type(app.route( / )) Hint:

More information

Introduction to Cuda Visualization. Graphical Application Tunnelling on Palmetto

Introduction to Cuda Visualization. Graphical Application Tunnelling on Palmetto Introduction to Cuda Visualization The CUDA programming paradigm is NVidia's development tool which is used to enable advanced computer processing on their GPGPU (General Purpose graphics Processing Units)

More information

Linux/Cygwin Practice Computer Architecture

Linux/Cygwin Practice Computer Architecture Linux/Cygwin Practice 2010 Computer Architecture Linux Login Use ssh client applications to connect (Port : 22) SSH Clients zterm ( http://www.brainz.co.kr/products/products4_2.php ) Putty ( http://kldp.net/frs/download.php/3411/hangulputty-0.58.h2.exe

More information

mongodb-tornado-angular Documentation

mongodb-tornado-angular Documentation mongodb-tornado-angular Documentation Release 0.1.1 David Levy February 22, 2017 Contents 1 Installation 3 1.1 linux/mac................................................. 3 1.2 Python3.x.................................................

More information

DJOAuth2 Documentation

DJOAuth2 Documentation DJOAuth2 Documentation Release 0.6.0 Peter Downs Sep 27, 2017 Contents 1 Important Links 1 2 What is DJOAuth2? 3 3 Why use DJOAuth2? 5 4 What is implemented? 7 5 Quickstart Guide 9 5.1 Requirements...............................................

More information

Getting started with Raspberry Pi (and WebIoPi framework)

Getting started with Raspberry Pi (and WebIoPi framework) Getting started with Raspberry Pi (and WebIoPi framework) 1. Installing the OS on the Raspberry Pi Download the image file from the Raspberry Pi website. It ll be a zip file as shown below: Unzip the file

More information

Web Development and HTML. Shan-Hung Wu CS, NTHU

Web Development and HTML. Shan-Hung Wu CS, NTHU Web Development and HTML Shan-Hung Wu CS, NTHU Outline How does Internet Work? Web Development HTML Block vs. Inline elements Lists Links and Attributes Tables Forms 2 Outline How does Internet Work? Web

More information

Café Soylent Green Chapters 4

Café Soylent Green Chapters 4 Café Soylent Green Chapters 4 You will be completing the Links Tutorial from your textbook, Chapter 4, pgs. 223-227 AND the Images Tutorial, Chapter 5, pgs. 278-287. You will need to be at a computer that

More information

LAB #5 Intro to Linux and Python on ENGR

LAB #5 Intro to Linux and Python on ENGR LAB #5 Intro to Linux and Python on ENGR 1. Pre-Lab: In this lab, we are going to download some useful tools needed throughout your CS career. First, you need to download a secure shell (ssh) client for

More information

Click Studios. Passwordstate. Remote Session Launcher. Installation Instructions

Click Studios. Passwordstate. Remote Session Launcher. Installation Instructions Passwordstate Remote Session Launcher Installation Instructions This document and the information controlled therein is the property of Click Studios. It must not be reproduced in whole/part, or otherwise

More information

USQ/CSC2406 Web Publishing

USQ/CSC2406 Web Publishing USQ/CSC2406 Web Publishing Lecture 4: HTML Forms, Server & CGI Scripts Tralvex (Rex) Yeap 19 December 2002 Outline Quick Review on Lecture 3 Topic 7: HTML Forms Topic 8: Server & CGI Scripts Class Activity

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

Bitnami Re:dash for Huawei Enterprise Cloud

Bitnami Re:dash for Huawei Enterprise Cloud Bitnami Re:dash for Huawei Enterprise Cloud Description Re:dash is an open source data visualization and collaboration tool. It was designed to allow fast and easy access to billions of records in all

More information

Agenda. - Final Project Info. - All things Git. - Make sure to come to lab for Python next week

Agenda. - Final Project Info. - All things Git. - Make sure to come to lab for Python next week Lab #8 Git Agenda - Final Project Info - All things Git - Make sure to come to lab for Python next week Final Project Low Down The Projects are Creative AI, Arduino, Web Scheduler, ios and Connect 4 Notes

More information

Introduction to Unix The Windows User perspective. Wes Frisby Kyle Horne Todd Johansen

Introduction to Unix The Windows User perspective. Wes Frisby Kyle Horne Todd Johansen Introduction to Unix The Windows User perspective Wes Frisby Kyle Horne Todd Johansen What is Unix? Portable, multi-tasking, and multi-user operating system Software development environment Hardware independent

More information

CS Fundamentals of Programming II Fall Very Basic UNIX

CS Fundamentals of Programming II Fall Very Basic UNIX CS 215 - Fundamentals of Programming II Fall 2012 - Very Basic UNIX This handout very briefly describes how to use Unix and how to use the Linux server and client machines in the CS (Project) Lab (KC-265)

More information

VPS SETUP: What is a VPS? A VPS is a cloud server, running on a virtual machine. You can t run a masternode on your computer itself.

VPS SETUP: What is a VPS? A VPS is a cloud server, running on a virtual machine. You can t run a masternode on your computer itself. Our guide makes it easy to set up your own masternode! BEFORE YOU BEGIN, YOU WILL NEED: 1. 1,000 SUPPO s 2. The latest SuppoCoin wallet, which can always be found here: https://www.suppocoin.io 3. Two

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

Xerte. Guide to making responsive webpages with Bootstrap

Xerte. Guide to making responsive webpages with Bootstrap Xerte Guide to making responsive webpages with Bootstrap Introduction The Xerte Bootstrap Template provides a quick way to create dynamic, responsive webpages that will work well on any device. Tip: Webpages

More information

CS 143A. Principles of Operating Systems. Instructor : Prof. Anton Burtsev

CS 143A. Principles of Operating Systems. Instructor : Prof. Anton Burtsev CS 143A Principles of Operating Systems Instructor : Prof. Anton Burtsev (aburtsev@uci.edu) Assistants : Junjie Shen junjies1@uci.edu Vikram Narayanan narayav1@uci.edu Biswadip Maity (Deep) Email : maityb@uci.edu

More information

24 Writing Your First Script

24 Writing Your First Script In the preceding chapters, we have assembled an arsenal of command line tools. While these tools can solve many kinds of computing problems, we are still limited to manually using them one by one on the

More information

Git. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes

Git. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes Git Charles J. Geyer School of Statistics University of Minnesota Stat 8054 Lecture Notes 1 Before Anything Else Tell git who you are. git config --global user.name "Charles J. Geyer" git config --global

More information

Linux hep.wisc.edu

Linux hep.wisc.edu Linux Environment @ hep.wisc.edu 1 Your Account : Login Name and usage You are given a unique login name (e.g. john) A temporary password is given to you Use this to login name and password to enter the

More information

CSCI 201 Lab 1 Environment Setup

CSCI 201 Lab 1 Environment Setup CSCI 201 Lab 1 Environment Setup "The journey of a thousand miles begins with one step." - Lao Tzu Introduction This lab document will go over the steps to install and set up Eclipse, which is a Java integrated

More information

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted Announcements 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted 2. Campus is closed on Monday. 3. Install Komodo Edit on your computer this weekend.

More information

Software Installation - Accessing Linux and Checking your Environmental Variables

Software Installation - Accessing Linux and Checking your Environmental Variables Accessing Linux and Checking your Environmental Although you may be fortunate enough to have a powerful multi-processor desktop running Linux, most of our sponsors do not. Most of our sponsors will have

More information

The Structure of the Web. Jim and Matthew

The Structure of the Web. Jim and Matthew The Structure of the Web Jim and Matthew Workshop Structure 1. 2. 3. 4. 5. 6. 7. What is a browser? HTML CSS Javascript LUNCH Clients and Servers (creating a live website) Build your Own Website Workshop

More information

Forms, CGI. Objectives

Forms, CGI. Objectives Forms, CGI Objectives The basics of HTML forms How form content is submitted GET, POST Elements that you can have in forms Responding to forms Common Gateway Interface (CGI) Later: Servlets Generation

More information

HTML 5 Form Processing

HTML 5 Form Processing HTML 5 Form Processing In this session we will explore the way that data is passed from an HTML 5 form to a form processor and back again. We are going to start by looking at the functionality of part

More information

SO, ARE YOU READY? HERE WE GO:

SO, ARE YOU READY? HERE WE GO: Date: 28/09/2012 Procedure: How To Move WordPress To A New Server Or Host Source: LINK Permalink: LINK Created by: HeelpBook Staff Document Version: 1.0 HOW TO MOVE WORDPRESS TO A NEW SERVER OR HOST It

More information

Beginning HTML. The Nuts and Bolts of building Web pages.

Beginning HTML. The Nuts and Bolts of building Web pages. Beginning HTML The Nuts and Bolts of building Web pages. Overview Today we will cover: 1. what is HTML and what is it not? Building a simple webpage Getting that online. What is HTML? The language of the

More information

CROWDCOIN MASTERNODE SETUP COLD WALLET ON WINDOWS WITH LINUX VPS

CROWDCOIN MASTERNODE SETUP COLD WALLET ON WINDOWS WITH LINUX VPS CROWDCOIN MASTERNODE SETUP COLD WALLET ON WINDOWS WITH LINUX VPS This tutorial shows the steps required to setup your Crowdcoin Masternode on a Linux server and run your wallet on a Windows operating system

More information

a. Right-click on the Windows Menu Icon (usually on the bottom left) and select Windows PowerShell (Admin). Run the following command and reboot.

a. Right-click on the Windows Menu Icon (usually on the bottom left) and select Windows PowerShell (Admin). Run the following command and reboot. Windows 10 Installation of HKL-2000 & HKL-3000 HKL-2000 and HKL-3000 can now be installed on Windows 10 systems, giving you the flexibility to install HKL in the three most popular operating systems (Linux,

More information

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted Announcements 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted 2. Install Komodo Edit on your computer right away. 3. Bring laptops to next class

More information

CS 1301 Fall 2008 Lab 2 Introduction to UNIX

CS 1301 Fall 2008 Lab 2 Introduction to UNIX CS 1301 Fall 2008 Lab 2 Introduction to UNIX Due: Friday, September 19 th, at 6 PM (Monday, September 22 nd for 10% off) Notes: Do not wait until the last minute to do this assignment in case you run into

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

29-27 May 2013 CERN WEB FRAMEWORKS. Adrian Mönnich

29-27 May 2013 CERN WEB FRAMEWORKS. Adrian Mönnich First Indico Workshop 29-27 May 2013 CERN WEB FRAMEWORKS Adrian Mönnich Framework? What? Do we have one? Do we need one? A web application framework is a software framework that is designed to support

More information

Human-Computer Interaction Design

Human-Computer Interaction Design Human-Computer Interaction Design COGS120/CSE170 - Intro. HCI Instructor: Philip Guo Lab 2 - Styling and publishing your website (2018-10-10) by Michael Bernstein, Scott Klemmer, Philip Guo, and Sean Kross

More information

Git Guide. Meher Krishna Patel. Created on : Octorber, 2017 Last updated : October, More documents are freely available at PythonDSP

Git Guide. Meher Krishna Patel. Created on : Octorber, 2017 Last updated : October, More documents are freely available at PythonDSP Git Guide Meher Krishna Patel Created on : Octorber, 2017 Last updated : October, 2018 More documents are freely available at PythonDSP Table of contents Table of contents i 1 Commands Summary 1 2 Git

More information

Bootstrap-Flask Documentation

Bootstrap-Flask Documentation Bootstrap-Flask Documentation Release 1.0.4 Grey Li Nov 14, 2018 Contents 1 Contents 3 1.1 Basic Usage............................................... 3 1.2 Use Macros................................................

More information

IoT with Intel Galileo Gerardo Carmona. makerobots.tk

IoT with Intel Galileo Gerardo Carmona. makerobots.tk IoT with Intel Galileo Gerardo Carmona Outline What is Intel Galileo? Hello world! In Arduino Arduino and Linux Linux via SSH Playing around in Linux Programming flexibility How GPIOs works Challenge 1:

More information

Developing Ajax Applications using EWD and Python. Tutorial: Part 2

Developing Ajax Applications using EWD and Python. Tutorial: Part 2 Developing Ajax Applications using EWD and Python Tutorial: Part 2 Chapter 1: A Logon Form Introduction This second part of our tutorial on developing Ajax applications using EWD and Python will carry

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

IRLS 504 Student Webpage Tutorial By: Nicole Pagowsky & Sara Hayden Summer 2008

IRLS 504 Student Webpage Tutorial By: Nicole Pagowsky & Sara Hayden Summer 2008 IRLS 504 Student Webpage Tutorial By: Nicole Pagowsky & Sara Hayden Summer 2008 These steps follow from setting up a Net ID, U-System Account, and initializing your web space through PuTTy (SSH Client).

More information

Exercise sheet 1 To be corrected in tutorials in the week from 23/10/2017 to 27/10/2017

Exercise sheet 1 To be corrected in tutorials in the week from 23/10/2017 to 27/10/2017 Einführung in die Programmierung für Physiker WS 207/208 Marc Wagner Francesca Cuteri: cuteri@th.physik.uni-frankfurt.de Alessandro Sciarra: sciarra@th.physik.uni-frankfurt.de Exercise sheet To be corrected

More information

Exercise 1: Basic Tools

Exercise 1: Basic Tools Exercise 1: Basic Tools This exercise is created so everybody can learn the basic tools we will use during this course. It is really more like a tutorial than an exercise and, you are not required to submit

More information

15-122: Principles of Imperative Computation

15-122: Principles of Imperative Computation 15-122: Principles of Imperative Computation Lab 0 Navigating your account in Linux Tom Cortina, Rob Simmons Unlike typical graphical interfaces for operating systems, here you are entering commands directly

More information

Intermediate Programming, Spring Misha Kazhdan

Intermediate Programming, Spring Misha Kazhdan 600.120 Intermediate Programming, Spring 2017 Misha Kazhdan Outline Unix/Linux command line Basics of the Emacs editor Compiling and running a simple C program Cloning a repository Connecting to ugrad

More information

Adobe Dreamweaver CS5 Tutorial

Adobe Dreamweaver CS5 Tutorial Adobe Dreamweaver CS5 Tutorial GETTING STARTED This tutorial focuses on the basic steps involved in creating an attractive, functional website. In using this tutorial you will learn to design a site layout,

More information

Tomasz Szumlak WFiIS AGH 23/10/2017, Kraków

Tomasz Szumlak WFiIS AGH 23/10/2017, Kraków Python in the Enterprise Django Intro Tomasz Szumlak WFiIS AGH 23/10/2017, Kraków Going beyond Django is a Web framework very popular! It is not the only one, and cannot do wonders There are many others:

More information

CHE3935. Lecture 1. Introduction to Linux

CHE3935. Lecture 1. Introduction to Linux CHE3935 Lecture 1 Introduction to Linux 1 Logging In PuTTY is a free telnet/ssh client that can be run without installing it within Windows. It will only give you a terminal interface, but used with a

More information