What's new in Rails 4. Lucas Caton

Size: px
Start display at page:

Download "What's new in Rails 4. Lucas Caton"

Transcription

1 What's new in Rails 4 Lucas Caton

2

3 4

4 June 25, 2013 Rails 4.0: Final version released!

5 Ruby Ruby Ruby Ruby 2.0.0

6 RubyGems 2.x

7 ThreadSafety

8 memcache-client dalli => 20% faster => ThreadSafe => Easier to integrate with NewRelic RPM

9 ActiveRecord 4 ActiveModel

10 #where Post.find_all_by_title('Rails 4') Post.where(title: 'Rails 4')

11 #find_or_* Post.find_or_initialize_by_title('Rails 4') Post.find_or_initialize_by(title:'Rails4')

12 @post.update(post_params)

13 #update_columns Skip validations!

14 = = Post.all ActiveRecord::Relation

15 Scopes scope :sold, where(state: 'sold') default_scope where(state: 'available') scope :sold, ->{ where(state: 'sold') } default_scope ->{ where(state: 'available') }

16 class User < ActiveRecord::Base def visible_posts case role when 'Country Manager' Post.where(country: country) when 'Reviewer' Post.published when 'Bad User' end end end

17 class User < ActiveRecord::Base def visible_posts case role when 'Country Manager' Post.where(country: country) when 'Reviewer' Post.published when 'Bad User' [] end end end

18 @posts = else [] end

19 #none class User < ActiveRecord::Base def visible_posts case role when 'Country Manager' Post.where(country: country) when 'Reviewer' Post.published when 'Bad User' Post.none end end end

20 #not if author Post.where('author!=?', author) else Post.where('author IS NOT NULL') end

21 #not if author Post.where('author!=?', author) else Post.where('author IS NOT NULL') end Post.where.not(author: author)

22 #order User.order('created_at DESC') User.order(:name, 'created_at DESC') User.order(created_at: :desc) User.order(:name, created_at: :desc)

23 4 ActiveModel

24 ActiveModel class SupportTicket include ActiveModel::Conversion include ActiveModel::Validations extend ActiveModel::Naming extend ActiveModel::Translation attr_accessor :title, :description validates_presence_of :title validates_presence_of :description end

25 ActiveModel class SupportTicket include ActiveModel::Model attr_accessor :title, :description validates_presence_of :title validates_presence_of :description end

26 Strong 4 Parameters

27 class User < ActiveRecord::Base attr_accessible :name end # Controller def update notice: 'Updated' end end

28 Strong Parameters class User < ActiveRecord::Base end # Controller def update user_params = params.require(:user).permit(:name) end

29 Strong Parameters class User < ActiveRecord::Base end # Controller def update user_params = params.require(:user).permit(:name) notice: 'Updated' end end

30 4 Routes

31 match '/items/:id/purchase', to: 'items#purchase'

32 XSS Attack (Cross-site Scripting) match '/items/:id/purchase', to: 'items#purchase' post '/items/:id/purchase', to: 'items#purchase' match '/items/:id/purchase', to: 'items#purchase', via: :post match '/items/:id/purchase', to: 'items#purchase', via: :all

33 PATCH Method for HTTP Abstract Several applications extending the Hypertext Transfer Protocol (HTTP) require a feature to do partial resource modification. The existing HTTP PUT method only allows a complete replacement of a document. This proposal adds a new HTTP method, PATCH, to modify an existing HTTP resource.

34 PATCH HTTP verb $ rake routes items GET /items(.:format) items#index POST /items(.:format) items#create new_item GET /items/new(.:format) items#new edit_item GET /items/:id/edit(.:format) items#edit item GET /items/:id(.:format) items#show PUT /items/:id(.:format) items#update PATCH /items/:id(.:format) items#update DELETE /items/:id(.:format) items#destroy

35 Action 4 Controller

36 #before_action before_filter :set_user, only: [:update] before_action :set_user, only: [:update]

37 Encrypted cookie stored in the browser

38 Flash messages <p id="notice"><%= flash[:notice] %></p> <p id="notice"><%= notice %></p>

39 Streaming

