Objective: the programmer practice road - (0) objective: on the road, again on the road "in the preface has the system of knowledge carried out, mainly to define the problem, algorithm and data structure, system platform API and programming language, design, code, test validation, and so on. Currently focus on the preparation of algorithms and data structures, which may also be the most difficult part, and then consider other parts. For this part of the contents of the layout, mainly in the "algorithm design and analysis foundation", "algorithm" and the problem of LeetCode algorithm in the classification of horizontal, with "algorithm design and analysis foundation" in the list...
First look at a panoramic view of the technology, which involves the calculation of memory technology labeled red. ) affairs: mainly divided into cache in the (memcached, redis, gemfire), RDBMS, newsql voltdb, led by three parts, the cache and newsql databases is the focus of. 2) flow processing: Storm itself is only a framework for computing, and Spark-Streaming to achieve the memory of the calculation of the flow processing. 3) comparative analysis stage: O general treatment: MapReduc...
Java programmer's modern RPC guide 1 Introduction 1.1 RPC framework introduction first contact RPC or beginner Java, the direct use of API Socket to pass things good trouble. As a result of the discovery of JDK directly support the RMI, and joy, all operations where is related to distributed communication with RMI, really convenient. Later on with the Spring, found that Spring provides a lot of Exporter, you can not invade a POJO exposure to RPC services. After contact with so many RPC framework, found that the company's own internal...
Analysis of the deep of a good article, original source can not find... My own understanding, talk about my views on Graduate School and School of software, inappropriate laugh. If you have the actual development work experience, feel their level and strength into a plateau period, the urgent need to improve from the theory, then the computer college is the only choice. Because the computer institute can make you more in the theory on the floor. The software institute has not brought you to this area from the teaching program. Of course, can not be more on the first floor of the building is entirely up to you. In particular, work experience is not necessarily equal to...
Hadoop GridGain accelerator such as GridGain and other memory grid products (IMDG) can not only be used as a simple cache, to accelerate the MapReduce Hadoop calculation is also a bright spot in IMDG. This memory computing was a kind of thinking and choice, and not just our Spark lord it over a district. About GridGain function introduction please refer to "open source GridGain IMDG". 1 install 2.7.1 Hadoop very early before writing an article "Hadoop entry": Hadoop pseudo points...
BDD agile development started with the actual 1.BDD reason 2003, Dan North first proposed the concept of BDD, and subsequently developed a jbehave framework. In the North Dan blog on the introduction of the article in BDD, said the idea of BDD is come from. A brief look at the history and background of BDD will help us to understand better. 1.1 TDD confused Dan in the use of TDD agile practice, often there are a lot of the same confusion haunting mind, which is a lot of programmers want to know agile practice:
To St where...
Operating system kernel Hack: (4) of kernel prototype in the previous article in this series the operating system kernel Hack: (3) bootloader production ", we created the a two stage of the boot loader, and enter a kernel shell main function. In this paper, we continue to improve the boot process and the kernel, so that the content of the kernel to enrich. The code in this paper can refer to the MiniOS branch kernel_prototype on the GitHub. 1 around the code to modify the 1.1 constants and macros extracted like each module of the memory of this constant...
Operating system kernel Hack: (three) BootLoader production on this paper involves the complete source code, please refer to the v1_bootloader MiniOS branch. 1 production method now we have learned about all the knowledge about BootLoader, let us begin to do a BootLoader bar! But before we really start, we have to make a choice, in the previous discussion we have said, there are two kinds of learning and production of the guiding process and operating system kernel route: 1) "Orange" s: an operating system to achieve the book in the line...
Operating system kernel Hack: (two) the underlying programming based on the operating system kernel Hack: (a) experimental environment to build, we see a mini operating system boot program. Although only less than twenty lines, but to fully understand or need a lot of underlying hardware and software knowledge. The purpose of this article is to learn this part of the knowledge together with everyone, in line with the principle of good enough, will not be completely open, as long as we can successfully complete the future of the operating system kernel Hack. 1 opening: "eccentric" 80386 if you skip this part to look directly at the back part of this article, or...
With Netty development middleware: high concurrency performance optimization in the recent write a background of the prototype of the middleware, mainly to do the distribution and transmission of messages. Because the use of Java to achieve, so the first choice of network communication framework, of course, is the Netty, the use of the Netty 4 version. Netty really high efficiency, do not have to do too much effort will be able to achieve a relatively high tps. However, the use of the process also encountered some problems, individuals feel that they are more classic and online is not easy to find the relevant information on the issue, so in this summary. Switch 1.Context is too high...
C actual combat: project construction Make, Automake, CMake in this series of articles, "C Combat: powerful program debugging tool GDB" we briefly learn the popular debugging tool GDB use method. This article continues the theme of "C combat", the use of Make and the principle of the same very popular build tools to find out what, and by the way to see some of the advanced derivative products. 1.Make foundation first we write a simple C project, in order to learn the project in actual combat Make related knowledge. A more comprehensive introduction, please refer to the official manual. /syspa cdai@vm...
Distributed consistency protocol Raft principle and examples 1.Raft protocol 1.1 Raft introduction Raft is proposed by Stanford a more easy to understand the consistency algorithm, intended to replace the current widely used Paxos algorithm. At present, in a variety of mainstream languages have some open source implementation, such as the use of Raft based JGroups protocol implementation. On the principle of Raft, strongly recommended to explain the animation version of Raft. 1.2 Raft principle in Raft, each node will be in the following three states in one of the:
Cluster Redis architecture optimization in the "comprehensive analysis of the principle and application of Cluster Redis", we have detailed analysis of the shortcomings of Cluster Redis at this stage:
No centralized architecture
Gossip message overhead
Difficult to upgrade without stopping
Could not distinguish between cold and hot data according to statistics
Cluster protocol support
Maintenance cost of connection and routing table
MultiOp and Pipeline support Limited
Redis implementation issues
Can not automatically find
Can not automatically Resharding...
A comprehensive analysis of redis cluster principle and application 1.Redis cluster overview 1.1 design principle and intention in the official document cluster spec, the author describes the redis why clusters should be designed to look like now. The core of the target has three:
Performance: This is the survival of redis housekeeping skills. After adding functional clusters cannot, of course, on the properties of the produced much influence, so the redis uses P2P rather than the design of proxy mode, asynchronous replication, client redirection, sacrifice part of consistency, usability. ...
Operating system kernel Hack: (a) the test environment to build three or four years ago, on a whim, I starts with the orange 's: an operating system for the realization of "learning the operating system kernel, also buy a matching the king of cool" assembly language (Second Edition) "and" 80x86 assembly language program design teaching course, although orang' s only less than one-third, but was still very serious and practice is done a lot. The only regret is that left no written records, which is almost forgotten it, regret! Now want to pick up again, make up for the lazy at that time, although difficult, but so excellent...
Docker novice entry: the basic usage of 1.Docker introduction 1.1 the first Docker book work constantly encounter Docker, today finally be officially started to learn. In the selection of the system to learn Docker and virtualization technology books also encountered a lot of trouble, the main is not particularly classic book! Docker "the first edition of Docker" and "Docker technology entry and actual combat" generally evaluation is not high, and "Docker development and practice" and "Dockeru source analysis" is the most recent in 2015, the evaluation is not a lot of...
Jedis split Sentinel connection pool experiment 1 cause is known to all, Redis official HA tool Sentinel has been out for a long time, but it is difficult to understand that, Jedis official but has not updated its connection pool. To the current Maven Library in the latest version of the 2.7.3 so far, can only use a split connection pool, or use the Sentinel connection pool. If both of the Sharding, and for each of the examples of the configuration Sentinel configuration monitoring, how to do? The answer is only their own development, halo! It's all right...
Netty 4 source code analysis: request processing before the "Netty 4 source code analysis: server start" analysis, we know that in the most front-end "carry the pressure" is the NioEventLoop.run () method. We specify the creation of the NioServerSocketChannel is registered to the Selector in the NioEventLoop. So we continue to follow it, look at the server start after the completion of the Netty is how to deal with each request. 1.MainReactor1.1 event polling before i...
With Netty 4 learning network programming "Netty authoritative guide" in the online evaluation is not very high, especially the first edition, version second can be a little better? After the start leafed through the most this, I still want to "Netty authoritative guide (Second Edition)" tucao:
The first half of the code layout is too bad, it is simply the layout of the direct print Word. Source code parsing part of the organization and code layout much better, and feel more than the quality of the other parts of the high.
If you are a beginner may feel very detailed, almost every part of the client and server will come to a set of Demo, if you are not getting started...
Netty 4 source code parsing: server starts 1 basic knowledge 1.1 Netty 4 example because Netty 5 is still in beta version, so choose the current relatively stable Netty 4 as a learning object. And 5 of the change is not as big as 4, a lot of online examples have been out of date.
Redis monitoring tools, command and tuning. Graphical monitoring because of the need to have a performance test of redis found on GitHub is written in Python RedisLive monitoring tool for evaluation of good. The tinker with for a long time, finally found its home page cited Google's jsapi script must link to Google's online services. Stackoverflow said the JS script downloaded to the local can not solve the problem, the pit Dad! Was about to give up when found a fork RedisLive out of the project redis-monitor,...
It has been six years of work, in the first day of practice, the scene visible before the eyes it is like yesterday. Six years has enough to make many people turn management, products, test, switch, there will also be some people still adhere to a code, just because of love. Encountered all kinds of managers, architects, operation and maintenance, performance engineers, etc., or feel that the code is the most powerful! Share some of these years to attend to personal experience here. May not apply to other people, but for me it is the most precious treasure". Also with this article to commemorate the youth in the code heap ~ see these little drops of the harvest, you will feel all the lost light...