Thursday, October 29, 2015

Programming Node.js and MongoDB

Writing a mobile app and need to write backend services to support your apps? With the arrays of server-side technologies, it is often mind-boggling to think about the various options available.

Introducing Node.js and MongoDB. Using Node.js, you can use your favourite programming language - JavaScript, to create server apps rapidly and easily. Node.js is designed to be non-blocking, supports event-driven I/O, and is light weight and efficient. Using Node.js, you can create your own Web server in a matter of minutes. And using it to create RESTful services is both fast and efficient.
While most apps require traditional relational databases, with the advent of mobile apps and location-based services, spatial data is getting more and more common. This is where MongoDB shines. Using MongoDB, you can query spatial data from the database from a single statement. For example, your MongoDB contains a 100,000 places of interest and you need to find the nearest ATM from a current location. How do you do this in SQL? Well, MongoDB does that in a single statement and voila! You got the result in split-seconds.


Come and join us in the upcoming courses on Node.js and MongoDB.

WEB106 - Programming Web Apps using Node.js
Course Fee
S$799 (nett; no GST)
If your company is sponsoring you for the training, your company can enjoy 400% tax deductions/ allowances and/or 60% cash payout for investment in innovation and productivity improvements under the Productivity and Innovation Credit (PIC) scheme. For more details, check out the Productivity and Innovation Credit page. 
Schedules
Start DateEnd DateDetailsCategory
Mon Nov 09 2015Mon Nov 09 2015PDF
Thu Dec 17 2015Thu Dec 17 2015PDF
Thu Mar 10 2016Thu Mar 10 2016PDF
Venue
Bayview Hotel Singapore
30 Bencoolen Street
Singapore 189621 
WEB104 - Programming NoSQL using MongoDB
Course Fee
S$799 (nett; no GST)
If your company is sponsoring you for the training, your company can enjoy 400% tax deductions/ allowances and/or 60% cash payout for investment in innovation and productivity improvements under the Productivity and Innovation Credit (PIC) scheme. For more details, check out the Productivity and Innovation Credit page. 
Schedules
Start DateEnd DateDetailsCategory
Fri Dec 18 2015Fri Dec 18 2015PDF
Fri Mar 11 2016Fri Mar 11 2016PDF
Venue
Bayview Hotel Singapore
30 Bencoolen Street
Singapore 189621  

Sunday, October 11, 2015

IOT104 – 1-Day Programming Arduino


Arduino is an open-source prototyping platform that is gaining a lot of popularity in the IoT space due to its low cost and ease of programming. Using an Arduino board, you can connect to external devices such as sensors and LED lights, and read inputs and turn them into outputs.

Topics
  • Introduction to Arduino
  • Using the Arduino Programming Language
  • Programming in C
  • Using the Arduino Libraries
  • Connecting to LEDs
  • Connecting to motion sensors
  • Connecting to LCD screens
  • Connecting to temperature sensors
Course Fee
S$1097 (nett; no GST)
If your company is sponsoring you for the training, your company can enjoy 400% tax deductions/ allowances and/or 60% cash payout for investment in innovation and productivity improvements under the Productivity and Innovation Credit (PIC) scheme. For more details, check out the Productivity and Innovation Credit page. 
Schedules
Start DateEnd DateDetailsCategory
Fri Dec 04 2015Fri Dec 04 2015PDF
Mon Feb 29 2016Mon Feb 29 2016PDF
Fri Apr 01 2016Fri Apr 01 2016PDF
Venue
Bayview Hotel Singapore
30 Bencoolen Street
Singapore 189621 

Saturday, October 10, 2015

Programming Internet of Things (IoT) Series


We have just launched our Programming Internet of Things (IoT) series. Check out the course calendar to view the schedules and outlines. 


Tuesday, October 06, 2015

JSON: A 5-Minute Introduction

JSON is getting popular by the days. JSON stands for JavaScript Object Notation. It is used in data representation as well as data transmission.

To very if a string is a valid JSON string, use the JSONLint at http://jsonlint.com

JSON Data Types

JSON supports the following data types:
  • Object
  • String
  • Boolean
  • Number
  • Array
  • null

The following sections will elaborate on each of the data types.

Object


An Object is an unordered collection of key:value pairs enclosed in a pair of curly braces ({}). The following is an example of an empty object:

{}

String

The key in an object must be a String, while the value can be either a String, Boolean, Number, Array, null, or another Object.

The following shows an object with one key:value pair:

{
    "firstName": "John"
}

An object can have multiple key:value pairs, for example:

{
    "firstName": "John",
    "lastName": "Doe"
}

Note the comma (,) after John and there is no comma after Doe.

Each key in the Object must be unique. For example, the following example is not a valid JSON string:

{
    "firstName": "John",
    "firstName": "Doe"
}

Boolean

A Boolean value can either be true or false:

{
    "firstName": "John",
    "lastName": "Doe",
    "isMember": true
}

Number

A Number value can either be an integer, or a floating-point number:

{
    "firstName": "John",
    "lastName": "Doe",
    "isMember": true,
    "weight": 79.5,
    "height": 1.73,
    "children": 3
}

Nested Object

The value of a key can also be another Object, as the following example shows:

{
    "firstName": "John",
    "lastName": "Doe",
    "isMember": true,
    "weight": 79.5,
    "height": 1.73,
    "children": 3,
    "address": {
        "line1": "123 Street",
        "line2": "San Francisco",
        "state": "CA",
        "postal": "12345"
    }
}

Array

An Array is an ordered sequence of Objects:

{
    "firstName": "John",
    "lastName": "Doe",
    "isMember": true,
    "weight": 79.5,
    "height": 1.73,
    "children": 3,
    "address": {
        "line1": "123 Street",
        "line2": "San Francisco",
        "state": "CA",
        "postal": "12345"
    },
    "phone": [
        {
            "type": "work",
            "number": "1234567"
        },
        {
            "type": "home",
            "number": "8765432"
        },
        {
            "type": "mobile",
            "number": "1234876"
        }
    ]
}

Note that arrays are denoted with a pair of brackets ([]).

null

When a key has no value, you can assign a null to it:

{
    "firstName": "John",
    "lastName": "Doe",
    "isMember": true,
    "weight": 79.5,
    "height": 1.73,
    "children": 3,
    "address": {
        "line1": "123 Street",
        "line2": "San Francisco",
        "state": "CA",
        "postal": "12345"
    },
    "phone": [
        {
            "type": "work",
            "number": "1234567"
        },
        {
            "type": "home",
            "number": "8765432"
        },
        {
            "type": "mobile",
            "number": "1234876"
        }
    ],
    "oldMembershipNo": null

}

Source code for talk in GOTO Conference Copenhagen 5-6 Oct 2015


I have attached the demos for the talk "Developing Killer Apple Watch Apps" that I delivered at the GOTO Conference, Copenhagen 5-6 Oct 2015. You can download the source code here.