Ever heard about The Tower of Hanoi? It’s a famous puzzle when you have a stack of disks with different sizes and 3 rods that you are required to move all disks from one starting rod into another. Although this problem is difficult for most people when they first know about it, it can be easily solved by using recursion.
Recursion is a widely used technique in programming. It’s one of the choices to be used to solve the divide-and-conquer problems. By definition, recursion is the method of solving a problem by dividing it into smaller pieces. …
In this section, currying and partial function will be the main topic to discuss.
Not only in programming, but currying is also a common term in mathematics. It is the process to transform a function that accepts multiple parameters to a sequence of multiple functions that each of them accepts a single argument.
Take an easy example. We have a function that returns the sum of 2 numbers:
f(x, y) = x + y
We can define a function h such that
h = x + y = f(x, y)
hx(y) = x + y = hy(x)
Explain: the function…
You might heard about this before — Function Programming. Wait, aren’t we using function everyday? What is the difference?
Look at this example
This is a simple piece of code. What it does is to filter out the even number in a given array, sort them in ascending order and print out to console. How much time do you need to read and understand the code? Let me guess, at least 30s.
What about this
In less than 5s, you should now the purpose of this code. It returns the same result but less code and more readable…
Reactive programming has became popular as a useful programming paradigm for all developers in the world. It provides many concepts and tools for us to make our life easier.
To talk about Single, as describe in ReactiveX website:
Single is really useful when you want to subscribe to something once, and it only has 2 states: either success or failure. …
Protobuf, or called by its original name Protocol Buffers, is Google (not newly) invention that is created to resolve the weakness of XML. It is a method for serialization and deserialization structured data. To have a better sense of what Protobuf is, let’s take a look at this example.
You have been assigned a task from your team lead to implement a function to create and retrieve a list of order. This is the steps that often taken to implement:
Swift is a very powerful programming language and it makes developer’s life much easier since its birth. In this topic I’m gonna show 4 different ways to check if a value is in a range.
Suppose we have a value = 10, and we want to check if it is in range from 4 to 20.
SSL stands for Secure Socket Layer, which is a protocol for creating an encrypted connection between client and server. It ensures that all data pass in network will be private and integral.
How SSL works? When client establishes the connection with server (called SSL handshake):
Any of us must have a chance to work with sequence in Swift. And we must also experienced with tasks such as calculate sum of an array, or find odd items in the list. Me also. Before I knew about these higher order functions, I always have to write code to iterate through the entire array. But since I learned how to use this, I felt myself in the past was so stupid (now still stupid, but less).
Let’s start. First, what is higher order function? Here’s the definition from Wikipedia:
In mathematics and computer science, a higher-order function (also…
Today, Apple officially launched the new version of iOS — iOS 11. Along with that, they also release the new Xcode 9 yesterday. One of the great feature in this new IDE is wireless debugging. In this article I will show how to use this awesome feature.
Let’s me give a list of annoying things when living with wires and cables:
This is the part that will show how to integrate GraphQL to your iOS application. We will use Apollo, a framework that allows you to query, mutate GraphQL server and returns results as Swift types.
First, we need to install apollo-codegen, a tool to generate code and annotations from GraphQL schema and query documents. Now we open Terminal and type this: npm install -g apollo-codegen
2. Install Apollo framework
Create your Xcode project. I’ve already created a project called GraphQLExample. To add Apollo to this project, I used Cocoapods. Add this line to pod file