Record of 2020 JetBrains Question Round 1

In the v2ex forum, I saw someone mention that JetBrains launched a challenge on Twitter and I’m very interested in it.

The following content records the problem-solving process in the past few days. There are three rounds. The difficulty is not high and it is very interesting.

Read More

Code Implementation of Levenshtein Distance

In the previous article, I mentioned that when doing fuzzy matching, Levenshtein distance was selected as the reference value. At the time, I directly used the Python library to implement it, which did not run fast in actual use.

In recent days, I have stayed at home and took the time to write several implementations of Levenshtein Distance in Kotlin.

Read More

Writing an Alfred Workflow About VPN Connection

Part of the team’s services is deployed on the internal network. Usually, when we are remotely processing some work, we need to connect to the VPN.
Although Cisco’s AnyConnect client tool can be used, it cannot save passwords for automatic login, so the OpenConnect becomes a good choice, which is an open-source command-line tool.
This article is based on the macOS platform, using Alfred’s Workflow feature to improve the portability of OpenConnect connections.

Read More

A Practice of Screen Adaptation

Android’s screen fragmentation problem has a long history. Generally, we use the same physical size on different devices. Such a solution does not completely restore the design draft, and the situation of individual adaptation will appear more frequently as the size of the project increases.

Read More

The First Experience of App Bundle

The [“Wake Up Screen”] written in spare time has been iterated over a dozen versions. As a lightweight application, the size is maintained at around 13MB because of the different architectures of the library. I tried the App Bundle this weekend and successfully reduced the app size by about 50%.

Read More

Record a GIF Problem Investigation and Exploration

One day, we received feedback from the operator that a GIF banner could not be played on the website, and it was normal on the APP side. The operator indicated that the last configuration of GIF banner was normal, and gave the picture links of the two configurations.

Read More

A Record of Problems with a Cross-platform Architecture Migration

Recently, we have made some cross-platform migration attempts, from pure RN architecture applications to general cross-platform applications. The migration process involves cross-platform technologies such as React Native and Flutter, and also encountered many problems. This article briefly records some of them and hoping to bring a little help to the reader.

Read More

Video Player's AutoPlay Framework Design in RecyclerView

When I reviewed the notes, I found that this article was not uploaded to the blog. Although the code implementation is outdated, the idea has been used all the time, so today I simply sorted the content and sent it to the blog.

Auto-playing of the video is a common application scenario, which involves sliding distance monitoring of lists, lifecycle perception of pages, and changes in video state. This article describes an automatic playback architecture design for RecyclerView component.

Read More

Configuring V2ray on a Mac

Since simple-obfs is no longer maintained, I have been planning to upgrade the services I use, and recently I started to disconnect from the process of searching for information, so I decided to find time to study it. Here is the quick process of service upgrade and the trampling records.

Read More