This series introduces students to ruby on rails 3 through the book "Agile Web Development with Rails" with accompanying lecture videos found at http://www.thinkbohemian.com/tag/rails-summer-of-code/
This series introduces students to ruby on rails 3 through the book "Agile Web Development with Rails" with accompanying lecture videos found at http://www.thinkbohemian.com/tag/rails-summer-of-code/
RoR是Ruby on Rails的缩写,是一个用于编写Web应用的框架。他基于Ruby语言,给开发人员提供了强大便利的框架支持。Ruby有很多优点,但是一直以来其流行范围仅局限于日本。2004年,当Rails框架横空出世,让人们认识到了一个更符合实际需要并且高效的web框架,在其出现不久就受到了业内的广泛关注。吕国宁将结合自己三年的Rails开发经验,给大家介绍一些Rails的优点,背后的设计文化,以及Rails的前景发展等内容。
This document discusses the benefits of using the Ruby on Rails (ROR) web framework. It notes that Rails allows developers to build applications with less code and in less time compared to other technologies like Java. Specific points made include that a basic blog application can be created in Rails in just 15 minutes, and that Rails applications generally have significantly less lines of code and configuration compared to equivalent Java applications. The document also promotes upcoming Rails events in China and provides contact information for the founder of the Shanghai Rails meetup group.
I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)Kevin Bruce
One month I was a web designer, the next I co-owned an existing tech media company. php[architect] is a boutique publishing brand that is well known in the PHP developer world. When our newly-minted four person company was asked to take over the brand (because the founder wanted to move on), we jumped at the opportunity. We took over a monthly magazine, tech books, training and two national conferences. As the sole designer in a band of developers, I was the most concerned. After several months, we worked out a content workflow (that ended in both digital and print) that made it possible for just four people to run a thriving boutique media company. This is how we did it.
This is the 5th of 8 presentations given at University of Texas during my Beginner to Builder Rails 3 Class. For more info and the whole series including video presentations at my blog:
http://schneems.com/tagged/Rails-3-beginner-to-builder-2011
This series introduces students to ruby on rails 3 through the book "Agile Web Development with Rails" with accompanying lecture videos found at http://www.thinkbohemian.com/tag/rails-summer-of-code/
This series introduces students to ruby on rails 3 through the book "Agile Web Development with Rails" with accompanying lecture videos found at http://www.thinkbohemian.com/tag/rails-summer-of-code/
RoR是Ruby on Rails的缩写,是一个用于编写Web应用的框架。他基于Ruby语言,给开发人员提供了强大便利的框架支持。Ruby有很多优点,但是一直以来其流行范围仅局限于日本。2004年,当Rails框架横空出世,让人们认识到了一个更符合实际需要并且高效的web框架,在其出现不久就受到了业内的广泛关注。吕国宁将结合自己三年的Rails开发经验,给大家介绍一些Rails的优点,背后的设计文化,以及Rails的前景发展等内容。
This document discusses the benefits of using the Ruby on Rails (ROR) web framework. It notes that Rails allows developers to build applications with less code and in less time compared to other technologies like Java. Specific points made include that a basic blog application can be created in Rails in just 15 minutes, and that Rails applications generally have significantly less lines of code and configuration compared to equivalent Java applications. The document also promotes upcoming Rails events in China and provides contact information for the founder of the Shanghai Rails meetup group.
I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)Kevin Bruce
One month I was a web designer, the next I co-owned an existing tech media company. php[architect] is a boutique publishing brand that is well known in the PHP developer world. When our newly-minted four person company was asked to take over the brand (because the founder wanted to move on), we jumped at the opportunity. We took over a monthly magazine, tech books, training and two national conferences. As the sole designer in a band of developers, I was the most concerned. After several months, we worked out a content workflow (that ended in both digital and print) that made it possible for just four people to run a thriving boutique media company. This is how we did it.
This is the 5th of 8 presentations given at University of Texas during my Beginner to Builder Rails 3 Class. For more info and the whole series including video presentations at my blog:
http://schneems.com/tagged/Rails-3-beginner-to-builder-2011
This series introduces students to ruby on rails 3 through the book "Agile Web Development with Rails" with accompanying lecture videos found at http://www.thinkbohemian.com/tag/rails-summer-of-code/
This document summarizes content from Week 6 of the Rails Summer of Code. It discusses email in Rails, including how email works, content types, and using ActionMailer. It also covers background tasks in Rails using rake tasks, cron jobs, Monit, and God. Modules and mixins in Ruby are explained. Callbacks and observers in Rails are described as ways to trigger behavior during an object's lifecycle. Internationalization and localization in Rails are covered, including using the I18n module and creating language-specific YAML files.
This document discusses IronRuby on Rails. It begins with an introduction to Ruby on Rails and IronRuby. The main concepts of Rails like MVC, REST, routing, and testability are then covered. Finally, information on getting started with IronRuby on Rails is provided.
This document discusses processing large graphs. It introduces graph processing with MapReduce and Apache Giraph. MapReduce algorithms for finding triangles and connected components in graphs are described. The limitations of MapReduce for graph processing are discussed. Alternative graph processing technologies including Neo4j, a graph database, are presented. A movie recommendation use case is demonstrated using Neo4j to find similar users and recommend unseen movies.
The rise of NoSQL is characterized with confusion and ambiguity; very much like any fast-emerging organic movement in the absence of well-defined standards and adequate software solutions. Whether you are a developer or an architect, many questions come to mind when faced with the decision of where your data should be stored and how it should be managed. The following are some of these questions: What does the rise of all these NoSQL technologies mean to my enterprise? What is NoSQL to begin with? Does it mean "No SQL"? Could this be just another fad? Is it a good idea to bet the future of my enterprise on these new exotic technologies and simply abandon proven mature Relational DataBase Management Systems (RDBMS)? How scalable is scalable? Assuming that I am sold, how do I choose the one that fit my needs best? Is there a middle ground somewhere? What is this Polyglot Persistence I hear about? The answers to these questions and many more is the subject of this talk along with a survey of the most popular of NoSQL technologies. Be there or be square.
This document provides an overview of a tutorial on REST and web services. The tutorial will cover web basics, URI templates, HTTP, CRUD, semantics, hypermedia formats, and Atom/AtomPub. It is intended to explain how to design distributed systems using the web as a platform and leverage REST architectural principles. The tutorial will use Richardson's maturity model to discuss different service styles on a spectrum from non-RESTful to fully RESTful.
Hadoop World 2011: Hadoop and Netezza Deployment Models and Case Study - Kris...Cloudera, Inc.
Hadoop is rapidly emerging as a viable platform for big data analytics. Thanks to early adoption by organizations like Yahoo and Facebook, and an active open source community, we have seen significant innovation around this platform. With support of relational constructs and a SQL-like query interface, many experts believe that Hadoop will subsume some of the data warehousing tasks at some point in the future. Even though Hadoop and parallel databases have some architectural similarities, they are designed to solve different problems. In this session, you will get introduced to Hadoop architecture, its salient differences from Netezza and typical use cases. You will learn about common co-existence deployment models that have been put into practice by Netezza's customers who have leveraged benefits from both these technologies. You will also understand Netezza's current support for Hadoop and future strategy. If you have currently deployed Hadoop within your organization or in early stages of learning and evaluating Hadoop, you will benefit from attending this session. It will give you an opportunity to interact with practitioners and industry experts who have successfully deployed Hadoop and Netezza within their organizations
The document discusses the challenges of scaling social games to millions of daily active users. It describes how the company scaled from 170,000 daily users to over 1,000,000 by:
1) Moving data and queries from MySQL databases to Redis to improve performance and handle higher volumes.
2) Sharding high-volume tables and migrating data to distribute load across multiple database servers.
3) Using load balancers and adding application servers to scale the architecture horizontally as more users were added.
Slides from my talk at ACCU2011 in Oxford on 16th April 2011. A whirlwind tour of the non-relational database families, with a little more detail on Redis, MongoDB, Neo4j and HBase.
Big Data! Great! Now What? #SymfonyCon 2014Ricard Clau
Big Data is one of the new buzzwords in the industry. Everyone is using NoSQL databases. MySQL is not cool anymore. But... do we really have big data? Where should we store it? Are the traditional RDBMS databases dead? Is NoSQL the solution to our problems? And most importantly, how can PHP and Symfony2 help with it?
This document discusses how MongoDB supports lean and agile development approaches. It describes key lean concepts like eliminating waste and continuous innovation. Agile frameworks like Scrum and Kanban are also covered. Several case studies are presented that demonstrate how MongoDB was used for real-time analytics, operational intelligence, and large-scale big data projects involving terabytes of mobile network data. The document concludes by emphasizing MongoDB's flexibility for rapidly changing business needs and collecting huge amounts of data.
Scaling Your Architecture for the Long TermRandy Shoup
This talk from the virtual 2020 CTO Summit (https://www.ctoconnection.com/summits) covers several architecture lessons to help you survive and thrive through the scaling phase of your company:
* Modular Architecture
* Event-Driven Communication
* Quality and Reliability
* Continuous Delivery
This document introduces PHP and MySQL for dynamic web development. PHP is an open-source scripting language suited for web development that can generate HTML code on the server. MySQL is a popular open-source database management system. PHP and MySQL allow websites to be responsive and malleable by connecting to databases and generating customized HTML based on user inputs or database contents. Examples of dynamic websites that use these technologies include WordPress, Shopify, Facebook, and interactive data visualization projects.
This document provides an overview of key concepts in Ruby on Rails including:
- Rails uses the MVC pattern with models, views, controllers, and follows conventions like RESTful design and resource-oriented URLs.
- ActiveRecord is the ORM that connects database tables to model classes for easy data access. Migrations help manage the database schema.
- Views use ERB templates to display data and helpers to DRY up common HTML patterns. Layouts wrap views in a consistent layout.
- Controllers handle HTTP requests and route them to actions that retrieve data from models and pass it to views to display. Flashes store temporary session data.
- Rake tasks help automate common
Synthetic Models are not a new concept – but the concept is rarely used when developing in AEM/Sling/JCR.
They
Define domain objects where the domain is not exclusive to the content repository
Their property collection is defined against the data from each data source
Must be orchestrated by Sling’s resource resolution mechanism
Leverage the Presentation Model design pattern
Name is inspired by the SyntheticResource class
This definition came out of several past experiences where data from external sources was required to be brought into AEM and exposed to the presentation layer as if it was content.
Also through research on the problem I cam upon the SyntheticResource class. Think of it as the lesser-known cousin of Resource. It is often used to define resource objects that don’t exist in the JCR content tree or resources that are created at run-time
This document discusses cross-language integration and cooperation between programming languages. It begins by explaining the reasons for integration, such as lack of resources and doing things correctly. It then describes common approaches and frameworks for integration using messages, resources, and procedures. Specific integration solutions and architectures are provided as examples, like Apache Thrift. The document analyzes the different approaches and provides a sample pivot table comparing messages, resources, and procedures. Overall it provides an overview of why and how to integrate programming languages as well as examples.
This document provides an overview of the Ruby on Rails web application framework. It discusses that Rails is a full-stack framework that follows the model-view-controller pattern and uses Ruby as its programming language. It was created by David Heinemeier Hansson in 2004 and uses conventions like separating data, presentation, and control logic into the model, view, and controller layers respectively. The document also provides high-level information on Rails' object-relational mapping, database persistence, and conventions over configuration approach.
This is an introduction to relational and non-relational databases and how their performance affects scaling a web application.
This is a recording of a guest Lecture I gave at the University of Texas school of Information.
In this talk I address the technologies and tools Gowalla (gowalla.com) uses including memcache, redis and cassandra.
Find more on my blog:
http://schneems.com
This is the last of 8 presentations given at University of Texas during my Beginner to Builder Rails 3 Class. For more info and the whole series including video presentations at my blog:
http://schneems.com/tagged/Rails-3-beginner-to-builder-2011
This document summarizes content from Week 6 of the Rails Summer of Code. It discusses email in Rails, including how email works, content types, and using ActionMailer. It also covers background tasks in Rails using rake tasks, cron jobs, Monit, and God. Modules and mixins in Ruby are explained. Callbacks and observers in Rails are described as ways to trigger behavior during an object's lifecycle. Internationalization and localization in Rails are covered, including using the I18n module and creating language-specific YAML files.
This document discusses IronRuby on Rails. It begins with an introduction to Ruby on Rails and IronRuby. The main concepts of Rails like MVC, REST, routing, and testability are then covered. Finally, information on getting started with IronRuby on Rails is provided.
This document discusses processing large graphs. It introduces graph processing with MapReduce and Apache Giraph. MapReduce algorithms for finding triangles and connected components in graphs are described. The limitations of MapReduce for graph processing are discussed. Alternative graph processing technologies including Neo4j, a graph database, are presented. A movie recommendation use case is demonstrated using Neo4j to find similar users and recommend unseen movies.
The rise of NoSQL is characterized with confusion and ambiguity; very much like any fast-emerging organic movement in the absence of well-defined standards and adequate software solutions. Whether you are a developer or an architect, many questions come to mind when faced with the decision of where your data should be stored and how it should be managed. The following are some of these questions: What does the rise of all these NoSQL technologies mean to my enterprise? What is NoSQL to begin with? Does it mean "No SQL"? Could this be just another fad? Is it a good idea to bet the future of my enterprise on these new exotic technologies and simply abandon proven mature Relational DataBase Management Systems (RDBMS)? How scalable is scalable? Assuming that I am sold, how do I choose the one that fit my needs best? Is there a middle ground somewhere? What is this Polyglot Persistence I hear about? The answers to these questions and many more is the subject of this talk along with a survey of the most popular of NoSQL technologies. Be there or be square.
This document provides an overview of a tutorial on REST and web services. The tutorial will cover web basics, URI templates, HTTP, CRUD, semantics, hypermedia formats, and Atom/AtomPub. It is intended to explain how to design distributed systems using the web as a platform and leverage REST architectural principles. The tutorial will use Richardson's maturity model to discuss different service styles on a spectrum from non-RESTful to fully RESTful.
Hadoop World 2011: Hadoop and Netezza Deployment Models and Case Study - Kris...Cloudera, Inc.
Hadoop is rapidly emerging as a viable platform for big data analytics. Thanks to early adoption by organizations like Yahoo and Facebook, and an active open source community, we have seen significant innovation around this platform. With support of relational constructs and a SQL-like query interface, many experts believe that Hadoop will subsume some of the data warehousing tasks at some point in the future. Even though Hadoop and parallel databases have some architectural similarities, they are designed to solve different problems. In this session, you will get introduced to Hadoop architecture, its salient differences from Netezza and typical use cases. You will learn about common co-existence deployment models that have been put into practice by Netezza's customers who have leveraged benefits from both these technologies. You will also understand Netezza's current support for Hadoop and future strategy. If you have currently deployed Hadoop within your organization or in early stages of learning and evaluating Hadoop, you will benefit from attending this session. It will give you an opportunity to interact with practitioners and industry experts who have successfully deployed Hadoop and Netezza within their organizations
The document discusses the challenges of scaling social games to millions of daily active users. It describes how the company scaled from 170,000 daily users to over 1,000,000 by:
1) Moving data and queries from MySQL databases to Redis to improve performance and handle higher volumes.
2) Sharding high-volume tables and migrating data to distribute load across multiple database servers.
3) Using load balancers and adding application servers to scale the architecture horizontally as more users were added.
Slides from my talk at ACCU2011 in Oxford on 16th April 2011. A whirlwind tour of the non-relational database families, with a little more detail on Redis, MongoDB, Neo4j and HBase.
Big Data! Great! Now What? #SymfonyCon 2014Ricard Clau
Big Data is one of the new buzzwords in the industry. Everyone is using NoSQL databases. MySQL is not cool anymore. But... do we really have big data? Where should we store it? Are the traditional RDBMS databases dead? Is NoSQL the solution to our problems? And most importantly, how can PHP and Symfony2 help with it?
This document discusses how MongoDB supports lean and agile development approaches. It describes key lean concepts like eliminating waste and continuous innovation. Agile frameworks like Scrum and Kanban are also covered. Several case studies are presented that demonstrate how MongoDB was used for real-time analytics, operational intelligence, and large-scale big data projects involving terabytes of mobile network data. The document concludes by emphasizing MongoDB's flexibility for rapidly changing business needs and collecting huge amounts of data.
Scaling Your Architecture for the Long TermRandy Shoup
This talk from the virtual 2020 CTO Summit (https://www.ctoconnection.com/summits) covers several architecture lessons to help you survive and thrive through the scaling phase of your company:
* Modular Architecture
* Event-Driven Communication
* Quality and Reliability
* Continuous Delivery
This document introduces PHP and MySQL for dynamic web development. PHP is an open-source scripting language suited for web development that can generate HTML code on the server. MySQL is a popular open-source database management system. PHP and MySQL allow websites to be responsive and malleable by connecting to databases and generating customized HTML based on user inputs or database contents. Examples of dynamic websites that use these technologies include WordPress, Shopify, Facebook, and interactive data visualization projects.
This document provides an overview of key concepts in Ruby on Rails including:
- Rails uses the MVC pattern with models, views, controllers, and follows conventions like RESTful design and resource-oriented URLs.
- ActiveRecord is the ORM that connects database tables to model classes for easy data access. Migrations help manage the database schema.
- Views use ERB templates to display data and helpers to DRY up common HTML patterns. Layouts wrap views in a consistent layout.
- Controllers handle HTTP requests and route them to actions that retrieve data from models and pass it to views to display. Flashes store temporary session data.
- Rake tasks help automate common
Synthetic Models are not a new concept – but the concept is rarely used when developing in AEM/Sling/JCR.
They
Define domain objects where the domain is not exclusive to the content repository
Their property collection is defined against the data from each data source
Must be orchestrated by Sling’s resource resolution mechanism
Leverage the Presentation Model design pattern
Name is inspired by the SyntheticResource class
This definition came out of several past experiences where data from external sources was required to be brought into AEM and exposed to the presentation layer as if it was content.
Also through research on the problem I cam upon the SyntheticResource class. Think of it as the lesser-known cousin of Resource. It is often used to define resource objects that don’t exist in the JCR content tree or resources that are created at run-time
This document discusses cross-language integration and cooperation between programming languages. It begins by explaining the reasons for integration, such as lack of resources and doing things correctly. It then describes common approaches and frameworks for integration using messages, resources, and procedures. Specific integration solutions and architectures are provided as examples, like Apache Thrift. The document analyzes the different approaches and provides a sample pivot table comparing messages, resources, and procedures. Overall it provides an overview of why and how to integrate programming languages as well as examples.
This document provides an overview of the Ruby on Rails web application framework. It discusses that Rails is a full-stack framework that follows the model-view-controller pattern and uses Ruby as its programming language. It was created by David Heinemeier Hansson in 2004 and uses conventions like separating data, presentation, and control logic into the model, view, and controller layers respectively. The document also provides high-level information on Rails' object-relational mapping, database persistence, and conventions over configuration approach.
This is an introduction to relational and non-relational databases and how their performance affects scaling a web application.
This is a recording of a guest Lecture I gave at the University of Texas school of Information.
In this talk I address the technologies and tools Gowalla (gowalla.com) uses including memcache, redis and cassandra.
Find more on my blog:
http://schneems.com
This is the last of 8 presentations given at University of Texas during my Beginner to Builder Rails 3 Class. For more info and the whole series including video presentations at my blog:
http://schneems.com/tagged/Rails-3-beginner-to-builder-2011
This is the 6th of 8 presentations given at University of Texas during my Beginner to Builder Rails 3 Class. For more info and the whole series including video presentations at my blog:
http://schneems.com/tagged/Rails-3-beginner-to-builder-2011
This is the 4th of 8 presentations given at University of Texas during my Beginner to Builder Rails 3 Class. For more info and the whole series including video presentations at my blog:
http://schneems.com/tagged/Rails-3-beginner-to-builder-2011
This document contains notes from a Rails training session. It discusses variables in Ruby and Rails, controllers, testing controllers, associations between database tables, and many-to-many relationships. Key topics covered include using instance variables to share data between models and views, testing controller actions, the params hash, and setting up belongs_to, has_many, has_many :through, and HABTM associations.
This is the 2nd of 8 presentations given at University of Texas during my Beginner to Builder Rails 3 Class. For more info and the whole series including video presentations at my blog:
http://schneems.tumblr.com/tagged/Rails-3-beginner-to-builder-2011
This is the first of 8 presentations given at University of Texas during my Beginner to Builder Rails 3 Class. For more info and the whole series including video presentations at my blog:
http://schneems.tumblr.com/tagged/Rails-3-beginner-to-builder-2011
This series introduces students to ruby on rails 3 through the book "Agile Web Development with Rails" with accompanying lecture videos found at http://www.thinkbohemian.com/tag/rails-summer-of-code/
Covey says most people look for quick fixes. They see a big success and want to know how he did it, believing (and hoping) they can do the same following a quick bullet list.
But real change, the author says, comes not from the outside in, but from the inside out. And the most fundamental way of changing yourself is through a paradigm shift.
That paradigm shift is a new way of looking at the world. The 7 Habits of Highly Effective People presents an approach to effectiveness based on character and principles.
The first three habits indeed deal with yourself because it all starts with you. The first three habits move you from dependence from the world to the independence of making your own world.
Habits 4, 5 and 6 are about people and relationships. The will move you from independence to interdependence. Such, cooperating to achieve more than you could have by yourself.
The last habit, habit number 7, focuses on continuous growth and improvement.
ProSocial Behaviour - Applied Social Psychology - Psychology SuperNotesPsychoTech Services
A proprietary approach developed by bringing together the best of learning theories from Psychology, design principles from the world of visualization, and pedagogical methods from over a decade of training experience, that enables you to: Learn better, faster!
Aggression - Applied Social Psychology - Psychology SuperNotesPsychoTech Services
A proprietary approach developed by bringing together the best of learning theories from Psychology, design principles from the world of visualization, and pedagogical methods from over a decade of training experience, that enables you to: Learn better, faster!
Understanding of Self - Applied Social Psychology - Psychology SuperNotesPsychoTech Services
A proprietary approach developed by bringing together the best of learning theories from Psychology, design principles from the world of visualization, and pedagogical methods from over a decade of training experience, that enables you to: Learn better, faster!
5. Convention over
Configuration
Decrease the number of decisions needed,
gaining simplicity but without losing flexibility.
Richard Schneeman - @ThinkBohemian
6. Model-View-Controller
• Isolates “Domain Logic”
• Can I See it?
• View
• Is it Business Logic?
• Controller
• Is it a Reusable Class Logic?
• Model
Richard Schneeman - @ThinkBohemian
7. Model-View-Controller
• Generated By Rails
• Grouped by Folders
• Connected “AutoMagically”
• Models
• Views
• Controllers
• Multiple Views Per Controller
Richard Schneeman - @ThinkBohemian
8. Object Relational Mapping
• Maps database backend to ruby objects
• ActiveRecord (Rail’s Default ORM)
>> userVariable = User.where(:name => "Bob")
Generates:
SELECT "users".* FROM "users"
WHERE (name = 'bob')
>> userVariable.name
=> Bob
Richard Schneeman - @ThinkBohemian
9. Object Relational Mapping
• >> userVariable = User .where(:name => "Bob")
models/user.rb
class User < ActiveRecord::Base
end
the User class inherits from ActiveRecord::Base
Richard Schneeman - @ThinkBohemian
10. Object Relational Mapping
• >> userVariable = User. where(:name => "Bob")
where is the method that looks in the database
AutoMagically in the User Table (if you made one)
Richard Schneeman - @ThinkBohemian
11. RESTful
REpresentational State Transfer
• The state of the message matters
• Different state = different message
“You Again?” “You Again?”
Richard Schneeman - @ThinkBohemian
12. RESTful
REpresentational State Transfer
• Servers don’t care about smiles
• They do care about how you access them
• (HTTP Methods)
• GET
• PUT
• POST
• DELETE
Richard Schneeman - @ThinkBohemian
13. RESTful
REpresentational State Transfer
• Rails Maps Actions to HTTP Methods
• GET - index, show, new
• PUT - update
• POST - create
• DELETE - destroy
Richard Schneeman - @ThinkBohemian
14. Ruby Versus Rails
• Ruby - Is a programming Language
• Like C# or Python
• Can be used to program just about anything,
• Rails - Is a Framework
• Written using Ruby
• Provides common web functionality
Richard Schneeman - @ThinkBohemian