SEARCH KEYWORD -- FRONT END



  A simple tutorial on Linux nohup command

In our daily work, there might be need to run some important program for hours or even days without being abruptly terminated. In such case, we may want to run the program with command nohup. nohup is the abbreviation of no hangup, i.e, don't hang up or terminate the process. This command will tell the process to ignore the system HUP signal. The HUP signal will be emitted when the terminal is exited or disconnected. Normally process will abort its execution when receiving this signal.  Bas...

   NOHUP,LINUX     2020-08-08 01:14:50

  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

  Samsung announces Galaxy S III mini

Samsung announces Galaxy S III mini today, compared to Galaxy S III, the mini version has some changes in screen size and configurations. Below are the detail configurations of Galaxy S III mini: 4-inch screen 800 × 480 resolution 5-megapixel primary camera, VGA front camera 1GHz dual-core processor Android 4.1 operating system Support the Samsung S Voice Personal Assistant, NFC and S Beam transmission function 1GB RAM, two versions with 8GB and 16GB memory, expandable to 32GB with microS...

   Galaxy S III mini,Configuration     2012-10-11 19:27:53

  How to use Chome dev tool to find event handler bound to an element

As a front end developer, there is frequent need to debug JS code and sometimes need to find out what event handler has been bound to a HTML element. In this post, we will show how to find out the click event handler bound to a HTML element, this same applies to other events as well. Nowadays, a web application is usually very complicated and there are lots of JS codes which makes it difficult to find out what click event handler has been bound to a HTML element, especially when the JS source co...

   JAVASCRIPT,CHROME,CHROME DEV TOOL,EVENT LISTENER     2019-08-17 22:14:36

  + operation on JavaScript objects

In JavaScript, there are two types of values: primitive and object. Primitives consist undefined, null, boolean, number and string. Other values such as array and function are objects. When applying + operation on different type of values, there would be three kinds of type conversion. Primitive conversion Number conversion String conversion There three type conversions have corresponding abstract operations in JavaScript: ToPrimitive(), ToNumber(), ToString(). For number additi...

   JAVASCRIPT,PROGRAMMING     2018-10-12 22:19:12

  gethostbyname vs getaddrinfo

getaddrinfo is slower than ping when resolving domain names. I think ping uses gethostbyname to resolve a domain name. The question becomes whether getaddrinfo is slower than gethostbyname. After testing with both functions, we find that getaddrinfo is really slow compared to gethostbyname. By strace tracking,  we find getaddrinfo will communicate with DNS server 10 times and gethostbyname will communicate with DNS server communication twice.gethostbyname is an old way to resolve domain nam...

   C++,network,DNS     2012-08-15 14:06:34

  How to write your own DSL in Ruby

DSL(Domain Specific Language) is a language defined to fulfill some domain specific requirements to ease people's work. It can be used to define attributes and actions of a domain easily and cleanly. And it is often created based on some common observations or micro patterns of some domain. In Ruby world, there are quite a few places people can find DSL. For example, Ruby itself, Chef recipes. To create a class in Ruby, the traditional OOP way would look like. class User @name = nil @email =...

   RUBY,DSL,TUTORIAL     2017-03-04 09:40:34

  App's user value doesn't necessarily bring business value

There is an old saying in Internet world, you can get business value as long as you can achieve user value. Is this statement outdated in mobile Internet era? This statement originated from PC Internet era, but now the time users spend on PC drops and user behavior tends to be stable and conservative. In contrast, people are more willing to stay on mobile devices. The difference between PC and mobile is that users are freely to move around on PC end. People can navigate from one link to another ...

   App,Business value,User value     2013-06-25 10:52:12

  Generate first N prime numbers

Recently I am taking an online course named "Startup Engineering" on coursera. There is one assignment which is to use NodeJS to write a program to generate the first 100 prime numbers. This may be very easy for many people. Here I just want to share with you the code to generate not only the first 100 prime numbers. but also any number of prime numbers. Below is the code snippet: //Helper class to generate prime numbers var PrimeProcessor=(function(){ var primeArray=[]; functio...

   Algorithm,Prime number,NodeJS,coursera,JavaScript     2013-06-29 22:08:22

  When will Google be back to China?

There will be news about Google returning back to China every now and then since the search giant left China in 2010. Every sign of change about Google in China will give people big hope on its return. But Chinese are still waiting for the dream to become true though nothing real happen until now. On Thursday, it seems there is "proof" again that Google is going back to China. In the morning, many Chinese noticed that the official Google China weibo(China's Twitter) account uploaded a photo with...

   GOOGLE,CHINA,SEARCH ENGINE,BAIDU     2017-03-02 09:39:51