SEARCH KEYWORD -- Sample
Implement struct no copy in GoLang
There is some case where some of the struct in GoLang which is not meant to be copied. For example, sometimes a global configuration which should have only one version passed around the whole application and should not be copied and modified. In GoLang, there is no intuitive solution on preventing copying of struct. But there is still some way which can be leveraged to help prevent this while developing the code. The trick is to define some struct implementing sync.Locker interface and has this ...
The Greatest Regex Trick Ever (Simplified)
There is a post which is really hot recently which showcased a best ever regular expression trick. In this post, it provides a trick which can be adapted to situations where one wants to match some patterns desired and exclude the patterns undesired. In simple, the trick is : Pattern not desired | (Pattern desired) Then taking the group 1 match of the capturing group of matched. This group will contain the strings matching the desired patterns. Have to say this trick is really neat and brilliant...
REGULAR EXPRESSION,PROGRAMMING,JAVA 2015-10-01 21:59:05
Use CSS calc to align an element vertically
calc function is a function introduced in CSS3, it can be used to calculate length values. There are a few good features which make it suitable for aligning an element vertically. One good part is that the operands can have different units like percentage, px, rem etc. This makes it very flexible when calculating the length value. One example: .rect{ margin-top:20px; height:50px; background:green; width:calc(100%-20px); } Here the left operand uses percentage while the right one ...
CSS3,CALC,VERTICAL ALIGN 2019-08-23 20:30:23
Service discovery with etcd
In previous post, we have talked about etcd and its usage. This post we will cover how to implement server discovery with etcd. Service discovery is to solve one of the most commonly seen scenarios in distributed system where how to find the corresponding target service to talk to. In short, it is to find some server which one can talk to based on some service name. A complete service discovery system include below three key functions: Service registration: A service must register itself to so...
ETCD,SERVICE DISCOVERY,DEMO,TUTORIAL 2021-03-08 05:36:29
Permutation implementation in Java
Permutation is a very basic and important mathematic concept we learned in school. It has very practical applications in real world. For example, in football. In simple, permutation describes all possible ways of doing something. For example, there are six permutations of the set {1,2,3}, namely: (1,2,3), (1,3,2), (2,1,3), (2,3,1), (3,1,2), and (3,2,1). In general, for n items, there are n! number of permutations to arrange these items. How can we implement this algorithm in programming programm...
Permutation,Implementation,Java,Sample 2015-03-26 02:18:14
Handle NXDomain error when resolving IP address in Ruby DNS resolver
In another post, we covered how to resolve SystemStackError when resolving IP address in Ruby. In this post, we would cover another common issue where a NXDomain error is returned when resolving an IP address. The NXDomain error means that the queried domain name does not exist in the DNS. In Ruby, DNS resolver library will use /etc/resolv.conf by default get the name servers to resolve the domain name. There are multiple DNS name servers can be specified in /etc/resolv.conf with below format. ...
RUBY,RUBY ON RAILS,NETWORK,DNS,NXDOMAIN 2017-07-16 01:39:23
Add compiler argument to build Maven project
Maven is a software project to manage a project's build, reporting and documentation from a central piece of information. It's now widely used t build and deploy projects. It can help automatically maintain the dependencies of projects. There is a central project configuration file named pom.xml. Here you can configure the project you want to build. In this post, we will show you how to add compiler argument when using javac to compile Java source code. Sometimes we need to pass compi...
Maven,compiler argument, compiler option, Java 8 2015-04-10 21:59:00
5 good anti SOPA designs
The Stop Online Piracy Act (SOPA) is a United States bill to expand the ability of U.S. law enforcement to combat online copyright infringement and online trafficking in counterfeit goods. Its goal is to protect the intellectual-property market and corresponding industry, jobs and revenue. However since its proposal, many organizations protest against it as they believed it would threaten free speech and innovation, and enable law enforcement to block access to entire internet domains due t...
Use Memory Analyzer Tool in Eclipse
When developing applications, we often encounter memory issues of an application. To analyze how much memory each class takes, we need to have some specific tools to assist us. One of them is Memory Analyzer Tool on Eclipse. The Eclipse Memory Analyzer is a fast and feature-rich Java heap analyzer that helps you find memory leaks and reduce memory consumption. To use the Memory Analyzer Tool, you first need to install it on Eclipse. You can go to Help -> Install New Software.... Paste h...
Memory analyzer tool, Eclipse,heap dump, HPROF 2014-10-28 07:22:35
Why exception would be thrown when deleting element while looping through HashMap in Java
HashMap and other Collection types are frequently used in Java application programming. This post will explain why exception would be thrown when deleting element with Map.remove() while looping through a Map using Iterator. This issue would also occur to other Collection types such as Set, List. Below is a sample code snippet demonstrating the exception thrown. Map<String,String> map = Collections.synchronizedMap(new TreeMap<String,String>()); map.put("key1","value1"); map.put("ke...
JAVA,HASHMAP,CONCURRENTMODIFICATIONEXCEPTION 2018-06-30 12:49:09
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>>