Richard Clayton
Implementing "Options Object" Pattern using TypeScript and Joi
The Options Object pattern [1][2] is a technique in JavaScript for configuring a component using a single function parameter:
const client = createClient({
host: 'localhost',
port: 12345,
username: 'foobar',
password: 'work-at-peachjar',
});
This approach has many benefits over . . .
What's Making Me Happy - 11/30/2018
Grafana, TimescaleDB, Apache Beam, and ThoughtWorks Tech Radar Q4
Hey folks, sorry I missed the last couple of weeks (was out on vacation or busy at work). However, I'm back just in time for the holidays with another addition of "WMMH" in the software world.
The theme for this week is data analytics. I've been working on a metrics project at work and have been pleasantly surprised . . .
What's making me happy - 11/07/2018
Inspired by NPR's Pop Culture Happy Hour, I'm going to try posting once a week about topics in technology that are making me happy.
Lately, I've been working on our EDA platform at Peachjar that uses NATS as a Command/Query transport and Kafka as an event store. Naturally, adding any technology to your infrastructure . . .
Node.js and Kafka in 2018
Yes, Node.js has support for all of the Kafka features you need.
If you want to use Node and Kafka together and are struggling to find straightforward answers to some basic questions, I hope this helps you out. We've been building out an event system at Peachjar using Node and Kafka and some of this knowledge is the fruit of our research.
What are the popular Kafka clients in Node?
- . . .
How to Use the Instance Role Credentials Manually on an EC2 Instance
A couple of days ago I found myself needing to use the AWS CLI to perform some actions using the IAM Role of the local EC2 instance (and not my own -- partly because I didn't want to use/leave my credentials on the machine).
Crawling through the AWS documentation, I pieced together the steps one should follow to perform this . . .
Container Services: Logging and Reporting
Logging and Exception Reporting are two obvious operational features every service must include. As we learned in the last post, Application Support in Docker-based Microservice Environments, building and deploying microservices makes implementing log infrastructure significantly more difficult.
The most difficult problem DevOps . . .
Posted in: architecturemicroservices
Use State Machines!
FSMs are not as complex as you think and they make your code better.
What is a State Machine?
Finite State Machines (FSM, or in the context of this post, simply "State Machines") are a methodology for modeling the behavior of an entity with an established lifecycle. The lifecycle is defined by an enumerated set of states known at the time of implementation (this is where the term . . .
Posted in: architecturenodejs