Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- console



  new expression vs operator new in C++

In C++, there is a new mechanism for memory allocation and management. When we want to initialize an object, we can use new expression to get enough memory for storing an object and also initialize the object. When we want to create a new object, we can use new expression, for example: Obj *obj=new Obj; Basically, what the new expression does is to allocate enough memory for storing the obj object, in addition, it will initialize the object with some intial values. Also, there is an operator new...

   C++, new expression, operator new     2012-08-12 11:42:39

  Let's talk about JavaScript deep clone

In JavaScript, deep clone means creating a brand new object that includes all nested objects, with all properties being completely independent copies. This is different from shallow copying, which only copies the first-level properties, with nested objects being referenced rather than copied. There are multiple ways to perform deep copying in JavaScript, but the best one to use depends on the specific use case. Can use JSON.parse & JSON.stringify? ❌ JSON.parse(JSON.stringify(obj)) is a dep...

   JAVASCRIPT,DEEP CLONE     2023-02-25 08:57:11

  HTML5 Web Worker

Web Worker is a JavaScript multithreading solution provided by HTML5. we can put some compute intensive codes into Web Worker and it will not hang the user interface. 1. How to use Web Worker Web Worker's basic mechanism is to use Worker to load a JavaScript file to create a new thread in JavaScript's main thread. It will not block other thread's execution and will provide a data exchange interface between main thread and new thread : postMessage() and onmessage. Let's look at an example: //work...

   JavaScript,HTML,Web Worker     2012-12-02 06:25:00

  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

  Install and setup Kafka on Windows

Kafka has become a very popular distributed message delivery service which decouples different services while making message delivery between service easy, fast and reliable. In this post, we will walk through how to install and set up Kafka on Windows. Pre-requisite Java Apache ZooKeeper Installation Go to Kafka's download link and download the latest stable release, we downloaded 2.2.0 as of this writing. After downloading, copy the installation file to some folder and unzip it.  Sinc...

   KAFKA,STREAM,USER GUIDE     2019-06-01 02:12:07

  Fix issue "cannot load such file -- bcrypt_ext (LoadError)"

bcrypt() is a sophisticated and secure hash algorithm designed by The OpenBSD project for hashing passwords. The bcrypt Ruby gem provides a simple wrapper for safely handling passwords. However, sometimes the rails application would fail to start after installing the bcrypt gem on Windows. The error would look similar to below. The issue is that it fails to load the bcrypt_ext which is the native built extension, the reason may be the library is wrongly built. To fix this issue, below steps can...

   RUBY,SOLUTION,RUBY ON RAILS,BCRYPT,LOAD ERROR     2017-03-05 00:21:10

  Let's talk about JSON.stringify()

JSON has been used in lots of places to exchange data among different services/systems. Nowadays all mainstream programming languages have built-in library support of JSON data parse and stringify. In this post, let's talk about JSON.stringify() in JavaScript. Let's first take a small example of Object conversion handling. There is a requirement to convert below object const todayILearn = { _id: 1, content: '今天学习 JSON.stringify(),我很开心!', ...

   JAVASCIPT,JSON,JSON.STRINGIFY     2020-02-22 04:25:08

  Name resolution order in JavaScript

To understand what value a variable has in JavaScript, we need to understand some concepts such as scope and name resolution order. JavaScript has two scopes; one is program level and the other one is function level. Unlike in C,C++ or Java, JavaScript has no block level scope. So a variable defined in a if block will still be available outside. For example, the below example: var foo = 1; function bar() { if (true) { var foo = 10; } alert(foo); } bar(); The alert will display 10 since the ...

   JavaScript,Scope,Name resolution     2013-07-10 01:29:28

  Start to work with rollup.js to pack JS files

rollup.js is a module bundler for JavaScript. It compiles small piece of JavaScript modules spreading in different files into a single larger standardized ES code file. This post will show some entry level usage for this library. Introduction Normally a bundler tool would compile a few small JavaScript files into a single JavaScript so that web browser can read, parse and render it properly. A bundler tool may be needed because of a few reasons: Some early stage browsers don't understand module...

   ROLLUP.JS,COMMONJS,ES MODULE,BUNDLE,WEBPACK     2022-06-12 00:00:14

  How mobile-first index impact on your rankings?

Google has officially announced the rollout of its mobile-first indexing. After a year and half of careful experimenting and testing. Google has begun to start a transition to websites that follow best practices for mobile optimization, to help the majority of people who use google search on their mobile devices (mobile users). Google says, its search algorithms use the mobile version of the web page to indexing and ranking, to better help 'primarily mobile' user-base. Google continues to have t...

   SEO,RAMKINGS,MOBILE SEO     2018-07-23 02:59:03