Swift 5.5 introduced a new concurrency model for Swift. It is async/await. It helps us create concurrency application easier. But I am very curious about how it works.I think understanding what’s going on under the hood will help us clear our mind about how it works. 1. Example To declare a sync function is very […]
How to inspect other iOS applications UI that you don’t own without jailbreaking
In the life of a software engineer, you always learn and gain experience from other people, other products, other ideas. If you are a web developer, you want to know the design and layout of a certain website. Let’s say you are interested in Facebook’s website and want to know how they create their web […]
Migrating iOS Project to Bazel – Part 2
To continue the previous part of this series, this part I’ll talk about how to config a sample iOS project using Bazel. 1. Installation To install Bazel on macOS, too simple. You can go to this link https://docs.bazel.build/versions/main/install-os-x.html. To simplest, I will use brew to install bazel. After install success, you can verify by running […]
Migrating iOS Project to Bazel – Part 1
Today, I will write about a new subject. It is a build system used in too many big tech companies. The series contains many articles, follow that if you interest. The first part focus on intro Bazel, history, and the difference with Xcode build system. 1. What is Bazel Bazel is an open-source of Google […]
Why did my application crash when recursive too many
I think anyone who works as Software Engineer is faced with app crash problems when recursive too many times. In this article, I will explain why applications to crash when recursive too many times at technical vision. Let’s start 1. Stack frame A stack frame is a memory unit of a stack. It contains data […]
Go CI/CD
Today, I want to write an article about my configuration CI/CD for the Go project in my company. Let’s start. I. What is CI/CD? Continuous integration (CI) is automating the integration of code changes from multiple developers or contributors into a single software project. The team members will integration work with each other. While integrating, the […]
Feature flags
Did you ever implement a large feature and when release you merge it into the release branch? And if you only want only some people can use the new feature to evaluate the effectiveness of the feature. Or the marketing team wants to test a certain behavior. You need a switch to do that. Today […]
weak self
A few years ago, I joined a Swift project about Medical Health Care for the Japanese. I see some developers usually use some feature in Swift but don’t understand it. Also, I see a brother who doesn’t understand how Swift manages memory then he too scares about memory retain cycle matter. I decide to write […]