SEARCH KEYWORD -- SLICE
Deep Dive into Spin Locks in Golang
In concurrent programming, a Mutex is a commonly used synchronization mechanism to protect critical resources and prevent data races. However, in certain specific scenarios, especially when the lock-holding time is short and the number of threads is limited, a more lightweight lock known as a Spin Lock can provide higher performance. What is a Spin Lock A Spin Lock is a form of busy-wait lock. When a thread attempts to acquire a lock held by another thread, it continuously checks the lock's stat...
Penrose Tiling in Obfuscated Python
Here’s a Python script which renders some Penrose tiling. Yes, this is valid Python code: _ =\ """if! 1:"e,V=100 0,(0j-1)**-.2; v,S=.5/ V.real, [(0,0,4 *e,4*e* V)];w=1 -v"def! E(T,A, B,C):P ,Q,R=B*w+ A*v,B*w+C ...
When and Where to Use Pointers in Go
When declaring variables in Go, we usually have two syntax options: In some scenarios, pointers; in others, reference; sometimes, either. It’s great to have choices, but it is also confusing sometimes as to which one in which scenario. To be more reasonable in choice-making, I started from pointers, walked through their natures, and summarized some rules in using them in Go. from unsplash, Jordan Ladikos Pointers Go has pointers. A pointer holds the memory address of a ...
Undefined property or variable in JavaScript
JavaScript is a weak type language, and also you can use a variable or property where it's undefined. If we don't have correct ways to check whether a property or variable is defined, we may get unexpected results when we try to access the,. How can we check whether a property or variable is undefined? This is actually a somewhat tricky question. Let's start off with some facts about undefined and then see what kind of function is consistent with the ones we care about. JavaScript attaches type...
Property,Undefined,Array,JavaScript 2014-07-24 06:56:07
Demo on creating worker pool in GoLang
A worker pool is a pool where a specified number of workers(usually goroutine) created and run to pick up tasks. This can allow multiple tasks to be ran at the same time while keeping the number of workers a fixed number to avoid overuse of resource in the program. There are usually two approaches of creating worker pool. One is with fixed number of workers pre-created One is creating worker when needed until the max number of workers created In this post, we will cover the demonstration of cr...
WORKER POOL,GOLANG,GOROUTINE 2021-01-24 05:04:00
Understand more about Go basics with one interview question
First, let's take a look at below Go interview question: package main const s = "Go101.org" // len(s) == 9 // 1 << 9 == 512 // 512 / 128 == 4 var a byte = 1 << len(s) / 128 var b byte = 1 << len(s[:]) / 128 func main() { println(a, b) } What would be the output in your mind? The output would be 4 0. Surprising? Before getting to the output values, some concepts in Go need to be introduced and explained in more detail. len() len() is a built-in function in Go to get t...
GOLANG,CONSTANT,SHIFT OPERATION,LEN() 2020-10-10 02:52:19
Avoiding and exploiting JavaScript's warts
One's sentiment toward JavaScript flips between elegance and disgust without transiting intermediate states. The key to seeing JavaScript as elegant is understanding its warts, and knowing how to avoid, work around or even exploit them. I adopted this avoid/fix/exploit approach after reading Doug Crockford's JavaScript: The Good Parts: Doug has a slightly different and more elaborate take on the bad parts and awful parts, so I'm sharing my perspective on the four issues that ha...
JavaScript,warts,Exploit,with,variable,this 2012-02-15 05:51:21
Learn from Haskell - Functional, Reusable JavaScript
Learn You a Haskell: For Great Good? For the last couple months I have been learning Haskell. Because there are so many unfamiliar concepts, it feels like learning to program all over again. At i.TV, we write a lot of JavaScript (node.js and front end). While many functional/haskell paradigms don’t translate, there are a few techniques that JS can benefit from. There are Haskell library functions for everything. At first I thought this was just because it was mature, but then I notice...
JavaScript,Haskell,Functional,Reusability,Feature 2012-02-21 05:30:51
We need a programming language for the rest of us
Recently I took on the enormous task of learning Objective-C from the bottom up and I was struck by something I couldn’t shake: this is too hard. An experienced developer might scoff at me for saying that, but it’s true. I’ll be honest about my education, Calculus II was the most math I ever took, I have an advanced degree from Berkeley in Journalism. I am a proficient HTML/CSS developer and can glue enough javascript together to solve almost any problem that has presen...
Code.Programming,Expectation,Easy-to-use 2011-07-22 02:20:09
How the Go language improves expressiveness without sacrificing runtime performance
This week there was a discussion on the golang-nuts mailing list about an idiomatic way to update a slice of structs. For example, consider this struct representing a set of counters. type E struct { A, B, C, D int } var e = make([]E, 1000) Updating these counters may take the form for i := range e { e[i].A += 1 e[i].B += 2 e[i].C += 3 e[i].D += 4 } Which is good idiomatic Go code. It's pretty fast too BenchmarkManual 500000 ...
Go,Expressiveness,Performace,Sacrifice 2012-02-12 04:53:55
RECENT
- Common Pitfalls When Handling JSON in Golang
- Streamlining the Project Invoicing Process: Tools and Strategies
- Performance comparison of string concatenation in Go language
- Why init() is not recommended in Go
- The Role of Coding Skills in Advancing Tech Careers
- Tips for Socializing With Friends During College
- Proximity Cards Do More Than Just Open Doors
- How to choose quality painted auto parts
- Oval engagement rings from MoonOcean: Elegance of form and individual approach
- Hologres vs AWS Redshift
- more>>