Web Proxy Using Nginx and Docker
Need SSL or Basic Auth? Standup a proxy in less than 5 minutes using Nginx and Docker.
I needed to secure (basic auth) a mongo-express
instance last night and this little trick with Docker and Nginx blew me away (with how simple it was).
This tutorial assumes you have Docker installed (on Amazon Linux it's as simple as sudo yum install -y docker
).
1. Generate a password file:
You will need to have . . .
Do you really need a UUID/GUID?
The architectural consequences of using UUID/GUID's may outweigh their benefits.
For the purpose of this post, I will use UUID (Universally Unique Identifier) to mean both UUID and GUID (Globally Unique Identifier, Microsoft's implementation of UUID).
I've been thinking a lot about UUID's lately. The system I've inherited at work is plagued by their usage. To many developers, the UUID . . .
"Third-Time Principle" of Defining Abstractions
In general, only on the third time of encountering a common behavior should you refactor components to share a common abstraction of that behavior.
Clarification: The abstraction could be an abstract class
or interface
depending on the use case and language.
I've generally used this principle when I'm . . .
MEAN's great, but then you grow up.
Develop a prototype, then reflect on your choice.
The MEAN stack (MongoDB, Express.js, Angular.js, Node.js) is now being heralded as the new LAMP (Linux, Apache, MySQL, PHP), the preferred technology stack for startups.
MEAN is certainly a great technology choice for organizations (particularly startups) seeking to rapidly prototype a capability. However, like all technology . . .
Software Estimation is a Losing Game
Should we even bother?
This is an argument, and like all arguments, it's supports a specific position. I don't try to defend software estimation; I leave it to my colleagues to present that case. I write about this issue because I believe the software community needs to have an internal debate about whether software estimation in its current form is . . .
Software Engineering is not a Job.
It's a Profession.
Warning - this is a rant about those 10-20% of software professionals that give the rest of our community a bad name.
One of my biggest annoyances in technical management is the 9-to-5 Software Engineer. A 9-to-5 Software Engineer (or developer) is someone who views their position simply as a way to pay bills. For them, . . .
Revel, GORP, and MySQL
Building a classic 3-tier web application controller in Golang.
This is a compilation of things I've had to piece together from blog posts, example projects, and experimentation. I hope it saves you a bunch of time.
Goal:
Build a simple Revel controller that performs CRUD operations against a MySQL database.
Caveats:
- Use RESTful Paths.
- Use JSON request . . .