info343/lectures/whats-next/index-info344sp12.shtml

<!--#include virtual="../s5/commontop.html" -->
      <title>Lecture 20: What’s Next — INFO 344 Spring 2012</title>
   </head>
   
   <body>
      <div class="layout">
         <div id="controls"><!-- DO NOT EDIT --></div>
         <div id="currentSlide"><!-- DO NOT EDIT --></div>
         <div id="header"></div>
         <div id="footer">
            <h1>INFO 344 Lecture 20</h1>
            <h2>What’s Next</h2>
         </div>
      </div>
      
      <div class="presentation">
         <div class="slide">
            <h1>What’s Next</h1>
            <h3>Lecture 20</h3>
            
            <p class="license">
               © 2012 Morgan Doocy
            </p>
            
            <div class="w3c">
               <a href="http://validator.w3.org/check/referer"><img src="../s5/images/w3c-xhtml11.png" alt="Valid XHTML 1.1" /></a>
               <a href="http://jigsaw.w3.org/css-validator/check/referer"><img src="../s5/images/w3c-css.png" alt="Valid CSS!" /></a>
            </div>
         </div>
         
         
         
         <!-- <div class="slide titleslide">
            <h1>1. The “security mindset”</h1>
            
            <ul>
               <li><strong>security mindset</strong></li>
               <li>some basic web attacks</li>
               <li>breaking and securing an example page</li>
            </ul>
         </div> -->



         <div class="slide">
            <h1>Web Application Frameworks</h1>
            
            <p class="description">“Super-structure” built on top of a language to enable rapid application development</p>
            
            <ul>
               <li>
                  <p>Examples:</p>
                  <ul>
                     <li>Rails (Ruby)</li>
                     <li>CakePHP, Zend (PHP)</li>
                     <li>Tomcat, JSP (Java)</li>
                     <li>ASP.NET (C#, VBScript)</li>
                  </ul>
               </li>
               <li>Take care of nitty-gritty details, allowing rapid application development</li>
               <li>Almost universally use MVC pattern</li>
               <li>Hundreds of options, on all platforms, on top of all languages</li>
            </ul>
         </div>



         <div class="slide">
            <h1>Going live</h1>
            
            <!-- <div>
               <img src="images/group_hug.jpg" alt="group hug" style="float: right; margin-left: 1em" />
            </div> -->
            
            <ul>
               <li>
                  <p>Three services involved in a public website:</p>
                  <ol>
                     <li>Domain name registration</li>
                     <li>DNS service to link your domain name to the server where it lives</li>
                     <li>Server hosting</li>
                  </ol>
               </li>
               <li>Each can be purchased separately, or sometimes with the same provider.</li>
               <li>Ex: Register with <a href="http://en.gandi.net/">Gandi</a>, DNS service from <a href="http://dyn.com/dns/">Dyn</a>, hosting with <a href="http://dreamhost.com/">DreamHost</a></li>
            </ul>
         </div>
         
         
         
         <div class="slide">
            <h1>Registration</h1>
            
            <ul>
               <li>Domain registration is a <em>shady business</em>!</li>
               <li>Be wary of deep discounts, lock-ins, speculative pre-registration, etc.</li>
               <li>In general, you get what you pay for!</li>
               <li>Choose a reputable registrar (like Gandi)</li>
               <li>Avoid: GoDaddy, Network Solutions (shady practices, lock-ins, and over-marketing)</li>
            </ul>
         </div>
         
         
         
         <div class="slide">
            <h1>Hosting</h1>
            
            <ul>
               <li>Hosting is a cheap commodity; look for someone reputable with good service (like DreamHost).</li>
               <li>
                  <p>Three types of hosting:</p>
                  <ol>
                     <li>Shared: you share a server machine with other websites.</li>
                     <li>Dedicated: you have your own server machine(s).</li>
                     <li>Colocated: you rent or buy server space and/or maintenance, with physical access.</li>
                  </ol>
               </li>
               <li>Often offer tiered pricing based on bandwidth</li>
               <li>Start small, upgrade as needed</li>
            </ul>
         </div>
         
         
         
         <div class="slide">
            <h1>DNS services</h1>
            
            <ul>
               <li>Often handled by registrar or hosting provider; not often needed separately.</li>
               <li>
                  <p>Types:</p>
                  <ul>
                     <li>DNS hosting: third-party service is authoritative source for your domain name’s DNS record</li>
                     <li>Network appliances: computers that handle and route requests to different servers dynamically (load balancing)</li>
                  </ul>
               </li>
            </ul>
         </div>



<!--#include virtual="../s5/commonbottom.html" -->