40 class FooController < ActionController::Base include ActionController::Live def index 100.times { # Client will see this as it's written response.stream.write "hello world\n" sleep 1 } response.stream.close end end

41 4 Views

42 collections helpers do owner %> <%= radio_button_tag :owner_id, owner.id %> <%= owner.name %> <% end %> collection_radio_buttons(:item, :id, :name) collection_check_boxes(:item, :id, :name)

43 date fields <%= f.date_field :return_date %> <input id="item_return_date" name="item[return_date]" type="date">

44 date fields <%= f.date_field :return_date %>

45 ETags

46 First request

47 First request 1. Render body 2. Create ETag 3. Body & ETag included in response

48 First request 1. Render body 2. Create ETag 3. Body & ETag included in response headers['etag'] = Digest::MD5.hexdigest(body)

49 First request 200 Success headers['etag'] 328ebd07ec6a48ad7f70e44045f184a8 1. Render body 2. Create ETag 3. Body & ETag included in response Second request headers['if-none-match'] 328ebd07ec6a48ad7f70e44045f184a8 304 Not Modified

50 First request 200 Success headers['etag'] 328ebd07ec6a48ad7f70e44045f184a8 1. Render body 2. Create ETag 3. Body & ETag included in response Client caches response Second request headers['if-none-match'] 328ebd07ec6a48ad7f70e44045f184a8 304 Not Modified

51 First request 200 Success headers['etag'] 328ebd07ec6a48ad7f70e44045f184a8 1. Render body 2. Create ETag 3. Body & ETag included in response Client caches response Second request headers['if-none-match'] 328ebd07ec6a48ad7f70e44045f184a8 304 Not Modified

52 First request Client caches response 200 Success headers['etag'] 328ebd07ec6a48ad7f70e44045f184a8 Second request headers['if-none-match'] 328ebd07ec6a48ad7f70e44045f184a8 304 Not Modified 1. Render body 2. Create ETag 3. Body & ETag included in response 1. Render body 2. Create ETag 3. Compare ETag 4. If ETags match then body not included in response

53 First request Client caches response 200 Success headers['etag'] 328ebd07ec6a48ad7f70e44045f184a8 Second request headers['if-none-match'] 328ebd07ec6a48ad7f70e44045f184a8 304 Not Modified 1. Render body 2. Create ETag 3. Body & ETag included in response 1. Render body 2. Create ETag 3. Compare ETag 4. If ETags match then body not included in response

54 First request Client caches response Client reads response from cache 200 Success headers['etag'] 328ebd07ec6a48ad7f70e44045f184a8 Second request headers['if-none-match'] 328ebd07ec6a48ad7f70e44045f184a8 304 Not Modified 1. Render body 2. Create ETag 3. Body & ETag included in response 1. Render body 2. Create ETag 3. Compare ETag 4. If ETags match then body not included in response

55 TurboLinks aka. full body pjax

56

57 turbolinks Gemfile gem 'turbolinks' app/assets/javascripts/application.js //= require turbolinks

58 turbolinks Gemfile gem 'turbolinks' gem 'jquery-turbolinks' app/assets/javascripts/application.js //= require turbolinks //= require jquery.turbolinks

59 turbolinks

60 Other improvements => Routing Concerns => Test Folder Structure => Caching improvements => Custom Flash Types => jbuilder template handler

61 Links Rails Casts - Upgrading to Rails 4 Code School - Learn Rails 4 best practices Rails Guides - Upgrading from Rails 3.2 to Rails 4.0: upgrading_ruby_on_rails.html#upgrading-from-rails-3-2-torails-4-0

62 Thank you!

63 ?

User Authentication and Session Control

User Authentication and Session Control User Authentication and Session Control CITS3403 Web & Internet Technologies Includes material from Agile Web Development with Rails, 3rd Ed, 2008 and 4 th Ed 2011, 2012 The Pragmatic Programmers. Slides

More information

Active Model Basics. December 29, 2014

Active Model Basics. December 29, 2014 Active Model Basics December 29, 2014 This guide should provide you with all you need to get started using model classes. Active Model allows for Action Pack helpers to interact with plain Ruby objects.

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

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

Table of Contents EVALUATION COPY

Table of Contents EVALUATION COPY Table of Contents What is Ruby on Rails?... 1-2 Overview of Rails Components... 1-3 Installing Rails... 1-5 A Simple Rails Application... 1-6 Starting the Rails Server... 1-8 Static Pages Within a Rails

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

Mastering Modern Payments

Mastering Modern Payments Mastering Modern Payments Using Stripe with Rails by Pete Keen Sample Chapter State and History So far in our little example app we can buy and sell downloadable products using Stripe. We're not keeping

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

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

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

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

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

Typus Documentation. Release beta. Francesc Esplugas

Typus Documentation. Release beta. Francesc Esplugas Typus Documentation Release 4.0.0.beta Francesc Esplugas November 20, 2014 Contents 1 Key Features 3 2 Support 5 3 Installation 7 4 Configuration 9 4.1 Initializers................................................

More information

LEVERAGING CONVENTION OVER CONFIGURATION FOR STATIC ANALYSIS IN DYNAMIC LANGUAGES

LEVERAGING CONVENTION OVER CONFIGURATION FOR STATIC ANALYSIS IN DYNAMIC LANGUAGES LEVERAGING CONVENTION OVER CONFIGURATION FOR STATIC ANALYSIS IN DYNAMIC LANGUAGES David Worth dave@highgroove.com (email) - @highgroovedave (twitter) Or why it s ok to write simple frameworks for complicated

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

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

RailsConf Europe 2008 Juggernaut Realtime Rails. Alex MacCaw and Stuart Eccles RailsConf Europe 2008 Juggernaut Realtime Rails Alex MacCaw and Stuart Eccles RailsConf Europe 2008 Juggernaut Realtime Rails Alex MacCaw and Stuart Eccles http://www.madebymany.co.uk/ server push HTTP

More information

Demystifying Rails Plugin Development

Demystifying Rails Plugin Development Demystifying Rails Plugin Development Nick Plante :: Voices That Matter Professional Ruby Conference November 18th, 2008 Obligatory Introduction Plugins are generalized, reusable code libraries Ext or

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

Authentication in Rails

Authentication in Rails Authentication in Rails Aaron Mulder CTO Chariot Solutions Philly on Rails, October 2007 1 Agenda The problem Plugins in Rails, and the (many) solutions acts_as_authenticated Generated Code Custom Code

More information

Hidden gems in Ruby on Rails

Hidden gems in Ruby on Rails Hidden gems in Ruby on Rails Prem Sichanugrist!! @sikachu /sikachu *57600x speed *57600x speed Flight attendance (Can speak Chinese) Flight attendance (Can speak Chinese) Me (Thai) Flight attendance

More information

Ruby on Rails Secure Coding Recommendations

Ruby on Rails Secure Coding Recommendations Introduction Altius IT s list of Ruby on Rails Secure Coding Recommendations is based upon security best practices. This list may not be complete and Altius IT recommends this list be augmented with additional

More information

Ruby%on%Rails% Ruby%on%Rails% %,% 1

Ruby%on%Rails% Ruby%on%Rails% %,% 1 Ruby%on%Rails% by#@tonytonyjan Ruby%on%Rails% %,% 1 / /tonytonyjan tonytonyjan.net Ruby-on-Rails- TJDict-Chrome- Rails-Girls-Taipei-1~5- Ruby%on%Rails% %,% 2 Ruby&(Rails) C&(Qt) Java&(Swing) Network&Programming

More information

Model-View-Controller (MVC)

Model-View-Controller (MVC) Model-View-Controller (MVC) with Ruby on Rails Software Languages Team University of Koblenz-Landau Ralf Lämmel and Andrei Varanovich MVC - a classic definition The Model is the application object The

More information

Lecture 4. Ruby on Rails 1 / 52

Lecture 4. Ruby on Rails 1 / 52 Lecture 4 Ruby on Rails 1 / 52 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

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

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

Ruby on Rails 3.1 Release Notes

Ruby on Rails 3.1 Release Notes Ruby on Rails 3.1 Release Notes December 25, 2014 Highlights in Rails 3.1: Streaming Reversible Migrations Assets Pipeline jquery as the default JavaScript library These release notes cover only the major

More information

Ruby: Introduction, Basics

Ruby: Introduction, Basics Ruby: Introduction, Basics Computer Science and Engineering College of Engineering The Ohio State University Lecture 4 Ruby vs Java: Similarities Imperative and object-oriented Classes and instances (ie

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

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

Migration Methods* Column Options. Active Record Supported Types. Add Column. Remove Column. Create Table. Don t Forget to Rake!

Migration Methods* Column Options. Active Record Supported Types. Add Column. Remove Column. Create Table. Don t Forget to Rake! Migrations To Create a Blank Migration: rails g migration To Add Columns: rails g migration AddTo [columnname:type] To Remove Columns: rails g migration RemoveFrom

More information

Cheap, Fast, and Good You can have it all with Ruby on Rails

Cheap, Fast, and Good You can have it all with Ruby on Rails Cheap, Fast, and Good You can have it all with Ruby on Rails Brian McCallister brianm@ninginc.com http://www.ning.com/ What is Ruby? Dynamic and Interpreted Strong support for OO programming Everything

More information

Here are some figures to consider while answering the following questions.

Here are some figures to consider while answering the following questions. Here are some figures to consider while answering the following questions. Figure 1. Example page from Music Catalog web app. Figure 2. config/routes.rb Figure 3. Output of rake routes command. Figure

More information

Multitenancy with Rails

Multitenancy with Rails Multitenancy with Rails And subscriptions too! Ryan Bigg This book is for sale at http://leanpub.com/multi-tenancy-rails This version was published on 2015-11-24 This is a Leanpub book. Leanpub empowers

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

Ruby on Rails. Brian McCallister Ning, Inc. Philadelphia Emerging Technology Conference 06

Ruby on Rails. Brian McCallister Ning, Inc. Philadelphia Emerging Technology Conference 06 Ruby on Rails Brian McCallister Ning, Inc. Philadelphia Emerging Technology Conference 06 Smalltalk Robert Tinney www.tinney.net + Lisp Conrad Barski www.lisperati.com + Perl O Reilly www.perl.com Without

More information

Rails Four For you and for me!

Rails Four For you and for me! Realtime Rails Four Rails Four For you and for me! Aaron Patterson @terlove HI!! :-) AT&T, AT&T logo and all AT&T related marks are trademarks of AT&T Intellectual Property and/or AT&T affiliated companies.

More information

GraphQL. Concepts & Challenges. - I m Robert Mosolgo - Work from home Ruby developer - From Charlottesville VA - For GitHub

GraphQL. Concepts & Challenges. - I m Robert Mosolgo - Work from home Ruby developer - From Charlottesville VA - For GitHub GraphQL Concepts & Challenges - I m Robert Mosolgo - Work from home Ruby developer - From Charlottesville VA - For GitHub Rails API WHY - You have your Rails app, why bother with an API? - You have clients.

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

20486: Developing ASP.NET MVC 4 Web Applications

20486: Developing ASP.NET MVC 4 Web Applications 20486: Developing ASP.NET MVC 4 Web Applications Length: 5 days Audience: Developers Level: 300 OVERVIEW In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework

More information

School of Computer Science and Software Engineering 2ND SEMESTER EXAMINATIONS CITS4230 Internet Technologies

School of Computer Science and Software Engineering 2ND SEMESTER EXAMINATIONS CITS4230 Internet Technologies School of Computer Science and Software Engineering 2ND SEMESTER EXAMINATIONS 2012 Internet Technologies FAMILY NAME: GIVEN NAMES: STUDENT ID: SIGNATURE: This paper contains: 16 pages (including the title

More information

Effective Rails Testing Practices

Effective Rails Testing Practices Effective Rails Testing Practices Mike Swieton atomicobject.com atomicobject.com 2007: 16,000 hours General testing strategies Integration tests View tests Controller tests Migration tests Test at a high

More information

RKN 2015 Application Layer Short Summary

RKN 2015 Application Layer Short Summary RKN 2015 Application Layer Short Summary HTTP standard version now: 1.1 (former 1.0 HTTP /2.0 in draft form, already used HTTP Requests Headers and body counterpart: answer Safe methods (requests): GET,

More information

TRAINING GUIDE. Lucity Web Services APIs

TRAINING GUIDE. Lucity Web Services APIs TRAINING GUIDE Lucity Web Services APIs Lucity Web Services APIs Lucity offers several web service APIs. This guide covers the Lucity Citizen Portal API as well as the. Contents How it Works... 2 Basics...

More information

Domain-Driven Rails Redux. Pat Maddox RailsConf 2010

Domain-Driven Rails Redux. Pat Maddox RailsConf 2010 Domain-Driven Rails Redux Pat Maddox RailsConf 2010 A Short Story Software is a learning process Design matters Complexity inherent in the system All complexity not created equal I need to do because the

More information

Course 20486B: Developing ASP.NET MVC 4 Web Applications

Course 20486B: Developing ASP.NET MVC 4 Web Applications Course 20486B: Developing ASP.NET MVC 4 Web Applications Overview In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools and technologies. The focus

More information

Developing ASP.NET MVC 4 Web Applications

Developing ASP.NET MVC 4 Web Applications Developing ASP.NET MVC 4 Web Applications Duration: 5 Days Course Code: 20486B About this course In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5

More information

Rails Performance. Michael Koziarski

Rails Performance. Michael Koziarski Rails Performance Michael Koziarski michael@koziarski.com Rails Performance Relax Programmers Love Optimisation Science Based Objective Provable Opportunity Cost Is this optimisation really the best use

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 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

Visual Studio Course Developing ASP.NET MVC 5 Web Applications

Visual Studio Course Developing ASP.NET MVC 5 Web Applications Visual Studio Course - 20486 Developing ASP.NET MVC 5 Web Applications Length 5 days Prerequisites Before attending this course, students must have: In this course, students will learn to develop advanced

More information

ASP.NET MVC Training

ASP.NET MVC Training TRELLISSOFT ASP.NET MVC Training About This Course: Audience(s): Developers Technology: Visual Studio Duration: 6 days (48 Hours) Language(s): English Overview In this course, students will learn to develop

More information

MWR InfoSecurity Advisory. 26 th April Elastic Path Administrative. Quit. Session Hijacking through Embedded XSS

MWR InfoSecurity Advisory. 26 th April Elastic Path Administrative. Quit. Session Hijacking through Embedded XSS Quit MWR InfoSecurity Advisory Elastic Path Administrative Session Hijacking through Embedded XSS 26 th April 2007 2007-04-26 1 of 7 INDEX 1 Detailed Vulnerability description...4 1.1 Introduction...4

More information

Developing ASP.NET MVC 5 Web Applications. Course Outline

Developing ASP.NET MVC 5 Web Applications. Course Outline Developing ASP.NET MVC 5 Web Applications Course Outline Module 1: Exploring ASP.NET MVC 5 The goal of this module is to outline to the students the components of the Microsoft Web Technologies stack,

More information

Developing ASP.Net MVC 4 Web Application

Developing ASP.Net MVC 4 Web Application Developing ASP.Net MVC 4 Web Application About this Course In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools and technologies. The focus will

More information

Big Data with rubygems.org Download Data. Aja Hammerly

Big Data with rubygems.org Download Data. Aja Hammerly Big Data with rubygems.org Download Data Aja Hammerly Aja Hammerly http://github.com/thagomizer @thagomizer_rb http://www.thagomizer.com Lawyer Cat Says: Any code is copyright Google and licensed Apache

More information

Index. Numbers and Symbols. 404.html file, html file, html file, 24. store, 186

Index. Numbers and Symbols. 404.html file, html file, html file, 24. store, 186 Index Numbers and Symbols 404.html file, 24 422.html file, 24 500.html file, 24 && (and) operator, 9 10 @, for instance variables, 15 \ (backslash), for special characters, 6 : (colon), for symbols, 7

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

COURSE 20486B: DEVELOPING ASP.NET MVC 4 WEB APPLICATIONS

COURSE 20486B: DEVELOPING ASP.NET MVC 4 WEB APPLICATIONS ABOUT THIS COURSE In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools and technologies. The focus will be on coding activities that enhance the

More information

20486: Developing ASP.NET MVC 4 Web Applications (5 Days)

20486: Developing ASP.NET MVC 4 Web Applications (5 Days) www.peaklearningllc.com 20486: Developing ASP.NET MVC 4 Web Applications (5 Days) About this Course In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework

More information

Caching: Improving Rendering Time & Database Performance (ESaaS 12.6)! 2013 Armando Fox & David Patterson, all rights reserved

Caching: Improving Rendering Time & Database Performance (ESaaS 12.6)! 2013 Armando Fox & David Patterson, all rights reserved Caching: Improving Rendering Time & Database Performance (ESaaS 12.6)! 2013 Armando Fox & David Patterson, all rights reserved The fastest database is the one you don t use" Caching: Avoid touching database

More information

Comp 97: Design Document

Comp 97: Design Document Tufts University School of Engineering Department of Electrical and Computer Engineering Comp 97: Design Document Fall 2013 Name: Jillian Silver Josh Fishbein Jillian.Silver@ tufts.edu Joshua.fishbein@tufts.edu

More information

Ruby on Rails. Rails Released 1.0 Yesterday! Brian McCallister. ApacheCon US 2005

Ruby on Rails. Rails Released 1.0 Yesterday! Brian McCallister. ApacheCon US 2005 Ruby on Rails Rails Released 1.0 Yesterday! Brian McCallister ApacheCon US 2005 Smalltalk Robert Tinney www.tinney.net + Lisp Conrad Barski www.lisperati.com + Perl O Reilly www.perl.com Without the...

More information

Developing ASP.NET MVC 4 Web Applications

Developing ASP.NET MVC 4 Web Applications Developing ASP.NET MVC 4 Web Applications Course 20486B; 5 days, Instructor-led Course Description In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5

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

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

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

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

Tabular Presentation of the Application Software Extended Package for Web Browsers

Tabular Presentation of the Application Software Extended Package for Web Browsers Tabular Presentation of the Application Software Extended Package for Web Browsers Version: 2.0 2015-06-16 National Information Assurance Partnership Revision History Version Date Comment v 2.0 2015-06-16

More information

6.170 Tutorial 7 - Rails Security. Prerequisites. Goals of this tutorial. Resources

6.170 Tutorial 7 - Rails Security. Prerequisites. Goals of this tutorial. Resources 6.170 Tutorial 7 - Rails Security Introduction Sessions Session Hijacking Replay Attacks Session Fixation CSRF Hackers Love Mass Assignment Injection SQL Injection Cross Site Scripting (XSS) Logging Authorizing

More information

Perceptive Process Mining

Perceptive Process Mining Perceptive Process Mining What s New Version: 2.4.x Written by: Product Documentation, R&D Date: May 2013 2013 Lexmark International Technology SA. All rights reserved Perceptive Software is a trademark

More information

Web basics: HTTP cookies

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

More information

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

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

More information

Courslets, a golf improvement web service. Peter Battaglia

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

More information

Associations: mechanics (ESaaS 5.3)"

Associations: mechanics (ESaaS 5.3) Associations: mechanics (ESaaS 5.3)" Armando Fox" 2013 Armando Fox & David Patterson, all rights reserved How does it work?" Models must have attribute for foreign key of owning object" e.g., movie_id

More information

Ruby Gem Internals by Examples

Ruby Gem Internals by Examples SF Software Design in Ruby Meetup Group Ruby Gem Internals by Examples Ben Zhang, 1/14/2014 benzhangpro@gmail.com http://www.meetup.com/software-design-in-ruby-study-group/ Types of Ruby Gem Features Global

More information

Caching. Caching Overview

Caching. Caching Overview Overview Responses to specific URLs cached in intermediate stores: Motivation: improve performance by reducing response time and network bandwidth. Ideally, subsequent request for the same URL should be

More information

Typical PHP Code Everything shoved into one file. Not Good!

Typical PHP Code Everything shoved into one file. Not Good! MVC in Trax Typical PHP Code Everything shoved into one file. Not Good!

More information

Requirements from the Application Software Extended Package for Web Browsers

Requirements from the Application Software Extended Package for Web Browsers Requirements from the Application Software Extended Package for Web Browsers Version: 2.0 2015-06-16 National Information Assurance Partnership Revision History Version Date Comment v 2.0 2015-06-16 Application

More information

Web Technologies VU ( ) Vedran Sabol. Nov 13, ISDS, TU Graz. Vedran Sabol (ISDS, TU Graz) Web Technologies Nov 13, / 60

Web Technologies VU ( ) Vedran Sabol. Nov 13, ISDS, TU Graz. Vedran Sabol (ISDS, TU Graz) Web Technologies Nov 13, / 60 Web Technologies VU (706.704) Vedran Sabol ISDS, TU Graz Nov 13, 2017 Vedran Sabol (ISDS, TU Graz) Web Technologies Nov 13, 2017 1 / 60 Outline 1 Separation of Concerns Design Principle 2 Model-View-Controller

More information

Developing ASP.NET MVC 4 Web Applications

Developing ASP.NET MVC 4 Web Applications Developing ASP.NET MVC 4 Web Applications Código del curso: 20486 Duración: 5 días Acerca de este curso In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework

More information

Developing ASP.NET MVC 5 Web Applications

Developing ASP.NET MVC 5 Web Applications Developing ASP.NET MVC 5 Web Applications Course 20486C; 5 days, Instructor-led Course Description In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework tools

More information

insecure expectations Matt Jemurai.com

insecure expectations Matt Jemurai.com insecure expectations Matt Konda @mkonda Jemurai.com introduction BACKGROUND ON ME Thanks to family! demo cucumber --name "person is restricted from putting input into a field that will be executed by

More information

test with :) chen songyong

test with :) chen songyong test with :) chen songyong about me about me Remote worker! Worked in start-ups, web consultancies, banks and digital agencies! @aquajach in Twitter & Github test in old days test in old days do you write

