SEARCH KEYWORD -- Code comment
Understanding Slice Behavior in Go
In Go, understanding how slices behave when passed to functions is crucial for writing efficient and bug-free code. This behavior is often a source of confusion for many developers, especially those new to the language. In this article, we'll explore the difference between passing slices by value and by reference, and how it impacts the modification of slices within functions. Introduction In Go, slices are a fundamental data structure used to work with sequences of elements. They are essentiall...
PASS BY REFERENCE,ARRAY,SLICE,PASS BY VALUE 2024-03-10 06:43:51
“Experience says it allâ€- Pentaho ETL Developers’ Comment on the Use of ETL Tools
Since months Pentaho ETL developers have been juggling with three distinct tools- Pentaho DI, SSIS, and PowerShell. Their experience has provided them new perspective on the cons and pros of every tool. In this post, they are sharing their experience with these tools and explain their significance. Before getting started, they first would like to explain ETL in brief and how the tools suits ETL landscape. ETL is Extract Transform Load. Informatica was the initial ETL tool introduced in the mid n...
Pentaho BI ETL tools 2015-05-13 01:14:57
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 ...
Inline IF and CASE statements in MySQL
There are times where running IF statements inside a query can be useful. MySQL provides a simple way to do this through the use of IF and CASE statements. The IF statement takes three arguments; the conditional, the true value and the false value. False and true values may be static values or column values. For example: SELECT IF(score > 100, 100, score) AS score FROM exam_results this will return the value in the score column limited to a maximum value of 100. IF statements can a...
How to do pprof for gRPC service
gRPC is a RPC framework based on HTTP and is frequently used for communications among micro service inside the same organization network. However, the service functions cannot be accessed via normal HTTP URL as it's not a WEB framework. In this case, how to do pprof on a gRPC service? The trick is starting a HTTP server asynchronously while starting the gRPC service. This HTTP server can be accessed to run prrof debug. go func(){ http.ListenAndServe(":10001", nil) }() Since it uses the de...
Fab CEO: Why we choose Tencent in China?
Today one important news is that Fab completes its D round fund raising with 150 million US dollars. Regarding this round of fund raising, Fab CEO Jason Goldberg explained : "If Fab wants to do business in US only, then it's not necessary to raise so much money.". Also from the investment of Tencent and Itochu from Japan, China and Japan will be Fab's new market of expansion. Why does Fab choose to cooperate with Tencent to expand Chinese market?(There was news that Alibaba was also contacting F...
How small should a function be?
"The well-designed functions are often relatively small, large function design is often a mess or there is a lot of room for optimization."Maybe you think there is no need to discuss the size of functions, because the nature of the function design is cohesive, its size is only its manifestations. But it is necessary to discuss about the size of function because the statement above .First let's understand the concept of minimum code processing unit : a basic operation (assignment, comparison, etc...
Function size,Optimization 2012-12-18 13:58:07
How does GoLang know how many CPUs to use?
When running lscpu command on Linux, it will list the CPU info on the machine. Take one example where there is one CPU with 2 cores and each core has two threads which indicates there are 4 cores available. Now let's see how many cores GoLang program would identify. From output, NumCPU and GOMAXPROCS both output 4 which is expected. How does go runtime get this info, does it get it through similar command like lscpu or /proc/cpuinfo? Let's dig more in GoLang's source code. In runtim...
A boolean value interview question
Someone asked a question on StackOverflow, he was asked an interview question. The question is : Given 3 boolean variables a, b, c, return true if at least 2 out of the 3 are true. He gave the solution as follows :boolean atLeastTwo(boolean a, boolean b, boolean c) { if ((a && b) || (b && c) || (a && c)) { return true; } else { ret...
bool,return,expression,conditional 2012-04-30 08:49:32
The magic of go:linkname
When writing Go program, there is frequent need on using time.Sleep() function to pause the logic for some time. And if jumping to the definition of this function, can see below definition: // Sleep pauses the current goroutine for at least the duration d. // A negative or zero duration causes Sleep to return immediately. func Sleep(d Duration) I's strange that there is no function body defined here. What happened? The actual definition of the function body is residing at runtime/time.go&nb...
TRICKS,GO:LINKNAME,GOLANG 2022-04-10 08:39:00
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>>