Lecture 4. Ruby on Rails 1 / 52

Size: px
Start display at page:

Download "Lecture 4. Ruby on Rails 1 / 52"

Transcription

1 Lecture 4 Ruby on Rails 1 / 52

2 Homeworks 2 & 3 Grades were released for homework 2 Homework 3 was due last night Everyone got a style freebie since my default setup ignores spec files and I didn't change it 2 / 52

3 Go Birds! In honor of the Philadelphia Eagles winning their first Super Bowl, I will be giving everyone another free late day You can use it on any assignment during the semester This brings your late day total up to 2 (unless you've already used 1) 3 / 52

4 19x Shared Lecture Last week discussed Internet Basics This week will go over HTML & CSS Please go to this lecture if you've never worked with HTML & CSS before If you cannot attend, please go through CodeCademy to learn HTML I can't dedicate much time to HTML/CSS in lecture, but they are vital to being a web developer 4 / 52

5 O ce Hours Weekday Time Location TA Sunday 11am-12pm Harrison Mezz Sanjana 2-3pm Harnwell Mezz Desmond Monday 5:30-6:30pm Moore 100 Sanjana 6:30-7:30pm Moore 100 Zhilei Tuesday 4-5pm Moore 100 Zhilei 5-6pm Moore 100 Desmond 6-7pm Moore 100 Jackie Wednesday 7-8pm Harnwell Mezz Jackie 5 / 52

6 HTTP 6 / 52

7 HTTP Stands for HyperText Transfer Protocol A client (e.g. web browser, phone, computer, etc.) sends a request to a server The server receives this request and sends back a response This response is usually a web page (i.e. HTML with accompanying files) or data, usually in XML or JSON 7 / 52

8 Client-server 8 / 52

9 HTTP Verbs The five most common types of HTTP requests are: GET POST PUT/PATCH DELETE 9 / 52

10 GET Request This is usually the default type of request sent When you enter a URL or click a link, a GET request is sent for the webpage When a webpage updates, it probably sent a GET request behind the scenes to get the new data As the name suggests, it should only be used to get something 10 / 52

11 POST Request This should be used to send data from the client to the server While you can technically use GET requests to send data, you should always use a POST request instead It's much more robust and secure This is the default type of request sent when submitting a form (i.e. signing into a website) 11 / 52

12 PUT/PATCH Request This should be used to update something on the server You could technically use a POST request to update as well, but it is convention to use a PUT or PATCH request instead The main difference between PUT and PATCH: A PUT request is used to update an entire record A PATCH request is used to update part of it 12 / 52

13 DELETE Request This should be used to delete something on the server While you could technically use a POST request to delete, it is convention to use a DELETE request instead 13 / 52

14 MVC 14 / 52

15 MVC Stands for Model-View-Controller Every community has different definitions and conventions for MVC Rails is no different Ignore the conventions of other communities when working with Rails 15 / 52

16 Controller The controller is the layer of the application that handles HTTP requests It communicates with both the Model and the View The controller should try to pass off as much logic as possible to the Model 16 / 52

17 Model The model is the layer of the application with the crux of the application's logic It should be the main place where the database is directly accessed In general, the controller will make a request to the model and the model will send back the requested data 17 / 52

18 View The view is the layer of the application that the user will see and interact with It should have very minimal logic inside of it In general, the controller will send data (likely retrieved from the model) to the view to be rendered to the user 18 / 52

19 19 / 52

20 Ruby on Rails 20 / 52

21 Ruby on Rails History Created by David Heinemeier Hansson (DHH) First open sourced in July 2004 Revolutionized web development from 2005 to / 52

22 Ruby on Rails Also referred to as Rails It is an opinionated web framework that allows you to quickly get a website up and running HUGE proponent of Convention over Configuration and Don't Repeat Yourself principles We will be using version It is extremely important that you use the correct version Make sure that you are NOT using / 52

23 Getting Started gem install rails -v Create a Rails app: rails new app_name Creates a directory of your rails app with all the basic directories and files By default, it will bundle install all of the gems in the Gemfile 23 / 52

24 Directory Structure **app/ bin/ Organizes application components Models, views & controllers go here Images, stylesheets, JavaScripts specific to this application go in app/assets/ The majority of the changes you'll make will be in this directory Contains app executables 24 / 52

25 Directory Structure **config/ **db/ Contains all of the application's configuration files Home to the routes file that declares the app's routes Other than editing config/routes.rb, you won't spend much time in here Contains all database related files (db/schema.rb, migration files, db/seeds.rb, etc.) 25 / 52

26 Directory Structure lib/ log/ Houses code that could be reused by different applications Great place for modules like Referenceable! Contains all of the application logs public/ HTML templates for errors, favicon, etc. 26 / 52

27 Directory Structure test/ tmp/ Rails uses MiniTest Your homework assignments will have a spec/ folder instead Temporary files vendor/ Contains third party libraries 27 / 52

28 Starting the Server/Console rails server (or rails s) will start the Rails app Visit in a web browser You've got a Rails site! rails console (or rails c) will start a Rails console This allows you to interact with individual pieces of your Rails app Similar to the consoles that you were provided in the first assignments 28 / 52

29 Creating a Homepage What we'll need: A controller to handle the request when the user visits the homepage (root) A view to be able to show actual content to the user A route to tell Rails what controller to use when a user visits the root of our app We're not working with data so we won't need a model 29 / 52

30 Controllers Your controllers should be placed inside of app/controllers/ General naming convention: app/controllers/{controller_name}_controller.rb Should inherit from ApplicationController You define methods in the controller that are known as actions Controller actions are mapped to specific routes Specify what should happen when a request for a specific route is made 30 / 52

31 Homepage Controller Define a Welcome controller and define an index action inside of it We will set up this controller and action to handle the request to our site's homepage # app/controllers/welcome_controller.rb class WelcomeController < ApplicationController def index end end 31 / 52

32 Routes Your routes should be defined inside of config/routes.rb Routes map a request type and a path to a specific controller and action When you define a route, you specify: The type of request The corresponding path What controller action should be used request_type 'path', to: 'controller#action' Run rails routes to view all of the routes you've defined 32 / 52

33 Homepage Route Our homepage route: Request Type: get Path: / (the root of our application) Controller: welcome Action: index # config/routes.rb Rails.application.routes.draw do # The following are equivalent, use the latter: # get '/', to: 'welcome#index' # root to: 'welcome#index' root 'welcome#index' end 33 / 52

34 Views Your views should be placed inside of app/views/ General naming convention: app/views/{controller_name}/{controller_action}.html.erb Unless you tell it otherwise, a controller action will render the view file with its same name by default The.html.erb ending allows you to write HTML code with Ruby embedded inside of it 34 / 52

35 Application View Located at: app/views/layouts/application.html.erb Defines the basic layout for every view in your app Contains the HTML boilerplate code Contains the yield keyword This is where the HTML that you write in your individual views will be placed This means that you don't have to write out all of the boilerplate for every view 35 / 52

36 Homepage View Start by creating app/views/welcome/index.html.erb We don't need to include the HTML boilerplate <!-- app/views/welcome/index.html.erb --> <h1>welcome to our Rails Application!</h1> <p>it's a great app!</p> Visit the root of the application to see our homepage in action! 36 / 52

37 ERB erb stands for Embedded RuBy Our views files end in.html.erb This allows us to include Ruby code directly in our views files This means that we can include dynamic content! 37 / 52

38 ERB Tags In an erb file, any Ruby code placed between: <% %> will be executed, but not printed Used for things like iterators <%= %> will be executed and printed <%# %> will be a comment There are many other variations, but you will use these the most Find out more here 38 / 52

39 Homepage ERB <%# app/views/welcome/index.html.erb %> <p>please thank our developers:</p> <ul> <% ['Jackie', 'Desmond', 'Sanjana'].each do name %> <li><%= name %></li> <% end %> </ul> will generate the following HTML code: <p>please thank our developers:</p> <ul> <li>jackie</li> <li>desmond</li> <li>sanjana</li> </ul> 39 / 52

40 Communicating between Controller & View You can pass data from the controller to the view Very important for following MVC best practices If you define an instance variable in a controller action, it will be available in its corresponding view 40 / 52

41 Passing Data to our Homepage View # app/controllers/welcome_controller.rb class WelcomeController < ApplicationController def = ['Jackie', 'Desmond', 'Sanjana', 'Zhilei'] end end <%# app/views/welcome/index.html.erb %> <ul> do name %> <li><%= name %></li> <% end %> </ul> 41 / 52

42 What about other requests? In general, GET requests are the only requests that have a corresponding view file Other request types usually handle the request you sent and then do one of the following: Redirect the browser to another path using a GET request (usually when the request was successful) Render the view of another controller action (usually when the request was not successful) 42 / 52

43 Example: Logging in You make a GET request to which renders the login page You type in your username and password and click submit This triggers a POST request which does one of two things: If the info you entered was correct, it redirects you to using a GET request If the info you entered was incorrect, it rerenders the login page (probably with an error message) 43 / 52

44 POST Request Example We will make a POST request that handles a user subscribing to a newsletter They will submit a form with their full name and What we'll need: A form - we'll add it to the homepage A new controller action - we'll add it to the welcome controller A route Note that we are not creating a new view 44 / 52

45 Subscribe Route Our subscribe route will be a POST request to '/subscribe' We will make a controller action called subscribe inside of the welcome controller # config/routes.rb post '/subscribe', to: 'welcome#subscribe' 45 / 52

46 Form Instead of creating a form directly in HTML, we use Rails helpers to generate one using Ruby Rails 5.1 introduced the form_with tag which we will use for generating all forms <%# app/views/welcome/index.html.erb %> <%= form_with url: '/subscribe' do form %> <%= form.text_field :name, placeholder: 'Name' %> <%= form. _field : , placeholder: ' ' %> <%= form.submit 'Subscribe' %> <% end %> 46 / 52

47 Controller Action Check to make sure that the user entered in a name and Redirect to a success page if successful Re-render the subscribe form otherwise # app/controllers/welcome_controller.rb def subscribe if params[:name].present? && params[: ] # TODO: Save subscription in database redirect_to '/' else render :index end end 47 / 52

48 Params You'll notice that we referenced params in the previous slide The params hash will contain information from the user's request & can always be accessed You can get the names of the controller and action with params[:controller] and params[:action] You can get submitted form values You can also get parameters from the URL itself (such as an id) 48 / 52

49 More on Routes Routes can have parameters get '/subscribed/:user_name', to: 'welcome#subscribed' In the above route, user_name will be a parameter & is a wildcard matcher /subscribed/jackie-askins, /subscribed/15, /subscribed/aoisjfisajosjs will all match this route We can access the user_name from params like this: params[:user_name] View all routes defined in an application by running rails routes in the command line 49 / 52

50 Resources Ruby on Rails Guides I am a HUGE fan of the Ruby on Rails Guides They're very beginner-friendly and explain concepts clearly You can find the answer to almost any question here Ruby on Rails API This is a little more confusing, but great for finding more specific details 50 / 52

51 Homework 4 51 / 52

52 Homework 4 In this assignment, you will be building a RESTful application from scratch We will discuss REST in detail next week You will be provided with the model and view layers, and will focus solely on the controller in this assignment This is the first assignment where you will lose points for best practices 52 / 52

Lecture 4. Ruby on Rails 1 / 49

Lecture 4. Ruby on Rails 1 / 49 Lecture 4 Ruby on Rails 1 / 49 Client-Server Model 2 / 49 What is it? A client (e.g. web browser, phone, computer, etc.) sends a request to a server Request is an HTTP request Stands for HyperText Transfer

More information

Lecture 3. Miscellaneous Ruby and Testing 1 / 40

Lecture 3. Miscellaneous Ruby and Testing 1 / 40 Lecture 3 Miscellaneous Ruby and Testing 1 / 40 Homework 1 Grades were released! TAs provided feedback on best practices, but did not take off points Keep the comments in mind for future assignments! Any

More information

Lecture 7. Action View, Bootstrap & Deploying 1 / 40

Lecture 7. Action View, Bootstrap & Deploying 1 / 40 Lecture 7 Action View, Bootstrap & Deploying 1 / 40 Homeworks 5 & 6 Homework 5 was graded Homework 6 was due last night Any questions? 2 / 40 How would you rate the di culty of Homework 6? Vote at http://pollev.com/cis196776

More information

Lecture 2. Object Orientation 1 / 50

Lecture 2. Object Orientation 1 / 50 Lecture 2 Object Orientation 1 / 50 Homework 1 Homework 1 was due last night You will be graded on: Correctness: 15 points (passing all RSpec tests) Style: 5 points (having no Rubocop style offenses) Best

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

CSCI-2320 Web Programming: Ruby on Rails

CSCI-2320 Web Programming: Ruby on Rails CSCI-2320 Web Programming: Ruby on Rails Mohammad T. Irfan Plan u Model-View-Controller (MVC) framework of web programming u Ruby on Rails 1 Ruby on Rails u Developed by David Hansson released 2004 u MVC

More information

Lecture 8. Validations & Sessions 1 / 41

Lecture 8. Validations & Sessions 1 / 41 Lecture 8 Validations & Sessions 1 / 41 Advanced Active Record 2 / 41 More Complex Queries Arel provides us with a number of methods to query our database tables So far, we've only used find which limits

More information

Rails: Views and Controllers

Rails: Views and Controllers Rails: Views and Controllers Computer Science and Engineering College of Engineering The Ohio State University Lecture 18 Recall: Rails Architecture Wiring Views and Controllers A controller is just an

More information

Lecture 2. Object Orientation

Lecture 2. Object Orientation Lecture 2 Object Orientation 1 Homework 0 Grades Homework 0 grades were returned earlier this week Any questions? 2 Homework 1 Homework 1 is due tonight at 11:59pm You will be graded on: Correctness: 15

More information

Lecture 3. Miscellaneous Ruby and Testing 1 / 48

Lecture 3. Miscellaneous Ruby and Testing 1 / 48 Lecture 3 Miscellaneous Ruby and Testing 1 / 48 Homework 1 Grades were released! TAs provided feedback on best practices, but did not take off points Keep the comments in mind for future assignments! Any

More information

Lecture 3. Miscellaneous Ruby and Testing

Lecture 3. Miscellaneous Ruby and Testing Lecture 3 Miscellaneous Ruby and Testing 1 Sublime Text Guide I wrote a quick Sublime Text Guide that will help with Rubocop offenses It ll walk you through: Using spaces instead of tabs by default Using

More information

Lecture 9. Forms & APIs 1 / 38

Lecture 9. Forms & APIs 1 / 38 Lecture 9 Forms & APIs 1 / 38 Final Project Proposal Due November 12th 11:59PM Should include: A summary of your idea A diagram with the db tables you plan to use& the relationships between them You can

More information

Lecture 1. Basic Ruby 1 / 61

Lecture 1. Basic Ruby 1 / 61 Lecture 1 Basic Ruby 1 / 61 What does this do? 3.times do print 'Hello, world!' end 2 / 61 Why Ruby? Optimized for programmer happiness Used for Ruby on Rails Very popular web framework 3 / 61 Course Policies

More information

Ruby on Rails Welcome. Using the exercise files

Ruby on Rails Welcome. Using the exercise files Ruby on Rails Welcome Welcome to Ruby on Rails Essential Training. In this course, we're going to learn the popular open source web development framework. We will walk through each part of the framework,

More information

Contents in Detail. Foreword by Xavier Noria

Contents in Detail. Foreword by Xavier Noria Contents in Detail Foreword by Xavier Noria Acknowledgments xv xvii Introduction xix Who This Book Is For................................................ xx Overview...xx Installation.... xxi Ruby, Rails,

More information

Getting Started with Rails

Getting Started with Rails Getting Started with Rails January 13, 2015 This guide covers getting up and running with Ruby on Rails. After reading this guide, you will know: How to install Rails, create a new Rails application, and

More information

Ruby on Rails TKK, Otto Hilska

Ruby on Rails TKK, Otto Hilska Ruby on Rails intro @ TKK, 25.5.2009 Otto Hilska 1 Today s agenda 1. The Ruby programming language 2. Ruby on Rails framework 3. An example project 2 About me Started Nodeta Oy in 2004 10+ employees always

More information

Ruby on Rails. SITC Workshop Series American University of Nigeria FALL 2017

Ruby on Rails. SITC Workshop Series American University of Nigeria FALL 2017 Ruby on Rails SITC Workshop Series American University of Nigeria FALL 2017 1 Evolution of Web Web 1.x Web 1.0: user interaction == server roundtrip Other than filling out form fields Every user interaction

More information

Lecture 2. Object Orientation 1 / 51

Lecture 2. Object Orientation 1 / 51 Lecture 2 Object Orientation 1 / 51 Homework 1 Homework 1 was due at noon You will be graded on: Correctness: 15 points (passing all RSpec tests) Style: 5 points (having no Rubocop style offenses) Best

More information

Day 3: 26/April/2012 Scaffolding Generation of Skeletons; Test run Memopad

Day 3: 26/April/2012 Scaffolding Generation of Skeletons; Test run Memopad Day 3: 26/April/2012 Scaffolding Generation of Skeletons; Test run Memopad p Generate WEB screens of the MemoPad Database Application n Setting up for Database Connection n Automatic generation of DB Files

More information

Client Side MVC with Backbone & Rails. Tom

Client Side MVC with Backbone & Rails. Tom Client Side MVC with Backbone & Rails Tom Zeng @tomzeng tom@intridea.com Client Side MV* with Backbone & Rails Benefits of Client Side MVC Backbone.js Introduction Client Side MV* Alternatives Backbone

More information

Rails 5 Quickly. Bala Paranj

Rails 5 Quickly. Bala Paranj Rails 5 Quickly Bala Paranj 1 About the Author Bala Paranj has a masters degree in Electrical Engineering from The Wichita State University. He has been working in the software industry since 1996. He

More information

Day 8: 7/June/2012. Log-in Authentication

Day 8: 7/June/2012. Log-in Authentication Day 8: 7/June/2012 Log-in Authentication p Learn authentication so that only specific users can use the Web information of the system. p We use Devise to p Add one line to the file project/gemfile gem

More information

Hello, world! 3.1. Ruby on Rails Web SimpleGreeter Hello, world! Rails SimpleGreeter Web Rails projects. ruby $ mkdir -p ~/projects

Hello, world! 3.1. Ruby on Rails Web SimpleGreeter Hello, world! Rails SimpleGreeter Web Rails projects. ruby $ mkdir -p ~/projects 3 Hello, world! Ruby on Rails Web SimpleGreeter Hello, world! 3.1 Rails SimpleGreeter Web Rails projects OIAX BOOKS Ruby on Rails 5.0 $ mkdir -p ~/projects ruby 2.3.1 15 3 Hello, world! $ cd ~/projects

More information

CANVAS DEEP INTEGRATION WITH LAUNCHPAD (FOR INSTRUCTORS)

CANVAS DEEP INTEGRATION WITH LAUNCHPAD (FOR INSTRUCTORS) CANVAS DEEP INTEGRATION WITH LAUNCHPAD (FOR INSTRUCTORS) Table of Contents Get started... 3 What are the first steps I should take to make this process go smoothly?... 4 Confirm that the Macmillan Learning

More information

Tips from the experts: How to waste a lot of time on this assignment

Tips from the experts: How to waste a lot of time on this assignment Com S 227 Spring 2018 Assignment 1 80 points Due Date: Friday, February 2, 11:59 pm (midnight) Late deadline (25% penalty): Monday, February 5, 11:59 pm General information This assignment is to be done

More information

Lecture 5. Defining Functions

Lecture 5. Defining Functions Lecture 5 Defining Functions Announcements for this Lecture Last Call Quiz: About the Course Take it by tomorrow Also remember the survey Readings Sections 3.5 3.3 today Also 6.-6.4 See online readings

More information

At the Forge RJS Templates Reuven M. Lerner Abstract The power of Ajax to fetch and run JavaScript generated by your server-side language. The past few months, I've written a number of articles in this

More information

welcome to BOILERCAMP HOW TO WEB DEV

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

More information

Lecture 8. ReactJS 1 / 24

Lecture 8. ReactJS 1 / 24 Lecture 8 ReactJS 1 / 24 Agenda 1. JSX 2. React 3. Redux 2 / 24 JSX 3 / 24 JavaScript + HTML = JSX JSX is a language extension that allows you to write HTML directly into your JavaScript files. Behind

More information

Problem: Write HTML would create web page depicted below. Your solution must include the following types of HTML elements (and no other

Problem: Write HTML would create web page depicted below. Your solution must include the following types of HTML elements (and no other Problem: Write HTML would create web page depicted below. Your solution must include the following types of HTML elements (and no other types):!doctype, a (with href attribute), body, h1, head, html, img

More information

Rails 4 Quickly. Bala Paranj

Rails 4 Quickly. Bala Paranj Rails 4 Quickly Bala Paranj 1 About Author Bala Paranj has a Master s degree in Electrical Engineering from The Wichita State University. He has over 15 years of experience in the software industry. He

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

Introduction to Ruby on Rails

Introduction to Ruby on Rails Introduction to Ruby on Rails Keven Richly keven.richly@hpi.de Software Engineering II WS 2017/18 Prof. Plattner, Dr. Uflacker Enterprise Platform and Integration Concepts group Introduction to Ruby on

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

Introduction to Ruby on Rails

Introduction to Ruby on Rails Introduction to Ruby on Rails Software Engineering II WS 2016/17 Arian Treffer arian.treffer@hpi.de Prof. Plattner, Dr. Uflacker Enterprise Platform and Integration Concepts group Introduction to Ruby

More information

COM401 Software Engineering Laboratory

COM401 Software Engineering Laboratory Computer Engineering Department COM401 Software Engineering Laboratory November 04, 2014 LAB-3: Rails Introduction Time: 2 lab hours Objectives: Practice with Ruby Symbols Routes MVC pattern CRUD operations

More information

Rails Engines. Use Case. The Implementation

Rails Engines. Use Case. The Implementation Rails Engines Rails engines range from simple plugins to powerful micro-applications. The discussions we ve had so far about Railties are closely related to the function of a Rails engine. One interesting

More information

SYMFONY2 WEB FRAMEWORK

SYMFONY2 WEB FRAMEWORK 1 5828 Foundations of Software Engineering Spring 2012 SYMFONY2 WEB FRAMEWORK By Mazin Hakeem Khaled Alanezi 2 Agenda Introduction What is a Framework? Why Use a Framework? What is Symfony2? Symfony2 from

More information

Reading How the Web Works

Reading How the Web Works Reading 1.3 - How the Web Works By Jonathan Lane Introduction Every so often, you get offered a behind-the-scenes look at the cogs and fan belts behind the action. Today is your lucky day. In this article

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

CS Homework 11

CS Homework 11 CS 328 - Homework 11 p. 1 Deadline CS 328 - Homework 11 Problem 4 (presenting something operational from Problem 3) is due during lab on Friday, April 29; the remainder of this homework is due by 11:59

More information

Ruby on Rails 3. Robert Crida Stuart Corbishley. Clue Technologies

Ruby on Rails 3. Robert Crida Stuart Corbishley. Clue Technologies Ruby on Rails 3 Robert Crida Stuart Corbishley Clue Technologies Topic Overview What is Rails New in Rails 3 New Project Generators MVC Active Record UJS RVM Bundler Migrations Factory Girl RSpec haml

More information

UCD School of Information and Library Studies. IS30020: Web Publishing

UCD School of Information and Library Studies. IS30020: Web Publishing UCD School of Information and Library Studies IS30020: Web Publishing Module Coordinator: Dr Judith Wusteman Office: SILS 110, Email: judith.wusteman@ucd.ie, Tel: 716 7612 Office hour Semester 1 (Sept

More information

Tips from the experts: How to waste a lot of time on this assignment

Tips from the experts: How to waste a lot of time on this assignment Com S 227 Spring 2018 Assignment 1 100 points Due Date: Friday, September 14, 11:59 pm (midnight) Late deadline (25% penalty): Monday, September 17, 11:59 pm General information This assignment is to be

More information

Episode 298. Getting Started With Spree

Episode 298. Getting Started With Spree Episode 298 Getting Started With Spree Spree 1 is a fully-featured e-commerce solution that can be easily integrated into a Rails application. If you need to turn a Rails app into a store that sells products

More information

Introduction to Ruby on Rails

Introduction to Ruby on Rails Introduction to Ruby on Rails Ralf Teusner ralf.teusner@hpi.de Software Engineering II WS 2018/19 Prof. Plattner, Dr. Uflacker Enterprise Platform and Integration Concepts group Introduction to Ruby on

More information

IN4MATX 133: User Interface Software

IN4MATX 133: User Interface Software IN4MATX 133: User Interface Software Lecture 13: Components in Angular Professor Daniel A. Epstein TA Jamshir Goorabian TA Simion Padurean 1 Notes Important: please put your name/email/id in the readme.txt

More information

CSS Web Site Design Hands On Training By Eric Meyer READ ONLINE

CSS Web Site Design Hands On Training By Eric Meyer READ ONLINE CSS Web Site Design Hands On Training By Eric Meyer READ ONLINE Course Description This intensive, hands-on four-day course teaches programmers The training course provides web designers with the knowledge

More information

Website SEO Checklist

Website SEO Checklist Website SEO Checklist Main points to have a flawless start for your new website. Domain Optimization Meta Data Up-to-Date Content Optimization SEO & Analytics Social Markup Markup Accessibility Browser

More information

Setting Up A WordPress Blog

Setting Up A WordPress Blog Setting Up A WordPress Blog Introduction WordPress can be installed alongside an existing website to be used solely as the 'blog' element of a website, or it can be set up as the foundation for an entire

More information

Rails: MVC in action

Rails: MVC in action Ruby on Rails Basic Facts 1. Rails is a web application framework built upon, and written in, the Ruby programming language. 2. Open source 3. Easy to learn; difficult to master. 4. Fun (and a time-saver)!

More information

Client Side JavaScript and AJAX

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

More information

Website Development (WEB) Lab Exercises

Website Development (WEB) Lab Exercises Website Development (WEB) Lab Exercises Select exercises from the lists below to complete your training in Website Development and earn 125 points. You do not need to do all the exercises listed, except

More information

Rails: Associations and Validation

Rails: Associations and Validation Rails: Associations and Validation Computer Science and Engineering College of Engineering The Ohio State University Lecture 17 Schemas, Migrations, Models migrations models database.yml db:migrate db:create

More information

Introduction to HTML

Introduction to HTML TOR Part 2 Introduction to HTML TOR Part 2: Introduction 1 of 2 1/23/2007 12:19 PM GSLIS Technology Orientation Requirement (TOR) TOR Part 2: Assessment 10: Introduction to HTML Possible Points: 9 Points

More information

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

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Laravel About the Tutorial Laravel is a powerful MVC PHP framework, designed for developers who need a simple and elegant toolkit to create full-featured web applications. Laravel was created by Taylor Otwell.

More information

Integrating Visual FoxPro and MailChimp

Integrating Visual FoxPro and MailChimp Integrating Visual FoxPro and MailChimp Whil Hentzen We've all written our own email applications. I finally decided to use an outside service to handle my emailing needs. Here's how I used VFP to integrate

More information

Lecture 14. Moving Forward 1 / 23

Lecture 14. Moving Forward 1 / 23 Lecture 14 Moving Forward 1 / 23 Course Evaluations Remember to fill out course evaluations for this class! Please provide honest and constructive feedback on the course Anything that you'd want me to

More information

ConJobs: Part 1 - Program your receipt printer

ConJobs: Part 1 - Program your receipt printer ConJobs: Part 1 - Program your receipt printer Step 1: Prepare thermal printer Cut wires and connect the power to the printer. Screw the wires down from the power adapter. Check that the green light flashes,

More information

Static Webpage Development

Static Webpage Development Dear Student, Based upon your enquiry we are pleased to send you the course curriculum for PHP Given below is the brief description for the course you are looking for: - Static Webpage Development Introduction

More information

Rails Guide. MVC Architecture. Migrations. Hey, thanks a lot for picking up this guide!

Rails Guide. MVC Architecture. Migrations. Hey, thanks a lot for picking up this guide! Rails Guide Hey, thanks a lot for picking up this guide! I created this guide as a quick reference for when you are working on your projects, so you can quickly find what you need & keep going. Hope it

More information

CS169.1x Lecture 6: Basic Rails" Fall 2012"

CS169.1x Lecture 6: Basic Rails Fall 2012 CS169.1x Lecture 6: Basic Rails" Fall 2012" 1" The Database is Golden Contains valuable customer data don t want to test your app on that! Rails solution: development, production and test environments

More information

HTML CSS JAVASCRIPT WEB PUBLISHING IN ONE HOUR A DAY SAMS TEACH YOURSELF COVERING HTML5 CSS3 AND JQUERY 7TH EDITION

HTML CSS JAVASCRIPT WEB PUBLISHING IN ONE HOUR A DAY SAMS TEACH YOURSELF COVERING HTML5 CSS3 AND JQUERY 7TH EDITION HTML CSS JAVASCRIPT WEB PUBLISHING IN ONE HOUR A DAY SAMS TEACH YOURSELF COVERING HTML5 CSS3 AND JQUERY 7TH EDITION page 1 / 5 page 2 / 5 html css javascript web pdf We have curated a list of free development

More information

CSE : Python Programming

CSE : Python Programming CSE 399-004: Python Programming Lecture 2: Data, Classes, and Modules January 22, 2007 http://www.seas.upenn.edu/~cse39904/ Administrative things Teaching assistant Brian Summa (bsumma @ seas.upenn.edu)

More information

INFS 2150 (Section A) Fall 2018

INFS 2150 (Section A) Fall 2018 INFS 2150 (Section A) Fall 2018 Introduction to Web Development Class meets TUE & THU: 12:30am-1:45pm: in Wheatley 114 Instructor: Peter Y. Wu Office: Wheatley 309 Office Hours: Tuesday 9:00 am-12:00 noon;

More information

Sign in and join ADC Newsletters Feedback. Creating your first website Part 2: Creating the page layout

Sign in and join ADC Newsletters Feedback. Creating your first website Part 2: Creating the page layout 1 of 14 2/14/2008 2:31 PM Adobe Dreamweaver Article Adobe Developer Connection Sign in and join ADC Newsletters Feedback RSS Creating your first website Part 2: Creating the page layout Jon Varese Adobe

More information

Strategies for Rapid Web Prototyping. Ruby on Rails. Clemens H. Cap

Strategies for Rapid Web Prototyping. Ruby on Rails. Clemens H. Cap Strategies for Rapid Web Prototyping Ruby on Rails Strategies for Rapid Web Prototyping DRY: Don't repeat yourself Convention over Configuration Separation of Concern Templating MVC: Model View Controler

More information

GSLIS Technology Orientation Requirement (TOR)

GSLIS Technology Orientation Requirement (TOR) TOR Part 2: Introduction GSLIS Technology Orientation Requirement (TOR) TOR Part 2: Assessment 10: Introduction to HTML Possible Points: 9 Points Needed to Pass Quiz 1: 7 Due Dates for Part 2 Part 2 of

More information

AngularJS Intro Homework

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

More information

CS Homework 12

CS Homework 12 Spring 2018 - CS 328 - Homework 12 p. 1 Deadline CS 328 - Homework 12 Problem 3 (presenting something operational from Problem 2) is due during lab on Friday, May 4; Problems 1 and 2 due by 11:59 pm on

More information

Beginner Workshop Activity Guide 2012 User Conference

Beginner Workshop Activity Guide 2012 User Conference Beginner Workshop Activity Guide 2012 User Conference TUESDAY, MARCH 6 2:00PM 5:00 PM Beginner Training Workshop Attendees will learn the end user functions of OU Campus TM. They will learn how to log

More information

Tips from the experts: How to waste a lot of time on this assignment

Tips from the experts: How to waste a lot of time on this assignment Com S 227 Spring 2017 Assignment 1 80 points Due Date: Thursday, February 2, 11:59 pm (midnight) Late deadline (25% penalty): Friday, February 3, 11:59 pm General information This assignment is to be done

More information

GSLIS Technology Orientation Requirement (TOR)

GSLIS Technology Orientation Requirement (TOR) TOR Part 2: Introduction GSLIS Technology Orientation Requirement (TOR) TOR Part 2: Assessment 10: Introduction to HTML Possible Points: 9 Points Needed to Pass Quiz 1: 7 Due Dates for Part 2 Part 2 of

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

Create-A-Page Design Documentation

Create-A-Page Design Documentation Create-A-Page Design Documentation Group 9 C r e a t e - A - P a g e This document contains a description of all development tools utilized by Create-A-Page, as well as sequence diagrams, the entity-relationship

More information

iflame INSTITUTE OF TECHNOLOGY

iflame INSTITUTE OF TECHNOLOGY Web Development Ruby On Rails Duration: 3.5 Month Course Overview Ruby On Rails 4.0 Training From Iflame Allows You To Build Full Featured, High Quality, Object Oriented Web Apps. Ruby On Rails Is A Full

More information

Lecture 6. Active Record Associations 1 / 34

Lecture 6. Active Record Associations 1 / 34 Lecture 6 Active Record Associations 1 / 34 Midterm Course Evaluations https://goo.gl/forms/0ddvh2gqox60fwm13 2 / 34 Learn HTML You're going to be writing your own views in the next HW Make sure to familiarise

More information

CSE 336. Introduction to Programming. for Electronic Commerce. Why You Need CSE336

CSE 336. Introduction to Programming. for Electronic Commerce. Why You Need CSE336 CSE 336 Introduction to Programming for Electronic Commerce Why You Need CSE336 Concepts like bits and bytes, domain names, ISPs, IPAs, RPCs, P2P protocols, infinite loops, and cloud computing are strictly

More information

CSC 443: Web Programming

CSC 443: Web Programming 1 CSC 443: Web Programming Haidar Harmanani Department of Computer Science and Mathematics Lebanese American University Byblos, 1401 2010 Lebanon Today 2 Course information Course Objectives A Tiny assignment

More information

Zendesk Instructions for End-Users

Zendesk Instructions for End-Users Zendesk Instructions for End-Users Ver. 1.00 July, 2013 Ver. 1.00 July, 2013 Zendesk Instructions for End-Users Getting Started Registering & Logging in to Zendesk To submit and then track your support

More information

Getting Help...71 Getting help with ScreenSteps...72

Getting Help...71 Getting help with ScreenSteps...72 GETTING STARTED Table of Contents Onboarding Guides... 3 Evaluating ScreenSteps--Welcome... 4 Evaluating ScreenSteps--Part 1: Create 3 Manuals... 6 Evaluating ScreenSteps--Part 2: Customize Your Knowledge

More information

Note: This is a miniassignment and the grading is automated. If you do not submit it correctly, you will receive at most half credit.

Note: This is a miniassignment and the grading is automated. If you do not submit it correctly, you will receive at most half credit. Com S 227 Fall 2017 Miniassignment 1 50 points Due Date: Monday, October 16, 11:59 pm (midnight) Late deadline (25% penalty): Tuesday, October 17, 11:59 pm General information This assignment is to be

More information

Wisdom Master Pro (v2.0) User Guide for Students

Wisdom Master Pro (v2.0) User Guide for Students (v2.0) User Guide for Students e-campus Homepage 4 Log in to e-campus 6 Personal Area 6 I. My Courses... 6 II. My Portal... 12 III. My Profile... 16 IV. My Assignments... 18 V. My Tests... 19 VI. My Learning...

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

District 5910 Website Quick Start Manual Let s Roll Rotarians!

District 5910 Website Quick Start Manual Let s Roll Rotarians! District 5910 Website Quick Start Manual Let s Roll Rotarians! All Rotarians in District 5910 have access to the Members Section of the District Website THE BASICS After logging on to the system, members

More information

Guides SDL Server Documentation Document current as of 04/06/ :35 PM.

Guides SDL Server Documentation Document current as of 04/06/ :35 PM. Guides SDL Server Documentation Document current as of 04/06/2018 02:35 PM. Overview This document provides the information for creating and integrating the SmartDeviceLink (SDL) server component with

More information

Connecting Angular and CFML

Connecting Angular and CFML Connecting Angular and CFML Trip Ward About Me Senior Technical Specialist at ICF Owner & Chief Consultant at Trir Software Software Architecture and Development ColdFusion(1998), Java, jquery, HTML5,

More information

Programming Fundamentals of Web Applications

Programming Fundamentals of Web Applications Programming Fundamentals of Web Applications Course 10958B; 5 days, Instructor-led Course Description This five-day instructor-led course provides the knowledge and skills to develop web applications by

More information

CS Homework 7 p. 1. CS Homework 7. Problem 1 - START THIS A.S.A.P. (in case there are PROBLEMS...)

CS Homework 7 p. 1. CS Homework 7. Problem 1 - START THIS A.S.A.P. (in case there are PROBLEMS...) CS 328 - Homework 7 p. 1 Deadline Due by 11:59 pm on Sunday, March 27, 2016 How to submit CS 328 - Homework 7 Submit your files for this homework using ~st10/328submit on nrs-projects, with a hw number

More information

CIS 408 Internet Computing (3-0-3)

CIS 408 Internet Computing (3-0-3) Cleveland State University Department of Electrical Engineering and Computer Science CIS 408 Internet Computing (3-0-3) Prerequisites: CIS 430 Preferred Instructor: Dr. Sunnie (Sun) Chung Office Location:

More information

ITSE 2313 Web Authoring Tools ORIENTATION Summer 2009 CRN 89360

ITSE 2313 Web Authoring Tools ORIENTATION Summer 2009 CRN 89360 ITSE 2313 Web Authoring Tools ORIENTATION Summer 2009 CRN 89360 ITSE 2313 Web Authoring Tools ONLINE CRN 89360 Online Orientation Agenda Orientation Agenda (Students who cannot attend the orientation OR

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

Title: Jan 29 11:03 AM (1 of 23) Note that I have now added color and some alignment to the middle and to the right on this example.

Title: Jan 29 11:03 AM (1 of 23) Note that I have now added color and some alignment to the middle and to the right on this example. Title: Jan 29 11:03 AM (1 of 23) Note that I have now added color and some alignment to the middle and to the right on this example. Sorry about these half rectangle shapes a Smartboard issue today. To

More information

Frontend Web Development with Angular. CC BY-NC-ND Carrot & Company GmbH

Frontend Web Development with Angular. CC BY-NC-ND Carrot & Company GmbH Frontend Web Development with Angular Agenda Questions Some infos Lecturing Todos Router NgModules Questions? Some Infos Code comments from us were made for improving your code. If you ignore them you

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

ChiliProject - Bug # 529: builder is not part of the bundle. Add it to Gemfile

ChiliProject - Bug # 529: builder is not part of the bundle. Add it to Gemfile ChiliProject - Bug # 529: builder is not part of the bundle. Add it to Gemfile Status: Closed Priority: Normal Author: Enno Grà per Category: Created: 2011-07-17 Assignee: Updated: 2012-06-23 Due date:

More information

CIS 3308 Web Application Programming Syllabus

CIS 3308 Web Application Programming Syllabus CIS 3308 Web Application Programming Syllabus (Upper Level CS Elective) Course Description This course explores techniques that are used to design and implement web applications both server side and client

More information

Whitehat Copycat Awebwer BluePrint. Tim Bekker introducing Copycat Sites...

Whitehat Copycat Awebwer BluePrint. Tim Bekker introducing Copycat Sites... Whitehat Copycat Awebwer BluePrint Tim Bekker introducing Copycat Sites... Create a Download Page with Opt in! I am going to tell you how you can create your own Download Page like www.shareadownload.com/download

More information

Uninstall App Windows Phone 8 Facebook Messenger Notifications

Uninstall App Windows Phone 8 Facebook Messenger Notifications Uninstall App Windows Phone 8 Facebook Messenger Notifications Facebook notifications are not working (Windows Phone 8) There should be no mention of the Windows Phone App or the Facebook for If you see

More information