SEARCH KEYWORD -- Good code



  The basics of Client/Server socket programming

  While Client/Server communication model is ubiquitous nowadays, most of them involve socket programming knowledge. In this post, I will introduce some rudimentary aspects of it: (1) Short/Long-lived TCP connection.Short-lived TCP connection refers to following pattern: Client creates a connection to server; send message, then close the connection. If Client wants to transmit information again, repeat the above steps. Because establishing and destroying TCP s...

       2017-09-26 19:43:10

  Singleton Design Pattern in Java

Singleton is frequently used in applications where resource may be expensive to create and no instance specific state needs to be maintained. For example, when creating database connection, a singleton may be needed. Today we will share the famous Singleton design pattern in Java. 1. Definition Singleton design pattern is a design pattern that restricts the instantiation of a class to one object. It is one of the most well-known design patterns. 2. Application Singleton ...

   DESIGN PATTERN,SINGLETON,MULTITHREAD,JAVA     2020-04-11 02:16:28

  A simple example of drawing bar chart with label using d3.js

D3.js is a very popular graph library to help developers draw various kind of charts using JavaScript in a webpage. It utilizes the SVG format supported by all major modern browsers and can help developers get rid of the old age of Flash or server side graph drawing libraries. In this post, we will introduce some simple examples of drawing bar chart with labels using D3.js.  First, let's see what will be the final look of the graph drawn. Below is the complete source code for this example....

   JAVASCIPT,D3,BAR CHART,LABEL,TUTORIAL     2020-05-16 23:25:40

  Using JavaScript to operate clipboard

Browsers allow JavaScript to read and write data on clipboard. Generally script should not modify user's clipboard to avoid impacting user expectation, but there are cases where this can indeed bring convenience to users. For example, for some code snippet, user can copy it to clipboard with one click instead of select and copy manually. There are three options for clipboard operation provided in JavaScript/browser: document.execCommand() Asynchronous Clipboard API copy and paste events This p...

   JAVASCRIPT,CLIPBOARD,NAVIGATOR.CLIPBOARD     2021-01-23 23:23:34

  How to help new joiners involve in projects

Usually when a new joiner involves in a new project, he will spend much time on understanding the background of the project, the current status of the project and the requirements of the project etc. It is very easy for them to get lost in this stage. So to effectively help them involve in the project, we need have some people guiding them, giving them some useful instructions. What should we do to help them? Here are some steps I take.1. Project backgroundIn this phase, I will introduce to them...

   New joiner,Experience     2012-05-05 11:06:18

  Behavior of defer function in named return function

In Go, there is a special concept of named return value in function where a returned value can have name. For example, below is a named function in Go. func returnNamed() (i int) { i = 1 return } When the function returns, the return value i will have a value of 1.  Also, Go has a concept of defer which will execute a function just before the calling function exits. This is similar to what finally block does in other languages such as Java. For example, a defer function can be func deferF...

   GOLANG,DEFER,NAMED RETURN,DIFFERENCE     2018-11-20 09:04:07

  static nested and non-static nested class in Java

Nested classes are divided into two categories: static and non-static(inner). Nested classes that are declared static are simply called static nested classes. Non-static nested classes are called inner classes. Static class can be defined as : class OuterClass{ static class StaticNestedClass{ //OTHER STUFF } } Static nested classes are accessed using the enclosing class name: OuterClass.StaticNestedClass For example, to create an object for the static nested class, use this synta...

   Java,static nested class,inner class     2014-04-23 07:11:44

  Google released a visual programming language Blockly

Google released a visual programming language Google Blockly, similar to the children programming language Scratch developed by MIT. You can build an application using some graphic objects, this is like playing LEGO toys. Eveny graphic object is a code block,  you can integrate them together to create simple functions, then you can combine some simple functions together to build a complete application. Users can drag blocks together to build an application. No typing required.This project...

   Google,Blockly,Visual programming language     2012-06-05 08:58:26

  Problem and Solution for Installing wxPython on Ubuntu 20.04

When we try to install wxPython lib on Ubuntu system to do software GUI development, most of time we may meet some installation and lib dependency problems. For the latest Ubuntu version, the problems still happen. Below are some common problems which happened frequently and their solution: --------------------------------------------------------------------------------------------------------------- Problem [1]: Install wxPython on Ubuntu 20.04 fail because of dependency package Gtk is not in...

   PYTHON,WXPYTHON,UBUNTU 20.04     2020-09-09 05:32:35

  Testing LLM on MacOS with Llama

As a programmer, I always believe that the best way to understand something is by actually getting the hands dirty by testing it out ourselves. In past few years, with the introduction of ChatGPT, AI and associated technologies such as LLM come to a hot spot in tech industry and there are lots of platforms available and different models coming out for people to test out. This post I will demonstrate a step-by-step guide on how to run Llama(a Meta LLM) on a MacOS machine with a model. This will j...

   GUIDE,LLAMA,LOCAL,HUGGING FACE,QWEN     2024-11-17 13:36:28