Stack Underflow — An error called when an item is called from a stack, but the stack is empty.
Stack Overflow — An error called when an item is pushed onto a stack, but the stack is full. (Also a website you can visit to obtain answers to any programming related questions).
The official definition of recursion is “a computer programming technique involving the use of a procedure, subroutine, function, or algorithm that calls itself one or more times until a specified condition is met at which time the rest of each repetition is processed from the last one called to the first.”
Recursion can also be thought of as defining something in terms of itself. Think of when someone defines a word with the word. When recursion is used in computer science, programming, software engineering, etc — it’s used as a way to solve a problem with subsets of that problem…
It’s an Application Programming Interface.
Ok, but what *is* that?
A quick article for new programmers, and those who are just curious. 👇
APIs are actually quite easy to understand.
An API can be thought of as the middleman of communication between two systems. APIs allow devices, web servers, and software to talk with each other. They are the drivers of many of the digital systems we use today.
An example of an API being used: The weather app on your phone retrieving the most recent weather report.
Another example: Pay with PayPal integrated with an eCommerce store.
Asymptotic notation describes the runtime of an algorithm based on the increasing input size of the algorithm. Asymptotic notation is important in computer science, as it helps engineers gauge the efficiency of the algorithms they write. To get a clear understanding of asymptotic notation, the etymology of the two words can be seen below. (You can use the etymonline.com tool to dig into the history of words).
asymptotic — “having the characteristics of an asymptote,” 1670s, see asymptote.
In software development, coupling refers to the degree to which modules are connected. The word’s etymology goes back to Latin and means ‘the joining of one thing to another’ or ‘fastening together.’ So, when thinking about coupling, think about how objects are connected to one another.
Along with some other concepts, coupling was invented in 1968 as part of Larry Constantine’s ‘structured design.’ Structured design focuses on mapping out ‘good’ programming practices aimed at maintainability and adaptability.
In software engineering, there is a complex-sounding technique called dependency injection that aims to help organize code modularly by creating objects that depend on other objects. The objects that other objects depend on are called dependencies.
The use of dependency injection helps solve the problem known as ‘spaghetti code.’ If you haven’t heard of this term, it refers to software that is ‘held’ together by bad design and architectural planning, in which each object is connected to one another. This makes codebases hard to maintain. …
This week’s blog post is a non-technical one, focused on a ‘growth mindset’ topic. I’ll be talking about life principles, how to set them, and why it’s important to live by them. I’ll also be breaking down my eleven life principles.
I describe life principles as principles that are truly and deeply important to you as a human. They are principles that you won’t merely budge on — and they make up the core of your character. These things are different for every single human, though some of us may share similar principles.
I’ve seen life principles labeled as things…
Thank you for stopping by the Rusty Nail Software dev blog! In this post, I will be showing you how to create a
UITableView that has spacing between the cells. I came across this design as I was recently working on a client’s application. I wanted to get away from the basic table view look and use something tailored more toward the UI/UX of the client’s app. For those who work as freelance software developers — versatility in design is essential because not every client wants the same thing.
To accomplish a clean table view design with spacing between the…
In this post, I’ll be taking you through the process of integrating Core Location and MapKit. We will be piggy-backing off of the series started here. You can find the code to this tutorial on GitHub.
Core Location is a part of Cocoa Touch — and is the framework used for obtaining user location details. The location details can be used in many different ways — and how you use this information will depend on your app’s functionality. Whether you’re building a food delivery app, concert booking system, or a tool to find the nearest bathroom — Core Location is…
In a previous post, I wrote about setting up Core Location in a UIKit application. I covered adding the usage descriptions to the Info.plist file, requesting location authorization, and pulling the location from the CLLocationManager. If you need some help setting up Core Location in your UIKit app, take a look at that post: https://rustynailsoftware.com/dev-blog/core-location-setting-up-core-location-with-uikit.
In this post, I’ll be going over how to implement CLGeocoder — a class in Core Location that helps developers produce human-readable versions of geographic coordinates in their iOS apps. I’ll also briefly cover the CLLocation object, as I failed to do so in my…