Category Archives: Back-End

Making a Flex Message with LINE’s Go SDK

Hi there, this is @sugyan (Twitter, GitHub) from LINE Kyoto office. This was first time for me to experience  Kyoto’s Summer, and boy, was it really hot or what!? (The original post in Japanese was published in August 2018.) In June 2018, a new message type, Flex Message, was introduced in the LINE Message API, allowing more complex …

Developing server-side with Kotlin & entering Clova Skill Awards

Hello fellow readers! We are, Kagaya, working on the LINE GAME Platform development team and Akira, on the LINE LIVE Android app development team. Have you ever used Kotlin? Kotlin is a static-typed programming language that runs on JVM, and has been developed by JetBrains, well-known for making IDEs like IntelliJ and Android Studio. Kotlin has been announced as an official development language for Android in Google I/O last year. We’ve shared that we are using Kotlin for our Android app in the post, Why we use Kotlin in LINE Creators Studio. We are still using Kotlin for our new apps and also, we’ve been converting existing apps into Kotlin, and are in the process of refactoring. Many of LINE Android apps, including LINE the message app, LINE LIVE, LINE Creators Studio and Clova (AI assistant) have been employing Kotlin.

Redis Lua script for atomic operations and cache stampede

Hello, this is Kagaya, a member of the LINE GAME Platform development team. It’s nice to be back after writing a post on Lazybones (Japanese post), in 2016. Redis and LINE GAME Platform The LINE GAME Platform uses Redis — in-memory no SQL database — for its main database, mainly for cache. For instance, we are using …

Effective code review

Now and then, code quality becomes an issue in a team and everyone starts to talk about how we can improve unit test and code coverage, but not for long. Eventually, it’s not a hot topic anymore as people get busy. But then, you will experience déjà vu probably within a year, because the same idea comes back the next year. My name is Bryan Liu, a quality engineer working on test automation of LINE NOW, and I’d like to share what I did to facilitate unit test and code review process in LINE Taiwan.

Presenting on RedisConf18

Hello, I am Jongyeol Choi, a member of the Redis team at LINE. LINE’s services use various storage systems based on their needs. Our messaging service uses various open source storage systems such as Redis, HBase, and Kafka. As a member of the Redis team, I participated the RedisConf18 conference in San Francisco in U.S.A, on April 26th, as a speaker. The topic of my session was, “Redis at LINE, 25 billion messages per day”. I’d like to take this opportunity to share the presentation preparation process, the conference itself and the responses I got for my session.

RedisConf18 Venue

API the Docs Recap

Hi, my name is Serizawa and I’m a technical writer in LINE. LINE has a program that allows engineers to attend overseas conferences on company expense so that they can grasp the latest technology trends. In this article, I’d like to share my report on API the Docs, the API documentation conference that I attended, thanks to the program.

The structure of the LINE LIVE’s encoder layer

On December 10th of 2017, we celebrated our second anniversary for LINE LIVE, our live streaming service. The service has been up and running ever since the launch with no trouble, thanks to the efforts put in by countless engineers at LINE. On this blog post, as a member of ITSC, a team at LINE running a global infrastructure system, I’d like to share with you some of decisions we had to make in the initial phase of designing and implementing the system. Back then, I had absolutely no experience in building or running a live media service.

Functional programing language and LINE GAME Cloud

We are junior engineers, Bu Sung Kim and Jae Ho Lee at LINE, working on the LINE GAME Platform. We have a great interest in functional programming languages. It all started with learning that the LINE GAME Cloud is developed in Clojure, one of functional programming languages. On this post, we would like to take you through some of the characteristics of functional programming languages in association with the use cases of the LINE GAME Cloud.

LINE GAME Cloud & Functional Programming

LINE GAME Cloud is a game server platform, obviously cloud-based, to serve the LINE Games service worldwide, safe and sound. The cloud project was launched to globalize the LINE Games service and to automate distribution process. LINE GAME Cloud is currently in action serving the users all over the world, automatically issues servers, and supports L4/L7 routing, DNS and auto scaling. You can check the details of this project through the following links:

Using Docker to build a testing infrastructure for web UI and mobile

Suppose you are to setup test automation. Building and maintaining a whole test infrastructure all by your team can be painful. Although some cloud services like Sauce Labs do cover DevOps, you may have hesitated to use them due to security issues or budget concerns in your company. Docker is a good tool for you to setup and maintain servers for test automation, especially if you are just starting to build an automation test infrastructure with open source solutions.

Of the open source solutions, Selenium is an open source framework for automating UI tests. It allows you to simulate user flow by executing scripts on different browsers. Selenium-Grid consists of hub servers and node servers to let you execute tests in parallel to speed up testing. When a hub receives requests from clients, the requests are rerouted to an appropriate node server, based on the capability parameters.

Providing Prometheus as a service

I’m Paul Traylor with LINE Fukuoka’s Development Department where I focus on monitoring many servers used to support LINE Family Apps.

For most developers, it’s much more fun to focus on code and adding new features but when things are running poorly it’s useful to know why. Since it’s sometimes difficult to configure monitoring by yourself, it has been my responsibility to make it easier to use so that all services can be monitored for peak performance. As part of this, we developed Promgen to help maintain our Prometheus configuration and make it easier for developers to register monitoring targets or subscribe to alerts for any service they are responsible for.