SEARCH KEYWORD -- pre-order
How to write your own DSL in Ruby
DSL(Domain Specific Language) is a language defined to fulfill some domain specific requirements to ease people's work. It can be used to define attributes and actions of a domain easily and cleanly. And it is often created based on some common observations or micro patterns of some domain. In Ruby world, there are quite a few places people can find DSL. For example, Ruby itself, Chef recipes. To create a class in Ruby, the traditional OOP way would look like. class User @name = nil @email =...
You can get properties of pseudo-element using JavaScript now
The pseudo-element6 in CSS is extremely useful, you can use it to create CSS triangles and lots of other elements without overuse many HTML elements. In the past, you cannot get the property value of pseudo-element in CSS using JavaScript. Now you can call a new method in JavaScript to get them easily. Assume you have below CSS codes: .element:before { content: 'NEW'; color: rgb(255, 0, 0); } To get the properties in .element:before, you can use below JavaScript method: var color = window.getC...
pseudo-element,property,JavaScript 2014-04-05 20:58:25
What does session_destroy() do in PHP?
In PHP manual, the description for session_destroy() function is : session_destroy() destroys all of the data associated with the current session. It does not unset any of the global variables associated with the session, or unset the session cookie. To use the session variables again, session_start() has to be called. I am confused about this description. If this function destroys all session data, then why the global variables associated with the session are not unset? Why can we u...
session_destroy,session_start 2013-08-31 09:59:05
Fix --go_out: protoc-gen-go: plugins are not supported
When generating RPC code using proto file template in GoLang, one may face the issue like below when running the command protoc. Error: exit status 1 Output: --go_out: protoc-gen-go: plugins are not supported; use 'protoc --go-grpc_out=...' to generate gRPC See https://grpc.io/docs/languages/go/quickstart/#regenerate-grpc-code for more information. Normally this issue is caused because the version of protoc-gen-go being used is not correct. One way to fix the issue is to follow the instructions ...
GOLANG,PROTO BUFFER,PLUGIN 2021-07-09 03:41:11
PHP buffer: output_buffering and ob_start
buffer is one piece of memory section, it is usually 4Kb in Linux. It is mainly used between different devices with different speed or different priorities. With buffer, the waiting time between different processes will be reduced. Here is one simple example, when you type something in a text editor, every time when you type a character, the operating system will not write it to the disk directly, instead it will write it to buffer first When the buffer is full, the data in the buffer will be wr...
PHP buffer,output_buffering,ob_start 2013-06-20 22:54:15
How to do pprof for gRPC service
gRPC is a RPC framework based on HTTP and is frequently used for communications among micro service inside the same organization network. However, the service functions cannot be accessed via normal HTTP URL as it's not a WEB framework. In this case, how to do pprof on a gRPC service? The trick is starting a HTTP server asynchronously while starting the gRPC service. This HTTP server can be accessed to run prrof debug. go func(){ http.ListenAndServe(":10001", nil) }() Since it uses the de...
Install multiple versions of Go
As a developer, there might be need in some cases to have multiple versions of Go installed. One may test out some new features of the latest version of Go but also wanna maintain a stable version of Go for daily development purpose. How to maintain multiple versions of Go? The GoLang official website has provided a way to maintain multiple versions of Go by using go get to install the different versions of Go. Below are steps: Download a normal version of Go and install it Go to the Go release...
MULTIPLE VERSION,GO BINARY,GO VERSION 2021-05-16 02:01:46
Why 0.1+0.2 != 0.3
In programming languages such as JavaScript, c/c++, Java and Matlab, you will find that you will get unexpected result when doing float point calculation. For example, when calculating 0.1 + 0.1, you will not get 0.3: > 0.1 + 0.2 == 0.3 false > 0.1 + 0.2 0.30000000000000004 Don't be surprised of this result, this is the end result of IEEE 754 standard, float point number cannot be accurately represented according to IEEE 754 because: No enough memory is allocated for representing the num...
float point,comparison,JavaScript 2014-11-19 05:32:46
Guide for installing Ubuntu in VirtualBox on Windows
Have you ever tried to have two OSs installed on your PC? Do you want to try out the new Ubuntu system? If you do want to use Ubuntu when at the same time you are using Windows, you may want to install your Ubuntu in an VirtualBox. In this post, we will show you how to install Ubuntu in VirtualBox on Windows. Pre-requisites VirtualBox -- You can download it from Oracle. Ubuntu -- You can download it from here. Please note it should be an ISO file The Ubuntu used in this post is Ubuntu 12.04 LT...
Ubuntu,Windows,VirtualBox 2014-01-15 03:21:05
CSS position explained
CSS has two very important properties on determining the position of an element in webpage: display and position. display is used to determine how elements are grouped and displayed on the page. While position is used to determine the exact position of an element on a page. And this post would explain position property in detail. position is used to determine the exact position of an element on a page. It has five possible values. static relative absolute fixed sticky sticky is supported start...
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>>