SEARCH KEYWORD -- TOKEN CALCULATION



  How long does the heuristic cache of the browser actually cache?

Heuristic cache Heuristic caching is the default behavior of browser caching (i.e., for responses without Cache-Control), which is not simply "not caching", but implicitly caching based on the so-called "heuristic cache". HTTP is designed to cache as much as possible, so even if Cache-Control is not specified, the response will be stored and reused if certain conditions are met. This is called heuristic caching. HTTP/1.1 200 OK Content-Type: text/html Content-Length: 1024 Date: Tue, 22 Feb 2022 ...

   HEURISTIC CACHE,WEB DESIGN     2023-05-26 08:40:13

  Run code with multiple files in the same main package in GoLang

To run a GoLang program, there needs to be a main() function defined. In some cases when developing some demo program which has multiple files and just wanna put them in the same main package and this folder is not in GOPATH, how to run the program? Let's say we have following folder structure where the main() function is defined in main.go. If you just run below command, it would fail to start to run the program and gives some error if some struct is defined in other files and being used. PS D...

   EXECUTABLE,GOLANG,MAIN PACKAGE,MULTIPLE FILE     2021-05-15 10:20:10

  Microsoft Interview Riddle Questions

Every year, many people will send their resume to Microsoft and Google. So how do these IT companies hire people? What kind of interview questions will they ask. Let's see what Microsoft asked before in this article. These questions are more focusing on how you are reasoning, not necessary your technical skills. 1.  You’ve got someone working for you for seven days and a gold bar to pay them. The gold bar is segmented into seven connected pieces. You must give them a piece of gold at...

   Microsoft,Interview question,Riddle questions,Answer     2012-03-10 04:56:48

  First Touch on OpenAI API

It’s been a while since ChatGPT launched, and I’ve been meaning to try out the OpenAI API. Recently, I finally took the plunge, so here’s a walkthrough of my initial experience using it. Objective: I’ve previously used ChatGPT’s interface for language translation tasks between Chinese and English. For this API experiment, I aimed to set up a simple translation function using the OpenAI API. Step 1: Getting the API Key First, to access the API, I created an OpenAI ac...

   TUTORIAL,API,TRANSLATION,OPENAI,FREE ACCOUNT     2024-11-11 22:25:07

  Using Fabric to deploy web app

Many people may use FTP and rsync to synchronize codes to server, this way is fine but it may be troublesome when you need to deploy many times a day, actually there is a simple way if you can spend time on finding the fast way. We introduce Fabric today for deploying web app to remote server. Fabric is a deployment tool written with Python, the biggest feature if it is you no need to login to remote server, you can execute remote commands locally. Here is s simple deployment script written with...

   Fabric, Web deployment,SSH,Python     2012-12-08 03:16:00

  The Go Pointer Magic

Go is a language with the pointer type, by which we can Pass pointer into a function and update value in-place. Add methods to a struct as (* T) A, which is different from (T) A(). However, the pointer is type-safe in Go, meaning that there are such restrictions of the pointer. Different types of pointers are unconvertible. Pointer type cannot be used for calculation. Pointer types cannot be compared, either == nor !=. No mutual assignment between different pointer-...

   GOLANG,POINTER,UNSAFE     2021-10-03 02:18:57

  JavaScript programming style

Douglas Crockford is a JavaScript expert, he is the inventor of JSON. In November 2011 he made a speech "Youtube", during the speech he talked about what JavaScript programming style is.I recommend this speech to everyone, it not only helps you learn JavaScript but also make you enjoying because Crockford is very humorous and he made audience laugh frequently.Next I will summarize JavaScript programming style according to this speech and his article code convention. The so-called programming ...

   JavaScript, programming style,Curly braces,Equal     2015-10-14 10:16:44

  Mastering Go Channels: How to Build Concurrent Applications Like a Pro

Introduction In the world of concurrent programming, Go channels have quickly become a popular tool for building fast and efficient applications. Utilizing channels can help you take full advantage of the power of Go's lightweight threads, or goroutines, and enable you to easily and effectively manage data sharing and synchronization. In this article, we'll dive deep into the world of Go channels and show you how to build concurrent applications like a pro. Understanding Go Channels To start, le...

   GOLANG,CHANNEL,CONCURRENCY     2023-04-21 14:47:47

  Why accessing Java HashMap may cause infinite loop in concurrent environment

HashMap in Java is frequently used to handle key/value pairs. But it is not a good candidate to be used in concurrent environment where ConcurrentHashMap should be used instead. If used in concurrent environment, it may cause lots of unexpected behavior even including make the program getting into an infinite loop situation. To understand how this can happen, let's first discuss how HaspMap works internally. In this post we will use implementation of HashMap before Java 8 as example, Java 8 prov...

   JAVA,HASHMAP,INFINITE LOOP     2020-03-29 01:47:00

  How Query Optimizer Works in RDBMS

In a previous post, we discussed how the various relational operators are implemented in relational database systems. If you have read that post, you probably still remember that there are a few alternative implementations for every operator. Thus, how should RDBMS determine which algorithm (or implementation) to use? Obviously, to optimize the performance for any query, RDBMS has to select the correct the algorithm based on the query. It would not be desirable to always use the same algori...

   DATABASE,DATABASE DESIGN,DATABASE OPTIMIZATION     2019-04-20 07:26:32