SlideShare ist ein Scribd-Unternehmen logo
1 von 146
Ruby on Rails
      Paolo Perrotta
Who we Are, What we Do.

 Mithun Training & Consulting is a fully independent training and
 consultancy company, focusing on quality improvement
 processes and techniques.



Mithun Training & Consulting B.V.
P.O. Box 898
3800 AW Amersfoort
Netherlands
T         +31 (0)33-457 0840
F         +31 (0)33-457 0839
W         www.mithun.nl
M         info@mithun.nl
<Paolo Perrotta>
developer
author
teacher
Ruby on Rails
Rails
RoR
<what is Rails?>
Rails is a
  framework for
     building
 database-backed
web applications
     in Ruby.
Rails is a
  framework for
     building
 database-backed
web applications
     in Ruby.
Rails is a
  framework for
     building
 database-backed
web applications
     in Ruby.
Rails, anyone?
hot or not?
early 2005
first time I heard
about Ruby on Rails
<outrageous claims>
“[You] could develop a web application at least ten times
    faster with Rails than you could with a typical Java
framework [...] without making any sacrifices in the quality
                    of your application.”

                                             Curt Hibbs
“[You] could develop a web application at least ten times
    faster with Rails than you could with a typical Java
framework [...] without making any sacrifices in the quality
                    of your application.”

                                             Curt Hibbs
       Cust Hibbs is a Senior
       Soft ware Engineer at
       Boeing. He was one of the
       authors of WordStar for
       Windows.
“Rails is the most well thought-out web development
              framework I’ve ever used.”

                          James Duncan Davidson
“Rails is the most well thought-out web development
              framework I’ve ever used.”

                          James Duncan Davidson
   JDD is the author of
   Tomcat and Ant.
“Powerful web applications that formerly might have taken
 weeks or months to develop can be produced in a matter
                  of days [with Rails].”

                                         Tim O'Reilly
“Powerful web applications that formerly might have taken
 weeks or months to develop can be produced in a matter
                  of days [with Rails].”

                                         Tim O'Reilly

       Tim is “that” O’Reilly
       - the editor.
“Rails has become a standard to which even well-
 established tools are comparing themselves to.”

                                   Martin Fowler
“Rails has become a standard to which even well-
 established tools are comparing themselves to.”

                                   Martin Fowler
     Author of
     “Refactoring”.
one more quote...
“Ruby on Rails is astounding. Using it is like
watching a kung-fu movie, where a dozen bad-ass
frameworks prepare to beat up the little newcomer
   only to be handed their asses in a variety of
                imaginative ways.”

                           Nathan Torkington
“Ruby on Rails is astounding. Using it is like
watching a kung-fu movie, where a dozen bad-ass
frameworks prepare to beat up the little newcomer
   only to be handed their asses in a variety of
                imaginative ways.”

                           Nathan Torkington
  Chairman at OScon
Thanks to Joey deVilla for
this picture (http://
accordionguy.blogware.com/
Photos/2006/02/
bruce_on_rails.jpg)
<tonight>
presentation:
road to Rails
demo
break
talking
    (Ruby?)
(ActiveRecord?)
talking
    (Ruby?)
(ActiveRecord?)
talking
    (Ruby?)
(ActiveRecord?)
presentation:
state of Rails
wrap-up
<road to Rails>
<web development>
why does it matter?
<challenges>
technical
people
<the medium>
unreliable
HTTP
stateless
no memory
no sessions
<the server>
integration
RDBs
Object-Oriented
mismatch
performance
many users
parallel programming
security
abuse
<the client>
the browser
thin client
stupid client
it sucks.
HTML
primitive GUI
constraining
flow
compatibility
many configurations
many browsers
many OSs
many devices
<the process>
quick
continuous feedback
moving target
<technologies>
static
just pages
forms
CGI
C
Perl
not secure
slow
web languages
ASP
PHP
template
HTML+code
<?
$db = quot;DATABASE NAMEquot;;
$admin = quot;MYSQL USER NAMEquot;;
$adpass = quot;MYSQL PASSWORDquot;;
$mysql_link = mysql_connect(quot;localhostquot;, $admin, $adpass);
mysql_select_db($db, $mysql_link);
?>
<HTML>
<BODY>
<script language=quot;phpquot;>
if($react == quot;delete_userquot;) {
    if($user) {
       $query = quot;DELETE from login WHERE user='$user' quot;;
       $result = mysql_query($query, $mysql_link);
          if(mysql_num_rows($result)) {
             print(quot;<strong>$user</strong> successfully deleted<p>quot;);
          }
    } else {
       print(quot;<strong>no users to delete yet.</strong><p>quot;);
    }
}
</script>
<form method=quot;POSTquot; action=quot;admin.php3quot;><div
align=quot;centerquot;><center><p>Delete Users
<input type=quot;hiddenquot; name=quot;reactquot; value=quot;delete_userquot;>
<select name=quot;userquot; size=quot;1quot;>
<script language=quot;phpquot;>
    $query = quot;SELECT user FROM login ORDER BY userquot;;
    $result = mysql_query($query, $mysql_link);
