SEARCH KEYWORD -- Programming language
HTTP Server development resource summary
This article summarizes some materials, articles and books I used when learning HTTP Server development. Hope this will help you. RFC and standard documents RFC2616 – Hypertext Transfer Protocol — HTTP/1.1 HTTP protocol standard document, it's an essential reference document for all personnel engaged in the development of the HTTP-related projects, careful study is recommended. RFC793 – TRANSMISSION CONTROL PROTOCOL TCP Protocol standard document The WWW Common Gateway Interfac...
HTTP Server,Book,Article 2012-09-25 22:46:56
Short SASS tutorial
If you learned CSS before, you should know that CSS is not a programming language. You can use it to design webpage style, but you cannot use it for programming, i.e, CSS is what designer uses, not what programmer uses. Programmer may think that CSS is very troublesome, it has no variables, no conditional statements, it just allows line-by-line description of HTML elementsLuckily, CSS preprocessor appear which makes CSS programmable. The general idea of CSS preprocessor is using a programming la...
CSS,SASS,programmable,variable,condition,comment 2012-06-22 08:38:18
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...
Why no max/min function for integer in GoLang
You may notice that there is no max/min function provided to compare the maximum/minimum of two or more integers if you are a GoLang developer with some experience . In other languages, these functions are provided as part of the core lib functions. Have you wondered why? Indeed GoLang provides max/min function in math package, but they are used for comparing float64 data type. The signature of these two functions are math.Min(float64, float64) float64 math.Max(float64, float64) float...
Send email using PHPMailer on GoDaddy hosting
According to PHPMailer troubleshooting guide, GoDaddy has a very strict rule on sending email using PHPMailer. Popular US hosting provider GoDaddy imposes very strict (to the point of becoming almost useless) constraints on sending an email. They block outbound SMTP to ports 25, 465 and 587 to all servers except their own. This problem is the subject of many frustrating questions on Stack Overflow. If you find your script works on your local machine, but not when you upload it to GoDaddy, ...
Be careful about printing error as string in GoLang
In GoLang, we can format and produce string using fmt.Printf(), just like C, GoLang also supports format verbs like %s, %d which can be placeholder for different types of values. But please pay attention when printing error as string so that you will not fall into some trap. Let's first take an example code snippet and see what trap we are talking about. package main import "fmt" type A string func (a A) Error() string { return fmt.Sprintf("%s is an error", a) } func main() { a := A("hello...
STACKOVERFLOW,GOLANG,FMT 2019-01-23 09:17:15
Understand unsafe in GoLang
Before going to understand unsafe package in GoLang, the first thing needs to talk about is the pointer in GoLang. If you have a background of C language, you must know what pointer means and its usage. With pointer, you are free to operate any data at memory level which means you have great power, but this means that you have great responsibility as well. That's why it might be considered unsafe in lots of cases. Take a look at a simple example of doubling an integer. package main import "fmt"...
Deep Understanding of ReentrantLock: Unlocking the Mysteries of Java Concurrent Programming
ReentrantLock introduction ReentrantLock is a class in the Java concurrent package, java.util.concurrent.locks, and is an implementation of the Lock interface. As its name suggests, it is a reentrant mutual exclusion lock. A mutual exclusion lock is a synchronization tool used to protect shared resources, ensuring that only one thread can access the resource at a given time. Reentrant means that a thread can acquire the same lock multiple times without causing a deadlock. This lock provides some...
JAVA,REENTRANTLOCK,CONCURRENCY,MULTITHREADING 2023-05-22 08:01:13
Can two new objects point to the same memory address in GoLang?
Do you have any idea what the output will be for below GoLang snippet? package main import ( "fmt" ) type obj struct{} func main() { a := &obj{} fmt.Printf("%p\n", a) c := &obj{} fmt.Printf("%p\n", c) fmt.Println(a == c) } Many people would think that a and c are two different object instances which have different memory addresses. Hence a == c will be false. But if you try to run the above program, you would see below output 0x5781c8 0x5781c8 true To get to know the reason wh...
GO,GOLANG,VARIABLE ESCAPE,ZEROBASE 2019-04-06 01:19:52
People working with computers seem to have a lot of spare time
People working with computers are a group of people who spend much time on communicating with PCs, Handsets and other programmed hardware devices. Usually, these people are thought as a group of busy people. When we see them, they are often sleepy and seem not caring about anything else. They often work day and night, spend many hours on finding and fixing an unknown bug or trying to meet the project deadline Are they really so busy? Lets see what some people think about them? Just f...
Programming,Busy,Spare time,Fun 2012-05-01 07:06:51
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>>