SEARCH KEYWORD -- REL NOREFERRER
The internals of slice in GoLang
There are 3 components of slice:a) Pointer: Points to the start position of slice in the underlying array;b) length (type is int): the number of the valid elements of the slice;b) capacity (type is int): the total number of slots of the slice. Check the following code: package main import ( "fmt" "unsafe" ) func main() { var s1 []int fmt.Println(unsafe.Sizeof(s1)) } The result is 24 on my 64-bit system (The pointer and int both occupy 8 bytes). In the next example, I will use gdb to poke t...
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
Bug caused by using changeable value as the default in "python method overload"​
In python we can set the passed in parameter's default value to make the function has the same running feature as the method overload in Java. Define a function like this: def testFunction(self, param1, param2=None, param3=None): Normally we use "None" as the parameter's default value. We can also use str/bool as the default value, but is it OK we use empty list [] as its default value? This is our test program: """ A test program using empty list as the passed-in parameter's default value. ...
PYTHON 2019-03-11 08:52:52
Turn browser into notepad with one line of code
This is the code shared by Jose on codewall. When you type data:text/html, into the address bar of the browser and press enter, the browser will turn into a notepad which you can edit. Why it works? This uses Data URI’s format and it tells the browser to render HTML. But contenteditable is a property of HTML5, so this can only work in the web browser which supports this property. Here are some interesting contents. Some people make some changes to the code encouraged by the ide...
HTML5, Browser editor 2013-01-30 04:20:54
Kubernetes Authentication & Authorization 101
If we want to build a system with user modules, Authentication and Authorization are something that we can never ignore, though they could be fuzzy to understand. Authentication (from Greek: αá½θεντικÏŒς authentikos, “real, genuine”, from αá½θÎντης authentes, “author”) is the act of proving an assertion, such as the identity of a computer s...
RBAC,AUTHORIZATION,AUTHENTICATION,KUBERNETES 2021-06-05 23:19:18
Create temp file in Bash using mktemp and trap
When working on Linux Bash, sometimes there is need to create temporary file. A common way of creating temp file on Linux is creating some file in /tmp directory. However there is security risk when creating temp file in /tmp directory. This post will show how to securely create temp file in Linux Bash. When creating file in /tmp directory, there are some security risks. This directory can be accessed by any user on the system, any user can write data into this directory as well. The files creat...
5 Lightweight PHP Frameworks For Creating An API
PHP is undoubtedly one of the most popular programming languages that offer a wide range of lightweight frameworks for building basic websites to REST APIs. These frameworks are powerful tools that have the potential to enhance productivity in order to deliver faster results without getting distracted from the best practices of development. Developing REST APIs with plain PHP is a tedious and time-consuming process. In order to sort this out, you only need to hire php developers who have a niche...
Huawei phone with HarmonyOS installed is becoming real
In past few days, there is a photo of a Huawei phone with HarmonyOS installed appearing on the web. This is an engineering testing phone circulating inside Huawei according to the source. This is the first time that a real phone with Huawei's own operating system HarmonyOS installed is being seen on the web. This indicates that it will not be that far for general public to be able to access the new Huawei self developed OS. From the photo, there are a few indications: This phone sample s...
The world's first HTML5 SIP client
This is the world's first open source HTML5 SIP client (May 12, 2012) entirely written in javascript for integration in social networks (FaceBook, Twitter, Google+), online games, e-commerce sites... No extension, plugin or gateway is needed. The media stack rely on WebRTC. The client can be used to connect to any SIP or IMS network from your preferred browser to make and receive audio/video calls and instant messages. The protocol parsers (SIP, SDP...) are highly optimized using Ragel loo...
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
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>>