...
<?
$db = quot;DATABASE NAMEquot;;
$admin = quot;MYSQL USER NAMEquot;;
$adpass = quot;MYSQL PASSWORDquot;;
$mysql_link = mysql_connect(quot;localhostquot;, $admin, $adpass);
mysql_select_db($db, $mysql_link);
?>
<HTML>
<BODY>
<script language=quot;phpquot;>
if($react == quot;delete_userquot;) {
    if($user) {
       $query = quot;DELETE from login WHERE user='$user' quot;;
       $result = mysql_query($query, $mysql_link);
          if(mysql_num_rows($result)) {
             print(quot;<strong>$user</strong> successfully deleted<p>quot;);
          }
    } else {
       print(quot;<strong>no users to delete yet.</strong><p>quot;);
    }
}
</script>
<form method=quot;POSTquot; action=quot;admin.php3quot;><div
align=quot;centerquot;><center><p>Delete Users
<input type=quot;hiddenquot; name=quot;reactquot; value=quot;delete_userquot;>
<select name=quot;userquot; size=quot;1quot;>
<script language=quot;phpquot;>
    $query = quot;SELECT user FROM login ORDER BY userquot;;
    $result = mysql_query($query, $mysql_link);
...
<?
$db = quot;DATABASE NAMEquot;;
$admin = quot;MYSQL USER NAMEquot;;
$adpass = quot;MYSQL PASSWORDquot;;
$mysql_link = mysql_connect(quot;localhostquot;, $admin, $adpass);
mysql_select_db($db, $mysql_link);
?>
<HTML>
<BODY>
<script language=quot;phpquot;>
if($react == quot;delete_userquot;) {
    if($user) {
       $query = quot;DELETE from login WHERE user='$user' quot;;
       $result = mysql_query($query, $mysql_link);
          if(mysql_num_rows($result)) {
             print(quot;<strong>$user</strong> successfully deleted<p>quot;);
          }
    } else {
       print(quot;<strong>no users to delete yet.</strong><p>quot;);
    }
}
</script>
<form method=quot;POSTquot; action=quot;admin.php3quot;><div
align=quot;centerquot;><center><p>Delete Users
<input type=quot;hiddenquot; name=quot;reactquot; value=quot;delete_userquot;>
<select name=quot;userquot; size=quot;1quot;>
<script language=quot;phpquot;>
    $query = quot;SELECT user FROM login ORDER BY userquot;;
    $result = mysql_query($query, $mysql_link);
...
<?
$db = quot;DATABASE NAMEquot;;
$admin = quot;MYSQL USER NAMEquot;;
$adpass = quot;MYSQL PASSWORDquot;;
$mysql_link = mysql_connect(quot;localhostquot;, $admin, $adpass);
mysql_select_db($db, $mysql_link);
?>
<HTML>
<BODY>
<script language=quot;phpquot;>
if($react == quot;delete_userquot;) {
    if($user) {
       $query = quot;DELETE from login WHERE user='$user' quot;;
       $result = mysql_query($query, $mysql_link);
          if(mysql_num_rows($result)) {
             print(quot;<strong>$user</strong> successfully deleted<p>quot;);
          }
    } else {
       print(quot;<strong>no users to delete yet.</strong><p>quot;);
    }
}
</script>
<form method=quot;POSTquot; action=quot;admin.php3quot;><div
align=quot;centerquot;><center><p>Delete Users
<input type=quot;hiddenquot; name=quot;reactquot; value=quot;delete_userquot;>
<select name=quot;userquot; size=quot;1quot;>
<script language=quot;phpquot;>
    $query = quot;SELECT user FROM login ORDER BY userquot;;
    $result = mysql_query($query, $mysql_link);
...
tm
Big Ball of Mud
Java
J2EE
JSP
many frameworks
Struts
many layers
complex
bloated
XML configuration
<?xml version=quot;1.0quot;?>

<!DOCTYPE ejb-jar PUBLIC
  '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN'
  'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'>

