SEARCH KEYWORD -- border
How regular expression works
Rob Pike wrote 30 lines of codes to realize a simple regular expression matcher in his book The practice of Programming. This piece of code is really cool. Let's take a look at the code.Meaning of different characters.Character Meaning c General character . Match any single character ^ Match start of a string $ Match end of a string * Match zero or many occurrences of a character /*match :Test the regexp in text*/int match(char* regexp,char* text){ if(regexp[0] == '^')&n...
Regular expression,Implementation,Rob Pike,C 2012-06-25 05:23:41
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...
Save QWidget as image
Qt library is an excellent GUI library for C++ programmers developed by Nokia and now is an open source project. Often, we may use QPainter to draw strings, lines or images on a QWidget. We can override the QWidget's paintEvent() method when we want to use QPianter object to draw something on a QWidget. If we want to save the items drawn on QWidget as image for later reference, what can we do? We can save a QWidget as an image. Here is the code for achieving this: QPixmap pixmap(this->size())...
How to harness company’s resource?
As an employee, it is no doubt that we should spare no effort to contribute to your employer since it pays us salary. But at the same time, we should also consider how to utilise the company's resource to enrich ourselves. After all, only if we become more competent and brilliant, the company can benefit more from us, and this will be a definitely win-win situation. In this post, I will illuminate how to take advantage of company's "hardware" and "software" resource. (1) “Ha...
PHP advisory file lock : flock
When we process a file in PHP, we may often need to acquire a lock so that other scripts cannot edit the same file at the same time. There is a flock() function in PHP which can help us lock the file we want to process. But there is one issue we should take care. Recently, ffb encountered one issue while he was trying to lock a file handle. The codes are below: $filename = "/tmp/lock.txt"; $fp = fopen($filename, "r+"); if (!$fp...
flock(),advisory locking,PHP 2013-04-23 11:42:48
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...
The tips of learning Linux kernel
As the Linux kernel has become one of the most gigantic and complex software project in the world, its complication scare many novices away. In this post, I will give some personal experience on how to learn Linux kernel, and hope these tips can offer some help to newcomers. (1) Download vanilla kernel and install it. Yes, I suggest you can find a physical machine, or if you really don’t have one at hand, virtual machine is also OK. Download the newest vanilla k...
Reproduce "MySQL server has gone away" in PHP
If you want to debug the issue of "MySQL server has gone away", you can reproduce it with below steps: Modify configuration file: sudo vi /etc/mysql/my.cnf Make below changes: [mysqld] wait_timeout = 30 interactive_timeout = 30 Restart the service: sudo /etc/init.d/mysql restart Write below PHP codes: $link = mysql_connect('127.0.0.1', 'root', 'root'); if (!$link)&nbs...
MySQL,debug,rMySQL server has gone away 2013-04-15 11:33:14
Performance comparison of string concatenation in Go language
In Go language, string concatenation is an inevitable operation during development, and efficient string concatenation is crucial for improving application performance. This article will delve into several common ways of string concatenation, provide performance comparisons, and offer optimization suggestions aimed at helping developers write more efficient code. Common ways of string concatenation In Go language, common ways of string concatenation include the following: Using the + operator fo...
COMPARISON,PERFORMANCE,STRING CONCATENATION 2024-05-13 00:33:20
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
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>>