When working on mobile apps, we interact with APIs all the time. In order to connect to these APIs, we use API keys. These API keys are very important, as they map/identify us as a unique user of the system we are trying to integrate with. We always need to make sure these API keys are not accessed by unintended users. Rate limiting, quota control, and security are some of the reasons why API providers have API keys.
One of the good security practices is not to save secrets and API keys as part of your source code. But if we don’t put them in the source code, how will our code know about them and consume them? Well, the answer to the problem is using a security tool called a “vault.” There are various vault options to store secrets. We will talk about the Hashi Corp Vault System. …
Your Reputation Precedes You!
Thanks to the Internet, the world has become a global village. The ways we communicate today with each other is more than we can count. It takes a couple of clicks to communicate with people around the world. We can leverage this power to share our ideas with others and learn from others at the same time. When it comes to developers, they can share and learn from devs around the world which leads to an informed, intelligent dev community. A lot of times developers tend to overlook the importance of online presence. …
I can’t state enough how important the version control system is for software development. It is very important how we track changes in our system. We need to pick a version control that suits our needs. Let's dive in!
A version control system is basically a software tool that helps you track and manage changes to source code with time. Version control systems track every kind of change made by the developer. If something goes wrong, a developer can always go back in time, compare it with an earlier version of code, and fix it. …
Mobile apps are everywhere today, there is an app for everything you can think of. And there are more getting created every single day!! In this situation how do we make sure our app is successful? Join me in this article as we explore the 9 things to make your next app successful….
The number of smartphones to be used around the world by end of 2020 is predicted to be 3.5 Billion. Users spend 90 percent of that time on apps.
There are over 2.7 million apps in the Google Play store and 2.2 million in the App Store. …
As a developer, we should always follow a design principle that acts as a guide to structuring our code so that it is modular, easy to read, easy to understand, and scalable. In this article, I will be discussing behavioral design pattern, how to use them, and their implementation in Swift. Read on!
Design Pattern falls mainly under the following categories
In this article, we will cover the Builder Designer Pattern which is a type of Creational Design Pattern
We create objects for our classes to leverage the functionality a class provides. Sometimes object creation is simple and can be done by the simple initializer. Other objects might have complicated requirements, for eg, it may require a lot of arguments to initialize the object, which in my opinion is too cumbersome and non-productive. Also, we might need to mix and match these params for initialization. In these cases, we should go for piecewise initialization/construction. For accomplishing that we need an implementation that provides us a step-by-step mechanism so that we have an easier API way of accessing things with granular control of object creation version. …
Sets are basically a collection of items that aren’t ordered but are unique. Let's go over different operations/functions that Swift has when it comes to Sets.
Sets in Swift are of a generic nature, so they can hold any type if it conforms to the
Hashable Protocol. For the sake of simplicity, we will use
var fruits = Set<String>()
We can also initialize a set with some default elements.
var fruits:Set<String> = ["apple","mango","guava"]
We can set a space pre-allocated for a minimum number/capacity.
var fruits = Set<String>(minimumCapacity: 2)
Set conforms to the
Collection Protocol, we can use a check for
Thanks to the mobile era, we have mobile apps for everything these days. Every business from a barbershop to huge retailers has apps so that they can be closer to their customers. On one hand, we really leverage this convenience. On the other hand, there are risks of exposing a lot of confidential information while using these apps. This becomes vital when dealing with payments and other sensitive information.
As developers of these apps, it is our responsibility to put checks to make sure privacy and security are not compromised. Here is a comprehensive list of security best practices. …
It is very hard to stay positive when everything around you is going south. In the case of a pandemic, it is even worse. But, now more than ever it is important to stay positive for your mental health. We need to connect and constantly check with ourselves, our feeling our mental health to stay positive in the current times of fear, uncertainty, loneliness, negative news, grief, social distancing, potential risk of loss of employment, etc.
Here I am sharing some of the tips that have worked for me in getting through this situation. …
Thanks to the mobile era we have mobile apps for everything these days. Every business from a barbers shop to huge retailers has apps so that they can be closer to their customers. On one hand, we really leverage this convenience but on the other hand, there are risks of exposing a lot of confidential information while using these apps. And it becomes very vital when dealing with payments and other sensitive information. As a developer of these apps, it is our responsibility to put checks to make sure privacy and security are not compromised. …
Here is how the story began! I was asked by product team to run the app under development on their machines. Not all the members own the physical iOS device which obviously aren’t cheap :D. As a developer I think everyone will agree with me that product teams in the company are always eager to get their hands on the project status in a tangible manner. And when it comes to a mobile app, eagerness is even more as everyone has a smart device in their pocket.
This was an interesting requirement so I set out to explore solutions. …