Introduction Using AWS Lambda we are able to run micro-service sized applications without any traditional server infastruture. These are called "serverless functions", which run inside ephemeral containers that offer several advantages over the traditional server/host configuration. We've used AWS Lambda functions for some time now. They're a great way to perform a simple computing at a large scale. And the best part - it comes without the need to manage server instances and other resources. Lambda allows you to write functions in a variety of different langauges (Java, Node.js, C# and Python). Our functions run on NodeJS. The…

We recently ran into a situation where the business logic of a project dictated that we can not have duplicate file contents. Regardless the naming convention, the contents of each file needed to remain unique. In this scenario, we were storing all types of uploaded files in a single directory. To prevent content duplication, we needed to compare the newly uploaded file with files already in the destination directory. Unfortunately, the Laravel documentation is not clear about the uploaded file class. Digging into the Laravel source code, you may find that instances returned by the file() method (from the request)…

Traditionally, many developers have opted to use relational databases when dealing with complex relationships between objects. For those of you who are used to working with relational databases like MySQL, a NoSQL database like Redis may seems like a difficult transition. While Redis is best suited for use cases like cache, queues, and leaderboards - it is possible to use Redis in front of a MySQL database. Doing this can improve overall query performance, while still allowing you to execute complex queries. Let's go ahead and dive deeper to see what can be achieved using Redis based queries. Storing Object…

Introduction We have used Cordova + Ionic in the past to quickly prototype mobile apps for clients. Its proved to be a valuable tool because it allows us to re-use existing HTML, CSS and JavaScript we may have from a web project and compile it directly to iOS, Android and other native platforms. With the release of the Apple Watch, we were curious to see if there was a way to quickly prototype apps for the watch, using Cordova. It turns out you can, with the help of Cordova Apple Watch from Telerik. This is part of a 2 part post…

Introduction Quite often we, as developers, cache resources in memory to improve app performance and reduce server load. By storing frequently accessed data in memory you avoid using CPU cycles to fetch a fixed set of data from your database. Traditionally the cache concept has been limited to static data or data that has a long lifespan. What about API's that serve up frequently changing data? Many times this data is not truly "dynamic", but rather constantly changing. It's possible to cache these type of requests using an event driven architecture. Event Driven Scenario The concept is simple - every…