The document appears to be a series of slides in a foreign language discussing web application development frameworks and concepts. It covers topics like Symfony components, routes, controllers, models, views, and templates. Diagrams and code examples are provided to illustrate components of MVC frameworks and how they interact. The document emphasizes building applications with multiple languages and technologies.
The document discusses SymfonyDay, an event happening on October 5. It promotes Symfony, an open-source PHP framework, listing some of its features like object-oriented programming, PHP 5.3 support, best practices, testing tools, and packages like Doctrine for data mapping. It encourages participation in the Symfony community through sites like GitHub and Google groups. Finally, it announces a hackathon event on November 17 in Venice.
The document welcomes attendees to an event in Brescia, Italy on November 10th, 2012. It mentions issues with the wifi and thanks speakers. It also advertises an upcoming event in Verona on May 15-16 and encourages using the hashtags #nodejsconfit and #nodejs.
Webinar Zend, http://www.zend.com/it/company/news/event/1081_webinar-introduzione-a-git
Introduzione a GIT, ai comandi principali, qualche trucchetto e best practice
A project on customers' acceptibility of roof being complete real estate sol...Rajib jena
This document is a project report on evaluating customer acceptability of The Roof, a real estate company in Odisha, India. It discusses The Roof's services, expansion strategies, and how it compares to other major real estate players in Odisha. The report contains 9 chapters, including an introduction to real estate concepts, an overview of The Roof company, literature review, research methodology used, data analysis and findings. It also includes tables and figures showing The Roof's various residential projects in Odisha with details of unit sizes and prices. The overall purpose is to analyze customer perceptions of The Roof and help inform its expansion strategies.
The document discusses SymfonyDay, an event happening on October 5. It promotes Symfony, an open-source PHP framework, listing some of its features like object-oriented programming, PHP 5.3 support, best practices, testing tools, and packages like Doctrine for data mapping. It encourages participation in the Symfony community through sites like GitHub and Google groups. Finally, it announces a hackathon event on November 17 in Venice.
The document welcomes attendees to an event in Brescia, Italy on November 10th, 2012. It mentions issues with the wifi and thanks speakers. It also advertises an upcoming event in Verona on May 15-16 and encourages using the hashtags #nodejsconfit and #nodejs.
Webinar Zend, http://www.zend.com/it/company/news/event/1081_webinar-introduzione-a-git
Introduzione a GIT, ai comandi principali, qualche trucchetto e best practice
A project on customers' acceptibility of roof being complete real estate sol...Rajib jena
This document is a project report on evaluating customer acceptability of The Roof, a real estate company in Odisha, India. It discusses The Roof's services, expansion strategies, and how it compares to other major real estate players in Odisha. The report contains 9 chapters, including an introduction to real estate concepts, an overview of The Roof company, literature review, research methodology used, data analysis and findings. It also includes tables and figures showing The Roof's various residential projects in Odisha with details of unit sizes and prices. The overall purpose is to analyze customer perceptions of The Roof and help inform its expansion strategies.
The document outlines the four stages of working with widgets in JavaScript: doubt, hate, begrudging appreciation, and love. It discusses common issues like accidental static fields, avoiding them with constructors, and using attribute maps to bind properties to DOM nodes. The document also covers more advanced topics like custom setters, memory leaks when widgets contain other widgets, and using the registry to detect leaks. Overall it provides an introduction to working with widgets in JavaScript and Dojo.
Rendering Views in JavaScript - "The New Web Architecture"Jonathan Julian
This presentation will help attendees re-design their applications to take advantage of fast client-side templating of views. We will survey the landscape of templating solutions in JavaScript, and discuss architecture choices when using various back-end languages. Technologies discussed will include Backbone.js, underscore.js, JSON, REST, mustache, as well as others.
I've given different versions of this talk at different venues over the past 12 months. This is the most recent version as presented on 18/10/2011 at the Belgian ISSA chapter meeting.
This document summarizes a presentation on Drupal security given by Greg Knaddison. The presentation covered common Drupal vulnerabilities like CSRF and XSS attacks. It discussed how to think like an attacker and exploit vulnerabilities. It also provided tips for securing Drupal sites, such as using the Security Review module, staying up-to-date on patches, and implementing measures like tokens and input validation. Specific attacks like CSRF flows and XSS injection via forms were demonstrated.
The document summarizes a presentation given at the 2011 Jenkins User Conference in New York City about using Jenkins for continuous integration for Ruby on Rails projects. It discusses setting up Jenkins on low-cost virtual servers, configuring jobs for development builds, deployments, and cron jobs, and using plugins to integrate with version control systems and automate tasks. It also promotes the Jenkins client Ruby gem for programmatically controlling Jenkins.
This document discusses Volto, a new frontend framework for Plone built with React, Redux, and React-Router. Volto renders content from Plone via the plone.restapi and provides a modern web development experience for frontend developers. It solves problems with Plone's complexity for frontend work and allows reuse of popular JavaScript libraries rather than maintaining custom code. The presentation demonstrates Volto and outlines future plans to add additional features like add-ons, control panels, and content editors to Volto. It encourages participation in upcoming Volto sprints.
Sarah Novotny and Matt Ray's presentation from the Seattle OpenStack Meetup on 10/19/2011. Covered Chef basics and a snapshot of the current state of OpenStack cookbook development.
This document discusses different approaches and mindsets for writing feature tests versus unit tests. It notes that feature tests are larger in scope and harder to control than unit tests, but can provide more value when "tamed". It encourages adopting the right mindset that recognizes the differences between test types and focusing feature tests on priority areas using the appropriate tools.
Do you write JavaScript? Congratulations, you're probably awesome at Node.js! While thinking about things from a server-side perspective might feel off-putting and unnatural, things like callbacks, storing data in JSON, and implementing actual websites probably do not. We'll go beyond getting Node installed and talk about how to quickly build a working web application, and demonstrate that Node can offer frontend developers more than just a new prototyping tool or way of creating endless chat servers.
The Contextual Experience of the Mobile WebJeff Carouth
This document discusses the contextual experience of the mobile web. It begins by defining the context of the mobile web as the environment, expectations, and intent a user brings when accessing a website via a mobile device. It then discusses several options for accommodating different screen widths, including redirecting mobile users, detecting devices via user agents, and using responsive layouts with breakpoints. It emphasizes that mobility context is application-specific and provides an example using geolocation to surface local leads. The document concludes with a recap of options for dealing with device context and emphasizes that mobile experiences are increasingly important.
Behavior Driven Development and Wordpress Pluginsdjcp
The document discusses Behavior Driven Development (BDD) and how it can be applied to WordPress plugins. It introduces the BDD framework Cucumber and automation tools like Capybara and Selenium that allow writing and executing plain text test scenarios. Sample test scenarios are shown for activating a plugin and changing its configuration options. Instructions are provided for installing Cucumber and running BDD tests on a WordPress plugin. The benefits of a BDD approach include more robust testing, assurance that changes don't break other areas, and reusable automated tests.
Let's begin Behavior Driven Development using RSpecKenta Murata
The document contains snippets of Ruby code and discussions around test-driven development (TDD) and behavior-driven development (BDD). It includes code examples using RSpec to test an AgeCalculator class, discussions of gems like rspec and test frameworks like Test::Unit. It also covers observer pattern and use of test doubles in RSpec tests. Live coding examples are presented on FizzBuzz implementation using TDD and RSpec best practices.
Bytecode manipulation with Javassist and ASMashleypuls
The document discusses a presentation titled "Living in the Matrix with Bytecode Manipulation". It provides an overview of bytecode and frameworks for manipulating bytecode. Specifically, it discusses what bytecode is, reasons for manipulating bytecode, frameworks for doing so, and examines logging as an example use case. The presentation outlines how to add logging to methods by annotating them and transforming the bytecode at runtime using a Java agent.
The document discusses Clean Architecture and provides an example of implementing it using a Movie Night app. It describes separating the app into Presentation, Data, and Domain layers with specific responsibilities. The Domain layer contains entities, use cases, and interfaces. The Data layer encapsulates data sources and mappers. The Presentation layer connects everything using ViewModels, LiveData, and observing lifecycle changes. It demonstrates how data flows from the Data layer through UseCases to the Presentation layer and updates the UI.
SymfonyCon Berlin 2016 - Symfony Plugin for PhpStorm - 3 years laterHaehnchen
In 2013 the "Symfony Plugin" for PhpStorm was born. Today we see over 1 million downloads and several other plugins for projects like Laravel, Drupal, Shopware, ... that help to improve your productivity.
I will talk about Symfony related features and will give you some tips and tricks. Also, we take a look at the infrastructure behind these plugins and how I maintain all of them.
This document outlines the past, present, and future of Java SE. In the past, Java gained widespread adoption for application development and the JRockit JVM provided high performance. Currently, efforts are focused on Java 7 and the convergence of Hotspot and JRockit. Going forward, trends like multi-core processors and cloud computing will influence Java's direction.
Slide deck for a presentation during a JavaScript meetup in Atlanta, GA.
This is an intro into titanium with a twist being that I focused on explaining some of the power titanium gives developers by allowing them to easily create their own UI versus using native graphics.
1. The author expresses their love and hate for JavaScript, but realizes it is their own lack of understanding, not JavaScript itself, that is the issue.
2. The author received guidance on JavaScript concepts like the event loop, scope, functions, and how a better understanding of these core concepts can help overcome frustrations with asynchronous behavior and callbacks.
3. The response encourages the author to focus on understanding foundations, find a mentor, be a mentor to others, and provide clear guidance to help others learn.
The document summarizes the evolution of asynchronous JavaScript programming. It begins with callbacks being the fundamental way to handle asynchronous code. This led to issues like callback hell and loss of error handling. Promises were introduced to help address these issues by providing a cleaner way to handle asynchronous operations with methods like then() and catch(). However, promises could still result in unreadable code if used improperly for control flow. Generators and async/await were later introduced to allow asynchronous code to be written in a synchronous, blocking-like fashion using keywords like yield and await. Overall, the document traces the progression from callbacks to promises to generators and async/await as ways to improve the handling of asynchronous code in JavaScript.
This document discusses what it means to be a solid developer in 2016. It outlines key qualities of a solid developer, including the ability to solve problems through code or analysis, balance pragmatism and perfectionism, debug and fix bugs, have healthy skepticism and business/social awareness, and be a continuous learner. The document contrasts what it was like to be a developer in the 1990s versus today, noting there is far more information available now that must be managed. It emphasizes the importance of finding communities, mentors, collaboration, giving back through open source, and staying pragmatic over following methodologies strictly.
The document outlines the four stages of working with widgets in JavaScript: doubt, hate, begrudging appreciation, and love. It discusses common issues like accidental static fields, avoiding them with constructors, and using attribute maps to bind properties to DOM nodes. The document also covers more advanced topics like custom setters, memory leaks when widgets contain other widgets, and using the registry to detect leaks. Overall it provides an introduction to working with widgets in JavaScript and Dojo.
Rendering Views in JavaScript - "The New Web Architecture"Jonathan Julian
This presentation will help attendees re-design their applications to take advantage of fast client-side templating of views. We will survey the landscape of templating solutions in JavaScript, and discuss architecture choices when using various back-end languages. Technologies discussed will include Backbone.js, underscore.js, JSON, REST, mustache, as well as others.
I've given different versions of this talk at different venues over the past 12 months. This is the most recent version as presented on 18/10/2011 at the Belgian ISSA chapter meeting.
This document summarizes a presentation on Drupal security given by Greg Knaddison. The presentation covered common Drupal vulnerabilities like CSRF and XSS attacks. It discussed how to think like an attacker and exploit vulnerabilities. It also provided tips for securing Drupal sites, such as using the Security Review module, staying up-to-date on patches, and implementing measures like tokens and input validation. Specific attacks like CSRF flows and XSS injection via forms were demonstrated.
The document summarizes a presentation given at the 2011 Jenkins User Conference in New York City about using Jenkins for continuous integration for Ruby on Rails projects. It discusses setting up Jenkins on low-cost virtual servers, configuring jobs for development builds, deployments, and cron jobs, and using plugins to integrate with version control systems and automate tasks. It also promotes the Jenkins client Ruby gem for programmatically controlling Jenkins.
This document discusses Volto, a new frontend framework for Plone built with React, Redux, and React-Router. Volto renders content from Plone via the plone.restapi and provides a modern web development experience for frontend developers. It solves problems with Plone's complexity for frontend work and allows reuse of popular JavaScript libraries rather than maintaining custom code. The presentation demonstrates Volto and outlines future plans to add additional features like add-ons, control panels, and content editors to Volto. It encourages participation in upcoming Volto sprints.
Sarah Novotny and Matt Ray's presentation from the Seattle OpenStack Meetup on 10/19/2011. Covered Chef basics and a snapshot of the current state of OpenStack cookbook development.
This document discusses different approaches and mindsets for writing feature tests versus unit tests. It notes that feature tests are larger in scope and harder to control than unit tests, but can provide more value when "tamed". It encourages adopting the right mindset that recognizes the differences between test types and focusing feature tests on priority areas using the appropriate tools.
Do you write JavaScript? Congratulations, you're probably awesome at Node.js! While thinking about things from a server-side perspective might feel off-putting and unnatural, things like callbacks, storing data in JSON, and implementing actual websites probably do not. We'll go beyond getting Node installed and talk about how to quickly build a working web application, and demonstrate that Node can offer frontend developers more than just a new prototyping tool or way of creating endless chat servers.
The Contextual Experience of the Mobile WebJeff Carouth
This document discusses the contextual experience of the mobile web. It begins by defining the context of the mobile web as the environment, expectations, and intent a user brings when accessing a website via a mobile device. It then discusses several options for accommodating different screen widths, including redirecting mobile users, detecting devices via user agents, and using responsive layouts with breakpoints. It emphasizes that mobility context is application-specific and provides an example using geolocation to surface local leads. The document concludes with a recap of options for dealing with device context and emphasizes that mobile experiences are increasingly important.
Behavior Driven Development and Wordpress Pluginsdjcp
The document discusses Behavior Driven Development (BDD) and how it can be applied to WordPress plugins. It introduces the BDD framework Cucumber and automation tools like Capybara and Selenium that allow writing and executing plain text test scenarios. Sample test scenarios are shown for activating a plugin and changing its configuration options. Instructions are provided for installing Cucumber and running BDD tests on a WordPress plugin. The benefits of a BDD approach include more robust testing, assurance that changes don't break other areas, and reusable automated tests.
Let's begin Behavior Driven Development using RSpecKenta Murata
The document contains snippets of Ruby code and discussions around test-driven development (TDD) and behavior-driven development (BDD). It includes code examples using RSpec to test an AgeCalculator class, discussions of gems like rspec and test frameworks like Test::Unit. It also covers observer pattern and use of test doubles in RSpec tests. Live coding examples are presented on FizzBuzz implementation using TDD and RSpec best practices.
Bytecode manipulation with Javassist and ASMashleypuls
The document discusses a presentation titled "Living in the Matrix with Bytecode Manipulation". It provides an overview of bytecode and frameworks for manipulating bytecode. Specifically, it discusses what bytecode is, reasons for manipulating bytecode, frameworks for doing so, and examines logging as an example use case. The presentation outlines how to add logging to methods by annotating them and transforming the bytecode at runtime using a Java agent.
The document discusses Clean Architecture and provides an example of implementing it using a Movie Night app. It describes separating the app into Presentation, Data, and Domain layers with specific responsibilities. The Domain layer contains entities, use cases, and interfaces. The Data layer encapsulates data sources and mappers. The Presentation layer connects everything using ViewModels, LiveData, and observing lifecycle changes. It demonstrates how data flows from the Data layer through UseCases to the Presentation layer and updates the UI.
SymfonyCon Berlin 2016 - Symfony Plugin for PhpStorm - 3 years laterHaehnchen
In 2013 the "Symfony Plugin" for PhpStorm was born. Today we see over 1 million downloads and several other plugins for projects like Laravel, Drupal, Shopware, ... that help to improve your productivity.
I will talk about Symfony related features and will give you some tips and tricks. Also, we take a look at the infrastructure behind these plugins and how I maintain all of them.
This document outlines the past, present, and future of Java SE. In the past, Java gained widespread adoption for application development and the JRockit JVM provided high performance. Currently, efforts are focused on Java 7 and the convergence of Hotspot and JRockit. Going forward, trends like multi-core processors and cloud computing will influence Java's direction.
Slide deck for a presentation during a JavaScript meetup in Atlanta, GA.
This is an intro into titanium with a twist being that I focused on explaining some of the power titanium gives developers by allowing them to easily create their own UI versus using native graphics.
1. The author expresses their love and hate for JavaScript, but realizes it is their own lack of understanding, not JavaScript itself, that is the issue.
2. The author received guidance on JavaScript concepts like the event loop, scope, functions, and how a better understanding of these core concepts can help overcome frustrations with asynchronous behavior and callbacks.
3. The response encourages the author to focus on understanding foundations, find a mentor, be a mentor to others, and provide clear guidance to help others learn.
The document summarizes the evolution of asynchronous JavaScript programming. It begins with callbacks being the fundamental way to handle asynchronous code. This led to issues like callback hell and loss of error handling. Promises were introduced to help address these issues by providing a cleaner way to handle asynchronous operations with methods like then() and catch(). However, promises could still result in unreadable code if used improperly for control flow. Generators and async/await were later introduced to allow asynchronous code to be written in a synchronous, blocking-like fashion using keywords like yield and await. Overall, the document traces the progression from callbacks to promises to generators and async/await as ways to improve the handling of asynchronous code in JavaScript.
This document discusses what it means to be a solid developer in 2016. It outlines key qualities of a solid developer, including the ability to solve problems through code or analysis, balance pragmatism and perfectionism, debug and fix bugs, have healthy skepticism and business/social awareness, and be a continuous learner. The document contrasts what it was like to be a developer in the 1990s versus today, noting there is far more information available now that must be managed. It emphasizes the importance of finding communities, mentors, collaboration, giving back through open source, and staying pragmatic over following methodologies strictly.
One of JavaScript’s strengths is how it handles asynchronous code. Async is one of the most important and often misunderstood part of Javascript or any other language. Async is hard because we, as human beings, can’t do two conscious actions at once and think about both of them at the same moment. In this talk we will see how asynchronous JavaScript evolved over the years. It all started with callbacks… and it landed on generators!
Presentation I presented at Codemotion 2015 in Rome.
It's about how to build and share reproducible, portable development environments with Vagrant and Docker
Namshi is an e-commerce company based in Dubai that has grown to over 250 employees and serves millions of visitors per month. Originally using a monolithic PHP architecture, they migrated to a microservices architecture using PHP, Node.js, RabbitMQ, and other tools to improve scalability, deployability, and maintainability. This involved breaking the monolith into independent services, implementing an event-driven messaging system, and building new frontends using JavaScript.
This is a talk I gave at IPC 2014 in Munich.
It's about how to build durable web apis based on the experience gained at Namshi while we were developing our SOA architecture
This document discusses Namshi's transition from a monolithic PHP architecture to a microservices architecture using PHP, Node.js, and other technologies. Some of the benefits realized include improved scalability, deployability, and maintainability. Key aspects covered include the use of service-oriented architecture with independent services, HTTP as the communication protocol, RabbitMQ for messaging, and PHP frameworks like Silex for building APIs. The new architecture also aims to be stateless, using JSON Web Tokens for authentication.
Presentation given during the phpDay 2014 in Verona.
It's about how to build durable web apis based on the experience gained at Namshi while we were developing our SOA architecture
TrustArc Webinar - Your Guide for Smooth Cross-Border Data Transfers and Glob...TrustArc
Global data transfers can be tricky due to different regulations and individual protections in each country. Sharing data with vendors has become such a normal part of business operations that some may not even realize they’re conducting a cross-border data transfer!
The Global CBPR Forum launched the new Global Cross-Border Privacy Rules framework in May 2024 to ensure that privacy compliance and regulatory differences across participating jurisdictions do not block a business's ability to deliver its products and services worldwide.
To benefit consumers and businesses, Global CBPRs promote trust and accountability while moving toward a future where consumer privacy is honored and data can be transferred responsibly across borders.
This webinar will review:
- What is a data transfer and its related risks
- How to manage and mitigate your data transfer risks
- How do different data transfer mechanisms like the EU-US DPF and Global CBPR benefit your business globally
- Globally what are the cross-border data transfer regulations and guidelines
The document discusses fundamentals of software testing including definitions of testing, why testing is necessary, seven testing principles, and the test process. It describes the test process as consisting of test planning, monitoring and control, analysis, design, implementation, execution, and completion. It also outlines the typical work products created during each phase of the test process.
For senior executives, successfully managing a major cyber attack relies on your ability to minimise operational downtime, revenue loss and reputational damage.
Indeed, the approach you take to recovery is the ultimate test for your Resilience, Business Continuity, Cyber Security and IT teams.
Our Cyber Recovery Wargame prepares your organisation to deliver an exceptional crisis response.
Event date: 19th June 2024, Tate Modern
An Introduction to All Data Enterprise IntegrationSafe Software
Are you spending more time wrestling with your data than actually using it? You’re not alone. For many organizations, managing data from various sources can feel like an uphill battle. But what if you could turn that around and make your data work for you effortlessly? That’s where FME comes in.
We’ve designed FME to tackle these exact issues, transforming your data chaos into a streamlined, efficient process. Join us for an introduction to All Data Enterprise Integration and discover how FME can be your game-changer.
During this webinar, you’ll learn:
- Why Data Integration Matters: How FME can streamline your data process.
- The Role of Spatial Data: Why spatial data is crucial for your organization.
- Connecting & Viewing Data: See how FME connects to your data sources, with a flash demo to showcase.
- Transforming Your Data: Find out how FME can transform your data to fit your needs. We’ll bring this process to life with a demo leveraging both geometry and attribute validation.
- Automating Your Workflows: Learn how FME can save you time and money with automation.
Don’t miss this chance to learn how FME can bring your data integration strategy to life, making your workflows more efficient and saving you valuable time and resources. Join us and take the first step toward a more integrated, efficient, data-driven future!
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/efficiency-unleashed-the-next-gen-nxp-i-mx-95-applications-processor-for-embedded-vision-a-presentation-from-nxp-semiconductors/
James Prior, Senior Product Manager at NXP Semiconductors, presents the “Efficiency Unleashed: The Next-gen NXP i.MX 95 Applications Processor for Embedded Vision” tutorial at the May 2024 Embedded Vision Summit.
Machine vision is the most obvious way to help humans live better, enabling hundreds of applications spanning security, monitoring, inspection and more. Modern edge processors need private on-device and scalable hybrid machine learning capabilities to offer enough longevity to stay relevant in industrial and commercial IoT markets. In this talk, Prior presents the upcoming i.MX 95 family of applications processors.
The i.MX 95 features a new, self-developed neural processing unit from NXP—the eIQ Neutron NPU. Designed to scale from today’s conventional neural networks to tomorrow’s transformer-based models, the eIQ Neutron NPU scalable architecture delivers edge AI capabilities at high efficiency with award-winning tools, combined with chip-level security and privacy features. The i.MX 95 applications processor family features powerful processing and vision capabilities combined with safety, security and expandable high-speed interfaces.
This slide deck is a deep dive the Salesforce latest release - Summer 24, by the famous Stephen Stanley. He has examined the release notes very carefully, and summarised them for the Wellington Salesforce user group, virtual meeting June 27 2024.
Cassandra to ScyllaDB: Technical Comparison and the Path to SuccessScyllaDB
What can you expect when migrating from Cassandra to ScyllaDB? This session provides a jumpstart based on what we’ve learned from working with your peers across hundreds of use cases. Discover how ScyllaDB’s architecture, capabilities, and performance compares to Cassandra’s. Then, hear about your Cassandra to ScyllaDB migration options and practical strategies for success, including our top do’s and don’ts.
Guidelines for Effective Data VisualizationUmmeSalmaM1
This PPT discuss about importance and need of data visualization, and its scope. Also sharing strong tips related to data visualization that helps to communicate the visual information effectively.
The document discusses testing throughout the software development life cycle. It describes different software development models including sequential, incremental, and iterative models. It also covers different test levels from component and integration testing to system and acceptance testing. The document discusses different types of testing including functional and non-functional testing. It also covers topics like maintenance testing and triggers for additional testing when changes are made. Also covers concepts of Agile including DevOps, Shift Left Approach, TDD, BDD, ATDD, Retrospective and Process Improvement
3. Brescia - 24 settembre 2011
Monday, June 20, 2011
4. Why this speech?
W p ?
Agenda
A
Join the f***ing
J f*** f
cooonf
Monday, June 20, 2011
5. come utente anonimo voglio poter vedere
l'elenco delle conferenze ordinate per data
decrescente
come ua e ur voglio poter vedere l'elenco delle
presentazioni di una conferenza ordinate in data
crescente
come ua e ur voglio porer vedere il dettaglio di
una presenzatione
come ua voglio potermi registrare
come ur voglio poter aderire ad una conferenza
come ur voglio poter commentare una
conferenza
come ur voglio poter commentare una
presentazione
Monday, June 20, 2011
6. http://joinconf.heroku.com https://github.com/cirpo/joinconf
https://github.com/sandropaganoti/joinconf
only Firefox 4 and Chrome 10+
Monday, June 20, 2011
7. R R3
• Thank you Trygve Reenskaug
• Thank you Matz
• Thank you DHH
Monday, June 20, 2011
8. R b R Ar r
rack stack
middleware 1
web server ...
middleware N
View
response request
run Joinconf::Application.routes
ActionController
MiddlewareStack Model
Controller.new.process(action)
Monday, June 20, 2011
9. S f 2
• Thank you RoR
• Thank you Fabien
• Thank you Doctrine
• Thank you Spring
• Thank you Cocoa
Monday, June 20, 2011
10. S f 2 Ar r
DI View
request Kernel Event Dispatcher
response
Bundle*
Model
Monday, June 20, 2011
19. M r
• Routes to Rack and Engines
• Bundles
Monday, June 20, 2011
20. C r r
class ConferencesController < ApplicationController
def index
@conferences = Conference.all
respond_with @conferences
end
def show
@conference = Conference.find(params[:id])
end
end
Monday, June 20, 2011
21. C r r
• Function
• Object method
• Closure
Monday, June 20, 2011
22. C r r
namespace IdeatoJoinConfBundleController;
use IdeatoJoinConfBundleEntityConference;
use SymfonyBundleFrameworkBundleControllerController;
class HomepageController extends Controller {
public function indexAction()
{
$conference_repository = $this->get('doctrine.orm.entity_manager')
->getRepository('IdeatoJoinConfBundle:Conference');
$conferences = $conference_repository
->retrieveConferencesByAscendingOrder();
return $this->render
( ('IdeatoJoinConfBundle:Default:index.html.twig',
array('conferences' => $conferences));
Monday, June 20, 2011
23. M
• Doctrine 2
• POPO
• DataMapper
• ODM
Monday, June 20, 2011
26. M
class Conference < ActiveRecord::Base
validates :name, :start, :end, :users_max,
:location, :presence => true
default_scope :order => "start DESC"
has_many :sessions
has_many :attendees
has_many :comments, :as => :commentable
end
Monday, June 20, 2011
27. M
• ActiveModel
• Arel
• ActiveResource
Monday, June 20, 2011
28. V w
• Twig
• Plain PHP
• Assetic
Monday, June 20, 2011
29. {% if loop.index is not divisibleby(3) %}
View
{{ post.published_at|date("m/d/Y") }}
{{ "I like %this% and %that%."|replace({'%this
%': foo, '%that%': "bar"}) }}
{{ var.foo|default('foo item on var is not
defined') }}
{{ var is even }}
{{ var is odd }}
{% if foo.attribute is sameas(false) %}
{% for i in range(0, 3) %}
Monday, June 20, 2011
30. V w
<section id="conferences">
<h1><%= I18n.t(:conference_list)%></h1>
<%= render @conferences %>
</section>
<article class="conference">
<header>
<h1><%= conference.name %></h1>
<dl>
<!-- some stuff -->
</dl>
</header>
<p><%= conference.description %></p>
<footer>
<menu>
<li><%= link_to I18n.t(:view_the_sessions ),
conference_sessions_path(conference)%></li>
<!-- other links -->
</menu>
</footer>
</article>
Monday, June 20, 2011
31. V w
• ERb
• HTML 5
• CoffeScript
• SASS
Monday, June 20, 2011
35. S ,
f r
alessandro.cinelli@gmail.com /@cirpo
sandro.paganotti@wavegroup.it /@sandropaganotti
alberto.barrila@wavegroup.it /@albertobarrila
Monday, June 20, 2011