SEARCH KEYWORD -- essential class



  Chrome extension to display desktop notification

Have you ever thought about writing extension for web browsers so that we can complete some tasks easily. Do you think writing extension for browsers is very difficult? You have no clue where to begin? On Chrome, this isn't any problem now as long as you know how to write HTML,CSS and JavaScript. We will show one example of Chrome extension today. The extension will display a desktop notification on your desktop. You need to create two files here, one is the notification.json which is the config...

   Chrome extension,Desktop notification,Example     2013-06-29 22:23:51

  Meta tag in HTML header

In server response, we can use response.setHeader() to set the meta information in header of a HTML page. The usage is response.setHeader(name,context); meta is used to simulate the response header of HTTP protocol in HTML page. It should be put between the <head> and </head> tag. 1. <meta name="Generator" content="" > <!--This is to specify the tool which generates this page such as Microsoft FrontPage 4.0 etc --> 2. <meta name="keywords" content=""> <!-- To tel...

   HTTP,meta,HTML,head     2013-05-22 11:34:08

  A mini post on GoLang context

In a GoLang web server, every request coming in will be handled by a goroutine. In the request handler, the logic may also need to create new goroutine to handle other tasks like RPC call. When the request is processed and response is returned, these goroutines created need to be exited so that no goroutine leak should happen. package main import ( "fmt" "log" "net/http" ) func main() { http.HandleFunc("/echo", func(w http.ResponseWriter, r *http.Request) { fmt.Println(&r) w.Write(...

   CONTEXT,GOLANG     2019-12-14 06:21:02

  SameSite attribute in cookie

Starting from Chrome 51, a new attribute SameSite has been introduced for browser cookie. This attribute is to prevent CSRF attack. Cookie is normally used to store data exchanged between client and server. It frequently stores user login information. If a malicious website can forge a HTTP request with the valid third party website cookie, it may be called a CSRF attack. For example, if a user logins to a bank website your-bank.com, the bank server responds a cookie: Set-Cookie:id=a3fWa; L...

   JAVASCRIPT,COOKIE,SAMESITE,CHROME,CSRF     2019-09-14 04:57:51

  errGroup in GoLang explained

Today, let's talk about the usage and applicable scenarios of errGroup, which is often used. Why is it useful? Generally, when we use goroutine, we cannot return a value. If you want to pass out the result of the goroutine execution, you usually have to use the channel. The errGroup package is suitable if you want to know when the goroutine you opened encounters an error during execution and stop working, and I need to know the error value. errGroup usage The package needs to be downloaded and i...

   GOLANG,ERRGROUP,WAITHROUP,CONCURRENCY     2023-05-27 23:58:20

  Image lazy loading plugins on Github

Image lazy loading is a concept where images are getting loaded only when needed. It has been adopted in many web applications to reduce usage of bandwidth. When a web page is loaded in a web browser, not all the page elements would be visible in the view port, hence those resources(images, videos etc) don't need to be loaded.  Currently there are quite a few open source plugins on Github which can help achieve image lazy loading. Today we will introduce a few of them. Echo.js Echo.js is a ...

   JAVASCRIPT,OPEN SOURCE,WEB DEVELOPMENT,IMAGE LOADING     2017-04-22 01:16:04

  Social media sharing codes

Social media is becoming a very important traffic source to one website. We can see social media share buttons or links in most websites ranging from news website to personal blogs. It is also a very important optimization area where many SEO experts recommend. There are many social medias we can share our links to such as Facebook and Twitter. Most of these website provide share button for us to easily integrate them into our websites, but these buttons usually have default styles(fixed size, f...

   Social media,Share button,Cutomize     2013-07-18 23:12:45

  Ensure triggering transitionend event in JavaScript

CSS3 Transition has been widely used in modern web app development to offer users animations. Traditionally animations of element in HTML are controlled by JavaScript. If fancy animation is desired, then third party plugins can be installed in browsers such as Flash, Silverlight, Java Applet etc. With CSS3, animations can be easily achieved like a charm. Transition is one of the many features provided by CSS3. It can be used to transit one element from one state to another state smoothly within ...

   CSS3 TRANSITION, TRANSITIONEND, FORCE FIRE TRANSITIONEND     2015-05-09 08:56:51

  Different types of keystore in Java -- BKS

BKS is a keystore format provided by the popular third party Java cryptographic library provider -- BouncyCastle. It is a keystore similar to the JKS provided by Oracle JDK.  Before starting to use BKS, the BouncyCastle provider has to be downloaded and installed. To download the provider, please go to BouncyCastle download page. The provider can be installed by adding an entry in the java.security file. security.provider.N=org.bouncycastle.jce.provider.BouncyCastleProvider N means the pr...

   JAVA,KEYSTORE,BOUNCYCASTLE,BKS     2016-07-03 03:00:18

  Fix could not read Username for 'https://xxx.com': terminal prompts disabled

Recently was working on a project which needed to build a docker image, but unfortunately it kept failing as below error was seen. fatal: could not read Username for 'https://xxx.com': terminal prompts disabled Based on the error, it looked like it was trying to pull code from remote Gitlab repository but failed as the terminal prompt is disabled. At first glance, have a doubt why it needs terminal prompt to be enabled? It should just succeed and without prompting for anything. The only reason...

   GIT,TERMINAL PROMPTS DISABLED,DOCKER     2020-12-13 04:43:12