SEARCH KEYWORD -- MULTIPLE PAGE



  Meet the new Gmail inbox

On 29 May, Google announced the new Gmail inbox. The biggest change is users can categorize their mails. Today the new Gmail inbox is finally available. Now we can put a lot of different types of email: messages from friends, social notifications, deals and offers, confirmations and receipts, and more into different categories. By default, Gmail provides three different tabs : Primary, Social and Promotions at the inbox page. You can know what to read and what are the priority mails as a glance....

   Gmail,New inbox     2013-07-17 20:06:10

  4 asynchronous programming methods in JavaScript

You may know the execution environment of JavaScript is single threaded. The so called single thread means only one task can be running at any time, if there are many tasks, they need to be in a queue and wait for the previous task to be completed. The advantage of this mode is it's easy to implement and the execution environment is relative simple; the disadvantage is that if one task takes long time, the tasks following it must wait in the queue and this will delay other tasks consequently. Th...

   JAVASCRIPT,ASYNCHRONOUS PROGRAMMING, EVENT MODEL,PROMISE     2012-12-25 00:55:47

  Why init() is not recommended in Go

golangci lint Currently, the unified CI's .golangci.yml includes the gochecknoinits checker: # golangci-lint v1.46.2 # https://golangci-lint.run/usage/linters linters: disable-all: true enable: ... - gochecknoinits # Checks that no init functions are present in Go code. ref: https://github.com/leighmcculloch/gochecknoinits ... If Go code uses the init() function, the following error will occur: # golangci-lint run foo/foo.go:3:1: don't use `init` function (gochecknoinits) func i...

   GOLANG,INIT(),SYNC.ONCE,PANIC     2024-05-10 07:46:18

  TowTruck from Mozilla Lab

TowTruck is a real time collaboration tool developed by Mozilla lab, it can enable users to do real time chat, voice chat in any webpage. Both sides can see each other's mouse position, it will produce animation when mouse clicked. The classical application for collaborative sides is users can discuss a document while reading the same document or modify some codes or fill up an application form. TowTruck is an open source project. It's very easy to deploy TowTruck, first you need to embed below ...

   TowTruck,Mozillar Lab,HTML5     2013-04-15 12:23:13

  An experience of fixing a memory-corruption bug

During the last 4 months, I was disturbed by a memory-corruption bug, and this bug will cause program crash. Until last Monday, I found the root cause and fixed it. This debug process is a difficult but memorable experience, so I will share it in this article.   My program works as a SMS Hub. When it receives a SMS, it will allocate a structure in heap memory like this: typedef struct { ...... int *a[8]; ...... } info; After processing the SMS, the program will free the m...

   c, debug, unix, solaris, multi-thread     2014-05-04 03:52:43

  How to Set Spring profile With Example

Technology:  Spring Profiles provides a way to isolates the parts of application configuration, it will make available only in certain environments. It is mainly useful it wants to load spring beans based on environment configuration, for example if the operating system is windows we can load some specific spring beans, if it is other than load different spring beans. One more scenario where spring profiles widely used, like for QA environment we will use some database which is hosted local...

   JAVA,PROFILE,SPRING,DEVELOPMENT,APPLICATIONS     2018-07-20 01:17:23

  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

  Reset submodule to checkout state in git

Sometimes there would be a submodule or some submodules within one git repository, in some cases the submodule may be out of sync with the checkout state as some files in submodule may be changed unexpectedly. How to reset the submodule to be the same as the original checkout state? Let's take an example that we have a git repository A and there is a submodule called ruby-gems under it. Assuming the submodule at remote origin has commit a. And on our local environment, the repository A has a la...

   GIT RESET,GIT SUBMODULE     2020-09-05 08:30:57

  New HTTP status code: 451 Unavailable for Legal Reasons

On June 11th,2012, Google proposed a new HTTP status code to indicate webpage contents which are not conform to law. The new HTTP status code is 451 Unavailable for Legal Reasons. Google Android Developer Advocate Tim Bray submitted the draft for the new HTTP status code, it will be used on some webpages which can not be served because of legal reasons. Visitors will know that the page cannot be seen because of the government censorship.According to the draft, responses using this status code sh...

   HTTP status,451,Tim Bray     2012-06-12 09:07:44

  Error handling in GoLang

Error handling is one of the must talked topics for any programming language. The program would be more reliable and stable if errors are handled properly and timely. Each programming language has its own way to handle error, this applies to GoLang as well. This post will discuss more about GoLang's error handling mechanism. Error handling Before talking more about GoLang's error handling, we can see how different programming languages are handling errors. C's error check The most direct way of ...

   GOLANG,ERROR HANDLING,FLUENT INTERFACE     2021-03-06 21:36:08