|
Sessions
|
Applying Compiler Techniques to Iterate At Blazing Speed
|
Wiki Here
|
|
Level:
Advanced |
Room: Unknown |
Agenda Not Made Yet
|
|
In this session, we will present real life applications of compiler techniques helping kaChing achieve ultra confidence and power its incredible 5 minutes commit-to-production cycle [1]. We'll talk about idempotency analysis [2], dependency detection, on the fly optimisations, automatic memoization [3], type unification [4] and more! This talk is not suitable for the faint-hearted... If you want to dive deep, learn about advanced JVM topics, devoure bytecode and see first hand applications of theoretical computer science, join us.
[1] http://eng.kaching.com/2010/05/deployment-infrastructure-for.html
[2] http://en.wikipedia.org/wiki/Idempotence
[3] http://en.wikipedia.org/wiki/Memoization
[4] http://eng.kaching.com/2009/10/unifying-type-parameters-in-java.html
|
|
|
|
|
Extreme Testing at kaChing: From Commit to Production in 5 Minutes
|
Wiki Here
|
|
Level:
Intermediate |
Room: Unknown |
Agenda Not Made Yet
|
|
At kaChing (www.kaching.com), we are on a 5-minute commit-to-production cycle. We have adopted continuous deployment as a way of life and as the natural next step to continuous integration.
In this talk, I will present how we achieved the core of our extreme iteration cycles: test-driven development or how to automate quality assurance. We will start at a very high level and look at the two fundamental aspects of software: transformations, which are stateless data operations, and interactions, which deal with state (such as a database, or an e-mail server). With this background we will delve into practical matters and survey kaChing's testing infrastructure by motivating each category of tests with different kind of problems often encountered. Finally, we will look at software patterns that lend themselves to testing and achieving separation of concerns allowing unparalleled software composability.
This talk will focus on Java and the JVM even though the discussion will be largely applicable.
Check out http://eng.kaching.com/search/label/tests for the latest from our company's blog.
|
|
|
|
|
Level:
Advanced |
Room: Unknown |
Agenda Not Made Yet
|
|
If you want to prove that a complex system works, a good place to start is to check that each piece is working right. Unit testing intends to do just that: take a unit of your code, and verify that it behaves properly. Unfortunately, in “real” software, dependencies between classes make testing in isolation difficult. Mocking is a technique designed to overcome that issue, and replace dependencies by Mocks, lightweight versions of the “real thing”, allowing you to validate the interactions of a class with its “collaborators”.
I will discuss reasons you should care about mocks, illustrate how you would go about addressing them by rolling your own mocks & stubs, and demonstrate two free, open-source frameworks, Rhino.Mocks and Moq, which will greatly simplify your job. Mocks and Stubs can sound intimidating – the goal of this presentation is to demystify the topic and give you a clear understanding of what they are, where they can help you, and to give you a good quick-start so that you can productively use them in your own code.
|
|
|
|
|
75 min sessions
Handouts with lots of Q&A time
Hands-on demos or exercises
Chalk talks or full-on slides
Experts sharing their insights
Share with others, etc.
...and free coffee and food!
Attendance is FREE, but space is limited so you need to Register.
|