For the longest time we committed our entire node_modules folder here at uShip. We recently made the switch to npm On-Site. This is our journey. How We Use npm At uShip Here at the ‘Ship we don’t actually run a node server in production, we just use node for our front-end build system. This includes… Read More
shipping code
From Zero To Swagger: Retrofitting an Existing REST API to an API Specification Using Swagger
Introduction Here at uShip, our web services have gone through quite a change over the last few years. We have gone from SOAP based services to a RESTful API. Recently we dipped our toes into Swagger, an API specification framework, to provide more value to our developers and external partners. Why Swagger? We originally started… Read More
An NHibernateMARE on Elm Street
We use (and generally like) the ORM NHibernate for MS SQL Server data access, but we understand why you might not. Ohhhh, the things we have seen! We’d like to share some of our favorite horrors, so that you can avoid them. Originally, our Repository<TEntity> base class implemented IEnumerable<TEntity>. This allowed us to do clever things… Read More
uShip at HackTX Fall 2015
Here at uShip, we love hackathons. Recently, some us went down to the University of Texas at Austin’s annual hackathon, HackTX, hosting over 750 students from all over the state. As a company sponsor, we acted as mentors for the student hackers, helping them solve a wide range of problems – anything from general Android… Read More
End to End WebApi Configuration, Part 1: StructureMap
At uShip we’re slowly migrating to a microservice architecture from our existing massive monolith which consists of a large legacy Web Forms project, a Web Api project, and an MVC project. This has a lot of benefits, one of which is that we get to take the lessons we learned setting up the monolith and… Read More
Implementing API Errors with Web API and FluentValidation
In a previous article, we talked about how APIs should return RESTful error responses so that API clients can act on them. There are plenty of articles like this one that talk about how to actually integrate the FluentValidation framework into the Web API pipeline, so we won’t go into the plumbing details. Below is… Read More
Actionable RESTful API Errors
No matter how hard your API clients try, they will eventually get back errors from your API. apigee has an excellent blog post describing the reasons why detailed error messages are incredibly important for API client developers when starting to consume your API. When designed and used appropriately, these errors can be immensely useful to… Read More
.NET Web Applications Running in Docker
Here at uShip, we love to try interesting things during our hackathons. Recently, Greg Walker and I decided to try to get one of our front-end solutions up and running in a docker container. Since docker containers have to run on Linux, that meant getting the project running on Mono first. Installing Mono To start,… Read More
Unit Testing Around Singletons with OCMock
Whether you agree with the use of singletons or not, you can’t completely avoid them as an iOS developer. Apple provides some critical functionality through singletons exposed in its iOS SDK, but it can be quite difficult to write unit tests around code that accesses them. In this article, I will describe a couple of… Read More