Open in app
Home
Notifications
Lists
Stories

Write
James Collerton
James Collerton

Home
About

Pinned

How I Would Design… An API Rate Limiter!

A system design demonstration — Audience This article is the next in my series of how I would design popular applications. It is recommended (although not entirely necessary) to read the previous posts I’ve helpfully compiled in a list here. We will expect a basic familiarity with architecture principles and AWS, but hopefully this post is…

Software Development

9 min read

How I Would Design… An API Rate Limiter!
How I Would Design… An API Rate Limiter!

Published in The Startup

·Pinned

A Trip Through Spring Security

What can Spring do to help me secure my application? — Audience This article is aimed at developers with a solid understanding of the basics of Spring and web security. It marries up the two concepts, concluding with a worked example of using Spring Security with Spring Boot. Argument Spring Security is centred round two core concepts: Authentication: Verifying you are who you…

Spring Security

8 min read

A Trip Through Spring Security
A Trip Through Spring Security

Published in Nerd For Tech

·Pinned

A Crash Course in Caching

An introduction to caching principles — Audience This article is aimed at developers with a reasonable understanding of how the internet functions, contemporary application architectures and AWS. It will cover what caching is in a more general sense, the motivation behind using it, and then deep dive into specific implementations. Argument A cache stores previously used or computed…

Cache

11 min read

Getting That Cache Money
Getting That Cache Money

Pinned

AWS Kinesis with Java

An introduction to Kinesis using Apache Camel and Spring Cloud Stream — Audience This article is aimed at developers with a reasonable understanding of Java and Spring, but no experience whatsoever with AWS Kinesis, Apache Camel or Spring Cloud Stream. It will explain the role of message brokers, introduce Kinesis and conclude with a worked example based on Twitter data. Argument Message Brokers Message brokers act…

AWS

8 min read

AWS Kinesis with Java
AWS Kinesis with Java

Published in BBC Product & Technology

·Pinned

Rebuilding the BBC moderation platform

Creating an amazing space for audience participation! — At the BBC, we put audiences at the heart of everything we do, so it’s important they feel they have a safe space to interact with all of our online products. …

Software Engineering

5 min read

Rebuilding the BBC moderation platform
Rebuilding the BBC moderation platform

Mar 11

How I Would Design… A Search Engine!

A System Design Demonstration — Audience This article is the next in my series of how I would design popular applications. It is recommended (although not entirely necessary) to read the previous posts I’ve helpfully compiled in a list here. …

Software Engineering

7 min read

How I Would Design… A Search Engine!
How I Would Design… A Search Engine!

Feb 25

Knapsack Problems

🎶 I love to go a-wandering, a knapsack on my back 🎶 — Audience This article is aimed at engineers with a reasonable understanding of algorithms but who are looking to learn about the knapsack problem. The examples will be written in Java, so a superficial understanding will be useful, but even without it you should be able to muddle through. We will also…

Coding

3 min read

Knapsack Problems
Knapsack Problems

Feb 11

A Crash Course in Greedy Algorithms

Gimme, Gimme, Gimme — Audience This article is aimed at engineers with a reasonably good understanding of programming, data structures and algorithms. It is mainly based in Java, so an understanding of the language is very useful. However, as long as you appreciate its core concepts you should be fine. Argument Greedy algorithms are used in…

Coding

7 min read

A Crash Course in Greedy Algorithms
A Crash Course in Greedy Algorithms

Jan 28

A Crash Course in Streaming

Processing infinite data sets — Audience This article is aimed at engineers with a basic understanding of when we may want to collect and analyse large amounts of data. You don’t necessarily need hands on experience of designing such systems, but will need an appreciation of when these sorts of problems occur. Argument Let’s begin with why…

Streaming

7 min read

A Crash Course in Streaming
A Crash Course in Streaming

Jan 14

A Crash Course in NoSQL vs SQL

Storing your data! — Audience This article is aimed at developers looking to explore the difference between relational and non-relational data stores. It is aimed at people with at least a fleeting understanding of the differences already, and looks to expand on those themes. If you’ve never encountered either paradigm then I would do a…

Data Science

10 min read

A Crash Course in NoSQL vs SQL
A Crash Course in NoSQL vs SQL
James Collerton

James Collerton

Principal Software Engineer at the BBC

Following
  • Pinterest Engineering

    Pinterest Engineering

  • AirbnbEng

    AirbnbEng

  • Netflix Technology Blog

    Netflix Technology Blog

  • Design at Meta

    Design at Meta

  • Skyscanner Engineering

    Skyscanner Engineering

See all (10)

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Knowable