pantsula

261 Added | 2 Magazines | 32 Likes | 27 Following | 136 Followers | @pantsula | Keep up with pantsula on Flipboard, a place to see the stories, photos, and updates that matter to you. Flipboard creates a personalized magazine full of everything, from world news to life’s great moments. Download Flipboard for free and search for “pantsula”

Isolating your Data Layer

In a truly layered architecture (MVVM, Viper, etc), the data layer should be relegated to its own layer - every other piece just wants the data. …

Modern MVC

When the iPhone was only the third, I saw this diagram in the beginning of a very first tutorial about iOS programming on the Apple Developer …

Software Development

4 tips to master XCTestExpectation

I believe that what makes us good programmers is a desire to master and improve the toolset we all have. With this in mind, one shiny morning at …

Ian Cooper: TDD, where did it all go wrong

Replacing legacy code using Swift protocols

An important part of maintaining any app, framework or system is dealing with legacy code. No matter how well architected a system is, legacy will …

Unit Testing

Single Responsibility Principle: Is It a Fundamental Mistake?

The “Single Responsibility Principle” (SRP) sounds so noble. But I’m afraid it’s misunderstood and misapplied. Ask your teammates: “What is the …

Software Development

Reducing flakiness in Swift tests

When starting to work with testing (both unit testing and UI testing), one thing that every single developer starts encountering at some point is</i> …

Unit Testing

Clean code: The curse of a boolean parameter

Whilst looking innocuous, booleans are often a source of code complexity and can frequently be a code smell. Why is this, and what can you do about …

JavaScript

Roadmap - Clean Swift

I have organized my articles into a list of easy-to-follow categories below.<p>About Clean Swift<p>Tired of MVC? But MVVM and VIPER don’t feel quite right? …

Unit Testing

Single method perspective vs single behavior perspective

Hi, today, I'd like to outline few differences between a technique called Programming By Intention and Test-Driven Development. I'm currently halfway …

Networking in Swift: The Complete Guide

Hi there! This is a complete guide that will help you to master networking in Swift. We will cover from the basics to advanced stuff like …

Networking

Testing Swift code that uses system singletons in 3 easy steps

Most apps written for any of Apple’s platforms rely on APIs that are singleton based. From <i>UIScreen</i> to <i>UIApplication</i> to <i>NSDate</i>, static APIs are …

Mutations

My Development Toolset 2017 for iOS

Hello Folks, I would like to introduce some toolset for 2017 that I use for iOS development tools, miscellaneous, services, websites and frameworks …

Common unit testing techniques on iOS

<b>TL;DR - Most if not all unit test cases on iOS can follow the same commonly known pattern: GIVEN a set of initial conditions, WHEN something happens,</b> …

JavaScript

An iOS Coordinator Pattern

In the past 18 months I’ve been working one of the largest iOS apps of my career to date. We switched it up a little and wrote it using the MVVM …

Apps

Refactoring singleton usage in Swift

In software development, singletons are widely discouraged and frowned upon — but with good reason. They are difficult or impossible to test, and …

Software Development

No Fear Closure in Swift 4 with Bob (Part 2)

@escape, Trailing closure, completion handlers<p><i>Last update on May 15th, 2017 | Swift 3.1</i><p>Anyway, let’s learn Closures. In the first lesson, you’ve …

Authentication rules in a handcrafted iOS application with TDD

This is the first part of a series of posts about making an iOS Application appreciating every step of Software Development process. During the …

Swift Development Environment

2.0 Release Broadcast<p>The 2.0 release introduces a new tool, SourceKite, as the interface to <b>SourceKit</b> library. Since the Swift ABI is not stable, you …

Top 10 Raspberry Pi Projects for Beginners

Maybe you picked up a Raspberry Pi for the holidays, or you’ve been sitting on one of the super versatile, palm-sized computers for a while now. If …

Raspberry Pi

ODUIThreadGuard

ODUIThreadGuard is a guard to help check if you make UI changes not in main thread.<p>As Xcode 9 embedded this function into Xcode, there is no reason …

Swift 3.0.2 For Raspberry Pi Zero/1/2/3

I’ve finally got around to building the latest Swift release (3.0.2, distributed with XCode8.2.1) for all the Raspberry Pi boards.<p>The ARMv6 version …

Automatic memory leak detection on iOS

Memory on mobile devices is a shared resource. Apps that manage it improperly run out of memory, crash, and suffer from drastically decreased …

Objective-C

My Favorite Xcode 8 Shortcuts (Part 1/3)

Assistance Editor, Navigator, Quick Open, Line Number<p>Motivation<p>Last night, I calculated the <b>number of months</b> we humans live. Since 2/3 conscious, we …

Refactorator Xcode Plugin

Refactorator is an Xcode plugin for refactoring Swift & now Objective-C code. It will rename public or internal vars, functions, enums etc. For …

Test Suites

The Mistakes Most Swift Developers Don't Know They're Making

Swift is the new programming language created to be a modern replacement for Objective-C in iOS and OS X application development. In general, a …

Objective-C

Swift Enums for Fun and Profit

Series

subscribe via RSS<p>Feature<p>J.B. Rainsberger - Integrated Tests Are A Scam from devtraining on Vimeo.<p>An Overview<p>Dependency Inversion Principle …

Tech Industry