SEARCH KEYWORD -- NAMED RETURN
What is the use of empty struct in GoLang
In Go, an empty struct struct{} is a struct with no fields that may appear to be of little use, but in reality, it can be useful in certain situations and become a simple and efficient solution in code. As a semaphore or lock Because the empty struct has no fields, it can be conveniently used to implement some concurrency control functions, such as mutex locks, read-write locks. We can use chan struct{} to implement an unbuffered channel for controlling concurrent access. package main import ( ...
GOLANG,EMPTY STRUCT 2024-04-05 23:54:03
Understand GoLang WaitGroup internals and how it works
Background Before getting into the main content, let me give a brief introduction to WaitGroup and its related background knowledge. Here, the focus is on the basic usage of WaitGroup and the fundamental knowledge of system semaphores. For those who are familiar with these, you can skip this section directly. WaitGroup WaitGroup is one of the most common concurrency control techniques in Golang, and its function can be roughly compared to the join() in concurrency control of other languages' mul...
GOLANG,WAITGROUP,SOURCE CODE 2023-04-26 08:02:01
ConcurrentHashMap vs Collections.synchronizedMap()
ConcurrentHashMap and Collections.synchronizedMap() both provide thread-safe operations of collections of data. They are used in multithreaded programs to provide both thread safety and performance improvements. In many cases, we can use either of them. But the realization of thread safety is different for these two implementations. ConcurrentHashMap will create an HashEntry[] array internally to store the elements passed in from a Map, while Collections.synchronizedMap() will return a Synchroni...
ConcurrentHashMap,Collections.synchronizedMap 2014-09-18 05:04:59
How many bytes a boolean value takes in Java?
Have you ever wondered how many bytes a boolean value takes in Java? One byte, this might be the answer comes out of your mind right away. But is it? Let's dig in more. Per Oracle documentation on boolean value definition, there is below statement: boolean: The boolean data type has only two possible values: true and false. Use this data type for simple flags that track true/false conditions. This data type represents one bit of information, but its "size" isn't something that's precisely defin...
JavaScript efficiency catch up
JavaScript is a very flexible language, we can write JavaScript code freely with various styles, different kinds of codes will have different execution efficiency. Here we summarize some tips we get from our development. Efficiency of JavaScript itself JavaScript has execution context chain, closures, prototype inheritance, eval etc. It brings us some magic features, but it also introduces the performance issue, if we don't use them properly, it will affect the codes execution efficiency. 1. Glo...
JavaScript,efficiency,event delegation,eval 2013-04-02 04:08:46
Including Related Objects in Queries
Every time you hit a mobile network, it slows your users down and introduces another point of failure. So when you're designing your application, you need to take advantage of every opportunity to omit needless requests. Parse's philosophy is to help make this easier by providing standard ways to reduce network requests. One example is caching queries, which lets you avoid resending requests you've already sent. Another example, which we've launched in the most recent version of the...
Software design,Request,Network load,Resource manage,Mobile 2011-12-07 08:51:56
Simplify Cloud Data Security: A Deep Dive Into Protecting Sensitive Data in Java
Featuring encryption, anonymization, hashing, and access control Network security incidents occur now and then, mostly caused by data leakage. Data security has aroused widespread concern, and the community keeps working hard on approaches to simplify data security, especially in sensitive data protection. Sensitive data includes but is not limited to personally identifiable information (PII) like names, ID numbers, passport numbers, driver’s license numbers, contact information like addre...
JAVA,SECURITY,ENCRYPTION,DECRYPTION,TOKENIZATION 2023-04-28 21:22:10
Multiple Constructor in PHP
See code:class MultipleConstructor {private $info = â€;function __construct() {$argv = func_get_args();switch( func_num_args() ){default:case 1:self::__construct1($argv[0]);break;case 2:self::__construct2( $argv[0], $argv[1] );break;}}function __construct1($value) {$this->info = $value;}function __construct2($value, $value2) {$this->info = $value . ††. $value2;}function get() {return $this->info;}}$a = new MultipleConstructor(‘Value 1′);echo $a->get();$...
PHP,Constructor,Multiple constructor 2011-10-01 02:28:22
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
Whatever works for you
In my earlier 20s when I knew everything, I was a much bigger evangelist for my technology choices. I’m accused of fanboyism a lot more these days, but only because Hacker News keeps sending huge waves of people here who tell me I’m an idiot. But I used to be much more annoying with pushing my choices onto others. I’ve naturally reduced such evangelism as I approach 30 and realize I don’t know anything, but I’m now making a much more conscious effort to s...
Choice,Product,Usability,Fittability 2011-11-29 08:39:09
RECENT
- How to make select in WinSock exceed the 64-socket limit
- EtsiosApp Release Date: All You Need to Know
- SIEM Big Data Visualization [03]:Graph-Based SIEM Log Analysis Dashboard
- How AI is Changing Web Development: A New Era of Digital Innovation
- SIEM Big Data Visualization [02]: National Cyber Threats Dashboard
- Exploring the Impact of a Loan Origination System on Financial Institutions
- Power Grid OT Simulation System
- Why is Golang's Compilation Speed So Fast?
- SIEM Big Data Visualization : Dashboard for Monitoring Scam Events in Critical Infrastructure
- Introduction to the Application of eBPF in Golang
- more>>