Multi-stage Docker Builds

Category DevOps, Docker

Docker is a great tool for deploying scalable web applications for a large variety of technologies ranging from Node.js, Python, MySQL, and more.  We have been using Docker at Computer Know How for some time but we recently ran into a challenge with an application we were setting up for Docker.

Using insertDesignDocument to Add Views

Category Couchbase, insertDesignDocument

If you have multiple views to set up, this is something that should not be overlooked. It is well worth the time setting up a service to import all of your views automatically. It will save both yourself and others the pain of manually adding views in Couchbase. 

Scripting: Work Smarter, Not Harder

Category Python

Have you ever been given a task that seemed so repetitive or manual that you just knew there must be a better way to accomplish the task? If your answer is yes, then I have been in your shoes before. Anytime I am given a project that involves manually searching through files, converting data from one format to another, or pulling reports from data that isn’t setup for reporting, I ask myself some questions such as "how could we accomplish this quicker?" or "could this task be scripted?"

Application Persistent Database Connections

Category asynchronous programming, Couchbase, JavaScript, Tips

Applications under stress stress out their databases.

This post explores solutions to aid applications to persistently connect to their database when under unusual stress.

Couchbase is demonstrated specifically.

Asynchronous Programming with JavaScript Part 1: Introduction & Overview

Category async/await, asynchronous programming, callbacks, JavaScript, promises, Tutorials

Thanks to recent language updates, there are a variety of ways to hand asynchronous programming with the JavaScript language.

This is an introduction to the available JavaScript asynchronous programming method options: Callbacks, Promises, and Async/await.

Making MySQL Query Results More Concise with GROUP_CONCAT

Category Learning, MySQL, Tips

Group concatenation condenses items from specified columns into a list of values.
This is a bit easier to explain with visuals. Let’s begin.

Using getMulti in Couchbase

Category Couchbase, getMulti

Do you ever find yourself making Couchbase calls inside of a loop to get your documents, and you ask yourself if there is a better way? One handy method in the Couchbase SDK, version 4.5 or greater, is getMulti, a variant of the get method that allows you to perform bulk retrieval operations. 

Kubetail - Watch multiple pod logs the easy way

Category DevOps, Docker, Kubernetes, Tips, Tutorials

At CKH we have been using Kubernetes for orchestrating our Docker containers.   One of the challenges when using Kubernetes, however, is when you have a Deployment that is set to scale your app to multiple Pods, watching logs for all of those pods.  Let's talk about kubetail and how it can help us with this issue.

Improving E-commerce Security

Category E-Commerce, Security

The state of e-commerce

Electronic commerce, more often known as e-commerce, continues to grow at a staggering rate. In 2014, worldwide e-commerce sales totaled $1.3 trillion and by the end of 2017, e-commerce sales topped $2.3 trillion dollars. In 2017, U.S. Black Friday e-commerce sales alone amounted to $5.03 billion. With so much money being transferred electronically, many people are concerned about how to protect themselves online while still enjoying the convenience of e-commerce.


Category Growth, Learning, Retooling
Tech moves fast, there's no question. New languages, frameworks, ecosystems--it all develops at breakneck pace. It is simply impossible to keep up with all the things. Most of the technologists I know find something to deep-dive into, but also try to keep a pulse on what the broader community is doing. To make it a career, it's almost required to find a groove and rock it for a long time. Time spent and code written (and tested and debugged and refactored) is what allows deep context, which is what defines an effective developer. But as it goes, the tech landscape changes, clients (internal or external) require new shiny things, previously developed deep-context is no longer relevant, and the meaning of life is lost forever! (Too dramatic? Maybe it's just me? I digress...) When it's time to retool, do not lose heart! You did it once (or twice, or thrice), you can get back to being (and feeling) productive.

1 2 3 4 >>