Roundup #12: TypeScript 3, EFCore.InMemoryHelpers, HTTP Caching, Standards.REST

Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.

Here are the things that caught my eye this week.  I’d love to hear what you found most interesting this week.  Let me know in the comments or on Twitter.
Follow @CodeOpinion on Twitter

TypeScript 3.0

Which brings us to TypeScript 3.0! Despite the new big number, 3.0 has few breaking changes (meaning it should be veryeasy to upgrade) and introduces a new flexible and scalable way to structure your projects, powerful new support for operating on parameter lists, new types to enforce explicit checks, better JSX support, an overall better error UX, and much more!


Provides a wrapper around the EF Core In-Memory Database Provider. Specifically works around the following EF bugs.
  • InMemory: Improve in-memory key generation Reasoning: For many bootstrapping and integration tests, the id generation should be predictable, i.e. an in-memory persistence should not share static mutable state. This is especially important when using unit tests as a bootstrap to generate ad-hoc data.
  • Add foreign key constraint checking to the in-memory provider Reasoning: It is desirable for foreign keys to be validated when running unit tests. This allows bugs to be caught earlier without the need for integration testing against a real database.
  • Add support for Timestamp/row version ([Timestamp], and .Property(p => p.X).IsRowVersion()) Reasoning: It is desirable for exceptions to be thrown when a update violates a RowVersion. This allows bugs to be caught earlier without the need for integration testing against a real database.

HTTP Caching – Client and Network Caching with RFC 7234

Learn how to skip making requests that you may not need to make, so you can avoid wasting time and energy processing uneccessary requests.
Highly recommend watching this.  Especially since I think ETags seem underused not just for caching purposes but for optimistic concurrency. Link:  


A collection of standards and specifications, that help make fantastic HTTP/REST APIs. Don’t reinvent the wheel, use fantastic wheels, hashed out by experts, that solve problems you hadn’t even considered yet.
As mentioned in the above talk by Phil Sturgeon, the site provides a list of RFC’s for common problems when building an HTTP API. Link:  
Follow @CodeOpinion on Twitter

Software Architecture & Design

Get all my latest YouTube Vidoes and Blog Posts on Software Architecture & Design

Leave a Reply

Your email address will not be published. Required fields are marked *