<ejb-jar>
 <enterprise-beans>

    <!-- A minimal session EJB deployment -->
    <session>
      <ejb-name>PostingEJB</ejb-name>
      <home>ejbs.PostingHome</home>
      <remote>ejbs.Posting</remote>
      <ejb-class>ejbs.PostingBean</ejb-class>
      <!-- or Stateless -->
      <session-type>Stateful</session-type>
      <transaction-type>Container</transaction-type>
    </session>

    <!-- A minimal CMP entity EJB deployment -->
    <entity>
      <ejb-name>Bid</ejb-name>
      <home>ejbe.BidHome</home>
      <remote>ejbe.Bid</remote>
      <ejb-class>ejbe.BidBean</ejb-class>
      <persistence-type>Container</persistence-type>
      <prim-key-class>ejbe.BidPK</prim-key-class>
      <reentrant>False</reentrant>
      <cmp-field><field-name>bid</field-name></cmp-field>
      <cmp-field><field-name>bidder</field-name></cmp-field>
      <cmp-field><field-name>bidDate</field-name></cmp-field>
      <cmp-field><field-name>id</field-name></cmp-field>
    </entity>

    <!-- A minimal BMP entity EJB deployment -->
    <entity>
      <ejb-name>BidBMP</ejb-name>
 ...
the client side
Java applets
ActiveX
Flash
JavaScript
XMLHttpRequest
asynchronous
AJAX
better GUIs
difficult
<state of the art>
on the server
J2EE (or C#)
enterprisey
PHP
bigballofmuddy
on the client
AJAX
clumsy
not really great
anything better?
Rails
<the Rails Way>
I
KISS
Keep It Simple
   (Stupid)
Keep It Simple
   (Stupid)
II
DRY
Don’t Repeat Yourself
III
Convention
     over
Configuration
Convention
     over
Configuration
I - KISS
 II - DRY
III - CoC
<demo>
<break>
<talk>

Weitere ähnliche Inhalte

Was ist angesagt?

Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
 
Java One Presentation - Ruby on Rails meets Enterprise
Java One Presentation - Ruby on Rails meets EnterpriseJava One Presentation - Ruby on Rails meets Enterprise
Java One Presentation - Ruby on Rails meets Enterprisedan_mcweeney
 
Ruby on Rails Meets Enterprise Applications
Ruby on Rails Meets Enterprise ApplicationsRuby on Rails Meets Enterprise Applications
Ruby on Rails Meets Enterprise Applicationsdan_mcweeney
 
API Technical Writing
API Technical WritingAPI Technical Writing
API Technical WritingSarah Maddox
 
Game Development Using HTML 5
Game Development Using HTML 5Game Development Using HTML 5
Game Development Using HTML 5osa_ora
 
Why You Need a Front End Developer
Why You Need a Front End DeveloperWhy You Need a Front End Developer
Why You Need a Front End DeveloperMike Wilcox
 
Killing the Angle Bracket
Killing the Angle BracketKilling the Angle Bracket
Killing the Angle Bracketjnewmanux
 
Front-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewFront-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewDiacode
 
Taiwan Web Standards Talk 2011
Taiwan Web Standards Talk 2011Taiwan Web Standards Talk 2011
Taiwan Web Standards Talk 2011Zi Bin Cheah
 
State of jQuery June 2013 - Portland
State of jQuery June 2013 - PortlandState of jQuery June 2013 - Portland
State of jQuery June 2013 - Portlanddmethvin
 
Building Mobile Applications with Ionic
Building Mobile Applications with IonicBuilding Mobile Applications with Ionic
Building Mobile Applications with IonicMorris Singer
 
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJRealize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJLeonardo Balter
 
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesResponsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesVitaly Friedman
 
jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009Ralph Whitbeck
 
NodeJS for Novices - 28/Oct/13 - Winnipeg, MB
NodeJS for Novices - 28/Oct/13 - Winnipeg, MBNodeJS for Novices - 28/Oct/13 - Winnipeg, MB
NodeJS for Novices - 28/Oct/13 - Winnipeg, MBDavid Wesst
 
Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)bryanbibat
 
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]David Wesst
 
Modern Front-End Development
Modern Front-End DevelopmentModern Front-End Development
Modern Front-End Developmentmwrather
 

Was ist angesagt? (20)

Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile design
 
Java One Presentation - Ruby on Rails meets Enterprise
Java One Presentation - Ruby on Rails meets EnterpriseJava One Presentation - Ruby on Rails meets Enterprise
Java One Presentation - Ruby on Rails meets Enterprise
 
Ruby on Rails Meets Enterprise Applications
Ruby on Rails Meets Enterprise ApplicationsRuby on Rails Meets Enterprise Applications
Ruby on Rails Meets Enterprise Applications
 
API Technical Writing
API Technical WritingAPI Technical Writing
API Technical Writing
 
Game Development Using HTML 5
Game Development Using HTML 5Game Development Using HTML 5
Game Development Using HTML 5
 
