SEARCH KEYWORD -- development code



  GoLang Interview Questions

Below lists some frequently asked GoLang interview questions and their corresponding answers based on the author's experience. The list is updated frequently with new understandings. Stay tuned. What is the GMP model of GoLang? GoLang uses goroutine to achieve concurrency and it is famous for high concurrency support as the language defines its own goroutine dispatching and processing system which is well known as GMP model. How it works is that M is normally defined as the OS thread being spawn...

   MEMORY,CONCURRENCY,INTERVIEW QUESTION,GOLANG     2024-05-25 03:08:18

  The details and analysis of capturing gRPC packets

Introduction If you're only using gRPC at the application layer, I believe studying the examples on the gRPC official website is sufficient. However, when planning to extensively use gRPC within a team, you will face many challenges, such as authentication schemes between services, routing solutions for multi-region services, and compatibility solutions with existing RESTful services. I recently realized that applying a technology stack requires mastering a wealth of information about that stack...

   GRPC,GOOGLE     2024-01-14 05:59:13

  Add Sublime Text to your context menu on right click

When opening a text file, you may be used to right click on the file to be opened and then choose the application which can open the file from the context menu. On the context menu, you may see a menu item like "Edit with Notepad++". Nowadays many people especially programmers like to use Sublime Text, but by default this application will not show on the context menu when you right click on a file. There is now frequent request to add this application to the context menu. Here we show a simple b...

   SUBLIME TEXT,CONTEXT MENU,WINDOWS     2015-10-19 08:51:25

  Mobile payment status quo in Singapore

Currently there are lots of mobile payment companies operating in Singapore, these players include GrabPay(a subsidiary of Grab), AliPay, WeChat Pay, Fave Pay, NETS Pay and some others. In some hawker centers, you can see QR code from different companies. This brings lots of benefits to users. But this introduces a big headache to consumers as they have to download different apps to use in different merchants. There is no dominating mobile payment company in Singapore though there are a few lead...

   SINGAPORE,GRAB,GRABPAY,ALIPAY     2019-02-27 07:19:49

  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

  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

  How to maintain a software project?

For a software engineer, at least from my own experience, maintaining an existing software project would take up a considerable amount of time: adding new features, fixing tricky bugs, and so on. In this post, I will share some some tips about how to become a veteran from a novice quickly when facing a new project. (1) Get familiar with the background knowledge of the project. Every software has its own purposes and users: a device driver serves the specified hardware, whilst a SMS gateway helps...

       2017-08-05 02:20:46

  Want to be a programmer? Top programming languages that will be result driven in 2017

Programmers are always high in demand in software industry: take any corporate blue chip Software Company India for instance; programmers are playing a pivotal role in company’s business and relevant growth. In that case if you are planning to pursue a programmer’s career and earn fat package, here goes the range of option for your further study. Alternatively, if you are an employer and you want to understand the basic idea of coding, the outline description of popular programming ...

   SOFTWARE,OUTSOURCING,INDIA,JAVA,PROGRAMMERS     2017-10-05 01:34:34

  Tips for a better first-time hackathon experience

Here are a few things you can consider. These are by no means the only way to go about hackathons, just what's worked for me.ProjectI strongly strongly recommend doing something you haven't done before. Even if you're going into a hackathon with the intention of winning, trying something new is always fun and will keep you engaged throughout the event. Jump into mobile development, try hardware hacking, write a compiler, whatever; it's always fun to try out new things.Sticking to things you're c...

   hackathon     2014-03-31 07:25:09

  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