SEARCH KEYWORD -- Implement
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
How to check whether a struct implements an interface in GoLang
Unlike other programming languages like Java, when implementing an interface in GoLang, there is no syntax like below to explicit tell the relationship: type I interface { } type A struct implements I { } When looking at the code or running the code in GoLang, it might lead to a case one doesn't know whether a struct implements interface before trying to use it as some interface. According to GoLang spec, as long as a struct implements all functions of an interface, it is considered as having i...
GOLANG,INTERFACE,IMPLEMENTATION,CHECK 2020-05-03 00:05:54
Should we use Abstract class or Interface?
When we write programs, we may often get into a situation where we don't know whether we should use Abstract class or Interface when we want to define an abstract object. These two are very similar and they are interchangeable in many cases. On Stackoverflow, this question is asked lots of times and it's related to many programming languages. Also in the official documentation of PHP regarding the Abstract class and Interface, people are arguing about this. To understand this question, their dif...
DIFFERENCE,INTERFACE,ABSTRACT CLASS,COMPARISON,OOP 2013-04-15 11:44:36
Basic Mistakes Developers Make When Creating APIs
Today, there are many tools that developers can use to create an API, meaning that some of them can come up with an API within a matter of minutes. However, there is a vast difference between just creating an API and building one that meets all your expectations, is reliable and secure. Some developers create APIs that work well but forget some basic things that, within no time, bring a lot of issues to the API users. In this article, we are going to talk about the basic mistakes that developers...
API,API DESIGN,RESTFUL API 2020-08-19 07:54:03
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...
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
4 asynchronous programming methods in JavaScript
You may know the execution environment of JavaScript is single threaded. The so called single thread means only one task can be running at any time, if there are many tasks, they need to be in a queue and wait for the previous task to be completed. The advantage of this mode is it's easy to implement and the execution environment is relative simple; the disadvantage is that if one task takes long time, the tasks following it must wait in the queue and this will delay other tasks consequently. Th...
JAVASCRIPT,ASYNCHRONOUS PROGRAMMING, EVENT MODEL,PROMISE 2012-12-25 00:55:47
How does CSDN dare to use plain text as password?
Recently, the China's largest Chinese IT community website named CSDN leaked its user's account information. Later today CSDN made an announcements to its users on their website. The announcement said that some user account information was leaked and the passwords of the accounts were stored as plain text in their database before 2009, and after 2009, they adopted an encryption algorithm to encrypt user password. They urged all users who registered the account before 2009 to change their passwor...
Security,Information leak,CSDN,Plain text 2011-12-22 09:10:01
Tips to improve JavaScript efficiency
Writing JavaScript code is tedious and error prone. You not only need to implement the necessary functions, but also need to ensure cross browser compatibility. This often causes the low efficiency of JavaScript developers. Here we recommend 12 tips you can benefit from. 1. Remove array element by index If we want to remove one element in an array, we can use splice. function removeByIndex(arr, index) { arr.splice(index, 1); } test = new Array(); test[0] = ’Apple’; test[1] = &rsq...
JavaScript,Tips,Array 2013-07-27 20:50:40
Additional steps need to implement to setup shadow-boxV2 OPTEE on Raspberry PI
We followed the Shadow-box v2 project from the https://github.com/kkamagui/shadow-box-for-arm to set up the trustZone on Raspberry PI modeB to protect the Linux Kernel. But got a problem when doing the step: [3.6.5. Activate Shadow-Box for ARM and Start Secure Pi!] to create the hash for the memory area. The result is not shown. If you met the same problem, this is what I did to fix the problem on my PI: 1.1 When we do the step [3.5.1. Copy OP-TEE OS with Shadow-Box for ARM and N...
HARDWARE,RASPBERRY PI 2019-05-20 08:52:55
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>>