SEARCH KEYWORD -- Read



  C++ and Java over Python in Google products

In Google, most of the products are written in C++ and Java. They usually don't choose Python to write their product stack. What's behind the decision to choose one language over the other in Google? Let's get to read some opinions from Robert Love, a Google software engineer. Love said he couldn't imagine writing let alone maintaining a large software stack in Python. They use C++, Go, and Java for production software systems, with Python employed for scripting, testing, and tooling.There are a...

   Java,Python,Google     2014-07-20 04:39:09

  Introduction to GoLang generics and advanced usage

Generics in Go allow you to write code that can work with multiple types of data, without having to write separate versions of the code for each type. This can make your code more flexible and easier to maintain, as you only need to write and test the code once, rather than maintaining multiple versions. To use generics in Go, you first need to define a type parameter, which is a placeholder for the type that the code will work with. For example, you might define a type parameter called "T" like...

   GOLANG,GENERICS     2022-12-17 05:12:21

  Australian software engineer got asked algorithm question when entering US

The whole world knows that security and background checks get tighten for people to enter US since Donald Trump took office. But have you ever heard about getting algorithm question asked during the immigration check interview while entering United States? Recently an Australian software engineer David Thornton had such an experience when he tried to enter US. (Image from kaytlentravels.wordpress.com) David is a software engineer from Sydney and he is a 24-year-old studied computer sci...

   NEWS,DONALD TRUMP,UNITED STATES     2017-03-04 12:07:54

  Some thoughts about competitive programming

Many programmers may have experience in participating different kinds of coding competition while they are in college. Many of them are hired by top IT companies for their excellent performance during these kinds of coding competitions. There are some famous competitions organized by IT companies such as Google Code Jam, Facebook hackathons etc. Coding competitions are places where programmers can show their talents in programming and the skills they have. Usually programmers will solve some to...

   Coding,competition     2014-03-02 07:26:21

  Strict mode in JavaScript

1. Introduction In addition to normal mode, ECMAScript 5 includes the other mode : strict mode. It means it will make JavaScript codes execute in a more strict environment. The purposes to have strict mode are: Remove some unreasonable and parts of JavaScript syntax. Reduce some of the quirk behaviors. Remove some insecure parts of code execution. Make the execution environment more secure Improve interpret efficiency and increase the execution speed Build foundation for future JavaScript versi...

   JavaScript, Strict mode. Introduction     2013-01-17 05:00:26

  What is cache penetration, cache breakdown and cache avalanche?

When designing and developing highly available system, cache is an very important consideration. It is useful to cache some frequently accessed data so that they can be accessed quickly and also cache can protect the downstream system like DB from being hit too often.  To provide better cache design in large systems, some problems may need to be considered first. In this post, we will talk about some frequently discussed cache problems and mitigation plans. Cache penetration Cache penetrati...

   SYSTEM DESIGN,CACHE PENETRATION,CACHE BREAKDOWN,CACHE AVALANCHE     2020-04-10 08:43:00

  Resolve git issue git@github.com: Permission denied (publickey)

Sometimes when clone a remote repository from github.com, you may see below error. D:\Project\Playground\GitBisect>git clone git@github.com:bradleyboy/bisectercise.git Cloning into 'bisectercise'... git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. The issue occurs when there is no key on your machine which is associated with your github account. To fix the issue, please ...

   GIT,GITHUB,PERMISSION DENIED,PUBLIC KEY     2019-07-12 10:10:49

  What is the use of empty struct in GoLang

In Go, an empty struct struct{} is a struct with no fields that may appear to be of little use, but in reality, it can be useful in certain situations and become a simple and efficient solution in code. As a semaphore or lock Because the empty struct has no fields, it can be conveniently used to implement some concurrency control functions, such as mutex locks, read-write locks. We can use chan struct{} to implement an unbuffered channel for controlling concurrent access. package main import ( ...

   GOLANG,EMPTY STRUCT     2024-04-05 23:54:03

  ConcurrentHashMap vs Collections.synchronizedMap()

ConcurrentHashMap and Collections.synchronizedMap() both provide thread-safe operations of collections of data. They are used in multithreaded programs to provide both thread safety and performance improvements. In many cases, we can use either of them. But the realization of thread safety is different for these two implementations. ConcurrentHashMap will create an HashEntry[] array internally to store the elements passed in from a Map, while Collections.synchronizedMap() will return a Synchroni...

   ConcurrentHashMap,Collections.synchronizedMap     2014-09-18 05:04:59

  Not better, but different

The most important feature of Apple products is usability--Simple, aesthetic, easy to use.Their products may not necessarily the most powerful, but they usually are the easiest to use. Following picture show a Mac (left) and a PC(right), which one looks better?Many products are trying to mimic these features, but one problem comes out:It's hard to keep a product simple while providing so many new features.If you continuously add new features to your product,  your product will become more c...

   Market positioning,Product manager     2012-05-19 13:29:20