The document discusses the key changes in Rails 4.0. Some of the major new features include strong parameters for mass assignment protection, streaming responses using ActionController::Live, background job handling via ActiveSupport::Queue, and routing concerns to DRY up routes. Some existing features that have been improved include ActiveRecord::Relation to allow chaining of queries, caching with cache digests to automatically invalidate caches, and various performance improvements. A number of older and deprecated features have also been removed.
AtlasCamp 2015: Using add-ons to build add-onsAtlassian
Daniel Wester, Wittified
Join Daniel Wester from Wittified as he shares his company secrets on tackling the everyday problems of add-on development and generating unique add-on ideas. Learn how you can apply his methods to your product development process and how you can make development easier with Web Fragment Finder.
This session will introduce the audience to the workflow capabilities available in Alfresco. We will discuss the workflow UI in Share and the configuration options available. A working example will also show how custom Activiti workflows can be implemented, deployed, configured and monitored.
This session will introduce the audience to the workflow capabilities available in Alfresco. We will discuss the workflow UI in Share and the configuration options available. A working example will also show how custom Activiti workflows can be implemented, deployed, configured and monitored.
This document provides an overview of advanced workflow capabilities in Alfresco, including service tasks, listeners, and scripting. Service tasks allow Java code to be executed from a workflow using Java delegate classes, beans, or expressions. Listeners can react to workflow events using classes, beans or expressions. Scripting supports JavaScript execution using scope and execution variables. Timers can delay workflow start, intermediate, and boundary events using date, duration, or repeating formats.
Dethroning Grunt: Simple and Effective Builds with gulp.jsJay Harris
Grunt is king. It is the ubiquitous task runner used for most nodejs projects and has quickly expanded to conquer other software ecosystems. However, its kingdom is vulnerable. Grunt does not align well with many nodejs paradigms and is notorious for its harsh learning curve. Meet Gulp, the challenger in the taskrunner revolution. Gulp’s easy configuration produces an easy learning curve, and its alignment with nodejs paradigms eliminates the friction. Grab your ticket, your foam finger, and your team-colored face paint and witness the battle, the revolution, and the crowning of Gulp.
Refactoring Large Web Applications with Backbone.jsStacy London
Have you ever starting working on a large, existing web application and jQuery spaghetti-code is all over the place? Your mind swirls as you try to figure out what code belongs to what component on what page. There are no JavaScript unit tests and you're terrified of making a change and breaking everything? I'm going to talk through the real life story of how Backbone.js helped to bring organization/structure, modularity, and testability to a large multi-page web application.
In The Trenches With Tomster, Upgrading Ember.js & Ember DataStacy London
A few months after I started working with Ember.js & Ember Data at my new job we began a project to upgrade both. There were parts that were a breeze and others that were quite tricky. This talk walks you through some of the challenges we faced and how we solved them as well as how we began to prepare for the Ember 2.x architectural shift. Hopefully this talk will help save you some time when you decide to upgrade your Ember web application.
AtlasCamp 2015: Connect everywhere - Cloud and ServerAtlassian
Patrick Streule
You have an idea for an add-on? You want to tap into both the Atlassian Cloud and Server customer base without writing and maintaining it twice? Patrick illustrates some techniques you can use today to share most of your code between the Connect and the P2 add-on implementation.
AtlasCamp 2015: Using add-ons to build add-onsAtlassian
Daniel Wester, Wittified
Join Daniel Wester from Wittified as he shares his company secrets on tackling the everyday problems of add-on development and generating unique add-on ideas. Learn how you can apply his methods to your product development process and how you can make development easier with Web Fragment Finder.
This session will introduce the audience to the workflow capabilities available in Alfresco. We will discuss the workflow UI in Share and the configuration options available. A working example will also show how custom Activiti workflows can be implemented, deployed, configured and monitored.
This session will introduce the audience to the workflow capabilities available in Alfresco. We will discuss the workflow UI in Share and the configuration options available. A working example will also show how custom Activiti workflows can be implemented, deployed, configured and monitored.
This document provides an overview of advanced workflow capabilities in Alfresco, including service tasks, listeners, and scripting. Service tasks allow Java code to be executed from a workflow using Java delegate classes, beans, or expressions. Listeners can react to workflow events using classes, beans or expressions. Scripting supports JavaScript execution using scope and execution variables. Timers can delay workflow start, intermediate, and boundary events using date, duration, or repeating formats.
Dethroning Grunt: Simple and Effective Builds with gulp.jsJay Harris
Grunt is king. It is the ubiquitous task runner used for most nodejs projects and has quickly expanded to conquer other software ecosystems. However, its kingdom is vulnerable. Grunt does not align well with many nodejs paradigms and is notorious for its harsh learning curve. Meet Gulp, the challenger in the taskrunner revolution. Gulp’s easy configuration produces an easy learning curve, and its alignment with nodejs paradigms eliminates the friction. Grab your ticket, your foam finger, and your team-colored face paint and witness the battle, the revolution, and the crowning of Gulp.
Refactoring Large Web Applications with Backbone.jsStacy London
Have you ever starting working on a large, existing web application and jQuery spaghetti-code is all over the place? Your mind swirls as you try to figure out what code belongs to what component on what page. There are no JavaScript unit tests and you're terrified of making a change and breaking everything? I'm going to talk through the real life story of how Backbone.js helped to bring organization/structure, modularity, and testability to a large multi-page web application.
In The Trenches With Tomster, Upgrading Ember.js & Ember DataStacy London
A few months after I started working with Ember.js & Ember Data at my new job we began a project to upgrade both. There were parts that were a breeze and others that were quite tricky. This talk walks you through some of the challenges we faced and how we solved them as well as how we began to prepare for the Ember 2.x architectural shift. Hopefully this talk will help save you some time when you decide to upgrade your Ember web application.
AtlasCamp 2015: Connect everywhere - Cloud and ServerAtlassian
Patrick Streule
You have an idea for an add-on? You want to tap into both the Atlassian Cloud and Server customer base without writing and maintaining it twice? Patrick illustrates some techniques you can use today to share most of your code between the Connect and the P2 add-on implementation.
PrimeFaces is a next generation JavaServer Faces (JSF) component suite that provides 70+ rich UI components and features like Ajax push technology. It was created by Cagatay Civici in 2008 and is now used by thousands of developers worldwide. Some key features include easy Ajax implementation, unobtrusive JavaScript, mobile frameworks like TouchFaces, and integration with technologies like Spring and Portlets. The documentation and community support resources make it easy for developers to learn and use PrimeFaces in their projects.
This document provides instructions for using the ECOS framework to build and manage web applications. It discusses creating a sample "notebook" application using ECOS commands like install, update, and createproject. It also covers concepts like the MVC pattern, database schema definition, controllers, models, views, services, and extensions. The document demonstrates how to add features to the notebook app like user avatars, logging, and notifications as reusable services and extensions.
AtlasCamp 2015: Web technologies you should be using nowAtlassian
Dallas Tester, Atlassian
Get a primer on the latest web technologies that you can leverage to build better applications. Topics covered include code re-use, loading JavaScript efficiently, and managing asynchronous operations using promises and Web workers.
Ruby on Rails + AngularJS + Twitter BootstrapMarcio Marinho
This document provides an overview of setting up a Ruby on Rails application that integrates AngularJS and Twitter Bootstrap. It discusses why these technologies are used together and how to set them up, including installing necessary gems, modifying files, and adding AngularJS controllers. Code examples are provided to demonstrate basic CRUD functionality using Rails and AngularJS. The document concludes by describing the presenters' consulting company and providing contact information.
devise tutorial - 2011 rubyconf taiwanTse-Ching Ho
This document provides an overview and instructions for building an authentication system using the Devise gem in Rails. It discusses Devise's features like authentication modules, filters, helpers and extensions. It also outlines setting up Devise by generating models, configuring routes and customizing views. The document demonstrates deploying a sample Devise app to Heroku and adding manager authentication with custom routes.
This document discusses several tools and techniques for using jQuery and AJAX with Ruby on Rails applications. It covers manually adding jQuery, using the jQuery Rails adapter gem, unobtrusive JavaScript, AJAX concepts, and the $.ajax method. Examples are provided for debugging with HttpFox and Visual Event, installing jQuery Rails, and making AJAX calls.
This document provides instructions for setting up user authentication for a Rails application using Devise and OAuth with Facebook. It includes steps for installing Devise, generating a User model, configuring routes and callbacks, setting up the Facebook application, and connecting a user's Facebook account to authenticate and sign in.
Rachel Baker presents on creating accessible and usable navigation menus for WordPress websites using CSS, jQuery, and custom walker functions. She discusses identifying the audience and their expectations, using visual cues like icons and highlighting the current page, adding descriptions to menu items, and splitting long submenus into columns. Code examples are provided for styling menus, adding relationships and descriptions, and splitting submenus with jQuery. The presentation aims to make navigation menus more intuitive and helpful for visitors.
Keeping the frontend under control with Symfony and WebpackIgnacio Martín
Webpack tutorial with tips for Symfony users. Topics covered include: current frontend trends, setup, loaders, dev tools, optimization in production, bundle splitting and tips and tricks for using webpack with existing projects.
Symfony Munich Meetup 2016.
Fisl 11 - Dicas de Desenvolvimento Web com RubyFabio Akita
Performance de sites não tem a ver com a linguagem usada por baixo. O impacto maior é a arquitetura. Nesta palestra falo sobre YSlow, Resque e Solr como algumas das coisas que podemos fazer para melhorar a performance/escalabilidade de aplicações web.
This document provides information about Çagatay Çivici and PrimeFaces. Çagatay Çivici is a JSF expert group member and lead of PrimeFaces. PrimeFaces is an open source Java server faces component library developed by PrimeTeknoloji, where Çagatay is a co-founder. The document outlines features of PrimeFaces like being lightweight, easy to use, supporting over 100 UI components, and advanced Ajax capabilities.
If you are new to Single Page Applications, This will give you a great understanding of a proven technology stack & Architecture used in a popular commercial project.
Introduction to AngularJS For WordPress DevelopersCaldera Labs
- AngularJS is a Model-View-Controller framework that can be used to build dynamic single-page applications for WordPress.
- It uses bindings to connect views (HTML) to controllers, allowing real-time updates as data changes. Data binding is done through directives like ng-model, ng-repeat, etc.
- The $http service provides an easy way to connect Angular models to REST APIs, like the WordPress REST API, to fetch and save data from the backend. This allows building apps that interact with WordPress remotely.
- Additional topics covered include using controllers, building reusable components with directives, and ways to customize the WordPress REST API to fit the needs of Angular applications
This document provides guidance on migrating a CakePHP 1.x application to CakePHP 2.x. It outlines changes needed to the installation, configuration, folder structure, authentication, requests handling, views, helpers, components, database usage, internationalization, and pagination. Key steps include updating core.php, routes.php, bootstrap.php, controller/model/view files, authentication logic, form handling, and helper/component usage to match the new CakePHP 2.x conventions and features. Testing is recommended to validate all functionality still works as expected after migrating to the new version.
The document discusses using Angular with Rails for single page web applications. It covers building an API with Rails, defining JSON views, adding Angular, creating Angular controllers and services, handling errors, authentication, and SEO issues. Key points include bypassing traditional Rails flows, separating HTML and API controllers, using RABL for JSON views, following Angular best practices for code structure, and ensuring server-side authentication is still enforced.
PrimeTime JSF with PrimeFaces - Dec 2014cagataycivici
This document provides an overview of PrimeFaces, an open source JavaServer Faces (JSF) component library. It describes key features like being lightweight, easy to use, supporting Ajax, client-side validation, themes, and mobile. It also discusses the community, documentation, books, and commercial support options available for PrimeFaces.
Google App Engine allows developers to build scalable web applications and host them on Google's infrastructure. It includes support for Python via Django, an open-source web framework. The document discusses how to develop a blog application using Django on App Engine, including models, forms, views and templates to create, edit and display blog posts stored in the App Engine datastore. It also covers App Engine services, quotas and pricing for development and hosting on App Engine.
UI routing in AngularJS allows defining application states and nested views. Key steps include:
1. Include the angular-ui-router.js file and inject the ui.router module.
2. Configure states using $stateProvider and child states for nested views.
3. Link to states with ui-sref and display views with ui-view.
States define the URL, template, and controller for sections of the app. Child states enable nested views within a state. The example app defines routes for two users with nested lists.
$stateProvider is used in AngularJs to manage state changes and navigation within an application. It defines states that include a URL, template, and controller. States can be nested. $stateProvider works with $urlRouterProvider and $urlMatcherFactoryProvider to handle routing. The example shows setting up four states for "home", "aboutUs", "contactUs", and "queryString" pages using $stateProvider, with the associated URLs, templates, and a controller to retrieve route parameters. Clicking on links will match the state and load the correct view.
The document discusses best practices for building web applications using the Ruby on Rails framework. It covers topics like asset pipeline for concatenating and minifying assets, CoffeeScript and SASS for high-level languages, content negotiation for different formats, partials for view components, AJAX, caching, and solving the N+1 query problem through includes and batch loading.
The document discusses Ruby on Rails and RESTful routing. It explains that RESTful routing maps HTTP verbs like GET, POST, PUT, and DELETE to controller actions for basic CRUD operations. This follows conventions like using the GET verb for the index and show actions, POST for create, PUT for update, and DELETE for destroy. It shows how Rails' resource routing generates RESTful routes and named helpers like events_path for simple, intuitive routing.
PrimeFaces is a next generation JavaServer Faces (JSF) component suite that provides 70+ rich UI components and features like Ajax push technology. It was created by Cagatay Civici in 2008 and is now used by thousands of developers worldwide. Some key features include easy Ajax implementation, unobtrusive JavaScript, mobile frameworks like TouchFaces, and integration with technologies like Spring and Portlets. The documentation and community support resources make it easy for developers to learn and use PrimeFaces in their projects.
This document provides instructions for using the ECOS framework to build and manage web applications. It discusses creating a sample "notebook" application using ECOS commands like install, update, and createproject. It also covers concepts like the MVC pattern, database schema definition, controllers, models, views, services, and extensions. The document demonstrates how to add features to the notebook app like user avatars, logging, and notifications as reusable services and extensions.
AtlasCamp 2015: Web technologies you should be using nowAtlassian
Dallas Tester, Atlassian
Get a primer on the latest web technologies that you can leverage to build better applications. Topics covered include code re-use, loading JavaScript efficiently, and managing asynchronous operations using promises and Web workers.
Ruby on Rails + AngularJS + Twitter BootstrapMarcio Marinho
This document provides an overview of setting up a Ruby on Rails application that integrates AngularJS and Twitter Bootstrap. It discusses why these technologies are used together and how to set them up, including installing necessary gems, modifying files, and adding AngularJS controllers. Code examples are provided to demonstrate basic CRUD functionality using Rails and AngularJS. The document concludes by describing the presenters' consulting company and providing contact information.
devise tutorial - 2011 rubyconf taiwanTse-Ching Ho
This document provides an overview and instructions for building an authentication system using the Devise gem in Rails. It discusses Devise's features like authentication modules, filters, helpers and extensions. It also outlines setting up Devise by generating models, configuring routes and customizing views. The document demonstrates deploying a sample Devise app to Heroku and adding manager authentication with custom routes.
This document discusses several tools and techniques for using jQuery and AJAX with Ruby on Rails applications. It covers manually adding jQuery, using the jQuery Rails adapter gem, unobtrusive JavaScript, AJAX concepts, and the $.ajax method. Examples are provided for debugging with HttpFox and Visual Event, installing jQuery Rails, and making AJAX calls.
This document provides instructions for setting up user authentication for a Rails application using Devise and OAuth with Facebook. It includes steps for installing Devise, generating a User model, configuring routes and callbacks, setting up the Facebook application, and connecting a user's Facebook account to authenticate and sign in.
Rachel Baker presents on creating accessible and usable navigation menus for WordPress websites using CSS, jQuery, and custom walker functions. She discusses identifying the audience and their expectations, using visual cues like icons and highlighting the current page, adding descriptions to menu items, and splitting long submenus into columns. Code examples are provided for styling menus, adding relationships and descriptions, and splitting submenus with jQuery. The presentation aims to make navigation menus more intuitive and helpful for visitors.
Keeping the frontend under control with Symfony and WebpackIgnacio Martín
Webpack tutorial with tips for Symfony users. Topics covered include: current frontend trends, setup, loaders, dev tools, optimization in production, bundle splitting and tips and tricks for using webpack with existing projects.
Symfony Munich Meetup 2016.
Fisl 11 - Dicas de Desenvolvimento Web com RubyFabio Akita
Performance de sites não tem a ver com a linguagem usada por baixo. O impacto maior é a arquitetura. Nesta palestra falo sobre YSlow, Resque e Solr como algumas das coisas que podemos fazer para melhorar a performance/escalabilidade de aplicações web.
This document provides information about Çagatay Çivici and PrimeFaces. Çagatay Çivici is a JSF expert group member and lead of PrimeFaces. PrimeFaces is an open source Java server faces component library developed by PrimeTeknoloji, where Çagatay is a co-founder. The document outlines features of PrimeFaces like being lightweight, easy to use, supporting over 100 UI components, and advanced Ajax capabilities.
If you are new to Single Page Applications, This will give you a great understanding of a proven technology stack & Architecture used in a popular commercial project.
Introduction to AngularJS For WordPress DevelopersCaldera Labs
- AngularJS is a Model-View-Controller framework that can be used to build dynamic single-page applications for WordPress.
- It uses bindings to connect views (HTML) to controllers, allowing real-time updates as data changes. Data binding is done through directives like ng-model, ng-repeat, etc.
- The $http service provides an easy way to connect Angular models to REST APIs, like the WordPress REST API, to fetch and save data from the backend. This allows building apps that interact with WordPress remotely.
- Additional topics covered include using controllers, building reusable components with directives, and ways to customize the WordPress REST API to fit the needs of Angular applications
This document provides guidance on migrating a CakePHP 1.x application to CakePHP 2.x. It outlines changes needed to the installation, configuration, folder structure, authentication, requests handling, views, helpers, components, database usage, internationalization, and pagination. Key steps include updating core.php, routes.php, bootstrap.php, controller/model/view files, authentication logic, form handling, and helper/component usage to match the new CakePHP 2.x conventions and features. Testing is recommended to validate all functionality still works as expected after migrating to the new version.
The document discusses using Angular with Rails for single page web applications. It covers building an API with Rails, defining JSON views, adding Angular, creating Angular controllers and services, handling errors, authentication, and SEO issues. Key points include bypassing traditional Rails flows, separating HTML and API controllers, using RABL for JSON views, following Angular best practices for code structure, and ensuring server-side authentication is still enforced.
PrimeTime JSF with PrimeFaces - Dec 2014cagataycivici
This document provides an overview of PrimeFaces, an open source JavaServer Faces (JSF) component library. It describes key features like being lightweight, easy to use, supporting Ajax, client-side validation, themes, and mobile. It also discusses the community, documentation, books, and commercial support options available for PrimeFaces.
Google App Engine allows developers to build scalable web applications and host them on Google's infrastructure. It includes support for Python via Django, an open-source web framework. The document discusses how to develop a blog application using Django on App Engine, including models, forms, views and templates to create, edit and display blog posts stored in the App Engine datastore. It also covers App Engine services, quotas and pricing for development and hosting on App Engine.
UI routing in AngularJS allows defining application states and nested views. Key steps include:
1. Include the angular-ui-router.js file and inject the ui.router module.
2. Configure states using $stateProvider and child states for nested views.
3. Link to states with ui-sref and display views with ui-view.
States define the URL, template, and controller for sections of the app. Child states enable nested views within a state. The example app defines routes for two users with nested lists.
$stateProvider is used in AngularJs to manage state changes and navigation within an application. It defines states that include a URL, template, and controller. States can be nested. $stateProvider works with $urlRouterProvider and $urlMatcherFactoryProvider to handle routing. The example shows setting up four states for "home", "aboutUs", "contactUs", and "queryString" pages using $stateProvider, with the associated URLs, templates, and a controller to retrieve route parameters. Clicking on links will match the state and load the correct view.
The document discusses best practices for building web applications using the Ruby on Rails framework. It covers topics like asset pipeline for concatenating and minifying assets, CoffeeScript and SASS for high-level languages, content negotiation for different formats, partials for view components, AJAX, caching, and solving the N+1 query problem through includes and batch loading.
The document discusses Ruby on Rails and RESTful routing. It explains that RESTful routing maps HTTP verbs like GET, POST, PUT, and DELETE to controller actions for basic CRUD operations. This follows conventions like using the GET verb for the index and show actions, POST for create, PUT for update, and DELETE for destroy. It shows how Rails' resource routing generates RESTful routes and named helpers like events_path for simple, intuitive routing.
Rails 3 provides a concise overview of changes in Rails 3 including maintaining MVC structure and RESTful routing while improving areas like file structure, block helpers, routing and constraints, ActiveRecord querying, resources routing, and ActionMailer delivery. Key changes include a more Rack-like implementation, chainable ActiveRecord scopes, and pagination and layout support in ActionMailer.
This document provides an overview of routing changes in Rails 3, including:
- Matching routes using "match" instead of "map.connect" and optional segments.
- Namespaces, scopes, and constraints for organizing and restricting routes.
- Default RESTful routes and generating resources.
- Redirects can now be specified as Rack apps or Procs.
- Mounting other Rack endpoints at specific paths.
This is the short talk I delivered at the Ruby Underground Meetup in Tel Aviv for the local Ruby user group about some of the changes and new features in R
This document discusses various approaches to designing RESTful routes and controllers in a Rails application. It provides examples of routing configurations and controller code for resources like users, records, and search functions. It also covers more advanced patterns involving related resources, namespaces, and default routing.
This document discusses various approaches to designing RESTful routes and controllers in a Rails application. It provides examples of routing configurations and controller code for resources like users, records, and search functions. It also covers more advanced patterns involving related resources, namespaces, and default routing.
A guide to create a simple Java application and upload it to the Google Cloud Platform with Google App Engine. This presentation covers usage of persistence API with both Google Cloud SQL and Google Cloud Datastore.
QConSP 2015 - Dicas de Performance para Aplicações WebFabio Akita
Antes de pensar em "vamos reescrever tudo na linguagem mais rápida da moda que tudo vai dar certo". Na verdade pra quase todas as aplicações Web, antes veja se você segue este checklist mínimo de 9 dicas. Você vai ver que a maioria não segue esse mínimo antes, e deveria.
This document discusses using layouts and partials in a Ruby on Rails application. It demonstrates how to create a new layout file, assign it to a controller action, and use content_for and partials to include common elements like menus and footers across views. Code examples are provided for setting up the layouts, partials and integrating them using yield and content_for. The document also covers configuring stylesheets and JavaScript includes for the layouts.
How to disassemble one monster app into an ecosystem of 30fiyuer
This document describes how to disassemble a monolithic web application into an ecosystem of 30 smaller applications while maintaining a consistent user interface and shared functionality. Key points include:
- Breaking the application into independent but interconnected microservices, each with its own database and development cycle.
- Ensuring a consistent user experience across applications through shared CSS, JavaScript, and common helper libraries packaged as gems.
- Enabling applications to access data from each other securely through read-only database connections, background services, or AJAX calls.
- Centralizing user authentication, authorization, file storage and other services to be shared across the ecosystem.
As present at FluentConf 2014 on March 11th, 2014.
AngularJS is one of the most popular, and powerful, JavaScript frameworks for building rich client-side applications. AngularJS is both simultaneously both simple to use and extremely full featured. With AngularJS a little goes a long way, but to make the most of it, you need to know what you’re doing.
In this workshop we will build a complex application to help exercise all of the salient points of the AngularJS framework.
Topics covered include, ngResource, directives, fitlers, routing, templates, controllers, testing, and more.
Code can be found at: https://github.com/markbates/fluent-2014
Turbocharge your web development with Rails
Vagmi Mudumbai presented an overview of Ruby on Rails web development. The presentation covered installing Ruby and Rails, the MVC framework, generating models and migrations, querying the database, controllers and routes, views and forms. Attendees learned the basics of building a Rails application including setting up models, controllers and views to create, read, update and delete data through a RESTful interface.
The document provides information about Rails 3.0 including that it combines Merb and Rails 2.3. It discusses features like Bundler, Rack, HTML5, and Arel. It also covers REST, using resources, and responding to different formats. Views, layouts, partials, helpers, caching and expiration are described.
Ruby on Rails is a web application framework that follows the model-view-controller (MVC) pattern. It uses RESTful routing and conventions to map HTTP verbs like GET and POST to controller actions. Models define the data and behavior of an application, controllers handle and respond to user input, and views display the UI for users. Rails emphasizes conventions over configuration for productivity and includes features like caching, asset pipelining, and internationalization.
This document provides an overview of various topics related to optimizing performance in Ruby on Rails web applications, including:
- Different Rails application servers like Passenger, Unicorn, and Puma.
- Factors that affect web request performance like redirects, DNS lookups, and front-end loading.
- Database performance issues like N+1 queries and missing indexes that can be addressed through eager loading and adding indexes.
- Using caching at different levels like page, action, and fragment caching as well as ensuring caches are expired properly.
- Using background job queues like Resque to process long-running tasks asynchronously.
- The importance of monitoring applications and addressing performance issues that
1. Developing web applications has become increasingly complex over the years, requiring developers to choose frameworks, configure apps, and handle deployment.
2. Templates can help streamline development by providing pre-configured starting points for common stacks and handling boilerplate configuration.
3. Tools like Vagrant and Docker can help isolate development environments and more easily simulate production.
4. Frameworks like Brunch and Yeoman can automate frontend tasks like compilation, minification, and live reloading.
23. # app/controllers/users_controller.rb
class UsersController < ApplicationController
def user_params
params.require(:user).permit(:name)
end
end
# app/controllers/admin/users_controller.rb
class Admin::UsersController < ApplicationController
def user_params
params.require(:user).permit(User.attribute_names)
end
end
Višestruke uloge
31. class MyController < ActionController::Base
def index
100.times {
response.stream.write "hello worldn"
}
response.stream.close
end
end
Streaming
32. class MyController < ActionController::Base
include ActionController::Live
def index
100.times {
response.stream.write "hello worldn"
}
response.stream.close
end
end
Streaming
33. class MyController < ActionController::Base
include ActionController::Live
def index
100.times {
response.stream.write "hello worldn"
}
response.stream.close
end
end
Streaming
WEBrick
34. class MyController < ActionController::Base
include ActionController::Live
def index
100.times {
response.stream.write "hello worldn"
}
response.stream.close
end
end
Streaming
WEBrick
35. class MyController < ActionController::Base
include ActionController::Live
def index
100.times {
response.stream.write "hello worldn"
}
response.stream.close
end
end
Streaming
WEBrick Unicorn
36. class MyController < ActionController::Base
include ActionController::Live
def index
100.times {
response.stream.write "hello worldn"
}
response.stream.close
end
end
Streaming
WEBrick Unicorn
37. class MyController < ActionController::Base
include ActionController::Live
def index
100.times {
response.stream.write "hello worldn"
}
response.stream.close
end
end
Streaming
WEBrick Unicorn
Rainbows
Puma
Thin
58. Koji svi?
User.all
Vraća ActiveRecord::Relation objekt
@users = User.all
@users = @users.where(name: params[:name]) if params[:name]
@users = @users.order(params[:sort_by]) if params[:sort_by]
61. I još
User.(metoda)!
@users = User.all
@users = @users.where(name: params[:name]) if params[:name]
@users = @users.order(params[:sort_by]) if params[:sort_by]
Prije:
62. I još
User.(metoda)!
@users = User.all
@users = @users.where(name: params[:name]) if params[:name]
@users = @users.order(params[:sort_by]) if params[:sort_by]
Prije:
@users = User.all
@users.where!(name: params[:name]) if params[:name]
@users.order!(params[:sort_by]) if params[:sort_by]
Sada: