Skip to content

Jesses Software Engineering Blog

Jesses Software Engineering Portfolio and Blog The purpose of Jesses software engineering blog is to organize and share some techniques I use when working on software engineering projects. The articles are not written to be all inclusive tutorials, rather answers to questions or obstacles that I have come across. They can also be used for quick reference, to quickly look up syntax or usage. If you have a different approach or suggestion, please leave a comment, I would be interested to hear your feedback.
Jul 11

AWS Lambda Versions and Aliases

Lambda is a great tool for micro service architectures. They are easy to configure, scale well, and have a pay for what you use model. As the services scale out it becomes important to establish development workflows that provide easy deployments and roll backs for production code. AWS Lambda versions and aliases provide configurations for […]

May 21

Serverless Auth with AWS Cognito

The rise of serverless architectures has accentuated the need for modular, robust user auth systems. While there are many options, I’m going to take a look at serverless auth with AWS Cognito. AWS Cognito offers both security with the use of the SRP protocol and JWT, as well as easy implementation. In AWS there several […]

Apr 03

CPU Bound Workloads with NodeJS: Processor Parallelism

As discussed in the Understanding the NodeJS Event Loop post, NodeJS is a great language for high I/O workloads. For any program or service that is expected to be I/O bound, NodeJS is arguably one of the best languages for the job due to its asynchronous event model. The single threaded, event loop architecture allows […]

Mar 13

Understanding the NodeJS Event Loop

While there are numerous articles and documentation written about the NodeJS event loop, I wanted to a write about the event loop to help solidify the concept for myself. Being a Node developer it is important to understand what the “event-driven, non-blocking I/O model” paradigm is and how asynchronous functions are being executed. Simply put, […]

Mar 04

Sorting Algorithms

Here is a great resource animating the efficiencies of the various sorting algorithms. Selection Sort Time Complexity:  O(N^2 / 2)  Space Complexity:  O(1)  The selection sort iterates an array, finds the smallest value and swaps it with the value in the current slot (starting at the beginning of the array), then moves onto the next […]

Jan 15

Serverless ReactJS with AWS S3

Serverless computing compliments the microservice architecture very well. Instead of provisioning and monitoring a fleet of servers for all the various services, simply use the serverless architecture, only pay for what is used, and don’t spend dev time on maintaining and monitoring infrastructure. Also, by serverless’s cloud based nature and consumption use pricing, serverless architectures […]

Dec 26

Binary Search Tree

Binary search trees are excellent data structures for determining relativity i.e. determining where keys are stored in relation to other keys, on data sets that need to be updated. Sorted arrays can be used for relativity using a binary search algorithm which provides search in O(logn); however this is only efficient on static data sets, […]

Dec 07

NodeJS ES7 AWS Lambda

Running Node.js ES7 on Lambda is straightforward with Babel JS. While slightly inconvenient to have to rely on a compiler, some of the ES7 features such as async/await are invaluable to modern JavaScript programming. Along with deploying ES7 applications, comes the need to be able to test Lambda locally as it will not be possible […]

Sep 03

AWS DynamoDB Setup

DynamoDB is AWS’s NoSQL solution. While not the most robust NoSQL solution, DynamoDB offers low latency at scale and is a fully managed service. There are some features that are a bit odd, like pre-defining table throughput and a per index pay structure, but they’re relatively minor hurdles when compared to DynamoDB’s scalability and cost. […]

Aug 27

AWS S3 Web Hosting

Amazon’s Simple Storage Service (S3) is a simple, cheap way to store data. It’s not the lowest latency storage option available, but it is a great tool for scalable, durable storage, making it a perfect candidate for hosting a website. To get a site hosted, first create a bucket and enable Static Web Hosting under […]

Blog Powered By Wordpress
<<< Prev