(6) Reliability of RabbitMQ messages in RabbitMQ Practical Tutorial (for Java developers)

Message Reliability When using RabbitMQ in a project, we may encounter problems such as adding a record to the message middleware to record the expected message consumers to modify the order status when the user pays successfully, but the actual order status is not changed successfully in the end. In the face of such p ...

Posted by Blob on Wed, 15 May 2019 11:52:53 +0200

Implementing Bidirectional Data Binding of Vue

Reproduced at https://segmentfault.com/a/1190000014274840 1, principle The principle of Vue's two-way data binding is well understood, mainly through the definition property property property of the Object object, rewriting the set and get functions of data. Here, the principle is not described too much, but mainly to ...

Posted by alco19357 on Wed, 15 May 2019 02:44:08 +0200

Front-end project file organization and component naming

Reason In the process of developing a project, people are more or less doubtful about the catalogue structure of their own project, how to divide modules reasonably and how to name them reasonably. If these are not well regulated in the early stage of the project, then the newcomers will divide their catalogues again according to their own logi ...

Posted by stokie-rich on Wed, 15 May 2019 02:39:34 +0200

J.U.C|AQS Shared Source Analysis

1. Write before In the last section, we talked about the exclusive source code, see J.U.C|AQS Exclusive Source Analysis In this chapter, we continue to navigate the world of AQS source code to understand the acquisition and release of shared synchronization. 2. What is Shared The only difference between shared and exclusive is that multiple t ...

Posted by milind24 on Tue, 14 May 2019 21:55:04 +0200

Concurrent Programming Theme

CountDownLatch (counter) CountDownLatch is located under a concurrent package and can be used to perform counter-like functions. If thread A needs to wait for other n threads before it can be executed, CountDownLatch can be used to achieve this function. CountDownLatch is implemented through a counter whose initial value is the number of thread ...

Posted by Youko on Tue, 14 May 2019 18:47:51 +0200

Summary of hdoj1003+codeup2086:Max Sum Maximum Continuous Subsequence and Problem Solution

Catalog Solution method of hdoj 1003 Violent solution O (n ^ 3) / O (n ^ 2) (not recommended, probably timed out) Divide and conquer (more complicated, just master ideas) Ergodic summation O(n) dp dynamic programming The Solution Method of Codup2086 dp solution Solution method of hdoj 1003 Violent solution O (n ^ 3 ...

Posted by exec1 on Tue, 14 May 2019 15:40:54 +0200

Doker-compose Running Flask Application Best Practices

background Before deploying applications, various environment configurations were needed, and various shell operations were needed to build a set of available services. Now with Docker, deployment is easier, configuration errors are less likely, and environment inconsistencies are less likely. It solves the problems of running in the local en ...

Posted by martins on Tue, 14 May 2019 11:55:21 +0200

LEYOU MARKET LEARNING NOTES XI-Elasticsearch LEARNING

3.1. Basic queries: Basic grammar GET/Index Library Name/_search { "query":{ "Query type":{ "Query Conditions": "Query Conditional Values" } } } Here query represents a query object, which can have different query attributes. Query type: For example: match_ ...

Posted by IanMartins on Sun, 12 May 2019 14:09:54 +0200

Front-end Asynchronous Solution-3 (Promise)

I haven't written for a few days. I've been learning Promise and generator intermittently these days. Today I can finally solve the asynchronous problem by combining the two things. Today I would like to share with you the usage of promise and the handling of asynchrony.As usual, let's simulate a Promise first. //Cough, that's how it works. let ...

Posted by philip@hux.co.za on Sun, 12 May 2019 07:51:26 +0200

Analysis of Go slice Expansion

This paper mainly makes some analysis of go slice's expansion mechanism. Environment, 64-bit centos docker image + go1.12.1. Routine operation When slice append occurs, growSlice occurs when slice cap is not enough to accommodate new elements. For example, for the following code func main() { slice1 := make([]int,1,) ...

Posted by Lee on Sun, 12 May 2019 04:11:48 +0200