SEARCH KEYWORD -- PUBLIC KEY
Binary tree iterator algorithm
Binary tree pre-order,in-order and post-order traversal are basics in algorithm and data structure.And the recursive binary tree traversal is a classical application of recursion. We define a binary tree node as : // C++ struct Node { int value; Node *left; Node *right; } In order binary tree traversal can be: // C++ void inorder_traverse(Node *node) { if (NULL != node->left) { inorder_traverse(node->left); } do_something(node); if (NULL != node->righ...
Binary tree,Iterator,Traversal 2013-07-14 21:51:09
A HTTPS client and HTTPS server demo in Java
In this post, I will create a HTTPS server and HTTPS client demo which can establish HTTPS communication between a server and a client using Java. This should be very useful when we want to test our understanding about SSL communication. We will use both a detailed SSL client and a simple HttpsURLConnection as the HTTPS client. Before creating the actual HTTPS server and HTTPS client, we first need to generate the keystore and truststore to be used by the server and client. To generate the keyst...
Custom C++ exception class creation
In standard C++, we can use try catch to catch and exception when something goes wrong. These are some built in exception support in C++. By including the #include , we can now catch exceptions in C++ programs. This actually helps us on debugging our code and reduce the maintenance work.However sometimes if we want to create our own custom exception class. What should we do?We should include the #include line and then extend the exception class and implement some methods as you like. The genera...
C++,std,exception,custom exception,implementation 2012-03-04 09:58:18
Here is why Mark Zuckerberg wears the same thing every day
Have you noticed that Facebook CEO Mark Zuckerberg always wears the same thing every day when he appears in the public? A grey t-shirt which is now a symbol of Mark Zuckerberg. The reason why he wears the same thing every day is "I want to clear my life to make it that I have to make as few decisions as possible about anything except how to best serve this community" as what he said in an in-person public Q&A at the Facebook HQ in Menlo Park where he answered questions from people around th...
Facebook,Mark Zuckerberg, grey T-shirt 2015-03-01 01:01:16
All I Know About Certificates -- Websites
In last article, we know the role of clients and their responsibilities for certificate verification. Finally, let's talk about websites. We've discussed many potential issues between CAs and clients concerning certificates, but the most frequent issue is with websites—many websites have faced this problem: certificate expiration. Websites need to ensure two things: Ensure their certificate does not expire. Protect their private key from being leaked. If someone else obtains the priv...
CLIENTS,WEBSITES,SSL CERTIFICATE,CERTIFICATE AUTHORITY,CA 2024-07-26 22:33:29
What is cache penetration, cache breakdown and cache avalanche?
When designing and developing highly available system, cache is an very important consideration. It is useful to cache some frequently accessed data so that they can be accessed quickly and also cache can protect the downstream system like DB from being hit too often. To provide better cache design in large systems, some problems may need to be considered first. In this post, we will talk about some frequently discussed cache problems and mitigation plans. Cache penetration Cache penetrati...
SYSTEM DESIGN,CACHE PENETRATION,CACHE BREAKDOWN,CACHE AVALANCHE 2020-04-10 08:43:00
YouTube video player control bar becomes transparent
YouTube has made an update on its video player control bar and made it general available to the public now. The update is to make the video player control bar transparent and float on top of the videos being played. There are no functional changes about this control bar. The original control bar is black but not transparent. After the update, the control bar looks like: YouTube started to test this new change back in April 2015. At that time, it was tested in a small scale and only a sma...
YouTube,Video Player,HTML 5, Transparent 2015-08-04 05:14:42
Implementing DESede/ECB/NoPadding cipher algorithm in GoLang
By default, GoLang doesn't provide the ECB mode cipher for DESede though there is CBC mode provided. In cases we need to encrypt/decrypt data with ECB mode, we need to implement those by ourselves. This mode is frequently used when encrypting/decrypting PIN block which is small block data less than 16 bytes. In this post, we will introduce how to implement the DESede/ECB/NoPadding algorithm in GoLang by using the existing cipher support. Here we will not cover how DESede works in detail, instead...
Permutation implementation in Java
Permutation is a very basic and important mathematic concept we learned in school. It has very practical applications in real world. For example, in football. In simple, permutation describes all possible ways of doing something. For example, there are six permutations of the set {1,2,3}, namely: (1,2,3), (1,3,2), (2,1,3), (2,3,1), (3,1,2), and (3,2,1). In general, for n items, there are n! number of permutations to arrange these items. How can we implement this algorithm in programming programm...
Permutation,Implementation,Java,Sample 2015-03-26 02:18:14
Check file readability in Java
File operation is quite platform dependent. Although Java is a cross platform programming language, the file operation in Java is also platform dependent. The obvious evidence is the file permission check. In Java, we can call canRead(), canWrite() and canExecutable() to check whether the program can read, write or execute the file specified. However, on Windows, when we call canRead() on a File object, we may get unexpected result. Actually, on Windows, when we call canRead() on a File object, ...
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>>