More information

Executive Summary. Flex Bounty Program Overview. Bugcrowd Inc Page 2 of 7

Executive Summary. Flex Bounty Program Overview. Bugcrowd Inc Page 2 of 7 CANVAS by Instructure Bugcrowd Flex Program Results December 01 Executive Summary Bugcrowd Inc was engaged by Instructure to perform a Flex Bounty program, commonly known as a crowdsourced penetration

More information

Developing ASP.NET MVC 5 Web Applications

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

More information

A Simple Course Management Website

A Simple Course Management Website A Simple Course Management Website A Senior Project Presented to The Faculty of the Computer Engineering Department California Polytechnic State University, San Luis Obispo In Partial Fulfillment Of the

More information

AngularJS. CRUD Application example with AngularJS and Rails 4. Slides By: Jonathan McCarthy

AngularJS. CRUD Application example with AngularJS and Rails 4. Slides By: Jonathan McCarthy AngularJS CRUD Application example with AngularJS and Rails 4 1 Slides By: Jonathan McCarthy Create a new Rails App For this example we will create an application to store student details. Create a new

More information

Rails: Models. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 25

Rails: Models. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 25 Rails: Models Computer Science and Engineering College of Engineering The Ohio State University Lecture 25 Recall: Rails Architecture Recall: Rails Architecture Mapping Tables to Objects General strategy