Why You Need a Front End Developer
Why You Need a Front End DeveloperWhy You Need a Front End Developer
Why You Need a Front End Developer
 
Killing the Angle Bracket
Killing the Angle BracketKilling the Angle Bracket
Killing the Angle Bracket
 
Oracle APEX & PhoneGap
Oracle APEX & PhoneGapOracle APEX & PhoneGap
Oracle APEX & PhoneGap
 
Front-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewFront-End Frameworks: a quick overview
Front-End Frameworks: a quick overview
 
Taiwan Web Standards Talk 2011
Taiwan Web Standards Talk 2011Taiwan Web Standards Talk 2011
Taiwan Web Standards Talk 2011
 
State of jQuery June 2013 - Portland
State of jQuery June 2013 - PortlandState of jQuery June 2013 - Portland
State of jQuery June 2013 - Portland
 
Building Mobile Applications with Ionic
Building Mobile Applications with IonicBuilding Mobile Applications with Ionic
Building Mobile Applications with Ionic
 
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
 
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJRealize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
 
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesResponsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and Techniques
 
jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009
 
NodeJS for Novices - 28/Oct/13 - Winnipeg, MB
NodeJS for Novices - 28/Oct/13 - Winnipeg, MBNodeJS for Novices - 28/Oct/13 - Winnipeg, MB
NodeJS for Novices - 28/Oct/13 - Winnipeg, MB
 
Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)
 
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
 
Modern Front-End Development
Modern Front-End DevelopmentModern Front-End Development
Modern Front-End Development
 

Andere mochten auch

Introduction to using the R200 camera & Realsense SDK in Unity3d - Jon Collins
Introduction to using the R200 camera & Realsense SDK in Unity3d - Jon CollinsIntroduction to using the R200 camera & Realsense SDK in Unity3d - Jon Collins
Introduction to using the R200 camera & Realsense SDK in Unity3d - Jon CollinsBeMyApp
 
Simカットしてみました - LT駆動開発#25
Simカットしてみました - LT駆動開発#25Simカットしてみました - LT駆動開発#25
Simカットしてみました - LT駆動開発#25NAKAOKU Takahiro
 
React on rails v6.1 at LA Ruby, November 2016
React on rails v6.1 at LA Ruby, November 2016React on rails v6.1 at LA Ruby, November 2016
React on rails v6.1 at LA Ruby, November 2016Justin Gordon
 
Métodos Anticonceptivos: aspectos generales, métodos naturales y de barrera. ...
Métodos Anticonceptivos: aspectos generales, métodos naturales y de barrera. ...Métodos Anticonceptivos: aspectos generales, métodos naturales y de barrera. ...
Métodos Anticonceptivos: aspectos generales, métodos naturales y de barrera. ...SOSTelemedicina UCV
 
Meta Data and Quality of Data for OGD Platform India
Meta Data and Quality of Data for OGD Platform IndiaMeta Data and Quality of Data for OGD Platform India
Meta Data and Quality of Data for OGD Platform IndiaData Portal India
 
Open Data for Business: The U.S. Experience
Open Data for Business: The U.S. ExperienceOpen Data for Business: The U.S. Experience
Open Data for Business: The U.S. ExperienceData Portal India
 
Data Driven Decision Making in Ministry of Health and Family Welfare
Data Driven Decision Making in Ministry of Health and Family WelfareData Driven Decision Making in Ministry of Health and Family Welfare
Data Driven Decision Making in Ministry of Health and Family WelfareData Portal India
 
Entrevista crowdfunding Revista Fusión Asturias
Entrevista crowdfunding Revista Fusión AsturiasEntrevista crowdfunding Revista Fusión Asturias
Entrevista crowdfunding Revista Fusión AsturiasInxeniu Internet Media SL
 
テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする
 テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする
テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする文樹 高橋
 
Gramática: Presente del Indicativo
Gramática: Presente del IndicativoGramática: Presente del Indicativo
Gramática: Presente del IndicativoNecoechea
 
Simulacro de evacuacion 2016
Simulacro de evacuacion 2016Simulacro de evacuacion 2016
Simulacro de evacuacion 2016webmasteriensp
 
Nuestra brigada de salud 2016
Nuestra brigada de salud 2016Nuestra brigada de salud 2016
Nuestra brigada de salud 2016webmasteriensp
 
Dia de la familia 2016
Dia de la familia 2016Dia de la familia 2016
Dia de la familia 2016webmasteriensp
 
úLtimo simulacro de evacuación en el año 2016
úLtimo simulacro de evacuación en el año 2016úLtimo simulacro de evacuación en el año 2016
úLtimo simulacro de evacuación en el año 2016webmasteriensp
 
