SEARCH KEYWORD -- Background image path



  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

  Five Copyright Pitfalls Every Web Designer Should Avoid

If you work in the world of web design, it is crucial you do not infringe upon copyright laws. If you do, you could end up paying some hefty fines or even being prosecuted. So, check out these five common copyright pitfalls you need to avoid. Not Copyrighting Your Own Work While most copyright infringement pitfalls web designers face are to do with avoiding using copyrighted materials, you also need to know how to protect your own work to ensure no one else steals it. For things like patents, t...

   COPYRIGHT,WEB DESIGN,PATENT     2021-02-18 02:41:10

  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

  MySQL index optimization

Problem description: We need to access a very big table which has 40 million records. In the table, id is the primary key and program_id is indexed. When executing a select query: select * from program_access_log where program_id between 1 and 4000 The above query executes very slowly, we thought it was because there were too many records in the table. So we added id in the where condition to limit the search so that each time only half a million records would be read. select * fr...

   MySQL,Index search, Partition     2012-12-26 13:14:20

  New features in Java 9

Java 9 is planned to be released in March 2017. It will be 3 years since Java 8 was released. Are you still excited about the new features introduced in Java 8 such as Lambda, new Date APIs etc? Now Java 9 is to be released and there are also quite a few fantastic new features to be introduced. Below is a list of major new features in Java 9. Modular system. Java 9 will introduce a brand new modular system to organize Java codes. The modular system will divide different packages into diffe...

   JAVA,NEW FEATURE,JAVA 9     2016-04-05 09:56:01

  Interesting Hello World

Hello world is the beginning of everything. When you first learn a new programming language, the first program you write is to print the "Hello world" string on the console with that language. For example: So who invented "Hello world"? It's Brian Kernighan, a canadian computer scientist and author of The C Programming Language and The Unix Programming Environment. In his books, he used to write "Hello world" which changed the whole world. Also programmers like to use foo and bar as variable n...

   Programming,History     2013-08-29 11:31:00

  SIEM Big Data Visualization [04] : Data Transmission Latency SIEM Log Analysis Dashboard

This article will introduce the Data Transmission Latency Log Analysis Dashboard developed for SIEM big data analytics. This is part of the SIEM big data visualization project, if you are interested about other dashboard plug in, you can check below links: SIEM Big Data Visualization [01] : Dashboard for Monitoring Scam Events in Critical Infrastructure SIEM Big Data Visualization [02] : Dashboard for Summarizing SG National Cyber Threats in Critical Infrastructure SIEM Big Data Visualization [...

       2024-11-03 20:49:18

  Understanding abstract interface in Java

Have you read about an interface declaration as public abstract interface InterfaceName in Java? At the first glance, is it a weird declaration? Why should we declare an interface as abstract? For example, we may see below code in some projects: public abstract interface MyInterface { public void check(); public abstract boolean check(boolean really); } Actually here abstract is redundant, an interface is implicitly abstract, we no need to put an abstract in front of interface. But it do...

   Java,abstract interface     2014-08-18 23:07:27

  Maintain multiple versions of Go in one single environment

In a development environment, there might be multiple projects going on at the same time and they may require different development environments with different versions of build tool. In many programming languages, it is possible to have multiple versions of different build tool or development tool on a single environment. For example, there can be multiple JDKs, multiple versions of Ruby using RVM. For GoLang, there is a similar tool called GVM which can also be used to maintain multiple versio...

   GOLANG,GVM,GVM PKGSET,RVM     2019-11-10 00:43:47

  New function signal.NotifyContext in GoLang 1.16

os/signal package in GoLang may not be frequently used but it provides some good features like Shutdown() which can be used to gracefully shutdown a running HTTP server. func (srv *Server) Shutdown(ctx context.Context) error With this function, there is no need to use third party library to gracefully shutdown HTTP server. How is it being used? package main import ( "context" "fmt" "net/http" "os" "os/signal" "time" ) func main() { server := http.Server{ Addr: ":8080", } http.Handl...

   GOLANG,NOTIFYCONTEXT,GRACEFUL SHUTDOWN     2021-06-19 01:07:10