If you are not new to iOS development, you know how important is to correctly decouple app components for testability and overall flexibility. Each feature should work independently from the others. Ideally, each feature should be easily replaceable with another component providing the same functionality. To achieve this result we… Read more »
Making sure that your code follows swift coding styles and conventions can be a tedious task. Especially in larger teams. You can easily automate this process by using SwiftLint. SwiftLint is a great tool that will help you a lot. In this article we’ll get you started using SwiftLint. Installation… Read more »
Coding styles can be a religious topic for some developers. It’s one of those topics where everyone has a strong opinion. Opinions aside, once we agree on a coding style and start following it, it’s easy to forget to apply it. When we’re trying to solve a problem it’s easy… Read more »
Big O notation is a tool we use to estimate how long a program or an algorithm will run. On this blog we’ve covered a lot of algorithms but we only touched on the big O notation. If you have a degree in computer science then you’re probably familiar with… Read more »
Enigma Machine was a famous cipher machine that the germans used during the World War 2. In its time it was believed to be uncrackable. Allied forces managed to crack the enigma machine during the war and Alan Turing played a key role in cracking it. In this article we’ll… Read more »
Bellman-Ford algorithm is a very versatile algorithm for finding the shortest path on an edge weighted directed graph. It differs from Dijkstra’s algorithm in that it can handle the negative cycles on the graph. In this article we’ll implement the Bellman-Ford algorithm in swift and with it conclude our journey… Read more »
A big problem currently unresolved in the swift world is in regards to enums. Filtering and equating enums in swift is verbose and might require some extra helper function or computed var on the enum itself. In HBCDigital I’m currently working with my team to a new reactive framework that… Read more »
Edge weighted digraphs can be used for a large number of things. In some cases we want to know if there’s a directed cycle between the nodes (or vertices). For example, if we’re working on a scheduling app, we would be interested to know if there’s a cycle on the… Read more »
Queue is a simple and widely used data structure that operates on a first in first out principle. Sometimes you can hear them being referred to as FIFO (first in first out) queues. In this article we’ll implement a queue with doubly linked list in swift. A linked list is… Read more »
Binary search trees are one of the most fundamental data structures in computer science. They are very efficient when inserting and searching for elements. And if you’re preparing for a technical interview it’s more than likely that you’ll be asked about them. In this article we’ll go over the theory… Read more »