Maps and Entities and JPA, OH MY!

Ryan McCullough Articles, Development Technologies & Tools, Programming Leave a Comment

A client Iโ€™m working with has an email templating system that needs an upgrade! The current design utilizes a denormalized table that needed to grow a column every time a new unique token is needed. After a review of the offerings through JPA, I was happy to see that JPA had some support for java.util.Map through joins through a variety of the @MapKey annotation.

In this post, I’ll demonstrate the less frequently used methodology of applying and populating a Map of entities using a single table and a composite key.

More on Accessibility-First Programming

Todd Horn Articles, Development Technologies & Tools, Opinion, Programming Leave a Comment

A few months back, Aaron wrote about the high-level aspects of Accessibility-First Programming, its importance, and specific strategies and tools for applying it within your software development process. It included insights and suggestions for Color and Contrast, Focus Management, the use of ARIA tags and attributes, and testing strategies and tools – all of which are important things to consider.ย 

In this post, weโ€™re going to dig in a little deeper on three of those topics that I used on my last project: ARIA, the WCAG and what is needed for compliance, and some design principles of accessible design. Weโ€™ll include insights and further reading on relevant topics to help you better understand how to implement accessibility-first programming in your own development.

Go To SQL

Gabe Schmidt Articles, Databases, Go, Programming, SQL, Tutorial Leave a Comment

In between projects here at Keyhole, Iโ€™ve been tasked with applying a relational database access and mapping framework in the Go language.

In this post, I go step by step to create a Postgres relational database, then perform CRUD operations against it in the Go language.

I wonโ€™t get into the specifics of configuring Go in this blog, but you can check it out yourself here – https://golang.org/. Additionally, Keyholeโ€™s very own David Pitt wrote an excellent primer on the subject here – https://keyholesoftware.com/2019/09/26/go-on-the-fly/.

Documentation: Enough Already! Not.

Mike McCoy Articles, Consulting, Programming, Soft Skills Leave a Comment

Documentation. I know we all hate having to create it. I don’t like writing it and feel like I always leave something out. However, our assumptions of what other developers should think we are trying to accomplish by our masterpieces of software are usually filled with potholes (sometimes big ones). The truth of the matter is that no matter how stellar your code or software is – if you’re the only one who understands how it works, it doesnโ€™t do any good.

These are not paintings or sculptures that would live the rest of their days in a museum, untouched by human hands and just collecting dust as they run. In reality, documentation will be added to and changed as the information they describe evolves.

In this blog, we discuss two suggested strategies for the creation of useful and concise software documentation.

Go On The Fly

Go “On The Fly”

David Pitt Articles, Development Technologies & Tools, Keyhole Creations, Programming, Tutorial Leave a Comment

People that know me, know that I love to fly fish and tie flies. I made up the saying โ€œTime flies when youโ€™re tying flies.โ€ It is true, just like when you are trying to solve a programming problem, time flies.

Over the past few years, we at Keyhole have utilized Docker (with assorted technologies) and have gotten up to speed on the Hyperledger blockchain framework. Something that all of these technologies have in common is the Go language. Go is the language used to implement Docker, Hyperledger, OpenShift, and many other system-level applications.

Personally, I like to peek under the hood to better understand the tools Iโ€™m using. That led me to learning about the Go language. And in my opinion, the best way to learn a language is to build something.

So, I built an application for fly tying videos. There are numerous fly tying tutorials on YouTube, so I built an application that allows them to be organized into virtual fly boxes and types.

In this blog, I will introduce you to the Go language. Weโ€™ll go over some of the key language concepts by walking through how the https://flytyerworld.com server-side API is implemented using Go.