Review of new alerts on PROTON PUMP INHIBITORS (PPI) adverse effects 2016 UPD...
Review of new alerts on PROTON PUMP INHIBITORS (PPI) adverse effects 2016 UPD...Review of new alerts on PROTON PUMP INHIBITORS (PPI) adverse effects 2016 UPD...
Review of new alerts on PROTON PUMP INHIBITORS (PPI) adverse effects 2016 UPD...PAWAN V. KULKARNI
 

Andere mochten auch (20)

La hora
La horaLa hora
La hora
 
Inverse of matrix
Inverse of matrixInverse of matrix
Inverse of matrix
 
Introduction to using the R200 camera & Realsense SDK in Unity3d - Jon Collins
Introduction to using the R200 camera & Realsense SDK in Unity3d - Jon CollinsIntroduction to using the R200 camera & Realsense SDK in Unity3d - Jon Collins
Introduction to using the R200 camera & Realsense SDK in Unity3d - Jon Collins
 
Simカットしてみました - LT駆動開発#25
Simカットしてみました - LT駆動開発#25Simカットしてみました - LT駆動開発#25
Simカットしてみました - LT駆動開発#25
 
React on rails v4
React on rails v4React on rails v4
React on rails v4
 
React on rails v6.1 at LA Ruby, November 2016
React on rails v6.1 at LA Ruby, November 2016React on rails v6.1 at LA Ruby, November 2016
React on rails v6.1 at LA Ruby, November 2016
 
Curso de introducción a solvencia ii
Curso de introducción a solvencia ii   Curso de introducción a solvencia ii
Curso de introducción a solvencia ii
 
Métodos Anticonceptivos: aspectos generales, métodos naturales y de barrera. ...
Métodos Anticonceptivos: aspectos generales, métodos naturales y de barrera. ...Métodos Anticonceptivos: aspectos generales, métodos naturales y de barrera. ...
Métodos Anticonceptivos: aspectos generales, métodos naturales y de barrera. ...
 
Meta Data and Quality of Data for OGD Platform India
Meta Data and Quality of Data for OGD Platform IndiaMeta Data and Quality of Data for OGD Platform India
Meta Data and Quality of Data for OGD Platform India
 
Open Data for Business: The U.S. Experience
Open Data for Business: The U.S. ExperienceOpen Data for Business: The U.S. Experience
Open Data for Business: The U.S. Experience
 
Data Driven Decision Making in Ministry of Health and Family Welfare
Data Driven Decision Making in Ministry of Health and Family WelfareData Driven Decision Making in Ministry of Health and Family Welfare
Data Driven Decision Making in Ministry of Health and Family Welfare
 
EVANNEX Glove Box Bumper Installation for Model S and X
EVANNEX Glove Box Bumper Installation for Model S and XEVANNEX Glove Box Bumper Installation for Model S and X
EVANNEX Glove Box Bumper Installation for Model S and X
 
Entrevista crowdfunding Revista Fusión Asturias
Entrevista crowdfunding Revista Fusión AsturiasEntrevista crowdfunding Revista Fusión Asturias
Entrevista crowdfunding Revista Fusión Asturias
 
テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする
 テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする
テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする
 
Gramática: Presente del Indicativo
Gramática: Presente del IndicativoGramática: Presente del Indicativo
Gramática: Presente del Indicativo
 
Simulacro de evacuacion 2016
Simulacro de evacuacion 2016Simulacro de evacuacion 2016
Simulacro de evacuacion 2016
 
Nuestra brigada de salud 2016
Nuestra brigada de salud 2016Nuestra brigada de salud 2016
Nuestra brigada de salud 2016
 
Dia de la familia 2016
Dia de la familia 2016Dia de la familia 2016
Dia de la familia 2016
 
úLtimo simulacro de evacuación en el año 2016
úLtimo simulacro de evacuación en el año 2016úLtimo simulacro de evacuación en el año 2016
úLtimo simulacro de evacuación en el año 2016
 
Review of new alerts on PROTON PUMP INHIBITORS (PPI) adverse effects 2016 UPD...
Review of new alerts on PROTON PUMP INHIBITORS (PPI) adverse effects 2016 UPD...Review of new alerts on PROTON PUMP INHIBITORS (PPI) adverse effects 2016 UPD...
Review of new alerts on PROTON PUMP INHIBITORS (PPI) adverse effects 2016 UPD...
 

Ähnlich wie Road to Rails

RubyEnRails2007 - Dr Nic Williams - Keynote
RubyEnRails2007 - Dr Nic Williams - KeynoteRubyEnRails2007 - Dr Nic Williams - Keynote
RubyEnRails2007 - Dr Nic Williams - KeynoteDr Nic Williams
 
