1. Origin of Time Zones
  2. The Law and Time Zones
  3. Browser’s Time Zone Support and Its Limitations
  4. Time Zone Data and Its Problems
  5. Front End’s Solution
  6. Goodbye moment.js

For Koreans, Summer Time is not a very familiar concept. For those who live in the effective ranges of Summer Time, there are days when a day is 25 hours or 23 hours long. We usually take 24-hour days as the norm, but why do some countries fixate on such fluctuation?

Time zone is an idea to represent different times all around the world. Browsers, in order to account for these time zones, offer multiple solutions. …

Written by Sungho Kim

Image for post
Image for post

It is always a crowd’s favorite to ask questions like “how should one test private methods?” and “Should one test private methods?” on different communities, and I have long thought to organize my thoughts and to write a summary for such questions. The topic itself is relatively straightforward, but the answer may differ from one developer to another. Especially, the topic seems extra divided in the international forums. However, in essence, this question can be boiled down to what effective test cases are.

Private methods were drafted within the object oriented perspective, and functions hidden in the closures, in the sense that they access the exposed functions from within, are products of the same concept. These ideas can all be categorized as encapsulated items that are hidden behind the module’s external interface, and can be called internal implementation for the sake of simplicity. Now the question remains, should you test the internal implementations? To save you some time, the answer is “no.” Well, actually the answer is “yes,” and by now it is fair for you to wonder what I’m on. You must refrain from directly writing test cases for internal implementations and should only test the exposed external interfaces. …

In the last weekly pick, I mentioned that the new improved features of Lighthouse will be updated.

This May, the Lighthouse 6.0 was officially released and is planned to be implemented to Chrome 84. If you are excited to try it out immediately, you can download the Chrome Nightly Build (Canary).

Brief Introduction of the Lighthouse

Lighthouse is a tool that is designed to audit and improve the web’s performance and can be found under the Chrome DevTools. It offers guidance and performance indices so that the pages that we build can be loaded faster and be interacted better by the users.

Such performance auditing tools are important to say the least. If you don’t see what the big deal is, try using the console.log to start the performance enhancement process for your webpage. You’ll see what I mean soon enough. You will soon be grateful for the numerous features and different timely information the Lighthouse provides. …

Image for post
Image for post

What is Github Actions?

Github Actions was released at the end of last year and it is a tool that can help automate the entire development workflow within Github. This means that you can do code version control, review, test, build, distribute, and much more and manage everything on Github. Github Actions basically does what previous CI tools like Jenkins, Travis CI, or CircleCI have been doing to some degree, except on Github. Even in terms of supported languages, it currently supports Node.js, Python, Java, PHP, Ruby, C/C++, .Net, Android, and iOS, and the list is projected to continue to grow.

With Actions, you can use codes to manage your workflow and to make adjustments easily. The greatest appeal lies in that it provides a single unified environment to work in. While Github Actions has a variety of different features, let’s explore the matrix, that allows multiple version controls asynchronously. The following example is from Github's documentation. …

Image for post
Image for post

Among the specs for the ECMAScript class fields is a Private field, or a Private property. Since class fields are experimental features, currently at stage 3 (candidate) of development, they will soon pass the stage 4 (finished) to become standardized specs. When the experimental feature first came out, I had mixed first impressions of excitement for possible private properties and disappointment with its syntax. And since then, time passed and I forgot about it. That is until I heard that the set of experimental features will be officially supported by TypeScript 3.8, and I decided to take the time to properly learn about the private properties. …

If you were to ask any developer which document format is the most preferred right now, the answer would unequivocally be Markdown. Currently, Markdown is being used with GitHub, GitLab, Bitbucket, and more as a default document format for most of the services including issue tracking. Furthermore, it is also integrated with almost all text editors like IntelliJ, VSCode, Vim, and Emacs, and plugins can be used to utilize syntax highlighting and preview features.

TOAST UI Editor takes this one step further and provides an editor interface that integrates WYSIWYG (What You See is What You Get) with Markdown. WYSIWYG editor allow you to view complex formattings like tables intuitively, and it can also be an effective tool to use when collaborating among developers and non-developers, as the WYSWYG editor can be used by non-developers who may not be as familiar with Markdown. Upon such merits, the TOAST UI Editor has been consistently collecting users for the past couple of years, and last month, it reached a significant milestone of getting 10k GitHub stars. …

🎉 TOAST UI Editor 2.0 Released! 🎉

TOAST UI Editor is a document editing library built using JavaScript, and it offers two different modes of editors, Markdown and “What You See is What You Get” (WYSIWYG), for users to choose freely which mode is the more suitable option for different users.

It has been released as opensource in 2018 and has continually evolved to receive 10k GitHub ⭐️ Stars. To carry on this momentum, the TOAST UI Editor 2.0 is released this March, 2020. (MAKE SOME NOISE 🎉)

We started concept meetings and prototyping last year’s second half, and after three months of development, we proudly announce the official release today. With TOAST UI Editor v2.0, we concentrated on improving the markdown parser, scroll sync, and other core features of the markdown Editor and reducing the bundle size. …

A well-built UI library is often used to build webpages with abundant features. I am currently working to develop one of the libraries included in the TOAST UI, and I intend to share all of my experience and know-hows I accumulated along the way. The main purpose of this article is to introduce the readers to pragmatic information like how UI libraries are built, what the purpose and the features of the library are, and what kind of technology stack and webpack configurations were used. …

Image for post
Image for post

Improving the Reactivity System (feat. TOAST UI Grid)

The TOAST UI Grid manages the states of involved data by structuring its own reactivity system. TOAST UI Grid can manage the changes in data conveniently due to the fact that the reactivity system automatically detects when any piece of data is changed and updates the properties of other data. Moreover, the reactivity system allows a more concise and declarative code to be used, hence eliminating unnecessary code. However, the reactivity system inevitably suffered in terms of performance when transforming massive regular data into observable data and slowed down the Grid’s initial rendering speed (2.5 seconds per 100k datasets at initial rendering). This article serves to elucidate our efforts and methods to resolve the reactivity system’s performance issue when dealing with large datasets. (This article does not cover the underlying basics of a reactivity system. …

If you are reading this, it may be safe to assume that you are a developer who has had an experience with writing an API documentation. Let’s assume that someone told you to write API documentation for hundred functions. What kind of image comes to your mind? Is it an image of you opening a new excel or a word document and enumerating hundred different functions and descriptions while meticulously staring at the source code? …



JavaScript UI Library Open Source by http://ui.toast.com

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