SEARCH KEYWORD -- Good code



  Understand GoLang WaitGroup internals and how it works

Background Before getting into the main content, let me give a brief introduction to WaitGroup and its related background knowledge. Here, the focus is on the basic usage of WaitGroup and the fundamental knowledge of system semaphores. For those who are familiar with these, you can skip this section directly. WaitGroup WaitGroup is one of the most common concurrency control techniques in Golang, and its function can be roughly compared to the join() in concurrency control of other languages' mul...

   GOLANG,WAITGROUP,SOURCE CODE     2023-04-26 08:02:01

  Say good bye to netbook

Asus and Acer are the last two manufacturers of netbooks, but these two companies announced that they would not manufacture netbooks starting from January 1, 2013. Prior to them, Samsung, Hewlett-Packard and Dell stopped production of the netbooks. This means that the life cycle of netbook officially ended.Back to 2009, the U.S. market research firm ABI Research was very optimistic about netbook's future, they said netbook would open a new era for PC market and predicted netbook shipments would ...

   Netbook,Tablet PC, Comparison     2013-01-02 11:53:33

  Use downcase! with caution in Ruby

Ruby provides ! to change state of some object in place. Hence if you see some functions have ! appended, it means the state of the caller of the function is expected to be changed. This is a very interesting Ruby feature. But sometimes one should be cautious when using this kind of functions because you would get unexpected behavior if using improperly. Let's take an example of String#downcase!. According to the documentation. Downcases the contents of str, returning nil if...

   RUBY,EXCLAMATION MARK,DOWNCASE     2017-02-10 06:34:44

  Google is developing advanced programming technology to simplify Web application development

Beijing, March 28. According to foreign media reports, Google engineer Alex Russell this week at EclipseCon meeting said the company is now developing lots of advanced programming techniques to simplify Web application development.Russell said, "Web development has come to a critical point, it is becoming a run-time library integration platform." Although Web is very popular compared to some platforms such as Java or Windows, it provides only a relatively original programming capability. A ...

   Google,Web,Dart,Scalability     2012-03-30 06:22:13

  Why exception would be thrown when deleting element while looping through HashMap in Java

HashMap and other Collection types are frequently used in Java application programming. This post will explain why exception would be thrown when deleting element with Map.remove() while looping through a Map using Iterator. This issue would also occur to other Collection types such as Set, List. Below is a sample code snippet demonstrating the exception thrown. Map<String,String> map = Collections.synchronizedMap(new TreeMap<String,String>()); map.put("key1","value1"); map.put("ke...

   JAVA,HASHMAP,CONCURRENTMODIFICATIONEXCEPTION     2018-06-30 12:49:09

  Shortcut keys in Sublime Text 3(Animated demo)

Sublime Text 3 is a light weight code editor which supports lots of languages. It has lots of shortcuts and plugins easing work of programmers. In this post, we will introduce some shortcuts supported in Sublime Text 3 and show how powerful they are. 1. Select sibling matching(equal) word (Ctrl + D) Put the cursor on one word, press Ctrl + D to select the word, then press Ctrl and following by pressing D, it will select next matching word. The number of Ds pressed will mean number of matching wo...

   TIPS,SHORTCUT KEY,SUBLIME TEXT     2016-04-28 02:41:28

  Web Security: In-Depth Explanation of X-XSS-Protection

What is X-XSS-Protection X-XSS-Protection is an HTTP response header designed to enable or configure built-in cross-site scripting (XSS) filters in certain versions of Internet Explorer, Chrome, and Safari. The purpose of these filters is to detect reflected XSS attacks in the response and prevent the loading of pages, thereby protecting users from such attacks. The X-XSS-Protection response header was initially introduced by Microsoft in Internet Explorer 8 to control the browser's XSS filter. ...

   X-XSS-PROTECTION,WEB SECURITY,CONTENT SECURITY POLICY,XSS,CSP     2023-11-29 01:48:40

  How to fire an employee who is not good enough?

It's always a tough decision to make to fire an employee. No matter he/she performs how bad, it's hard for the boss to say one person is fired. How to fire an employee who is not good enough? On Quora, there is one such question asked and we think one answer is very attractive and useful. The answer is given by Michael O. Church who is a New York functional programmer. The best employees are multipliers who make others more productive, and next are the adders (workhorses). Subtracters are the g...

   Fire,Career,Talent     2012-09-13 20:04:34

  How deep should unit test go?

There is a question on Stackoverflow which says "How deep are your unit tests?". It is asked by a guy named John Nolan. The question is not too new, but what catches me is the Best Answer given by Kent Beck, who is the creator of Extreme programming(XP) and Test Driven Development(TDD). Let's look at the question first. The thing I've found about TDD is that its takes time to get your tests set up and being naturally lazy I always want to write as little code as possible. The first thing I seem ...

   Unit test,TDD,XP     2012-09-03 10:11:27

  An easy way to log client side information to server

JavaScript debug is a very troublesome thing in web application development. Because many web browsers will not notify you if there is any error in the JavaScript codes you write. They just silently fail and block the following codes execution. In order to debug JavaScript codes, we need a good log mechanism which will help us log the error information,, we often need to log errors in JavaScript codes to server for debug purpose in a production web application, What should we do? The first ...

   JavaScript log, Ajax,Image,Debug     2012-12-30 09:16:50