SEARCH KEYWORD -- GITHUB ACTIONS



  Fix 'this authentication plugin is not supported' issue while using Go to connect MySQL 8

MySQL 8 has changed its default authentication plugin from mysql_native_password to caching_sha2_password to improve its security. However many third party libraries seem act slowly to catch up with this change. This causes some compatible issues with their connection to MySQL. One of the issues is seen in Go libraries while it's trying to connect to MySQL 8. The specific error has been observed is "this authentication plugin is not supported". The root cause of this issue is that the go-sq...

   MYSQL,GO,MYSQL 8,AUTHENTICATION PLUGIN     2018-07-11 08:55:02

  Redis Cluster and Common Partition Techniques in Distributed Cache

In this post, I will discuss a few common partition techniques in distributed cache. Especially, I will elaborate on my understanding on the use of Redis Cluster. Please understand that at the time of writing, the latest version of Redis is 4.0.10. Many articles on the same topic have a different idea from this post. This is mainly because, those articles are probably outdated. In particular, they may refer to the Redis Cluster implementation in Redis 3. Redis Cluster has been improved...

   REDIS,DISTRIBUTED CACHE,CLOUD COMPUTING     2019-01-17 08:10:37

  Inspiring facts about JavaScript

JavaScript has been advocated as the first language to be learned by people who want to program. We have discussed the reasons why we should do so. Recently with the popularity of Node.js, JavaScript has become a full-stack language,  it can be used as both frontend and backend programming language. Today we will give some hard facts which will convince you about the popularity of JavaScript. Just like William Ting said ""JavaScript will stay relevant as long as people use the internet". Ye...

   JavaScript,popularity     2014-06-07 08:52:36

  Fastjson just fixed a bug which might cause out of memory issue

Fastjson just fixed a bug which might cause service down a few days ago. This bug is caused by some mishandling of special character \x which is an escaped character to indicate hexdecimal number. The impact of this bug would be big if the attacker constructs a malicious data which would cause the service down.  The code which causes the issue is in com.alibaba.fastjson.parser.JSONLexerBase#scanString, when a JSON string is passed in, fastjson would parse the string character by c...

   FASTJSON,ALIBABA,BUG,NEWS     2019-09-07 06:03:49

  Coming up Next for JavaScript Web Apps Is Next.Js 3

Are wondering who is going to be the next PHP of the internet; except JavaScript. Next.js is all set to bring the PHP experience to JavaScript with its latest version. As the technology continues to be considered as a “win” amongst a number of developers across the globe, professionals are trying to improve it as much as they can. Because of its minimalist approach to server-rendered apps, this highly customizable framework can be recommendable for beginners as well as experienced pr...

   NEXT.JS3,JAVASCRIPT     2017-11-20 23:43:38

  How to be an excellent programmer

To use a programming language is very easy for a programmer, but it's a dream for many programmers to be an expert software developer. There are five levels of programmers: Novice, Senior novice, competent, proficient, and expert. Most programmers are senior novice. And programmer living in this level are a lot of people who have 1 to 10 years work experience.As a programmer, how to find the bottlenecks for your improvement and how to improve yourself quickly? This is really not an easy question...

   Programming,Tips,Habit     2013-03-26 09:53:38

  Maintain multiple versions of Go in one single environment

In a development environment, there might be multiple projects going on at the same time and they may require different development environments with different versions of build tool. In many programming languages, it is possible to have multiple versions of different build tool or development tool on a single environment. For example, there can be multiple JDKs, multiple versions of Ruby using RVM. For GoLang, there is a similar tool called GVM which can also be used to maintain multiple versio...

   GOLANG,GVM,GVM PKGSET,RVM     2019-11-10 00:43:47

  A simple tutorial on GoLang connecting to Clickhouse

Go, also known as Golang, is a statically-typed, concurrent programming language created by Google. ClickHouse is a high-performance, column-oriented database management system that can be used for real-time data analysis. This tutorial will provide a deep dive into how to connect to ClickHouse from a Go program, including how to perform common database operations such as SELECT and INSERT statements. Before proceeding, it is assumed that you already have Go and ClickHouse installed on your mach...

   GOLANG,CLICKHOUSE,TUTORIAL     2023-02-11 07:05:36

  A simple example of git bisect command

git bisect is a very powerful command for finding out which commit is a bad commit when bug occurs.  The rationale behind this command is that it pin locates the bad commit by divide and conquer. It divides the commit history into two equal parts, then determines whether the bad commit is at the first half or at the other half. This process will continue until the bad commit is located. Here is a really good example created by bradleyboy, this is a simple git repository which demonstr...

   GITHUB,GIT,GIT BISECT     2019-07-12 10:31:51

  Understanding How is Data Stored in RDBMS

We all know that DBMS (database management system) is used to store (a massive amount of) data. However, have you ever wondered how is data stored in DBMS? In this post, we will focus on data storage in RDBMS, the most traditional relational database systems. Physical Storage Data can be stored in many different kinds of medium or devices, from the fastest but costy registers to the slow but cheap hard drives, or even magnetic tapes. Nowadays, IaaS providers such as AWS...

   RDBMS,DATABASE     2019-02-04 09:25:36