Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

12 lines (12 sloc) 4.591 kb
<!DOCTYPE html><html><head><title>AngularJS FTW!</title><link rel="stylesheet" href="/stylesheets/style.css?b="><script src="/javascripts/main.js"></script></head><body><img src="/images/angularjsftw_logo.png" class="poster"><h1>Come learn AngularJS</h1><p class="sub">with me!</p><div class="profile"><div class="image"></div><p>Glen Maddern</p><a href="http://twitter.com/glenmaddern" target="_blank" class="small">@glenmaddern</a></div><p class="bio">I've been working with AngularJS at my day job at&nbsp;<a href="http://goodfil.ms">Goodfilms</a> for nearly a year,
after becoming frustrated with the alternatives, and I've never looked back.
So far I've built the&nbsp;<a href="http://goodfil.ms/blog/posts/2012/08/13/angularjs-and-the-goodfilms-mobile-site-part-1/" target="_blank">Goodfilms mobile site</a> as well as an&nbsp;<a href="http://goodfil.ms/graph" target="_blank">interactive movie graph</a> using D3.js.</p><p class="bio">I've presented at MelbJS in Jan 2013 (<a href="http://melbjs-preso.angularftw.com/" target="_blank">slides</a>) and Melbourne Ruby in June 2012 (<a href="http://sup-angularjs.herokuapp.com/">slides</a>), and posted a bunch of random experiments on my&nbsp;<a href="http://github.com/geelen">github</a> profile.</p><hr><h3>You will learn:</h3><ul><li>Why AngularJS <strong>wins at the internet</strong>.</li><li>The <strong>fundamental building blocks</strong> of an AngularJS application.</li><li>How to <strong>structure</strong>, <strong>test</strong>, and serve AngularJS <strong>in production</strong>.</li><li>How to <strong>build cool stuff</strong> quickly and maintainably!</li></ul><hr><h3>Course Outline</h3><ul><li>The <strong>AngularJS philosophy</strong> & introduction to the <strong>core concepts</strong>.</li><li>How to use <strong>Directives & Filters</strong> to defeat your enemies.</li><li>Scaffolding an app with <strong>Yeoman</strong> to reduce boilerplate to 0.</li><li>The <strong>ease of testing</strong> your app at both unit & end-to-end levels.</li><li><strong>Communicating between controllers</strong> and handling global state.</li><li>Decomposing your application into <strong>Services & Factories</strong></li><li>Understanding how Angular's <strong>dependency injection</strong> wires everything up.</li><li>How to resolve <strong>common pitfalls</strong> to avoid rage.</li></ul><hr><h3>Get involved!</h3><ul><li><strong>Saturday February 9th</strong></li><li>Inspire9, Level 1, 41 Stewart St, Richmond VIC</li><li>9am to 1pm with a short break, then down to the pub for a chat.</li><li>$300 per person (GST + fees included).</li><li><strong>A small group</strong> (max 8) of similarly awesome people to learn with.</li><li>It'll be hands-on, so <strong>bring your laptop</strong>!</li></ul><hr><div style="width:100%; text-align:left;" ><iframe src="http://www.eventbrite.com.au/tickets-external?eid=5391116976&ref=etckt&v=2" frameborder="0" height="214" width="100%" vspace="0" hspace="0" marginheight="5" marginwidth="5" scrolling="auto" allowtransparency="true"></iframe><div style="font-family:Helvetica, Arial; font-size:10px; padding:5px 0 5px; margin:2px; width:100%; text-align:left;" ><a style="color:#ddd; text-decoration:none;" target="_blank" href="http://www.eventbrite.com.au/r/etckt">Sell Tickets</a> <span style="color:#ddd;">through</span> <a style="color:#ddd; text-decoration:none;" target="_blank" href="http://www.eventbrite.com.au?ref=etckt">Eventbrite</a></div></div><hr><script>var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-32408977-2']);
_gaq.push(['_setDomainName', 'angularjsftw.com']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script></body></html><!----><!-- script--><!-- WebFontConfig = {--><!-- google: { families: [ 'Lato:300,400:latin', 'Allura::latin', 'Montserrat:700:latin' ] }--><!-- };--><!-- (function() {--><!-- var wf = document.createElement('script');--><!-- wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +--><!-- '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';--><!-- wf.type = 'text/javascript';--><!-- wf.async = 'true';--><!-- var s = document.getElementsByTagName('script')[0];--><!-- s.parentNode.insertBefore(wf, s);--><!-- })();-->
Jump to Line
Something went wrong with that request. Please try again.