Skip to content

Jesse's Software Engineering Blog

Jesses Software Engineering Portfolio and Blog The purpose of Jesse's 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.
Apr 17

AWS Serverless Application Model

AWS Serverless Application Model (AWS SAM) is an abstraction of AWS CloudFormation for templating serverless AWS applications. Using a templating tool to define serverless infrastructure can be extremely helpful as applications grow in size. Codifying infrastructure allows for more visibility and replicability of services. I am going to highlight to some of the benefits of […]

Apr 10

AWS CloudWatch Metrics

AWS CloudWatch metrics are an extremely beneficial tool for monitoring both application code as well as AWS infrastructure. AWS offers many metrics for all of their services, as well as the ability to both push custom metrics and to parse CloudWatch logs to build custom metric filters. These metrics can be used to build dashboards, […]

Apr 04

AWS CodePipeline Continuous Deployment

AWS CodePipeline offers a continuous deployment pipeline which integrates well with serverless architectures. It offers infrastructure creation via AWS CloudFormation, code integration with GitHub (or other) code repositories, building and testing with AWS CodeBuild, and deployment with AWS CloudFormation (or AWS CodeDeploy). CodePipeline allows for various stages in the pipeline which correlate to steps such […]

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, […]

Blog Powered By Wordpress
<<< Prev