Ruby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developerRuby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developergicappa
 
Consegi 2010 - Dicas de Desenvolvimento Web com Ruby
Consegi 2010 - Dicas de Desenvolvimento Web com RubyConsegi 2010 - Dicas de Desenvolvimento Web com Ruby
Consegi 2010 - Dicas de Desenvolvimento Web com RubyFabio Akita
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Sadaaki HIRAI
 
Ruby on Rails workshop for beginner
Ruby on Rails workshop for beginnerRuby on Rails workshop for beginner
Ruby on Rails workshop for beginnerUmair Amjad
 
Connecting the Worlds of Java and Ruby with JRuby
Connecting the Worlds of Java and Ruby with JRubyConnecting the Worlds of Java and Ruby with JRuby
Connecting the Worlds of Java and Ruby with JRubyNick Sieger
 
Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)True-Vision
 
Introduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint WorkshopIntroduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint WorkshopMark Rackley
 
[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVCAlive Kuo
 
#NewMeetup Performance
#NewMeetup Performance#NewMeetup Performance
#NewMeetup PerformanceJustin Cataldo
 
Rapid Prototyping FTW!!!
Rapid Prototyping FTW!!!Rapid Prototyping FTW!!!
Rapid Prototyping FTW!!!cloudbring
 
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011Nick Sieger
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery GuideMark Rackley
 
Use Web Skills To Build Mobile Apps
Use Web Skills To Build Mobile AppsUse Web Skills To Build Mobile Apps
Use Web Skills To Build Mobile AppsNathan Smith
 
JavaScript For People Who Don't Code
JavaScript For People Who Don't CodeJavaScript For People Who Don't Code
JavaScript For People Who Don't CodeChristopher Schmitt
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
Solid and Sustainable Development in Scala
Solid and Sustainable Development in ScalaSolid and Sustainable Development in Scala
Solid and Sustainable Development in Scalascalaconfjp
 

Ähnlich wie Road to Rails (20)

Ruby on Rails Presentation
Ruby on Rails PresentationRuby on Rails Presentation
Ruby on Rails Presentation
 
RubyEnRails2007 - Dr Nic Williams - Keynote
RubyEnRails2007 - Dr Nic Williams - KeynoteRubyEnRails2007 - Dr Nic Williams - Keynote
RubyEnRails2007 - Dr Nic Williams - Keynote
 
Ruby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developerRuby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developer
 
Consegi 2010 - Dicas de Desenvolvimento Web com Ruby
Consegi 2010 - Dicas de Desenvolvimento Web com RubyConsegi 2010 - Dicas de Desenvolvimento Web com Ruby
Consegi 2010 - Dicas de Desenvolvimento Web com Ruby
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
 
Ruby on Rails workshop for beginner
Ruby on Rails workshop for beginnerRuby on Rails workshop for beginner
Ruby on Rails workshop for beginner
 
Connecting the Worlds of Java and Ruby with JRuby
Connecting the Worlds of Java and Ruby with JRubyConnecting the Worlds of Java and Ruby with JRuby
Connecting the Worlds of Java and Ruby with JRuby
 
Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)
 
Introduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint WorkshopIntroduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint Workshop
 
