Raju Gandhi is a Java/Ruby/Clojure developer and a programming language geek. He has been writing software for the better part of a decade in several industries including education, finance, construction and the manufacturing sector. Raju has a graduate degree in Industrial Engineering from Ohio University. In his spare time you will find Raju reading, or watching movies, or playing with yet another programming language. He is affectionately known as looselytyped on Twitter.
Angular is a new JavaScript framework from Google. If you are looking into developing rich web applications, Angular is your friend. Angular embraces HTML and CSS, allowing you to extend HTML towards your application, and uses plain JavaScript which makes your code easy to reuse, and test. In this workshop we will start from the ground up, and build our way through a simple application that will let us explore the various constructs, and the familiarize ourselves with some of the new terminology in Angular.
In this workshop we will get down and dirty with Angular. In this workshop we will start with the very basics of how to boostrap our AngularJS application, and work slowly towards making REST-ful AJAX requests to a backend. List of topics include
ng-appng-init and the evaluation {{ }} directive$rootScopeng-modelng-repeatng-form, form validation and submission in AngularJS$http$routeProvider and $routeParamsIf time permits we will discuss a few good practices when working with AngularJS applications.
This is a hands on tutorial so bring your laptops!
JavaScript will celebrate it’s 19th birthday in 2014. For a language that has been around for such a while it has seen very few, if any changes to the language itself. Well all that is about to change with ECMAScript.next (or ECMAScript 6). ECMAScript 6 modernizes JavaScript syntax, while bringing in features such as modules for better namespacing, class as a first class construct, and a variety of additional operators thus ensuring that JavaScript is ready for the next era of large scale modern web applications.
In this session we will take a look at some of the features that ECMAScript 6 brings to the table and see what kind of browser support is available for it.
JavaScript will celebrate it’s 19th birthday in 2014. For a language that has been around for such a while it has seen very few, if any changes to the language itself. Well all that is about to change with ECMAScript.next (or ECMAScript 6). ECMAScript 6 modernizes JavaScript syntax, while bringing in features such as modules for better namespacing, class as a first class construct, and a variety of additional operators thus ensuring that JavaScript is ready for the next era of large scale modern web applications.
In this session we will take a look at some of the features that ECMAScript 6 brings to the table and see what kind of browser support is available for it.
In this session we will look at some JavaScript patterns, and how you can use them within your code.
No longer can you think of JavaScript as a kiddie-scripting language. JavaScript has now been promoted to a first-class citizen within your application – and with this, comes the need to think of better abstractions, code re-use – even thinking of establishing a common vocabulary to discuss approaches to writing better, cleaner and ultimately more maintainable JavaScript code.
In this session we will look to see how we can refactor our learning – what tools, and methodologies can we use to help us learn quicker and better – how we can create a store that gives us quick access to information when we really need it.
We all work in an industry in which not only do the tools that we use change ever few years, but one in which we have to shift the very paradigms these tools are built on! Even the most trivial of projects entails tens of different toolkits, frameworks, and languages coming together, and somehow we need to know how to leverage each one. How does one keep up? Despite all our years in schools, and our in-born nature to learn, we often are never taught how to learn. How can we learn faster, and retain even more?
In this session we will take a look at various tools and techniques available to us and see how we can make our learning effective.
Gradle has fast become one of the de-facto build tool in the Java ecosystem. Gradle offers a powerful DSL to configure your builds. Whether you have a simple build, or a complex build with many moving parts, Gradle’s DSL and extensible API can help you make your builds easier, and possible.
In this sessio we will start from the ground up. We will write our first Gradle script and examine Gradle’s configuration vs. execution phases. We will see how Gradle uses plugins to add on functionality for free to your build and end with a look at the Gradle Plugin API to see how easy it is to write your own plugins for better reuse.
Gradle has fast become one of the de-facto build tool in the Java ecosystem. You might have used Gradle to build your project without realizing how much more Gradle has to offer. Up-to-date checking, automatic clean, file operations such as copy, move and zip and so much more are just some of the features that Gradle offers right out of the box.
In this session we will explore some of these features and how we can use them within our own builds.
Asynchronous AJAX calls, especially those that deal with REST principles are something that all client side frameworks support, and AngularJS is no different. However, in order to truly benefit from AngularJS’s support for asynchronous calls, one must understand the various moving parts that make this a reality. This includes promises (with AngularJS’ $q library), $http and $resource.
In this session we will explore all the three components that make async calls in AngularJS possible. We will start with understanding the “why” of promises, and how we are to consume and produce promises. We will then dive into some of the inner workings of $http and how it leverages promises under the covers. We will end with an overview of $resource, which combines $http and promises to make working with REST-ful resources a breeze.
Git, at it’s core, leverages a relatively simple data structure to maintain history. In this session we will take a look at this data-structure, which in turn will give us a better view of how Git manages history, and how better to work with it. NOTE: This is NOT an introduction to Git. This session assumes familiarity with Git concepts such as init, add, commit and merge.
Git has fast emerged as one of the leaders in DVCS. Git may seem arcane, but under the covers, leverages a very simple data-structure to store your version history. As developers, it has always serves us well to know how things fundamentally work, and Git is no different. In this talk we will explore this data-structure, and how the various commands you invoke against Git mutate it.
Visualizing data often requires that the visualization be updated on data changes, or in response to user input. As we know, a key strength of AngularJS is its 2-way binding and apply/digest cycle which makes keeping the view and data-model in sync painless. This makes creating dynamic visualizations with or without interactive data a breeze with Angular.
This is a 2 session series. In this first part we will look at some of the underlying constructs in D3, and AngularJS directives. The second part of this session will attempt to bring these 2 together to allow us to enable dynamic visualizations in Angular.
Visualizing data often requires that the visualization be updated on data changes, or in response to user input. As we know, a key strength of AngularJS is its 2-way binding and apply/digest cycle which makes keeping the view and data-model in sync painless. This makes creating dynamic visualizations with or without interactive data a breeze with Angular.
This is a 2 session series. In this first part we looked at some of the underlying constructs in D3, and AngularJS directives. This second part will attempt to bring these 2 together to allow us to enable dynamic visualizations in Angular.