Category Archives: Others

Consistent Hash Ring

Consistent hashing is a special kind of hashing such that when a hash table is resized and consistent hashing is used, only K/n keys need to be remapped on average, where K is the number of keys, and n is the number of slots. In contrast, in most traditional hash tables, a change in the number of array slots causes nearly all keys to be remapped. Consistent hashing achieves the same goals as Rendezvous hashing (also called HRW Hashing). The two techniques use different algorithms, and were devised independently and contemporaneously. Problem on Distributed Cache The need for consistent hashing arose from limitations experienced while running collections of caching machines - web caches, for example. If you have a collection…

Continue Reading

The 23 Gang of Three Design Patterns

Design patterns represent the best practices used by experienced object-oriented software developers. Design patterns are solutions to general problems that software developers faced during software development. These solutions were obtained by trial and error by numerous software developers over quite a substantial period of time. This tutorial will take you through step by step approach and examples using Java while learning Design Pattern concepts. Three Types of Design Patterns Design patterns are divided into three fundamental groups: Behavioral Patterns, Creational Patterns, and Structural Patterns. Behavioral Patterns: Abstract Factory, Builder, Factory Method, Prototype, and Singleton. Creational Patterns: Adapter, Bridge, Composite, Decorator, Facade, Flyweight, and Proxy Structural Patterns: Chain of Resp., Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template, and Visitor Seven Principles of Design Patterns Open Close Principle Software entities like…

Continue Reading

Difference between Process and Thread

Process What's Process? In computing, a process is an instance of a computer program that is being executed. It contains the program code and its current activity. Depending on the operating system (OS), a process may be made up of multiple threads of execution that execute instructions concurrently. Process states An operating system kernel that allows multi-tasking needs processes to have certain states. Names for these states are not standardised, but they have similar functionality. Orphan Process and Zombie Process Orphan process An orphan process is a computer process whose parent process has finished or terminated, though it remains running itself. In a Unix-like operating system any orphaned process will be immediately adopted by the special init system process. This operation…

Continue Reading

Jenkins Installation and Configuration with Maven and GitHub

In this tutorial we are going to describe Jenkins installation and configuration with Maven and GitHub. We are going to use a Tomcat Application Server 7. If you don’t have Tomcat installed please get one here. You will need a Java 7+ SDK installed as well Git binaries installation At first we need client tool using which git operations like cloning, fetching, pooling can be done. We have chosen git client implementation available at Download and install it. Important thing is to select Run Git from the Windows Command Prompt option on Adjusting your PATH environment installation screen so that git client executables are added to your PATH variable. Jenkins installation Now we are going to install Jenkins. Jenkins…

Continue Reading

Install TideSDK on Windows 7/Ubuntu/Mac OS X

What's TideSDK? TideSDK is the new standard for creating beautiful and unique desktop apps using your web development skills. You can build muti-platform desktop applications with HTML5, CSS3 and JavaScript in TideSDK. TideSDK can support Python, Ruby and PHP now. Download TideSDK and other software 1. TideSDK 1.3.1 Beta 2. TideSDK Developer 1.4.2 Install TideSDK 1. Extract TideSDK 1.3.1 to Windows 7/8/8.1: C:\ProgramData\TideSDK Windows XP: C:\Documents and Settings\All Users\Application Data\TideSDK Ubuntu: ~/.tidesdk Mac OS X: ~/Library/Application\ Support/TideSDK 2. Install TideSDK Developer 1.4.2 Start Using TideSDK with Hello World 1. Download the Hello World demo from the official website. 2. Import the project and build it. What's more? If you got this error message on Ubuntu: Missing, Please try to install libjpeg62-dev.

Continue Reading

Install Microsoft’s Consolas Font on Mac OS X

With the introduction of Windows Vista and Office 2007 Microsoft included some new fonts, which became the defaults in Office. Their names all start with ‘C’ and they are quite attractive. In particular there is a monospaced font called Consolas that is nice to use as a text editor font and Terminal font. The problem is they aren’t technically free, although Microsoft does include them in a number of freely available updaters. What follows is how I went about installing the fonts on my Mac. Installation Download the Open XML File Format Converter for Mac. Double click the disk image if it wasn’t automatically mounted. You will see an Open XML File Format Converter meta package (.mpkg). Right click (or Control-click) the…

Continue Reading
Contact Us
  • Tencent AI Lab, Shenzhen, China
  • cshzxie [at] gmail [dot] com