[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC
 
#NewMeetup Performance
#NewMeetup Performance#NewMeetup Performance
#NewMeetup Performance
 
Rapid Prototyping FTW!!!
Rapid Prototyping FTW!!!Rapid Prototyping FTW!!!
Rapid Prototyping FTW!!!
 
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
 
Intro to Rails
Intro to RailsIntro to Rails
Intro to Rails
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide
 
Use Web Skills To Build Mobile Apps
Use Web Skills To Build Mobile AppsUse Web Skills To Build Mobile Apps
Use Web Skills To Build Mobile Apps
 
Supa fast Ruby + Rails
Supa fast Ruby + RailsSupa fast Ruby + Rails
Supa fast Ruby + Rails
 
JavaScript For People Who Don't Code
JavaScript For People Who Don't CodeJavaScript For People Who Don't Code
JavaScript For People Who Don't Code
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Solid and Sustainable Development in Scala
Solid and Sustainable Development in ScalaSolid and Sustainable Development in Scala
Solid and Sustainable Development in Scala
 

Kürzlich hochgeladen

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Kürzlich hochgeladen (20)

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

Road to Rails

  • 1. Ruby on Rails Paolo Perrotta
  • 2. Who we Are, What we Do. Mithun Training & Consulting is a fully independent training and consultancy company, focusing on quality improvement processes and techniques. Mithun Training & Consulting B.V. P.O. Box 898 3800 AW Amersfoort Netherlands T +31 (0)33-457 0840 F +31 (0)33-457 0839 W www.mithun.nl M info@mithun.nl
  • 3.
  • 8.
  • 10. Rails
  • 11. RoR
  • 13. Rails is a framework for building database-backed web applications in Ruby.
  • 14. Rails is a framework for building database-backed web applications in Ruby.
  • 15. Rails is a framework for building database-backed web applications in Ruby.
  • 18. early 2005 first time I heard about Ruby on Rails
  • 20. “[You] could develop a web application at least ten times faster with Rails than you could with a typical Java framework [...] without making any sacrifices in the quality of your application.” Curt Hibbs
  • 21. “[You] could develop a web application at least ten times faster with Rails than you could with a typical Java framework [...] without making any sacrifices in the quality of your application.” Curt Hibbs Cust Hibbs is a Senior Soft ware Engineer at Boeing. He was one of the authors of WordStar for Windows.
  • 22. “Rails is the most well thought-out web development framework I’ve ever used.” James Duncan Davidson
  • 23. “Rails is the most well thought-out web development framework I’ve ever used.” James Duncan Davidson JDD is the author of Tomcat and Ant.
  • 24. “Powerful web applications that formerly might have taken weeks or months to develop can be produced in a matter of days [with Rails].” Tim O'Reilly
  • 25. “Powerful web applications that formerly might have taken weeks or months to develop can be produced in a matter of days [with Rails].” Tim O'Reilly Tim is “that” O’Reilly - the editor.
  • 26. “Rails has become a standard to which even well- established tools are comparing themselves to.” Martin Fowler
  • 27. “Rails has become a standard to which even well- established tools are comparing themselves to.” Martin Fowler Author of “Refactoring”.
  • 29. “Ruby on Rails is astounding. Using it is like watching a kung-fu movie, where a dozen bad-ass frameworks prepare to beat up the little newcomer only to be handed their asses in a variety of imaginative ways.” Nathan Torkington
  • 30. “Ruby on Rails is astounding. Using it is like watching a kung-fu movie, where a dozen bad-ass frameworks prepare to beat up the little newcomer only to be handed their asses in a variety of imaginative ways.” Nathan Torkington Chairman at OScon
  • 31. Thanks to Joey deVilla for this picture (http:// accordionguy.blogware.com/ Photos/2006/02/ bruce_on_rails.jpg)
  • 34. demo
  • 35. break
  • 36. talking (Ruby?) (ActiveRecord?)
  • 37. talking (Ruby?) (ActiveRecord?)
  • 38. talking (Ruby?) (ActiveRecord?)
  • 43. why does it matter?
  • 49. HTTP
  • 55. RDBs
  • 62. abuse
  • 68. HTML
  • 71. flow
  • 78. quick
  • 84. forms
  • 85. CGI
  • 86. C
  • 87. Perl
  • 89. slow
  • 91. ASP
  • 92. PHP
  • 95. <? $db = quot;DATABASE NAMEquot;; $admin = quot;MYSQL USER NAMEquot;; $adpass = quot;MYSQL PASSWORDquot;; $mysql_link = mysql_connect(quot;localhostquot;, $admin, $adpass); mysql_select_db($db, $mysql_link); ?> <HTML> <BODY> <script language=quot;phpquot;> if($react == quot;delete_userquot;) { if($user) { $query = quot;DELETE from login WHERE user='$user' quot;; $result = mysql_query($query, $mysql_link); if(mysql_num_rows($result)) { print(quot;<strong>$user</strong> successfully deleted<p>quot;); } } else { print(quot;<strong>no users to delete yet.</strong><p>quot;); } } </script> <form method=quot;POSTquot; action=quot;admin.php3quot;><div align=quot;centerquot;><center><p>Delete Users <input type=quot;hiddenquot; name=quot;reactquot; value=quot;delete_userquot;> <select name=quot;userquot; size=quot;1quot;> <script language=quot;phpquot;> $query = quot;SELECT user FROM login ORDER BY userquot;; $result = mysql_query($query, $mysql_link); ...
  • 96. <? $db = quot;DATABASE NAMEquot;; $admin = quot;MYSQL USER NAMEquot;; $adpass = quot;MYSQL PASSWORDquot;; $mysql_link = mysql_connect(quot;localhostquot;, $admin, $adpass); mysql_select_db($db, $mysql_link); ?> <HTML> <BODY> <script language=quot;phpquot;> if($react == quot;delete_userquot;) { if($user) { $query = quot;DELETE from login WHERE user='$user' quot;; $result = mysql_query($query, $mysql_link); if(mysql_num_rows($result)) { print(quot;<strong>$user</strong> successfully deleted<p>quot;); } } else { print(quot;<strong>no users to delete yet.</strong><p>quot;); } } </script> <form method=quot;POSTquot; action=quot;admin.php3quot;><div align=quot;centerquot;><center><p>Delete Users <input type=quot;hiddenquot; name=quot;reactquot; value=quot;delete_userquot;> <select name=quot;userquot; size=quot;1quot;> <script language=quot;phpquot;> $query = quot;SELECT user FROM login ORDER BY userquot;; $result = mysql_query($query, $mysql_link); ...
  • 97. <? $db = quot;DATABASE NAMEquot;; $admin = quot;MYSQL USER NAMEquot;; $adpass = quot;MYSQL PASSWORDquot;; $mysql_link = mysql_connect(quot;localhostquot;, $admin, $adpass); mysql_select_db($db, $mysql_link); ?> <HTML> <BODY> <script language=quot;phpquot;> if($react == quot;delete_userquot;) { if($user) { $query = quot;DELETE from login WHERE user='$user' quot;; $result = mysql_query($query, $mysql_link); if(mysql_num_rows($result)) { print(quot;<strong>$user</strong> successfully deleted<p>quot;); } } else { print(quot;<strong>no users to delete yet.</strong><p>quot;); } } </script> <form method=quot;POSTquot; action=quot;admin.php3quot;><div align=quot;centerquot;><center><p>Delete Users <input type=quot;hiddenquot; name=quot;reactquot; value=quot;delete_userquot;> <select name=quot;userquot; size=quot;1quot;> <script language=quot;phpquot;> $query = quot;SELECT user FROM login ORDER BY userquot;; $result = mysql_query($query, $mysql_link); ...
  • 98. <? $db = quot;DATABASE NAMEquot;; $admin = quot;MYSQL USER NAMEquot;; $adpass = quot;MYSQL PASSWORDquot;; $mysql_link = mysql_connect(quot;localhostquot;, $admin, $adpass); mysql_select_db($db, $mysql_link); ?> <HTML> <BODY> <script language=quot;phpquot;> if($react == quot;delete_userquot;) { if($user) { $query = quot;DELETE from login WHERE user='$user' quot;; $result = mysql_query($query, $mysql_link); if(mysql_num_rows($result)) { print(quot;<strong>$user</strong> successfully deleted<p>quot;); } } else { print(quot;<strong>no users to delete yet.</strong><p>quot;); } } </script> <form method=quot;POSTquot; action=quot;admin.php3quot;><div align=quot;centerquot;><center><p>Delete Users <input type=quot;hiddenquot; name=quot;reactquot; value=quot;delete_userquot;> <select name=quot;userquot; size=quot;1quot;> <script language=quot;phpquot;> $query = quot;SELECT user FROM login ORDER BY userquot;; $result = mysql_query($query, $mysql_link); ...
  • 100. Java
  • 101. J2EE
  • 102. JSP
  • 104. Struts
  • 109. <?xml version=quot;1.0quot;?> <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'> <ejb-jar> <enterprise-beans> <!-- A minimal session EJB deployment --> <session> <ejb-name>PostingEJB</ejb-name> <home>ejbs.PostingHome</home> <remote>ejbs.Posting</remote> <ejb-class>ejbs.PostingBean</ejb-class> <!-- or Stateless --> <session-type>Stateful</session-type> <transaction-type>Container</transaction-type> </session> <!-- A minimal CMP entity EJB deployment --> <entity> <ejb-name>Bid</ejb-name> <home>ejbe.BidHome</home> <remote>ejbe.Bid</remote> <ejb-class>ejbe.BidBean</ejb-class> <persistence-type>Container</persistence-type> <prim-key-class>ejbe.BidPK</prim-key-class> <reentrant>False</reentrant> <cmp-field><field-name>bid</field-name></cmp-field> <cmp-field><field-name>bidder</field-name></cmp-field> <cmp-field><field-name>bidDate</field-name></cmp-field> <cmp-field><field-name>id</field-name></cmp-field> </entity> <!-- A minimal BMP entity EJB deployment --> <entity> <ejb-name>BidBMP</ejb-name> ...
  • 113. Flash
  • 117. AJAX
  • 124. PHP
  • 127. AJAX
  • 128. clumsy
  • 131. Rails
  • 133. I
  • 134. KISS
  • 135. Keep It Simple (Stupid)
  • 136. Keep It Simple (Stupid)
  • 137. II
  • 138. DRY
  • 140. III
  • 141. Convention over Configuration
  • 142. Convention over Configuration
  • 143. I - KISS II - DRY III - CoC
  • 144. <demo>
  • 146. <talk>