SEARCH KEYWORD -- RESTFUL API
String intern in Java
In Java, == is used to compare whether two objects have the same memory location, equals() is usually used to compare whether two objects have the same time and the same state. When comparing two strings, normally we just want to know whether they have same content, so we can choose equals(). But since String comparison is so frequently needed, Java has worked on the String class to make == workable when comparing two String literals. The String class maintains a pool of emp...
Empty slice vs nil slice in GoLang
In Go, there is a type called slice which is built on top of array. It's a very convenient type when we want to handle a group of data. This post will explain a subtle but tricky difference between empty slice and nil slice. A nil slice is a slice has a length and capacity of zero and has no underlying array. The zero value of slice is nil. If a slice is declared like below, it is a nil slice. package main import "fmt" func main() { var a []string fmt.Println(a == nil) } The output will be t...
GOLANG,JSON,EMPTY SLICE,NIL SLICE 2018-10-18 09:25:21
C vs Java Complete Comparison
Similarities: Java and C have same syntax operators. Difference—thinking Two paradigms: Java: Object oriented language C: Structured language Differences: --Syntax No preprocessor Java does not include a preprocessor and does not define any analogs of the #define, #include, and #ifdef directives. Constant definitions are replaced with static final fields in Java. (See the java.lang.Math.PI field for an example.) Macro definitions are not available in...
C,Java,Comparison,Difference,Similaritie 2011-10-06 12:46:39
Fix issue docker-credential-desktop not installed or not available in PATH on Mac
Sometimes you may encounter below issue while running docker-compose on MacOS. Traceback (most recent call last): File "docker-compose", line 6, in <module> File "compose/cli/main.py", line 71, in main File "compose/cli/main.py", line 127, in perform_command File "compose/cli/main.py", line 1085, in up File "compose/cli/main.py", line 1081, in up File "compose/project.py", line 527, in up File "compose/service.py", line 354, in ensure_image_exists File "compose/service.py",...
MACOS,DOCKER,DOCKER-COMPOSE 2020-06-23 03:25:16
Canonicalize XML in Java
XML canonicalization is often used when there is need to create digital signature to be sent to peers for verification. Since digital signature is created based on XML data, the XML data has to be canonicalized before its signature value can be calculated. Even an extra space may affect the signature value calculated, hence it must follow some rules to canonicalize the XML data so that it has a standard format. This is why W3C created specification Canonical XML Version 1.1. This specificat...
JAVA,XML,JAVA SECURITY 2016-01-20 01:39:45
Let's talk about JavaScript deep clone
In JavaScript, deep clone means creating a brand new object that includes all nested objects, with all properties being completely independent copies. This is different from shallow copying, which only copies the first-level properties, with nested objects being referenced rather than copied. There are multiple ways to perform deep copying in JavaScript, but the best one to use depends on the specific use case. Can use JSON.parse & JSON.stringify? ❌ JSON.parse(JSON.stringify(obj)) is a dep...
JAVASCRIPT,DEEP CLONE 2023-02-25 08:57:11
Cross platform portable class libraries and .net
What’s that happy little feature developers are admiring? Oh that’s Portable class libraries that have been chugging along, during their thing and delivering to the point results wherever used by developers. If a developer is not writing .net applications for multiple targets, then he likely hasn’t bumped into these libraries. However, developers who are writing .net apps and want these apps to run on every platform from watches to tablets to desktops to the cloud, they can ava...
asp.net, Cross platform 2015-01-12 05:06:44
ByteBuffer in Java
ByteBuffer is introduced in java.nio since Java 1.4. It provides a way of representing raw structured data such as from a file or from network. It enables fast access of underlying data compared to traditional ways like byte[] Prior to Java 1.4, if you want to represent a structured raw data, you need to create a byte[] and then having a set of checks to delimit the byte array to get the expected tokens. There are three ways to create a ByteBuffer: Wrapping an exiting array by calling ByteBuffe...
JAVA,BYTEBUFFER,ALLOCATION 2015-07-08 03:17:44
The story behind Sublime Text
Sublime Text is a cross-platform text and source code editor, with a Python application programming interface (API). The graphical user interface design was inspired by Vim.Its functionality is also extendable with plugins; Post its release, it gained much attention and wide popularity. Do you know what's the story behind Sublime Text? Jon Skinner left his job as a software engineer at Google in order to pursue a dream: to build a better text editor. The end result is the popular Sublime Text t...
Sublime Text,Story,History 2013-09-22 11:05:36
PHP to integrate with Sign in with Google
Google has a huge user base and hence it provides an authentication service for third party service to integrate with them so that people can sign in with Google in their services. Google also adopts OAuth 2 to provide this kind of Open ID connect service. This post will introduce how to integrate with sign in with Google functionality in your PHP website. Create a client app on Google The first step you should follow is to create a Google app, you can follow the post here to create the p...
PHP,GOOGLE API,OPEN API,SIGN IN WITH GOOGLE 2019-03-03 02:00:09
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>>