Category Archives: Back-End

Adding experimental WebAssembly support to Decaton – Part 2

In the 1st part of this article, we looked into how we can integrate WebAssembly runtime into a Java application. Then we faced a big limitation of current Wasm/WASI that it doesn’t support sockets, making most of the practical Decaton processors difficult to be hosted on it due to disabled network I/O. In this 2nd …

Adding experimental WebAssembly support to Decaton – Part 1

WebAssembly is a binary instruction format for a stack-based virtual machine, which aims to be a compilation target of many programming languages to enable executing a program at any place like browsers, embedded devices, and servers with high portability, high performance, and sandboxing capability. Wasm recently caught my interest along with the Rust programming language, and I …

Monitoring applications with Prometheus and Metricat

In this blog post, I would like to talk about the development of monitorable applications with Prometheus. I will also introduce one of the personal projects I work on in my free time which can help with the development of such applications – Metricat. Observability Observability has become one of the essential characteristics of modern …

Using Circuit Breakers with Armeria

What is a circuit breaker? Suppose an unexpected failure occurs (For example, a network issue or a server crash) and a remote server is unable to respond to the request. If so, the client who made the request to the remote server will either wait for a response until a timeout occurs, consume resources, or …

Let’s Play with Reactive Streams on Armeria – Part 2

In the first part of this blog post, we took a look at the basic concepts of Reactive Streams. In part 2 of this blog post, I’d like to tell you about how we use Reactive Streams with Armeria. What’s Armeria? Armeria is an open-source asynchronous HTTP/2, RPC, REST client/server library based on Java 8, …

Who murdered my lovely Prometheus container in Kubernetes cluster?

This blog post is about an interesting experience I had while investigating and resolving a problem that happened in the Prometheus container which was still in the CrashLoopBackoff state. The phenomenon itself and the solution are obvious and simple; so simple that you may feel that it is not worth it to spend time on …

High-throughput distributed rate limiter

Production-grade systems usually consist of multiple interconnected components that depend on each other. Popularization of the microservice architectures in recent years has led to an increase in the number of components and their interconnectivity. To protect each component from overloading and guarantee overall system quality of service, rate limiters can be used. Many articles and …

A new challenge for LINE Timeline – 1

A feature called “Discover” and a new subscription model called “Follow” have been added to the LINE Timeline service. Although users are familiar with these features, we ended up writing this post because we wanted to share the parts that we had considered and made efforts on within these features. Starting with this introduction, we have planned a three-part series to bring you more detailed information.

How we developed and integrated ‘share’ module into LINE app – 2

In Part I, we defined the following six categories to share our experience, difficulties and solutions of the Share module development for LINE iOS and covered the first two categories.
In this Part II, we will cover the remaining four categories. We will continue our story with the thinking process we went through to implement a structure for easier maintenance and expansion, on top of meeting various requirements for many LINE services.

How we developed and integrated ‘share’ module into LINE app – 1

Hi, there! We are Hyeonji Jo and Keonhong Lee, responsible for LINE iOS client development. Here we’d like to share our experience during the development of the Share module development on LINE for iOS, focusing on the difficulties we faced and how we overcame them.