SEARCH KEYWORD -- development code
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...
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
8 Essential Mobile Game App Development Tools
Who doesn’t love playing a game on their mobile? Temple run had caught the whole world’s attention to such an extent that right from children to elder people in the household were glued to this game. It is indeed interesting that mobile games can keep your kids occupied. In fact, they are the best stress busters available in the present times. Remember how you used to steal some hours just to play candy crush while on the break? This way you used to relieve yourself of the stress bun...
A trick of building multithreaded application on Solaris
Firstly, Let’s see a simple multithreaded application: #include <stdio.h> #include <pthread.h> #include <errno.h> void *thread1_func(void *p_arg) { errno = 0; sleep(3); errno = 1; printf("%s exit, errno is %d\n", (char*)p_arg, errno); } void *thread2_func(void *p_arg) { errno = 0; sleep(5); printf("%s exit, errno is %d\n", (char*)p_arg, errno); } int main(void) { pthread_t t1, t2; ...
var in JavaScript
Geoff published an article sometime ago--"How one missing var ruined our launch". This article described one case where MelonCard uses Node.js as their backend system, suddenly there was a small registration peak period--50-100 people registered concurrently, then the entire website stopped responding and many other strange problems showed up. When they were investigating the source of the problem, they found one missing var in the following code.app.all(‘/apps/:user_id/status’, fun...
JavaScript,Scope,variable 2012-05-26 12:35:36
The internals of slice in GoLang
There are 3 components of slice:a) Pointer: Points to the start position of slice in the underlying array;b) length (type is int): the number of the valid elements of the slice;b) capacity (type is int): the total number of slots of the slice. Check the following code: package main import ( "fmt" "unsafe" ) func main() { var s1 []int fmt.Println(unsafe.Sizeof(s1)) } The result is 24 on my 64-bit system (The pointer and int both occupy 8 bytes). In the next example, I will use gdb to poke t...
New function signal.NotifyContext in GoLang 1.16
os/signal package in GoLang may not be frequently used but it provides some good features like Shutdown() which can be used to gracefully shutdown a running HTTP server. func (srv *Server) Shutdown(ctx context.Context) error With this function, there is no need to use third party library to gracefully shutdown HTTP server. How is it being used? package main import ( "context" "fmt" "net/http" "os" "os/signal" "time" ) func main() { server := http.Server{ Addr: ":8080", } http.Handl...
GOLANG,NOTIFYCONTEXT,GRACEFUL SHUTDOWN 2021-06-19 01:07:10
CSS position explained
CSS has two very important properties on determining the position of an element in webpage: display and position. display is used to determine how elements are grouped and displayed on the page. While position is used to determine the exact position of an element on a page. And this post would explain position property in detail. position is used to determine the exact position of an element on a page. It has five possible values. static relative absolute fixed sticky sticky is supported start...
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>>