Set Up Detox For Expo Project Using CircleCI

  • Post author:
  • Post category:DevOps
  • Reading time:13 mins read

Recently our Frontend team started to think about automated testing for our Expo managed project. Following discussion we decided to use Detox as our E2E testing tool (We evaluated Appium and Detox). Since we already have a CircleCI pipeline running based on Expo EAS local build and automatic submission, it makes sense to integrate Detox into our pipeline. In additional we also want to enable easy local development when writing E2E tests. After research we have reached the following conclusions/setup: Local development: We will use Expo Go app together with Detox so that we can refresh the app and update…

Continue ReadingSet Up Detox For Expo Project Using CircleCI

Using CircleCI, Expo EAS, BrowserStack to build React Native Application Deployment Pipeline

I recently got a chance to work within a Frontend team which delivers iOS and Android applications to our customers. One of the pain point in the team was the difficulty in app testing and release so I spent some time on investigating the best approach for the team. The team is using React Native based Expo and at this stage highly replying on manual testing on physical devices. They are currently putting efforts on automated testing based on Detox. Expo EAS Expo provides a React Native build tool called Expo Application Services (EAS), it allows you to build and…

Continue ReadingUsing CircleCI, Expo EAS, BrowserStack to build React Native Application Deployment Pipeline

How We Are Migrating Monolith To Microservices On AWS

Our legacy application is a monolith hosting on multiple EC2 machines on AWS. We are currently under the process of migrating it to microservices architecture mainly due to the following reasons: It is not modular and things are tightly coupled so teams are stepping on each other's toes while developing on itThe technology is outdated and we don't have the expertise on continuous maintenance and developmentThe application is poorly tested in general therefore we don't feel safe to change the system. One simple change could result in bugs in other places we are not aware of.Various performance issues The migration…

Continue ReadingHow We Are Migrating Monolith To Microservices On AWS

Mobile Push Notification Overview Using AWS SNS And React Native

Recently I spent some time looking into mobile push notification architecture mainly focused on Android and iOS. Before I go into explaining how mobile push notification works, here are some terminologies I used throughout the post: Platform - These are services provided by mobile device builders (e.g. Apple, Google, Amazon) that transport the messages to the end devices. The Platforms offer device registration, app token creation and management, and the delivery channel for notifications to be delivered to devices. There are several different services that you can use to send push notifications to the users of your applications. The platform…

Continue ReadingMobile Push Notification Overview Using AWS SNS And React Native

Introduction To Systemd

  • Post author:
  • Post category:Linux
  • Reading time:8 mins read

I came across systemd while working with Ubuntu and other linux distributions on AWS. Its main aim is to unify service configuration and behaviour across Linux distributions and is used widely in software development. If you go through Kubernetes The Hard Way tutorial, you will find that all of the key services, e.g. Kubernetes api server, control manager, kubelet, etc. are managed using systemd.

Continue ReadingIntroduction To Systemd

Java Just-In-Time(JIT) Compiler Overview

The JIT compiler is the heart of the Java Virtual Machine(JVM). It improves the performance of Java applications at runtime. Nothing controls the performance of your application more than the JIT compiler. Nowadays we don't normally need to tune the JIT compiler due to popularity of Microservices framework like Spring Boot, but in my opinion it is still good to know how things work under the hood. The following picture gives an overview of how the JIT compiler fits in Oracle HotSpot JVM. As you can see, Javac compiler compiles Java source code into an intermediate low-level language (Java Bytecode),…

Continue ReadingJava Just-In-Time(JIT) Compiler Overview

Most Useful Java Books And Libraries

Java has been my main language since I started programming more than 10 years ago. It has evolved quite a lot over the past years. There are many nice frameworks built around Java, such as Spring, Play, Akka, etc. This post gives a list of books and libraries in my opinion are very useful and would help Java engineers.

Continue ReadingMost Useful Java Books And Libraries

The Manager’s Path Reading Notes

Managing people is difficult wherever you work. But in the tech industry, where management is also a technical discipline, the learning curve can be brutal—especially when there are few tools, texts, and frameworks to help you. In this practical guide, author Camille Fournier (tech lead turned CTO) takes you through each stage in the journey from engineer to technical manager. From mentoring interns to working with senior staff, you’ll get actionable advice for approaching various obstacles in your path. This book is ideal whether you’re a new manager, a mentor, or a more experienced leader looking for fresh advice. Pick up this book and learn how to become a better manager and leader in your organization.

Continue ReadingThe Manager’s Path Reading Notes