SEARCH KEYWORD -- Weak reference



  Some tricks and tips for using for range in GoLang

GoLang provides two major ways to loop through elements of array, slice and map. They are for and for range. Many people find that for range is very convenient when don't care about the index of the element. In this post, some tricks and tips would be talked about regarding for range. 1. Loop and get pointer of each element Assume there is a code snippet like below which is to get the pointer of each element in an array and create a new array with the corresponding pointer. arr := [2]int{1, 2} r...

   POINTER,FOR LOOP,GOLANG,FOR RANGE     2020-03-08 01:07:00

  Using MySQL Connector/C++ with Visual Studio 2010

MySQL Connector/C++ is one of the latest connectors for MySQL, developed by Sun Microsystems. The MySQL connector for C++ provides an object-oriented application programming interface (API) and a database driver for connecting C++ applications to the MySQL Server.When we want to build a database application with C++ using Visual Studio 2010, we may use the MySQL Connector/C++, but sometimes we may encounter different errors, either compile or runtime error. After tried many times, I finally made...

   MySQL Connector,C++,Visual Studio 2010,VS2010     2012-06-01 13:52:20

  Understand more about Go basics with one interview question

First, let's take a look at below Go interview question: package main const s = "Go101.org" // len(s) == 9 // 1 << 9 == 512 // 512 / 128 == 4 var a byte = 1 << len(s) / 128 var b byte = 1 << len(s[:]) / 128 func main() { println(a, b) } What would be the output in your mind? The output would be 4 0. Surprising? Before getting to the output values, some concepts in Go need to be introduced and explained in more detail. len()  len() is a built-in function in Go to get t...

   GOLANG,CONSTANT,SHIFT OPERATION,LEN()     2020-10-10 02:52:19

  The Problem with Random Numbers

Today, let's talk about how to generate true random numbers. This is an extremely difficult problem, but it involves some very interesting content. First of all, the random numbers provided by programming languages are pseudo-random numbers.  The V8 engine’s official website has an article that particularly reminds everyone of this point. The built-in random numbers are not true random numbers but pseudo-random numbers. Math.random() returns a Number value with po...

   RANDOM NUMBER,TRUE RANDOM,PSEUDO RANDOM,HISTORY     2024-06-21 21:09:14

  Google headquarter : A place of fantasy

Google is considered as the best place to work for by many people. It's famous for providing employees various relaxed work environment and attractive welfare. If you have the chance to visit Google's office or you have watched the movie Internship, you will get to know what it is like to work in Google. However, not everyone has the chance to walk in Google's walkways. So we share with you what Google's work environment is like with some images. Every car park in Google has some rows of electr...

   Google,Work place,Visit,Headquarter     2013-09-21 11:09:27

  The Ultimate Guide to Implement Function Overloading in Python

Introduction When it comes to function overloading, those who have learned Java should be familiar with it. One of the most common uses is logging, where different overloaded functions are called for different parameters. So, how can we implement function overloading in Python? Concept of Overloading Function overloading allows multiple functions with the same name to exist within the same scope, but with different parameter lists. Although many programming languages (like Java and C++) support ...

   GUIDE,JAVA,OVERLOADING,PYTHON     2024-11-14 22:29:17

  Will HTML5 ever overtake native mobile apps?

Since now HTML5 has become a very hot topic. It can be used develop some highly functional and amazing applications on desktop and mobile devices. Also, there are many libraries which are using HTML5 to develop some native app like applications on iPhone and Android systems such as PhoneGap. Someone on Quora asked a question which many people are concerning about.: Will HTML5 ever overtake native mobile apps? It seems that the number of people who are agreeing with it equals to the number of peo...

   HTML5,Native app,Mobile     2012-05-10 06:51:46

  When will resizing be triggered in Java HashMap?

HashMap is one of the most frequently used collection types in Java, it stores key-value pairs. Ideally it expects to use hash table which expects the data access time complexity to be O(1), however, due to hash conflicts, in reality, it uses linked list or red-black tree to store data which makes the worst case time complexity to be O(logn).  Although collections are using data structures like arrays and linked lists, unlike arrays, they will dynamically resize when there is not enough spa...

   JAVA,RESIZE,HASHMAP,THRESHOLD     2020-05-02 20:41:19

  Some frequently used ES6 code snippets

Below are a list of ES6 code snippets which are used frequently. Hope that it will be helpful. 1. Shuffle array elements let arr = [67, true, false, '55'] arr = arr.sort(() => 0.5 - Math.random()) console.log(arr) // [ '55', 67, false, true ] 2. Remove characters which are not numbers const str = 'xieyezi 23213 is 95994 so hansome 223333' const numbers = str.replace(/\D/g, '') console.log(numbers) // 2321395994223333 3. Reverse sequence or words const sentence = 'xieyezi js so handsome, lol.'...

   JAVASCRIPT,ES6,CODE SNIPPET,TIPS     2022-04-10 07:56:07

  Use progressive JPEG to improve user experience

JPEG image files can have two different save types : Baseline JPEG and Progressive JPEG. Both of them have the same extension name but with different display effect. Baseline JPEG This type of JPEG files are scanned from top to bottom consecutively, each line of the image data will be saved sequentially. When opening this kind of images, data will be displayed with the save order line by line until all the data are read. If the image size is very large or network speed is very slow, the image wi...

   USER EXPERIENCE,PROGRESSIVE JPEG,BASELINE JPEG     2013-07-25 08:11:50