SEARCH KEYWORD -- METHOD
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
Python basics summary
Python is recommended by many people as the first language to be learned now. Even in some universities, it is the primary language to be taught to CS/CE students. To master this languages, we should understand some basics of it. Here we summarize some basics about this language. These basics include : string replacement with regular expression, traverse a directory, sort a list, remove duplication, dictionary ordering, dictionary, list, string conversion, date object manipulation, command line ...
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
Scala Macros
This is the home page of project Kepler, an ongoing effort towards bringing compile-time metaprogramming to Scala. Our flavor of macros is reminiscent of Lisp macros, adapted to incorporate type safety and rich syntax. Unlike infamous C/C++ preprocessor macros, Scala macros: 1) are written in full-fledged Scala, 2) work with expression trees, not with raw strings, 3) cannot change syntax of Scala. You can learn more about our vision of metaprogramming from our talks. We propose to enrich Scala ...
Scala,Macro,Efficiency,Maintainebility 2012-02-01 00:12:15
Run JavaScript in GoLang
In some cases, there might be some JavaScript code needs to be ran in a GoLang project. Fortunately, there are a few libraries which support running JavaScript in GoLang. The most famous one would be v8. This is a Go API for the famous v8 JavaScript engine originally developed for the Chrominum project and the foundation of NodeJS. In this post, we will show some simple steps to get v8 working in a GoLang program on MacOS. First you need to install the package so that you can import it. Run...
GOLANG,JAVASCRIPT,V8 2019-05-16 07:40:38
Using JSON in PHP
Currently JSON has become one of the most popular data exchange formats. Many website APIs support it. Since PHP 5.2, PHP provides json_encode() and json_decode() method to handle JSON encoding and decoding.1. json_encode()This function is used to transform array and objects to JSON format. First let's look one array example. $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);   echo json_encode($arr);the result is{"a":1,"b"...
JSON,PHP,json_decode(0,json_encode() 2012-05-06 06:04:42
Convert number to string in C++
Prior to C++11, there is no built-in function in C++ standard library which can be used to convert numbers such as interger and double number to string. There are many ways which can convert number to string. Since C++ is C compatible, we can use itoa() function to convert an integer to C style string. But this one can only convert integer to string, not double. For different types of numbers, we need to use different functions. string s = string(itoa(a)); Actually, we can also use strings...
C++,conversion,number,string 2012-08-14 15:52:48
The difference between System.load and System.loadLibrary in Java
When writing code using native library in Java, normally the first step is loading some native library. static{   System.load("D:" + File.separator + "Hello.dll"); } JDK provides two ways to load libraries: System.load(String filename) System.loadLibrary(String libname) This post will try to explain the differences of these two ways. According to Java Doc on System.load(), it has below description. Loads the native library specified by the filename argument. The filename a...
NATIVE,JNI,JAVA,SYSTEM.LOAD,SYSTEM.LOADLIBRARY 2019-02-05 05:49:28
Chrome extension to display desktop notification
Have you ever thought about writing extension for web browsers so that we can complete some tasks easily. Do you think writing extension for browsers is very difficult? You have no clue where to begin? On Chrome, this isn't any problem now as long as you know how to write HTML,CSS and JavaScript. We will show one example of Chrome extension today. The extension will display a desktop notification on your desktop. You need to create two files here, one is the notification.json which is the config...
Chrome extension,Desktop notification,Example 2013-06-29 22:23:51
Check mobile device using JavaScript
Sometimes developers want to know whether the user is using a mobile browser or a desktop browser so that they can build corresponding user experience. Although in many cases responsive web design would help solve component alignment issues, there are performance related considerations in some cases where some code should not be ran or some feature should not be available if user is on mobile browser. or vice versa This post will summarize a few ways which are commonly used to check whether a us...
CHECK,MOBILE BROWSER,MOBILE DEVICE,JAVASCRIPT 2021-10-02 01:36:16
RECENT
- Fix Surface Keyboard not Working Issue
- Python Process Protection Watchdog
- The Strange Behavior of the void Type in TypeScript
- MySQL Index Merge Optimization Practices
- Applying Large Language Models (LLMs) to Solve Cybersecurity Questions
- Everyone Can Write Tech Blogs
- Python SSH Connection Tools
- Revolutionize Your Event Planning with Interactive Presentation Templates
- New Unreal Engine 5 and Nvidia Technology in Black Myth: Wukong
- 10-32 rack screws
- more>>