SEARCH KEYWORD -- Code writing
Install and setup Kafka on Windows
Kafka has become a very popular distributed message delivery service which decouples different services while making message delivery between service easy, fast and reliable. In this post, we will walk through how to install and set up Kafka on Windows. Pre-requisite Java Apache ZooKeeper Installation Go to Kafka's download link and download the latest stable release, we downloaded 2.2.0 as of this writing. After downloading, copy the installation file to some folder and unzip it. Sinc...
KAFKA,STREAM,USER GUIDE 2019-06-01 02:12:07
Frequently used Git commands
Git configuration git config --global user.name "robbin" git config --global user.email "fankai@gmail.com" git config --global color.ui true git config --global alias.co checkout git config --global alias.ci commit git config --global alias.st status git config --global alias.br branch git config --global core.editor "mate -w" # Configure Editor to use textmate git config -l #List all configurations User's git configuration file : ~/.gitconfig Frequently used Git commands Checkã€add...
Traditional recursion vs Tail recursion
Recursion is a frequently adopted pattern for solving some sort of algorithm problems which need to divide and conquer a big issue and solve the smaller but the same issue first. For example, calculating fibonacci accumulating sum and calculating factorials. In these kinds of issues, recursion is more straightforward than their loop counterpart. Furthermore, recursion may need less code and looks more concise. For example, let's calculate sum of a set of numbers starting with 0 and st...
ALGORITHM,RECURSION,TAIL RECURSION,TRADITIONAL RECURSION 2016-09-23 23:54:09
How to reset root password in MySQL 8
The user password in MySQL is stored in the user table, the password reset is actually to change the value of record in this table. To change the password in case the password is forgotten, the idea is to bypass the authentication of MySQL and get into the system and update the record password value with SQL command. In MySQL 5, one can start MySQL service with --skip-grant-tables option, this option will tell the service to skip loading the grant tables when starting, hence the root user can lo...
Some tricks and tips for using for range in GoLang
GoLang provides two major ways to loop through elements of array, slice and map. They are for and for range. Many people find that for range is very convenient when don't care about the index of the element. In this post, some tricks and tips would be talked about regarding for range. 1. Loop and get pointer of each element Assume there is a code snippet like below which is to get the pointer of each element in an array and create a new array with the corresponding pointer. arr := [2]int{1, 2} r...
Be careful about nil check on interface in GoLang
nil check is frequently seen in GoLang code especially for error check since GoLang's special error handling convention. In most cases, nil check is straight forward, but in interface case, it's a bit different and special care needs to be taken. Take a look at below code snippet and guess what the output will be. package main import ( "bytes" "fmt" "io" ) func check(w io.Writer) { if w != nil { fmt.Println("w is not nil") } fmt.Printf("w is %+v\n", w) } func main() { var b *bytes.B...
INTERFACE,GOLANG,NIL CHECK,NIL TYPE,NIL VALUE 2019-04-06 07:47:07
Start to work with rollup.js to pack JS files
rollup.js is a module bundler for JavaScript. It compiles small piece of JavaScript modules spreading in different files into a single larger standardized ES code file. This post will show some entry level usage for this library. Introduction Normally a bundler tool would compile a few small JavaScript files into a single JavaScript so that web browser can read, parse and render it properly. A bundler tool may be needed because of a few reasons: Some early stage browsers don't understand module...
ROLLUP.JS,COMMONJS,ES MODULE,BUNDLE,WEBPACK 2022-06-12 00:00:14
Different ways of handling concurrent job in GoLang
GoLang provides very good support of concurrency and the way to make some code to run concurrent is pretty simple and straightforward. Adding a simple go before a normal function call will make the function call asynchronous. In real cases normally people would concurrently run some jobs to improve the speed and efficiency. One important part of running jobs concurrently is about aggregating results so that the consequent function call would be able to proceed. There are multiple ways handling t...
COMPARISON,WORKER POOL,WAITGROUP,CONCURRENT 2021-05-15 11:13:53
Remove the Small Arrow on Desktop Application Shortcut on Windows
Maybe many of us have seen a small arrow on desktop application shortcut after we install the application on Windows. Some may like it but some people may think it doesn't look beautiful enough. We may need to remove these small arrows somehow the desktop can be clean. So how? Many people may use a third party software to remove the small arrow, then they must go to download the software and install them. But do we necessary do this in order to remove the small arrow?The a...
SMALL ARROW,SHORTCUT,DESKTOP,APPLICATION,WINDOWS 2014-10-25 08:39:58
Regular expression to get html meta description
When we need to process a HTML page source code, we often need to retrieve the meta description of the page besides the links in the page. This description is usually located in <meta> tag of a HTML page. The meta description is very useful for search engine index. How can we retrieve the meta description? If we use a regular expression, we can easily get the meta description. In JavaScript, the regular expression looks like : var pattern = /<meta.*?name="description".*?content="(.*?)"....
Regular expression,meta description,HTML,JavaScript 2012-07-03 10:09:20
RECENT
- How Artificial Intelligence Is Helping Fight Environmental Challenges
- How to Deal with Accusations of Negligence as a Business
- Google's Business Operations in China Amid Antitrust Scrutiny
- Deploying DeepSeek-R1 Locally with a Custom RAG Knowledge Data Base
- Balancing Convenience and Security in the Digital World
- My AI Learning Journey: Exploring the Future of Technology
- Power Grid Simulation System 02 : FDI Power Outage Attack Case Study
- Be Careful When Using Cursor to Help Build Application
- Calculating Token Count for Claude API Using Go: A Step-by-Step Guide
- Understanding Cursor and WindSurf's Code Indexing Logic
- more>>