rearrange slides so that searching is more obvious
[dbsrgits/dbix-class-introduction-presentation.git] / slideshow.html
index 8ad9bce..485e759 100644 (file)
    </div>
 
    <div class="slide">
+      <h1>Contact Info</h1>
+      <ul>
+         <li>IRC: irc.perl.org #dbix-class</li>
+         <li>ML: <a href="http://lists.scsys.co.uk/mailman/listinfo/dbix-class">http://lists.scsys.co.uk/mailman/listinfo/dbix-class</a></li>
+         <li><a href="http://search.cpan.org/perldoc?DBIx::Class">DBIx::Class</a> yo</li>
+      </ul>
+   </div>
+
+   <div class="slide">
       <h1>Authors</h1>
       <h4>Originally Leo Lapworth @ LPW 2009</h4>
       <h4>Amiri Barksdale</h4>
 
    <div class="slide">
       <h1>What's up guys?</h1>
-      <div class="notes">
-         <ul>
-            <li>How many people have used any ORM?<ul>
-               <li>In Perl?<ul>
-                  <li>DBIC?</li>
-                  <li>Class::DBI?</li>
-                  <li>Rose::DB?</li>
-                  <li>Fey?</li>
-                  <li>Others?</li>
-               </ul></li>
-               <li>AR?</li>
-               <li>DataMapper?</li>
-               <li>(N)Hibernate?</li>
+      <ul class="incremental">
+         <li>How many people have used any ORM?</li><ul class="incremental">
+            <li>In Perl?<ul class="incremental">
+               <li>DBIC?</li>
+               <li>Class::DBI?</li>
+               <li>Rose::DB?</li>
+               <li>Fey::ORM?</li>
+               <li>Others?</li>
             </ul></li>
-         </ul>
-      </div>
+            <li>AR?</li>
+            <li>(N)Hibernate?</li>
+         </ul></li>
+      </ul>
    </div>
 
    <div class="slide">
@@ -189,7 +195,7 @@ $sth-&gt;execute(
       <ul class="incremental">
          <li>No need to pair placeholders and values</li>
          <li>Automatically gets autoincremented id for you</li>
-         <li>Transparrently uses INSERT ... RETURNING for databases that support it</li>
+         <li>Transparently uses INSERT ... RETURNING for databases that support it</li>
       </ul>
    </div>
 
@@ -200,12 +206,9 @@ $sth-&gt;execute(
    authors.name as author_name
    FROM books, authors
    WHERE books.author = authors.id
-');</pre>
-   </div>
+');
 
-   <div class="slide">
-      <h1>SQL: Read</h1>
-<pre>while( my $book = $sth-&gt;fetchrow_hashref() ) {
+while( my $book = $sth-&gt;fetchrow_hashref() ) {
   print 'Author of '
      . $book-&gt;{title}
      . ' is '
@@ -224,21 +227,19 @@ my $book = $book_rs-&gt;<a href="http://search.cpan.org/perldoc?DBIx::Class::Res
 
 my @books = $book_rs-&gt;search({
    author =&gt; $author_id,
-})-&gt;<a href="http://search.cpan.org/perldoc?DBIx::Class::ResultSet#all">all</a>;</pre>
-      <ul class="incremental">
-         <li>TMTOWTDI</li>
-      </ul>
-   </div>
+})-&gt;<a href="http://search.cpan.org/perldoc?DBIx::Class::ResultSet#all">all</a>;
 
-   <div class="slide">
-      <h1>DBIC: Read</h1>
-<pre>while( my $book = $books_rs-&gt;next ) {
+while( my $book = $books_rs-&gt;next ) {
  print 'Author of '
     . $book-&gt;title
     . ' is '
     . $book-&gt;author-&gt;name
     . "\n";
-}</pre>
+}
+</pre>
+      <ul class="incremental">
+         <li>TMTOWTDI</li>
+      </ul>
    </div>
 
    <div class="slide">
@@ -260,7 +261,7 @@ $update-&gt;execute(
   title =&gt; 'New title',
 });</pre>
       <ul class="incremental">
-         <li>Lazy Update</li>
+         <li>Won't update unless value changes</li>
       </ul>
    </div>
 
@@ -280,6 +281,33 @@ $delete-&gt;execute(<strong>$book_id</strong>);</pre>
    </div>
 
    <div class="slide">
+      <h1>SQL: Search</h1>
+<pre>my $sth = $dbh-&gt;prepare('
+   SELECT title,
+   authors.name as author_name
+   FROM books
+   WHERE books.name LIKE "%monte cristo%" AND
+   books.topic = "jailbreak"
+');
+</pre>
+   </div>
+
+   <div class="slide">
+      <h1>DBIC: Search</h1>
+<pre>
+my $book = $book_rs-&gt;<a href="http://search.cpan.org/perldoc?DBIx::Class::ResultSet#search">search</a>({
+   'me.name'  =&gt; { -like =&gt; '%monte cristo%' },
+   'me.topic' =&gt; 'jailbreak',
+})-&gt;<a href="http://search.cpan.org/perldoc?DBIx::Class::ResultSet#next">next</a>;
+</pre>
+      <ul class="incremental">
+         <li><a href="http://search.cpan.org/perldoc?SQL::Abstract">SQL::Abstract</a></li>
+         <li>(kinda) introspectible</li>
+         <li>Prettier than SQL</li>
+      </ul>
+   </div>
+
+   <div class="slide">
       <h1>OO Overidability</h1>
       <ul class="incremental">
          <li>Override new if you want to do validation</li>
@@ -431,17 +459,6 @@ my $schema = Foo::Schema-&gt;connect(
    </div>
 
    <div class="slide">
-      <h1><a href="http://search.cpan.org/perldoc?SQL::Abstract">SQL::Abstract</a></h1>
-<pre>my $resultset = $book_rs-&gt;search({
-   name =&gt; { -like =&gt; "%$nick%" },
-});</pre>
-      <ul class="incremental">
-         <li>(kinda) introspectible</li>
-         <li>Prettier than SQL</li>
-      </ul>
-   </div>
-
-   <div class="slide">
       <h1>Result vs ResultSet</h1>
          <ul class="incremental">
             <li>Result == Row</li>
@@ -606,6 +623,8 @@ sub to_imperial { $_[1] * 3.28 }
       <h1><a href="http://search.cpan.org/perldoc?DBIx::Class::ResultSetColumn">ResultSetColumn</a></h1>
 <pre>my $rsc = $schema-&gt;resultset('Book')
    -&gt;get_column('price');
+$rsc-&gt;first;
+$rsc-&gt;all;
 $rsc-&gt;min;
 $rsc-&gt;max;
 $rsc-&gt;sum;