More information

Web System Development with Ruby on Rails

Web System Development with Ruby on Rails Web System Development with Ruby on Rails Day 11(6/Dec/2012) File uploading and Image Display Today's Theme p Upload image files to the database, and let Memopad store the image file. p Try some other

More information

Seshat Documentation. Release Joshua P Ashby

Seshat Documentation. Release Joshua P Ashby Seshat Documentation Release 1.0.0 Joshua P Ashby Apr 05, 2017 Contents 1 A Few Minor Warnings 3 2 Quick Start 5 2.1 Contributing............................................... 5 2.2 Doc Contents...............................................

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

Nginx: Accelerate Rails, HTTP Tricks. Adam Wiggins Railsconf 2008

Nginx: Accelerate Rails, HTTP Tricks. Adam Wiggins Railsconf 2008 Nginx: Accelerate Rails, HTTP Tricks Adam Wiggins Railsconf 2008 Nginx is a webserver Which means: Nginx replaces Apache Nginx replaces Apache!Faster!Smaller memory footprint!more stable under load!more

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

Sergio Benitez.

Sergio Benitez. Sergio Benitez sb@sergio.bz Rocket is a web framework for Rust that makes it simple to write fast web applications without sacrificing flexibility or type safety. Rocket is a web framework for Rust that

More information

Your First Ruby Script

Your First Ruby Script Learn Ruby in 50 pages Your First Ruby Script Step-By-Step Martin Miliauskas @mmiliauskas 1 Your First Ruby Script, Step-By-Step By Martin Miliauskas Published in 2013 by Martin Miliauskas On the web:

More information

Uniform Resource Locators (URL)

Uniform Resource Locators (URL) The World Wide Web Web Web site consists of simply of pages of text and images A web pages are render by a web browser Retrieving a webpage online: Client open a web browser on the local machine The web

More information

20486 Developing ASP.NET MVC 5 Web Applications

20486 Developing ASP.NET MVC 5 Web Applications Course Overview In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework tools and technologies. The focus will be on coding activities that enhance the performance

More information

Web basics: HTTP cookies

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

More information

Cisco SSL Encryption Utility

Cisco SSL Encryption Utility About SSL Encryption Utility, page 1 About SSL Encryption Utility Unified ICM web servers are configured for secure access (HTTPS) using SSL. Cisco provides an application called the SSL Encryption Utility

More information