Author

What’s New from Apple’s September Event

Apple just announced some new things – here’s the low down on what Apple revealed at their event. The first things covered at the event were some things we already knew about, but which, at the Event apple elaborated upon. Apple Arcade Highlighted first was Apple’s new Exclusive Games Platform for their devices – offering... » read more

Relational Databases and SQL

What is a Relational Database A Database is a collection of related data, and a Relational Database is a database that has “relations”. Where, formally, a relation is a subset of a cartesian product of sets. Informally, a relation is a “table” with rows and columns. Therefore, a “Relational Database” is a database that arranges... » read more

Designated Initializers vs Convenience Initializers (in Swift)

Initialization means to set to the value, or put in the condition, appropriate to the start of an operation. In Swift, “Initialization is the process of preparing an instance of a class, structure, or enumeration for use. This process involves setting an initial value for each stored property on that instance and performing any other setup... » read more

Useful WWDC 2019 Sessions

In this article, I’ll aim to briefly outline some of the most interesting talks from WWDC 2019 along with a short summary of what they cover. This is a work in progress and I intend to continue to update and edit it to be more useful over the next week or two. If a talk... » read more

Unit Testing & Dependency Injection in Swift

Unit Testing is a way of testing software which involves testing the following to see if they work as expected: Individual “units” of source code Sets of modules with associated control data Usage Procedures Operating Procedures. The term unit can mean a class but could also be just an individual method, and this type of... » read more

Using RESTful APIs in Swift

This article will cover how we go about using RESTful APIs in Swift: we’ll start by covering what a RESTful API actually is and move on to cover how we go from knowing we have one of these things available to actually being able to use it in our apps. The article is will not... » read more

Graphs & Graph Search Algorithms

A Graph is an important data structure in computer science; it is defined as a collection of nodes with “edges” between some of the nodes. When we talk about Graphs that category includes Trees, however not all Graphs are Trees. “Graphs arise in various real-world situations as there are road networks, computer networks and, most recently,... » read more

What are Protocols? How do We Use Them?

A protocol defines a “blueprint of methods, properties, and other requirements that suit a particular task or piece of functionality”. They can give also give nominal types polymorphic behavior. In Swift, the “protocol can then be adopted by a class, structure [a struct], or enumeration [an enum] to provide an actual implementation of those requirements.... » read more

Stacks & Queues (Data Structures)

In this article, I will briefly explore Stacks and Queues. We will also look at how we can implement these data-structures in Swift, and furthermore we’ll look at the types of applications which we can use stacks and queues for. As an aside, you will often hear stacks referenced in the context of memory management,... » read more

Certificate Pinning for iOS Apps

What is Certificate Pinning? Certificate Pinning refers to a technique of associating a host with an expected X.509 certificate, which is a digital certificate using the accepted international X.509 Public Key Infrastructure standard. By creating such an association, a browser or app is able to detect a change in the certificate used by a host,... » read more