At Adobe's ColdFusion Summit (2017), I was able to attend Brian Klaas's presentation, "Level Up Your Web Apps With Amazon Web Services." Brian is an engaging speaker - he conveyed excitement, knowledge, and real-world insights into the often overwhelming AWS ecosystem. I was particularly intrigued when he explained that ColdFusion could interact directly with AWS, via the Java SDK.
I've recently begun working on a CFML project that involves interacting with AWS Lambda. I'll be posting more on that later, but one of the helpful bits of code that came out of the project was a small function to parse Amazon Resource Names (ARNs) into their component parts.
I'm flying home from my first CFSummit - what a great conference! I gave a ColdFusion-centric version of my send.Better() - Giving Email a REST presentation (slides here) in the first slot of the first day, so I was able to focus on and enjoy the rest of the sessions.
I'm speaking next month at Adobe ColdFusion Summit 2017 in Las Vegas. In preparation, I was reading the documentation for cfmail
and was surprised to learn that it had a boolean debug
attribute. While it might not be a hidden gem, if you're sending emails via STMP, you might find this option helpful to, yes, debug email issues.
Admission: I've only recently started using tags to version my Git repositories. I had the (mistaken) idea that the process was difficult and never bothered learning the specifics. Working more with open source projects eventually lead to the realization that tags and versioning provided a developer-friendly road-map for interacting with the codebase. When I decided to familiarize myself with Git's tagging workflow, I was pleasantly surprised how simple it was.
This past weekend I had the opportunity to present at NCDevCon in Raleigh, NC. The title of my session was send.Better() - Giving Email a REST.
My latest side project has been developing SendGrid.cfc a CFML wrapper for the SendGrid API (v3). This post isn't about the API or SendGrid.cfc though; it's about the Builder Pattern. Apparently this approach to handling complex objects is well-known in the Java world, but I had not encountered it in ColdFusion before. So, if you're new to this design pattern (like I was), or you just want to see a real-world application of it, read on...
This is the third in a series of posts about getting started with Docker. In the first I set up Docker on my machine; the second covered running ColdFusion on Docker (with Lucee). My next step was to tackle Adobe ColdFusion (ACF), which turned out to be easier than anticipated.
I just got Docker up and running, and now I want to use it to run some of my actual ColdFusion code. I've primarily worked with Adobe ColdFusion (ACF), but at this point, the most prominent Docker development for CFML is being done with Lucee, so I'm going to use that for my initial attempt.
Our team is planning on moving to Docker in the coming months. After attending a number of Docker-related sessions at cf.Objective() this past week, it seemed time to get my hands dirty and actually start working with it. The following is a painfully simple walkthrough of the steps I took to go from zero-to-Docker.