SEARCH KEYWORD -- Code writing
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...
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....
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
Do we need other languages other than C and C++?
There were hundreds of or thousands of programming languages created since the invention of computer. All these languages have the same target which is to make the computer do what we want it do. So we may find that many languages have the same functions, i.e, one task can be completed by one language can be completed by another language as well. Now we may wonder why we need so many different languages. Can we just have C or C++ since they provide the best performance we need. The answer obviou...
programming language,C,Erlang 2014-06-14 19:39:40
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
MySQL Index Merge Optimization Practices
In production environment databases, it is often seen that some SQL where conditions include: equal condition on a normal index + primary key range query + order by limit Although using a normal index would be more efficient, the system chooses to use index merge instead in some cases. This article explores such index merge situations. Index Merge Official Introduction The Index Merge access method retrieves rows with multiple range scans and merges their results into one. Generall...
INDEX MERGE,MYSQL,PRIMARY INDEX,SECONDARY INDEX 2024-09-10 04:52: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
RECENT
- How Artificial Intelligence Is Helping Fight Environmental Challenges
- How to Deal with Accusations of Negligence as a Business
- Google's Business Operations in China Amid Antitrust Scrutiny
- Deploying DeepSeek-R1 Locally with a Custom RAG Knowledge Data Base
- Balancing Convenience and Security in the Digital World
- My AI Learning Journey: Exploring the Future of Technology
- Power Grid Simulation System 02 : FDI Power Outage Attack Case Study
- Be Careful When Using Cursor to Help Build Application
- Calculating Token Count for Claude API Using Go: A Step-by-Step Guide
- Understanding Cursor and WindSurf's Code Indexing Logic
- more>>