SEARCH KEYWORD -- function overloading
Empty slice vs nil slice in GoLang
In Go, there is a type called slice which is built on top of array. It's a very convenient type when we want to handle a group of data. This post will explain a subtle but tricky difference between empty slice and nil slice. A nil slice is a slice has a length and capacity of zero and has no underlying array. The zero value of slice is nil. If a slice is declared like below, it is a nil slice. package main import "fmt" func main() { var a []string fmt.Println(a == nil) } The output will be t...
GOLANG,JSON,EMPTY SLICE,NIL SLICE 2018-10-18 09:25:21
Event Loop Mechanism in JavaScript
Introduction The Event Loop Mechanism The event loop mechanism is the core of how JavaScript handles asynchronous operations. It ensures that the execution order of the code aligns with the expected sequence. JavaScript's Single Thread JavaScript is known for being a single-threaded language, meaning it executes one task at a time. This can lead to a significant issue: if a thread is blocked, the entire program becomes unresponsive. To address this, JavaScript introduced the event loop mechanism...
JAVASCRIPT,EVENT MECHANISM,EVENT LOOP 2024-07-03 08:19:09
What can .htaccess file do?
A .htaccess file is a directory-level configuration file supported by several web servers, that allows for decentralized management of web server configuration. What can a .htaccess file do? We summarized some of them here. Hope it may help you. 1. Timezone settingSometimes when you use date() or mktime() functions in PHP, , it may display some weird information because of the timezone difference. For example, one possible warning is :Warning: date(): It is not safe to rely on the syste...
Be careful about nil check on interface in GoLang
nil check is frequently seen in GoLang code especially for error check since GoLang's special error handling convention. In most cases, nil check is straight forward, but in interface case, it's a bit different and special care needs to be taken. Take a look at below code snippet and guess what the output will be. package main import ( "bytes" "fmt" "io" ) func check(w io.Writer) { if w != nil { fmt.Println("w is not nil") } fmt.Printf("w is %+v\n", w) } func main() { var b *bytes.B...
INTERFACE,GOLANG,NIL CHECK,NIL TYPE,NIL VALUE 2019-04-06 07:47:07
Significance and use of do{...}while(0)
In some Linux kernel and other open source codes, we can see some codes like below: do{ ... }while(0) This code snippet is not a loop, it seems there is no significance of using do...while this way, then why should we use it? In fact, the significance of do{...}while(0) is better than optimizing your code. After some research, we summarize some benefits of it. 1. Help define complex macro to avoid error #define DOSOMETHING()\ foo1();\ foo2(); The me...
do{...}while(0), optimization 2012-10-21 21:13:22
Extension context menu is missing in Firefox after restart
If you have experience of writing Chrome extension, you may be familiar with how you can add a context menu for your extension. The code would be similar to below: chrome.runtime.onInstalled.addListener(function() { chrome.contextMenus.removeAll(); chrome.contextMenus.create({ "id": "your_id", "title": "Your Title", "contexts": ["all"] }); }); You need to add a listener listening to the extension install event. Once the extension is installed, create a contex...
CHROME,FIREFOX,EXTENSION,CONTEXT MENU 2018-11-16 20:58:20
Remote form submission
Remote form submission is way of submitting HTML forms from local to a particular remote server. This is used by many advertisers, spammers or even hackers to submit bad data to other websites in order to get what they want. They can write some automation scripts to help them do spamming. How can people do remote form submission and how to prevent this kind of attacks? Since a website can be accessed by almost every one, so one can save a local copy of a HTML form of a website through File->S...
PHP,Security,Remote form submission 2013-07-14 01:04:49
My favorite quotes from "The design and evolution of C++"
"The design and evolution of C++" is a book written by the inventor of C++ Bjarne stroustrup. In this book, Bjarne stroustrup presents the definitive insider's guide to the design and development of the C++ programming language. Without ommitting critical details or getting bogged down in technicalities, Stroustrup presents his unique insights into the decisions that shaped C++. In this book, some statements are very impressive. They are concise but convey much information. Here I summariz...
C++,statements,type system,compatibility 2012-07-16 10:58:10
Must read C++ book list
Every programmer should read some books to enhance their understanding about the language before the start to practice. But some of us often wonder what books we should read and in what order. Some books may not be suitable for beginners and some books may cover the similar topics. Here I summarize a C++ book list we should read.Stage 1"Essential C++" : It is short but powerful and it can enhance our understanding of C++'s features.This book is specifically designed to bring you up to speed in a...
C++,Book list,Read,Effective C++ 2012-05-23 13:03:30
Sending message to Slack Incoming Webhook using PHP
Slack is a popular work collaboration tool and it provides many features which help teams collaborate. It has one function which allows sending messages to channels from external source such as your own web service -- Incoming Webhook. This is extremely useful when want to monitor something and get notified when some event occurs and it doesn't require complicated setup. To send messages using Incoming Webhook, a service URL has to be generated on Slack and then the message can be posted to this...
PHP,CURL,SLACK,INCOMING WEBHOOK 2017-03-11 21:32:28
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>>