Posted on: 22 October 2014
What follows, is a brief description of the talks, and links to tutorials where available. For some of these it will be necessary to have NodeJS and MongoDB installed, if you would like to work through them. You can find a collection of linked resources at the bottom of this post.
No REST for the whippet
The very first talk, by Tom Spencer, was in fact about using Mongoose (which lets you define schemas for Mongo collections where you need them), Node and Express to build a REST API. Tom started with a presentation about the principles of building an API. This was followed by a hands-on example in which code had to be modified in order to create a working API that manipulates entries about dogs. In the tutorial, you can check your progress by running tests, as well as peek at the right solution. Find out how to do this in Tom’s blog post.
Next up was Tessa Alexander who talked about Development Tools, focusing on the commandline. But before that she asked everybody in the audience about their background as a developer which was a great way of getting to know each other. - My favourite command is probably the “!!” (which you can use to repeat your last statement, so you can write “sudo !!” if you couldn’t execute a command because of lacking permissions). Another great one is “cd -“ to get back to your previous directory. You can find Tessa’s slides online.
Making maps with JS, GoogleMaps and MapBox
In the third workshop, James Barlow demonstrated how to create Maps and add dynamic elements to them. He also pointed out different mapping services like Open StreetMap and Mapbox. You can find his tutorial with demos here: https://github.com/jmbarlow/maps-training
Using the MEAN stack
While there are some tools that let you install the compleate ‘MEAN stack’ (Mongo, Express, Angular and Node) — for example mean.io or this yeoman generator —, Denis Sellu demonstrated how beneficial it is to understand the different parts of an application. At his company Missionly, they do not use a preformatted solution. The workshop helped me understand many things that I’d not been aware of just using a scaffolding tool, and made me want to always make an effort to understand what the individual parts in a stack do.
Introduction to Functional Programming
State Machines for complex UIs
A state machine is a way of representing a system in terms of ‘states’ and ‘transitions’. The machine can only be in one state at a time. The transitions between states are also well-defined, and triggered by actions. Marcus Kielly showed us how you can program state machines that control for example a traffic light, or the interface of a little game. You can download the slides and examples.
- No REST for the whippet - Tutorial for creating test-driven REST APIs by Tom Spencer
Blog post: http://fiznool.com/blog/2014/09/16/no-rest-for-the-whippet/
- Dev Tools by Tessa Alexander
Slides and examples: https://github.com/ta5ae/web-dev-tools-101/
- Maps by James Barlow
Tutorial on Github: https://github.com/jmbarlow/maps-training
- Refactoring by Jack Franklin
Slides and examples: https://github.com/jackfranklin/codehubjs.
Book: The Refactoring Tales
- The Mean Stack by Dennis Sellu Missionly
- Functional Programming by Nico Burns
Some further material:
An article and a video on why Ramda’s approach may be better than Lo-dash/Underscores (and gives you a a good overview of the landscape): http://fr.umio.us/why-ramda/ and https://www.youtube.com/watch?v=m3svKOdZijA
A talk on the performance optimisations behind Lo-Dash https://www.youtube.com/watch?v=NthmeLEhDDM
- State Machines by Marcus Kielly
State Machine presentation and examples: https://bitbucket.org/sunwukung/state-machine-workshop