On February 18th, 2010 was O'Reilly's "Exploring Rails 3" online conference and these are Gregg Pollack's slides. They are by no means a complete record of improvements in Rails 3, but they should serve to get your appetite wet.
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.
1. The document discusses building web interfaces using Ruby on Rails. It covers useful Rails view helper techniques, plugins for adding helper and unobtrusive JavaScript functionality, and implementing common UI design patterns.
2. The handicraft_helper plugin allows building complex HTML structures more easily using a composite pattern. The handicraft_ujs plugin replaces Rails' default Ajax functionality with an unobtrusive JavaScript approach using jQuery.
3. The presentation demonstrates helper techniques, the two plugins, and implementing UI patterns like inline editing and sortable lists.
The document summarizes changes in Rails 3 including:
1. Bundler is introduced for managing gem dependencies through a Gemfile.
2. The ActiveRecord query interface is updated with method chaining and relations to unify finders, named scopes, and with_scope.
3. The ActiveRecord validation API is updated to use hashes instead of separate validator methods for validation options.
4. Views are updated with automatic XSS escaping, unobtrusive JavaScript, and consistent <%= %> usage for output.
5. Internationalization is updated with %{} instead of {{ }} for translations.
This document discusses several Ruby on Rails best practices including maintaining DRY code, using fat models and skinny controllers, avoiding N+1 queries, preventing SQL injection, using scopes to define common query patterns, and leveraging counter caches to improve performance. Key practices emphasized include organizing application logic in models, defining common queries with scopes, sanitizing user input to prevent SQL injection, preloading associated data to reduce the number of queries, and using counter caches to optimize counting related records.
This document discusses building REST APIs with Laravel 5. It covers topics like using REST instead of SOAP, authentication with basic authentication and middleware, response formats, controller hierarchy, repositories, data transformers, error handling, and an internal dispatcher for making internal API requests. The goal is to provide best practices and patterns for building robust and well-structured REST APIs with Laravel.
Rails 4.0 introduced the following changes:
1. Thread safety is enabled by default.
2. Strong Parameters were added for mass assignment protection.
3. Turbolinks was added to speed up page loads by preventing full page reloads.
4. Russian Doll Caching was introduced to maximize cache hits by nesting fragment caches.
Some features were extracted to gems including Action and Page Caching, Active Resource, and AR Observer. The deprecation policy removes deprecated features in future versions. Strong Parameters replace attr_accessible. Turbolinks improves performance. Russian Doll Caching optimizes caching.
25 Real Life Tips In Ruby on Rails DevelopmentBelighted
This is a collection of small tips and tricks related to developing web applications using the Ruby on Rails framework.
These tips are gathered from my personal experience of 4 years working with the framework, including more than 2 years of professional work at Belighted.
The talk was given in the Ruby on Rails Developer Room at Fosdem 2010 (www.fosdem.org).
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.
1. The document discusses building web interfaces using Ruby on Rails. It covers useful Rails view helper techniques, plugins for adding helper and unobtrusive JavaScript functionality, and implementing common UI design patterns.
2. The handicraft_helper plugin allows building complex HTML structures more easily using a composite pattern. The handicraft_ujs plugin replaces Rails' default Ajax functionality with an unobtrusive JavaScript approach using jQuery.
3. The presentation demonstrates helper techniques, the two plugins, and implementing UI patterns like inline editing and sortable lists.
The document summarizes changes in Rails 3 including:
1. Bundler is introduced for managing gem dependencies through a Gemfile.
2. The ActiveRecord query interface is updated with method chaining and relations to unify finders, named scopes, and with_scope.
3. The ActiveRecord validation API is updated to use hashes instead of separate validator methods for validation options.
4. Views are updated with automatic XSS escaping, unobtrusive JavaScript, and consistent <%= %> usage for output.
5. Internationalization is updated with %{} instead of {{ }} for translations.
This document discusses several Ruby on Rails best practices including maintaining DRY code, using fat models and skinny controllers, avoiding N+1 queries, preventing SQL injection, using scopes to define common query patterns, and leveraging counter caches to improve performance. Key practices emphasized include organizing application logic in models, defining common queries with scopes, sanitizing user input to prevent SQL injection, preloading associated data to reduce the number of queries, and using counter caches to optimize counting related records.
This document discusses building REST APIs with Laravel 5. It covers topics like using REST instead of SOAP, authentication with basic authentication and middleware, response formats, controller hierarchy, repositories, data transformers, error handling, and an internal dispatcher for making internal API requests. The goal is to provide best practices and patterns for building robust and well-structured REST APIs with Laravel.
Rails 4.0 introduced the following changes:
1. Thread safety is enabled by default.
2. Strong Parameters were added for mass assignment protection.
3. Turbolinks was added to speed up page loads by preventing full page reloads.
4. Russian Doll Caching was introduced to maximize cache hits by nesting fragment caches.
Some features were extracted to gems including Action and Page Caching, Active Resource, and AR Observer. The deprecation policy removes deprecated features in future versions. Strong Parameters replace attr_accessible. Turbolinks improves performance. Russian Doll Caching optimizes caching.
25 Real Life Tips In Ruby on Rails DevelopmentBelighted
This is a collection of small tips and tricks related to developing web applications using the Ruby on Rails framework.
These tips are gathered from my personal experience of 4 years working with the framework, including more than 2 years of professional work at Belighted.
The talk was given in the Ruby on Rails Developer Room at Fosdem 2010 (www.fosdem.org).
Slides from a presentation given at Laravel Chicago on November 18, 2014. Goes over the basics of building a REST API using the Laravel framework as well as some handy tips and tools.
Laravel is a PHP MVC based framework. It is as easy as codeigniter, yet provides powerful tools needed for large robust application.It is built on top of symphony components and is inspired by many other frameworks including RoR, Asp .net, Sinatra.This session focuses on the basics things needed to start building application on it.
Play 2.0 is a web framework for Java and Scala that is designed to be productive, asynchronous, and reactive. Some key features include being full stack, high-productive, asynchronous and reactive, stateless, HTTP-centric, typesafe, scalable, and open source. Play 2.0 aims to be fun and fast to develop with by enabling features like hot code reloading, browser error reporting, and easy deployment to platforms like Heroku. It also focuses on being asynchronous and reactive through support for WebSockets, Comet, HTTP streaming responses, and composable streams.
This document provides instructions for building a Rails API and discusses related topics. It recommends using Rails 3.1 and Ruby 1.9.2 to build the API. It provides steps to generate a MessagesController to handle API requests for messages. It discusses testing the API with curl and rspec tests. It also covers building a namespaced and versioned API, authentication, caching responses, hosting on DotCloud, and running background jobs with Delayed Job.
This document provides information about Silex, a PHP micro-framework. It includes usage examples and configuration instructions for Silex on Apache, Nginx, IIS, and Lighttpd web servers. It also covers routing, controllers, middlewares, error handling, and other Silex features.
This document provides an overview of Action Controllers in Ruby on Rails. It discusses controllers acting as a middle layer between models and views, RESTful routing, parameters, sessions, filters, request and response objects, authentication, streaming files, parameter filtering, exception handling, and forcing HTTPS. Key points include controllers conducting an orchestra, handling REST actions, accessing session data, applying filters, and interacting with requests and responses.
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.
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...Ryan Weaver
If you're like me, you know that being a great backend developer isn't enough. To make *truly* great applications, we need to spend significant time in an area that's moving at a lightning pace: frontend development.
This talk is for you: the backend developer that wants to hook their API's up to rich, interactive JavaScript frontends. To do that, first, we need to demystify a lot of new terms, like ES6/ES2015, ECMAScript, JSX, Babel and the idea that modern JavaScript (surprise) *requires* a build step.
With this in mind, I'll give you a brief introduction into Webpack & the modular development it finally allows.
But the real star is ReactJS. In the frontend world, you never know what new tech will *win*, but React is a star. I'll give you enough of an intro to get you rolling on your project.
The new frontend dev world is huge! Consider the starting line down an exciting new journey.
This document discusses Rails form helpers and generating forms in Rails. It covers the form_tag helper which generates form tags, and the form_for helper which binds forms to model objects. It also discusses generating individual form fields like text fields, text areas, checkboxes and radio buttons. Additionally, it covers options for selecting values from a collection and working with nested attributes using fields_for.
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.
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.
Workshop: EmberJS - In Depth
- Ember Data - Adapters & Serializers
- Routing and Navigation
- Templates
- Services
- Components
- Integration with 3rd party libraries
Presentado por ingenieros: Mario García y Marc Torrent
Symfony Guard Authentication: Fun with API Token, Social Login, JWT and moreRyan Weaver
There are so many interesting ways to authenticate a user: via an API token, social login, a traditional HTML form or anything else you can dream up.
But until now, creating a custom authentication system in Symfony has meant a lot of files and a lot of complexity.
Introducing Guard: a simple, but expandable authentication system built on top of Symfony's security component. Want to authenticate via an API token? Great - that's just one class. Social login? Easy! Have some crazy legacy central authentication system? In this talk, we'll show you how you'd implement any of these in your application today.
Don't get me wrong - you'll still need to do some work. But finally, the path will be clear and joyful.
- The document discusses various rendering methods and layouts in Rails, including default rendering, using the 'render' method, options for render like :content_type and :layout, and using redirect_to versus render. It also covers finding and structuring layouts, asset tag helpers, and head-only responses.
Caldera Learn - LoopConf WP API + Angular FTW WorkshopCalderaLearn
The document provides an overview of a workshop on using the WordPress REST API and AngularJS. The workshop will cover REST API fundamentals, building custom REST APIs, unit testing APIs, and getting started with AngularJS by building controllers, templates, services, and factories. Attendees will learn through hands-on examples and code walkthroughs applied to real world projects.
"The road to Ember.js 2.0" by Lucio Grenzi
Why should I use Ember.js? JavaScript MVC frameworks are plentiful. In this presentation I will give you some compelling reasons to consider Ember,and the the new parts coming from the upcoming version 2.0. Different from other framework the new vesion does not brings a far new world because the dev team has planned continuos releases in order to improve backward compatibility. But there are new parts, like in React, the "virtual DOM" to improve performance. In this talk I will go through the new parts of EmberJS 2.0
The document discusses building native components and modules for React Native applications. It provides guidance on creating native modules and components for both iOS and Android platforms. For native modules, it describes how to expose methods and properties to JavaScript. For native components, it explains how to create custom native views and expose their properties and events to React components.
Slides from a presentation given at Laravel Chicago on November 18, 2014. Goes over the basics of building a REST API using the Laravel framework as well as some handy tips and tools.
Laravel is a PHP MVC based framework. It is as easy as codeigniter, yet provides powerful tools needed for large robust application.It is built on top of symphony components and is inspired by many other frameworks including RoR, Asp .net, Sinatra.This session focuses on the basics things needed to start building application on it.
Play 2.0 is a web framework for Java and Scala that is designed to be productive, asynchronous, and reactive. Some key features include being full stack, high-productive, asynchronous and reactive, stateless, HTTP-centric, typesafe, scalable, and open source. Play 2.0 aims to be fun and fast to develop with by enabling features like hot code reloading, browser error reporting, and easy deployment to platforms like Heroku. It also focuses on being asynchronous and reactive through support for WebSockets, Comet, HTTP streaming responses, and composable streams.
This document provides instructions for building a Rails API and discusses related topics. It recommends using Rails 3.1 and Ruby 1.9.2 to build the API. It provides steps to generate a MessagesController to handle API requests for messages. It discusses testing the API with curl and rspec tests. It also covers building a namespaced and versioned API, authentication, caching responses, hosting on DotCloud, and running background jobs with Delayed Job.
This document provides information about Silex, a PHP micro-framework. It includes usage examples and configuration instructions for Silex on Apache, Nginx, IIS, and Lighttpd web servers. It also covers routing, controllers, middlewares, error handling, and other Silex features.
This document provides an overview of Action Controllers in Ruby on Rails. It discusses controllers acting as a middle layer between models and views, RESTful routing, parameters, sessions, filters, request and response objects, authentication, streaming files, parameter filtering, exception handling, and forcing HTTPS. Key points include controllers conducting an orchestra, handling REST actions, accessing session data, applying filters, and interacting with requests and responses.
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.
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...Ryan Weaver
If you're like me, you know that being a great backend developer isn't enough. To make *truly* great applications, we need to spend significant time in an area that's moving at a lightning pace: frontend development.
This talk is for you: the backend developer that wants to hook their API's up to rich, interactive JavaScript frontends. To do that, first, we need to demystify a lot of new terms, like ES6/ES2015, ECMAScript, JSX, Babel and the idea that modern JavaScript (surprise) *requires* a build step.
With this in mind, I'll give you a brief introduction into Webpack & the modular development it finally allows.
But the real star is ReactJS. In the frontend world, you never know what new tech will *win*, but React is a star. I'll give you enough of an intro to get you rolling on your project.
The new frontend dev world is huge! Consider the starting line down an exciting new journey.
This document discusses Rails form helpers and generating forms in Rails. It covers the form_tag helper which generates form tags, and the form_for helper which binds forms to model objects. It also discusses generating individual form fields like text fields, text areas, checkboxes and radio buttons. Additionally, it covers options for selecting values from a collection and working with nested attributes using fields_for.
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.
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.
Workshop: EmberJS - In Depth
- Ember Data - Adapters & Serializers
- Routing and Navigation
- Templates
- Services
- Components
- Integration with 3rd party libraries
Presentado por ingenieros: Mario García y Marc Torrent
Symfony Guard Authentication: Fun with API Token, Social Login, JWT and moreRyan Weaver
There are so many interesting ways to authenticate a user: via an API token, social login, a traditional HTML form or anything else you can dream up.
But until now, creating a custom authentication system in Symfony has meant a lot of files and a lot of complexity.
Introducing Guard: a simple, but expandable authentication system built on top of Symfony's security component. Want to authenticate via an API token? Great - that's just one class. Social login? Easy! Have some crazy legacy central authentication system? In this talk, we'll show you how you'd implement any of these in your application today.
Don't get me wrong - you'll still need to do some work. But finally, the path will be clear and joyful.
- The document discusses various rendering methods and layouts in Rails, including default rendering, using the 'render' method, options for render like :content_type and :layout, and using redirect_to versus render. It also covers finding and structuring layouts, asset tag helpers, and head-only responses.
Caldera Learn - LoopConf WP API + Angular FTW WorkshopCalderaLearn
The document provides an overview of a workshop on using the WordPress REST API and AngularJS. The workshop will cover REST API fundamentals, building custom REST APIs, unit testing APIs, and getting started with AngularJS by building controllers, templates, services, and factories. Attendees will learn through hands-on examples and code walkthroughs applied to real world projects.
"The road to Ember.js 2.0" by Lucio Grenzi
Why should I use Ember.js? JavaScript MVC frameworks are plentiful. In this presentation I will give you some compelling reasons to consider Ember,and the the new parts coming from the upcoming version 2.0. Different from other framework the new vesion does not brings a far new world because the dev team has planned continuos releases in order to improve backward compatibility. But there are new parts, like in React, the "virtual DOM" to improve performance. In this talk I will go through the new parts of EmberJS 2.0
The document discusses building native components and modules for React Native applications. It provides guidance on creating native modules and components for both iOS and Android platforms. For native modules, it describes how to expose methods and properties to JavaScript. For native components, it explains how to create custom native views and expose their properties and events to React components.
Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)Camille Roux
Camille Roux vous explique pourquoi Ruby et Ruby on Rails peuvent être un choix fantastique pour vos prochains projets. Pendant une heure vous aurez le plaisir de faire un tour en orbite autour de la planète Ruby. Après un bref voyage dans le temps pour comprendre son histoire, vous découvrirez ce qui rend ce monde si magique.
Camille répondra à de nombreuses questions que vous vous posez sûrement :
*Pourquoi y-a-t-il un tel d'engouement envers Rails en ce moment?
*Rails est-il performant? pourquoi?
*Pourquoi est-ce un environnement si confortable pour les développeur?
*Qu'est-ce qui rend cette techno si efficace?
*Quel est l'avenir de Rails?
This document provides an overview of HTML and CSS for website development. It discusses how websites use HTML for content, CSS for presentation, and JavaScript for behavior. It then covers basic HTML tags and structure, as well as CSS selectors, the box model, positioning, and floats. The goal is to teach the essentials of using HTML to structure content and CSS to style and position that content for websites.
10 Insightful Quotes On Designing A Better Customer ExperienceYuan Wang
In an ever-changing landscape of one digital disruption after another, companies and organisations are looking for new ways to understand their target markets and engage them better. Increasingly they invest in user experience (UX) and customer experience design (CX) capabilities by working with a specialist UX agency or developing their own UX lab. Some UX practitioners are touting leaner and faster ways of developing customer-centric products and services, via methodologies such as guerilla research, rapid prototyping and Agile UX. Others seek innovation and fulfilment by spending more time in research, being more inclusive, and designing for social goods.
Experience is more than just an interface. It is a relationship, as well as a series of touch points between your brand and your customer. Here are our top 10 highlights and takeaways from the recent UX Australia conference to help you transform your customer experience design.
For full article, continue reading at https://yump.com.au/10-ways-supercharge-customer-experience-design/
The document discusses migrating from Rails 2 to Rails 3. Key changes include a new router, explicit dependency management with Bundler, assets pipeline, jQuery as default JavaScript library, reversible migrations, faster development mode, new routing engine, and automatic query explains. The migration process involves installing Rails 3, running an upgrade checker, backing up the app, generating a new Rails 3 app in the same directory, and installing dependencies with Bundler.
This document provides an overview of the key changes in migrating from Rails 2 to Rails 3. It discusses updates to components like routing, controllers, models and views. Specific changes include moving to RESTful routing, removing deprecated methods like link_to_remote, and adopting unobtrusive JavaScript. Links are provided for additional documentation on routing, controllers, mailers and other aspects of the Rails 3 framework.
- Ruby is an interactive, object-oriented programming language created by Yukihiro Matsumoto in 1995.
- Ruby on Rails is a web application framework built on Ruby that emphasizes convention over configuration and is optimized for programmer happiness.
- The document discusses Ruby and Ruby on Rails, providing an overview of their history, key principles like MVC, REST, and conventions used in Rails. It also provides examples of modeling data with classes and ActiveRecord in Rails.
This document provides an overview of using scaffolding and basic CRUD functionality in Ruby on Rails. It demonstrates generating a Post resource using scaffolding, running migrations to create the database tables, using the generated controller actions and views to list, create, show, edit and delete posts. It also discusses using the console, adding validations, and connecting the application to a remote Git repository.
This document provides an overview and details about the upcoming Rails 2.0 release. It mentions that a preview release is coming before release candidates and the final release. It also notes that release 1.2.4 will include bug fixes and deprecation warnings to help upgrade existing apps. The rest of the document outlines new features and changes for Rails 2.0 across Action Pack, Active Record, and other areas.
Ruby and Rails are powerful for developers because Ruby is an interpreted, object-oriented language that is multi-paradigm and multiplatform, while Rails emphasizes conventions over configuration for its model-view-controller framework, and includes features like ActiveRecord for object-relational mapping and generating scaffolding for rapid development. The community around Ruby and Rails is large with many open source gems available, and popular companies like Twitter, GitHub, and Shopify use Rails for their web applications.
This document provides an overview of the Merb web framework. Some key points:
- Merb emphasizes efficiency and hackability over being a complete monolithic framework
- It aims to have minimal footprint to give apps more system resources
- It is based on Rack and allows interaction with various web servers
- Merb includes routing, request handling, and rendering functionality
- Mailing functionality is also included and mailers work similarly to controllers
- The modularity of Merb allows flexibility in customizing various aspects
This document provides an overview of the key changes and improvements in Rails 3 compared to Rails 2. It discusses updates to generators, models, migrations, routes, controllers, views, databases, and adopting unobtrusive JavaScript. New features like ActiveRelation and Turbolinks are also covered.
Dans cette session vous apprendrez tout sur Ruby. Le langage, les frameworks, la communauté, mais surtout un esprit. Passé le teaser, Nicolas Ledez vous présentera comment Ruby peut vous apporter tous les jours une méthodologie dans votre travail, et des outils pour réaliser un prototype rapidement. Quel que soit votre langage d'origine, Ruby complète parfaitement votre boite à outils de développeur/administrateur système.
Roundup of what is on the web at regarding Rails 3 as of Easter 2010.
Includes outline of significant changes to Rais in Rails 3 plus how you might set about upgrading an existing app.
Acknowledges and links to to some amazing resources already elsewhere on the web.
The document provides steps for setting up a blog using Ruby on Rails, including generating a scaffold for posts with name, title, and content fields, generating a comment model that belongs to posts, and configuring routes and controllers to display posts and allow adding comments to posts. Models are generated for posts and comments with associations defined, and views are added to display posts and comments. The steps shown configure a basic blog application with posts and associated comments.
Ruby on Rails version 2.1 was released on June 1st, 2008. It included several new features such as timezones, dirty tracking, gem dependencies, named scopes, UTC-based migrations, and better caching. ActiveRecord changes included support for expressions in sum calculations, eager loading of associations, polymorphic URLs, and the ability to add and remove timestamps from tables.
This document provides an overview of new features in Ruby on Rails version 2.1, including: timezones support, dirty tracking, gem dependencies, named scopes, UTC-based migrations, improved caching, source_type option for has_one through associations, ability to pass expressions and non-1 values to increment/decrement methods, and ability to pass an object as a condition to the find method. It also introduces the proxy_options method for testing named scopes.
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 document provides instructions for migrating legacy Rails apps to Rails 3. It discusses updating the Rails version and dependencies using Bundler, upgrading plugins to gems, refactoring controllers to be RESTful, and addressing deprecation warnings. The rails_upgrade plugin helps analyze apps and generate a Gemfile to ease the upgrade process. Key steps include running checks and generating backups before upgrading code to Rails 3 features.
Introduction to Rails - presented by Arman Ortegaarman o
This document provides an introduction to Ruby on Rails presented by Arman Ortega. It outlines what will be covered including an overview of Ruby and Rails, the concept of convention over configuration in Rails, and performing CRUD (create, read, update, delete) operations. It then demonstrates creating a sample blog application in Rails and provides links for additional learning resources.
This document provides an introduction and overview of key changes between Rails 3 and Rails 4. It discusses changes to components like ActiveRecord and ActionPack. It outlines changes to models, including the introduction of AREL and concerns directories. Controller changes like strong parameters and view changes like new form helpers are reviewed. Routing changes such as PATCH verbs and constraints are covered. Finally, migration and turbolinks additions are summarized.
Be happy with Ruby on Rails - CEUNSP ItuLucas Renan
The document introduces Ruby on Rails, an open-source web application framework written in Ruby. It discusses how to create a Rails application, the default file structure and components including models, views, controllers and asset pipeline. It also provides examples of generating scaffolds, migrations and basic CRUD operations using the Rails console and tests.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/how-axelera-ai-uses-digital-compute-in-memory-to-deliver-fast-and-energy-efficient-computer-vision-a-presentation-from-axelera-ai/
Bram Verhoef, Head of Machine Learning at Axelera AI, presents the “How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-efficient Computer Vision” tutorial at the May 2024 Embedded Vision Summit.
As artificial intelligence inference transitions from cloud environments to edge locations, computer vision applications achieve heightened responsiveness, reliability and privacy. This migration, however, introduces the challenge of operating within the stringent confines of resource constraints typical at the edge, including small form factors, low energy budgets and diminished memory and computational capacities. Axelera AI addresses these challenges through an innovative approach of performing digital computations within memory itself. This technique facilitates the realization of high-performance, energy-efficient and cost-effective computer vision capabilities at the thin and thick edge, extending the frontier of what is achievable with current technologies.
In this presentation, Verhoef unveils his company’s pioneering chip technology and demonstrates its capacity to deliver exceptional frames-per-second performance across a range of standard computer vision networks typical of applications in security, surveillance and the industrial sector. This shows that advanced computer vision can be accessible and efficient, even at the very edge of our technological ecosystem.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
"Choosing proper type of scaling", Olena SyrotaFwdays
Imagine an IoT processing system that is already quite mature and production-ready and for which client coverage is growing and scaling and performance aspects are life and death questions. The system has Redis, MongoDB, and stream processing based on ksqldb. In this talk, firstly, we will analyze scaling approaches and then select the proper ones for our system.
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
How information systems are built or acquired puts information, which is what they should be about, in a secondary place. Our language adapted accordingly, and we no longer talk about information systems but applications. Applications evolved in a way to break data into diverse fragments, tightly coupled with applications and expensive to integrate. The result is technical debt, which is re-paid by taking even bigger "loans", resulting in an ever-increasing technical debt. Software engineering and procurement practices work in sync with market forces to maintain this trend. This talk demonstrates how natural this situation is. The question is: can something be done to reverse the trend?
The Microsoft 365 Migration Tutorial For Beginner.pptxoperationspcvita
This presentation will help you understand the power of Microsoft 365. However, we have mentioned every productivity app included in Office 365. Additionally, we have suggested the migration situation related to Office 365 and how we can help you.
You can also read: https://www.systoolsgroup.com/updates/office-365-tenant-to-tenant-migration-step-by-step-complete-guide/
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframePrecisely
Inconsistent user experience and siloed data, high costs, and changing customer expectations – Citizens Bank was experiencing these challenges while it was attempting to deliver a superior digital banking experience for its clients. Its core banking applications run on the mainframe and Citizens was using legacy utilities to get the critical mainframe data to feed customer-facing channels, like call centers, web, and mobile. Ultimately, this led to higher operating costs (MIPS), delayed response times, and longer time to market.
Ever-changing customer expectations demand more modern digital experiences, and the bank needed to find a solution that could provide real-time data to its customer channels with low latency and operating costs. Join this session to learn how Citizens is leveraging Precisely to replicate mainframe data to its customer channels and deliver on their “modern digital bank” experiences.
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Rails 3 Beautiful Code
1. Beautiful Code in Rails 3
by
Gregg Pollack
Starting a new app
New Router API
ActionController - respond_with
ActionMailer Syntax
ActiveRelation (arel)
ERB Strings Escaped
Unobtrusive Javascript
2. Starting a New App
$ rails
Usage:
rails APP_PATH [options]
Options:
‐O, [‐‐skip‐activerecord] # Skip ActiveRecord files
‐r, [‐‐ruby=PATH] # Path to the Ruby binary of your choice
# Default: /Users/greggpollack/.rvm/rubies/ruby‐
‐T, [‐‐skip‐testunit] # Skip TestUnit files
[‐‐dev] # Setup the application with Gemfile pointing
to your rails checkout
‐J, [‐‐skip‐prototype] # Skip Prototype files
‐G, [‐‐skip‐git] # Skip Git ignores and keeps
‐m, [‐‐template=TEMPLATE] # Path to an application template
‐d, [‐‐database=DATABASE] # Preconfigure for selected database
[‐‐edge] # Setup the application with Gemfile
# pointing to Rails repository
3. $ rails test_app
create $ ls script/
create README
create .gitignore
...
$ cd test_app/
rails
$ rails
Usage: rails COMMAND [ARGS]
The most common rails commands are:
generate Generate new code (short‐cut alias: "g")
c
console Start the Rails console (short‐cut alias: " ")
s
server Start the Rails server (short‐cut alias: " ")
dbconsole Start a console for the database specified in config/database.yml
(short‐cut alias: "db")
In addition to those, there are:
application Generate the Rails application code
destroy Undo code generated with "generate"
benchmarker See how fast a piece of code runs
profiler Get profile information from a piece of code
plugin Install a plugin
runner Run a piece of code in the application environment
All commands can be run with ‐h for more information.
4. old scripts new hotness
script/generate rails g
script/console rails c
script/server rails s
script/dbconsole rails db
5. old scripts new hotness
script/generate r g
script/console r c
script/server r s
script/dbconsole r db
alias r='rails'
9. New Routing API
Rails 2
map.resources :posts do |post|
post.resources :comments
end
Rails 3
resources :posts do
resources :comments
end
10. New Routing API
Rails 2
map.resources :posts, :member => { :confirm => :post, :notify => :post } do |post|
post.resources :comments, :member => { :preview => :post }, :collection => { :archived => :get }
end
Rails 3
resources :posts do
member do Rails 3
post :confirm
resources :posts do
get :notify
member do
end
post :confirm
get :notify
resources :comments do
end
member do
post :preview
resources :comments do
end
post :preview, :on => :member
get :archived, :on => :collection
collection do
end
get :archived
end
end
end
end
14. Beautiful Code in Rails 3
Starting a new app
New Router API
ActionController - respond_with
ActionMailer Syntax
ActiveRelation (arel)
ERB Strings Escaped
Unobtrusive Javascript
#Rails3OMGPonies!
15. New ActionController Syntax
Regular Syntax
class UsersController < ApplicationController
def index
@users = User.all
respond_to do |format|
format.html
format.xml { render :xml => @users.to_xml }
end
end
def show
@user = User.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @user }
end
end
...
16. New ActionController Syntax
Improved Syntax
class UsersController < ApplicationController
respond_to :html, :xml, :json
def index
@users = User.all
respond_with(@users)
end
def show
@user = User.find(params[:id])
respond_with(@user)
end
...
19. New ActionMailer Syntax
Rails 2
def welcome(user, subdomain)
subject 'Welcome to TestApp'
recipients user.email
from 'admin@testapp.com'
body :user => user, :subdomain => subdomain
end
UserMailer.deliver_welcome(user, subdomain)
Rails 3
def welcome(user, subdomain)
@user = user
@subdomain = subdomain
mail(:from => "admin@testapp.com",
:to => user.email,
:subject => "Welcome to TestApp")
end
UserMailer.welcome(user, subdomain).deliver
20. New ActionMailer Syntax
Rails 3
class UserMailer < ActionMailer::Base
default :from => "admin@testapp.com"
def welcome(user, subdomain)
@user = user
@subdomain = subdomain
attachments['test.pdf'] = File.read("#{Rails.root}/public/test.pdf")
mail(:to => @user.email, :subject => "Welcome to TestApp") do |format|
format.html { render 'other_html_welcome' }
format.text { render 'other_text_welcome' }
end
end
end
welcome.text.erb
Defaults welcome.html.erb
21. Nic k Kallen
ActiveRelation
replaces the internal ad-hoc query generation with
query generation based on relational algebra.
22. ActiveRelation
Rails 2
@posts = Post.find(:all, :conditions => {:published => true})
immediately queries the db
returns an Array of Posts
Rails 3
@posts = Post.where(:published => true)
doesn’t query the db
returns an ActiveRecord::Relation
24. We can refactor!
@posts = Post.where(:published => true)
if params[:order]
@posts = @posts.order(params[:order])
end
@posts = Post.where(:published => true)
@posts = @posts.order(params[:order])
@posts = Post.where(:published => true).order(params[:order])
25. ActiveRelations can be Shared
@posts = Post.where(:published => true).order(params[:order])
posts = Post.order(params[:order])
@published = posts.where(:published => true)
@unpublished = posts.where(:published => false)
This is obviously a bad example (should be using named routes)
@published = Post.published
@unpublished = Post.unpublished
26. ActiveRelation
@published = Post.published
@unpublished = Post.unpublished
Rails 2
class Post < ActiveRecord::Base
default_scope :order => 'title'
named_scope :published, :conditions => {:published => true}
named_scope :unpublished, :conditions => {:published => false}
end
Rails 3
class Post < ActiveRecord::Base
default_scope order('title')
scope :published, where(:published => true)
scope :unpublished, where(:published => false)
end
27. ActiveRelation
New Finder Methods
where(:conditions)
having(:conditions)
select
group
order
limit
offset
joins
includes(:include)
lock
readonly
from
28. ActiveRelation
Rails 2
Post.find(:all, :conditions => {:author => "Joe"}, :includes => :comments,
:order => "title", :limit => 10)
Rails 3
Post.where(:author => "Joe").include(:comments).order(:title).limit(10)
Remember, this version doesn’t do the query immediately
29. Beautiful Code in Rails 3
Starting a new app
New Router API
ActionController - respond_with
ActionMailer Syntax
ActiveRelation (arel)
ERB Strings Escaped
Unobtrusive Javascript
#Rails3OMGPonies!
30. Use of external libraries
ActiveRecord ActiveRelation
ActionView Erubis
Erubis is a fast, secure, and very extensible implementation of ERB
32. Adopting Unobtrusive Javascript
HTML 5 custom data attributes data-*
Custom data attributes are intended to store custom data private to the page or
application, for which there are no more appropriate attributes or elements
data-remote
data-method
data-confirm
data-disable-with
39. /public/stylesheets/rails.js
document.observe("dom:loaded", function() {
$(document.body).observe("click", function(event) {
var message = event.element().readAttribute('data-confirm');
if (message) {
// ... Do a confirm box
}
var element = event.findElement("a[data-remote=true]");
if (element) {
// ... Do the AJAX call
}
var element = event.findElement("a[data-method]");
if (element) {
// ... Create a form
}
});
40. jQuery in Rails?
http://github.com/rails/jquery-ujs
$('a[data-confirm],input[data-confirm]').live('click', function () {
// ... Do a confirm box
});
$('form[data-remote="true"]').live('submit', function (e) {
// ... Do an AJAX call
});
42. Beautiful Code in Rails 3
Starting a new app
New Router API
ActionController - respond_with
ActionMailer Syntax
ActiveRelation (arel)
ERB Strings Escaped
Unobtrusive Javascript
#Rails3OMGPonies!
43. Missing (that I didn’t have time for)
APIs
Bundler
http://railscasts.com/episodes/201-bundler
Making Generators with Thor
http://bit.ly/rails3generators
44. Creative Commons
name author URL
rainbow of 80s toys merwing✿little dear http://www.flickr.com/photos/merwing/2152164258/
Old Loc Merlijn Hoek http://www.flickr.com/photos/merlijnhoek/1040997599/
Notting Hill Gate Eole http://www.flickr.com/photos/eole/942309733/
Britomart Train Station EssjayNZ http://www.flickr.com/photos/essjay/260511465/
Das Licht Small http://www.flickr.com/photos/small/62713023/
Metro Genova opti mystic http://www.flickr.com/photos/miiilio/2503634282/
Immobility Dilemna gilderic http://www.flickr.com/photos/gilderic/3528157964/
train station nolifebeforecoffee http://www.flickr.com/photos/nolifebeforecoffee/1803584805/
Mystical station Jsome1 http://www.flickr.com/photos/jsome1/2226394415/
Railswaystation Pieter Musterd http://www.flickr.com/photos/piet_musterd/2233025691/
The Handover MarkyBon http://www.flickr.com/photos/markybon/152769885/
EN57 magro_kr http://www.flickr.com/photos/iks_berto/1328682171/
45. Presentation by: If you need help with a Rails 3
project, feel free to give us a call
http://envylabs.com
Come to our Rails 3 training at
Railsconf 2010
Gregg Pollack
http://bit.ly/rails3ropes
407-754-5517
Gregg@EnvyLabs.com
We’re also available to run Rails 3
Training at your company, email:
Ruby5 Podcast Gregg@EnvyLabs.com
http://ruby5.envylabs.com