A bash script that can be executed on any operation systems

Developers in teams might prefer using different operation systems such as Windows and MacOS. Some members write scripts for projects in PowerShell and others write them in Bash. It causes the other members who use different operation systems can run these scripts. After, some tries end errors. We came up an idea to create our own script runner that can execute bash script regardless the OS easily.

The Idea

We like the idea of npm and make commands, we can define the project-related scripts in package.json and makefile. It makes scripts re-useable and makes other people who doesn’t work on the project…

AWS Serverless Application Model, aka SAM, is the bundling AWS services such as Lambda, APIGateway and DynamoDB, etc. Also, AWS provides tools to help developers easily develop serverless applications. AWS SAM supports many programming languages such as nodejs, go, python, etc. However, in this article, I used .NET and its web framework ASP.NET Core to demonstrate.

The reason I chose .NET not only I am familiar with it, but also AWS provides other tools for .NET. These tools make development easier than other programming languages (at least it is how I feel about it).

Why Use Serverless Applications?

There are…

App in Release build is minified and compiled. Crash reports won’t include the original file info as Debug build. However, most programming languages have some mechanisms to solve the problem. For example, dSYM on iOS and React Native uses Javascript Source Map which is a JSON file that contains information between the compiled file and the original files. Therefore, we can use it to find where cause crashes easier.

A crash report of a react native app on New Relic

The above image is a crash report of a react native app on New Relic which is not really readable. However, it contains some useful information such as

  • call .map() on…

This article shows you how to use deeplink and push notification in react native and also combine them. Then when users tap the notification, the app can navigate to the specific screen. In order to show you more details, this article won’t use any other packages for deeplink and push notification. The source code of the example is here: https://github.com/wadehuang36/RnDpExample.

1. Prepare a new project

The example project is very simple. It just has a bottom-tab with three components using react-navigation.

Create a new project by

npx react-native init RnDpExample

Add React-Navigation and Url-Parse by

yarn add url-parse @react-navigation/native @react-navigation/bottom-tabs react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @react-native-community/masked-view

Have you even hate your Javascript projects have a complex folder structure and you have to write import something from '../../../../forever'the long ugly related path in the projects. This article shows you how to solve that with module alias in React and React Native.

1. React Native

1.1 Method 1: By package.json

Using module alias in React Native is pretty easy. Actually, you already have one. The namein package.json in the project root is a module alias.

For example, when we create a new React Native project and the name of the project is MyRnApp, like this command.

npx react-native init MyRnApp

Then we can write import name…

How to use Vagrant to quickly create Kubernetes clusters with CRI-O runtime.

I have used Docker and Docker Swarm for years. Recently, I started learning Kubernetes to see how good it is and why people like it. In the beginning, I used Docker Desktop and MiniKube to get a hand on. However, the two methods are just a single node cluster that I felt not more Kubernetes enough. I started to create VMs to build and try a more complicated Kubernetes environment and since docker might be too fat in the Kubernetes environment, so I chose CRI-O for the runtime…

I have used AWS ECR with docker for years, A thing annoying me is I have to login every 24 hours to pull or push images since the access token expires in 24 hours. The good thing is we can use amazon-ecr-credential-helper to help us log in automatically. However, it is still not very helpful enough with multiple AWS Accounts, then I created a way to make it easier.

Install amazon-ecr-credential-helper

In case you haven’t used amazon-ecr-credential-helper before, I show you how to install it first.

NOTE: The download links of the pre-built execution files can be found on https://github.com/awslabs/amazon-ecr-credential-helper/releases. I…

Wade Huang

Expert at .Net, Nodejs, Android, React and React Native

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store