自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

LuckyBrown的博客

每天进步一点!

  • 博客(102)
  • 收藏
  • 关注

转载 状态机和⼯作流的区别

开发⼈员只需要回顾公司的流程,并绘制⼀个图表,其中他应该描述特定数量的状态和事件,这些状态和事件将触发对它们的转换。然⽽,⼀个状态机的主要问题是,在实践中它只适合有⼀维(相对多个维度)问题的业务。此外,在添加新状态时,您应该了解,您不能在不破坏rest的情况下更改⼀个状态。因此,当您理解您的业务规则可能在时间上发⽣变化(这实际上是不可避免的过程)时,⼯作流引擎是⼀个更好的选择。在⼯作流引擎中,在完成之前的操作时,就会切换到下⼀个步骤,⽽状态机需要⼀个外部事件,这将导致分⽀到下⼀个活动。.........

2022-07-19 11:22:36 513

原创 tail -f和tail -F的区别

想象归想象,如果你想要一个快速的日志收集工具,那tail确实是个非常棒的工具。它比什么flume、logstatsh,比什么filebeat之类的,快捷的多。事实上,在工具缺乏的旧年代,我就曾经这么干过,而且它工作的很好。下面是一段使用Java语言书写的代码。我们可以按行读取日志,然后使用自己喜欢的语言,做任何事情。主要的思想,就是使用Java的Process启动一个子tail进程,一直监控着文件的输出。然后把标准输出和标准错误流,全部定向到BufferedReader中。接下来,你能做你想要做的任何事。

2022-07-07 17:21:22 2277

原创 领域驱动设计在互联网业务开发中的实践

地址:https://tech.meituan.com/2017/12/22/ddd-in-practice.html

2021-08-31 21:26:29 149

转载 浅谈我对DDD领域驱动设计的理解

从遇到问题开始当人们要做一个软件系统时,一般总是因为遇到了什么问题,然后希望通过一个软件系统来解决。比如,我是一家企业,然后我觉得我现在线下销售自己的产品还不够,我希望能够在线上也能销售自己的产品。所以,自然而然就想到要做一个普通电商系统,用于实现在线销售自己企业产品的目的。再比如,我是一家互联网公司,公司有很多系统对外提供服务,面向很多客户端设备。但是最近由于各种原因,导致服务经常出故障。所以,我们希望通过各种措施提高服务的质量和稳定性。其中的一个措施就是希望能做一个灰度发布的平台,这个平台可

2021-08-31 20:23:04 209

转载 Java-JUC-彻底搞懂JUC

转自:https://blog.csdn.net/wangwenpeng0529/article/details/105769978/

2021-03-01 21:33:33 235

转载 你真的知道组件中的v-model吗?

你真的知道组件中的v-model吗? 目录v-model的神奇你好奇input事件是什么?组件中的v-model组件的v-model 生效原则给组件绑定v-model v-model的神奇html<div id="app"> <input v-model="poin"> {{ poin }}</div>js...

2019-04-10 11:29:41 714

转载 关于vue中的$符号总结一下

vue的实例属性和方法除了数据属性,Vue 实例还暴露了一些有用的实例属性与方法。它们都有前缀$,以便与用户定义的属性区分开来。例如: var data = { a: 1 }var vm = new Vue({ el: '#example', data: data})vm.$data === data // => truevm.$el === doc...

2019-04-09 10:43:48 36658

转载 Vue中watch的简单应用

Vue.js 有一个方法 watch,它可以用来监测Vue实例上的数据变动。如果对应一个对象,键是观察表达式,值是对应回调,值也可以是方法名,或者是对象,包含选项。下面写两个demo,参考demo来了解一下demo1<template> <div> <el-input v-model="demo"></el-input&...

2019-04-09 10:43:04 161

转载 vueJs的简单入门以及基础语法

1)vue的基础语法介绍vue的下载以及是什么这里就不说了,直接看vue官网简单的说 这篇帖子只是把语法归类了vue的api vue官网APIimage.png1-1基本数据绑定<div id="app"> {{ msg }}</div>//scriptnew Vue({ el:"#app",//代表vue的范围 da...

2019-04-09 10:28:25 280

原创 vue2 ref的用法,简单易懂——vue2子组件索引

官网上的说明1.了解Vue中的$refs在Vue中是怎么访问到DOM元素的 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <div id="app"> ...

2019-04-09 10:24:33 2444

原创 Vuex的基本使用

Vuex 是一个专为 Vue.js 设计的状态管理模式vuex解决了组件之间同一状态的共享问题。当我们的应用遇到多个组件共享状态时,会需要:多个组件依赖于同一状态。传参的方法对于多层嵌套的组件将会非常繁琐,并且对于兄弟组件间的状态传递无能为力。这需要你去学习下,vue编码中多个组件之间的通讯的做法。来自不同组件的行为需要变更同一状态。我们经常会采用父子组件直接引用或者通过事件来变更和同...

2019-04-08 09:28:10 178

原创 vue非父子组件传值完整

非父子组件间的传值常一个应用会以一棵嵌套的组件树的形式来组织:将一个大组件进行拆分下图这种情况的组件间传值(父子组件间传值)方法:父组件通过 Props 向子组件传值,子组件通过事件触发向父组件传值下图这种情况的组件间传值(父子组件间隔代传值,也是非父子组件间传值)方法:将第二层作为...

2019-04-07 20:31:57 1358

转载 vue之父子组件间通信实例讲解(props、$ref 、 $emit )

组件是 vue.js 最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用。那么组件间如何通信,也就成为了vue中重点知识了。这篇文章将会通过props、$ref和 $emit 这几个知识点,来讲解如何实现父子组件间通信。在说如何实现通信之前,我们先来建两个组件father.vue和child.vue作为示...

2019-03-29 10:16:26 260

原创 Vue 父子组件传值与验证props

实例:App.vue<template> <div id="app"> <h1>{{ msg }}</h1> <!-- 3.在模板中使用 --> <v-home></v-home> <br> </div></template>...

2019-03-29 09:56:37 1143

原创 axios的简单教程与实例

首先要明白的是axios是什么:axios是基于promise(诺言)用于浏览器和node.js是http客户端。axios的作用是什么呢:axios主要是用于向后台发起请求的,还有在请求中做更多是可控功能。特点:支持浏览器和node.js            支持promise&nbsp...

2019-03-29 09:48:33 2946

原创 Vue的todolist实例 Vue 中的模块化以及封装Storage实现todolist 待办事项 已经完成 和进行中持久化

双向绑定App.vue<template> <div id="app"> <input type="text" v-model="todo"> <button @click="doAdd()">+增加</button> <ul> <li v-for="(item,key)...

2019-03-29 09:34:02 461 1

原创 Vue 生命周期函数 组件挂载、组件更新、组件销毁触发的一系列方法

生命周期先上图什么是生命周期Vue实例有一个完整的生命周期,也就是从开始创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、卸载等一系列过程,我们称这是Vue的生命周期。通俗说就是Vue实例从创建到销毁的过程,就是生命周期。在Vue的整个生命周期中,它提供了一系列的事件,可以让我们在事件触发时注册js方法,可以让我们用自己注册的js方法控制整个大局,在这些事件响应方法中的this直接...

2019-03-29 09:22:26 18519

原创 vue组件的引入

App.vue<template> <div id="app"> <h1>{{ msg }}</h1> <!-- 3.在模板中使用 --> <v-home></v-home> <br> <hr> <v-news></v...

2019-03-29 09:11:51 350

原创 Vue事件 定义方法执行方法 获取数据 改变数据 执行方法传值 以及事件对象

<template> <div id="app"> {{msg}} <br> <button v-on:click="run1()">执行是事件的第一种方法</button> <br> <button @click="run2()">执行是事件的第二种方法</but...

2019-03-29 09:07:35 770

原创 Vue 及双向数据绑定 Vue事件介绍 以及Vue中的ref获取dom节点

<template> <div id="app"> <h1>{{ msg }}</h1> <input type="text" v-model="msg" /> <button v-on:click="getMsg()">获取表单里面的数据</button> <but...

2019-03-29 09:02:18 371

原创 Vue绑定属性 绑定Class 绑定style

<template> <div id="app"> <h1>{{ msg }}</h1> <br> <!-- 绑定属性 --> <div v-bind:title="title">鼠标移动过来</div> <!-- 在tamplate中引入本地图...

2019-03-29 09:00:07 299

原创 vue 目录结构分析 数据绑定 绑定属性 循环渲染数据 数据渲染01

├── index.html 入口页面├── build 构建脚本目录│ ├── build-server.js 运行本地构建服务器,可以访问构建后的页面│ ├── build.js 生产环境构建脚本│ ├─...

2019-03-29 08:55:24 125

转载 Vue与ref属性与refs

ref 被用来给DOM元素或子组件注册引用信息。引用信息会根据父组件的 $refs 对象进行注册。如果在普通的DOM元素上使用,引用信息就是元素; 如果用在子组件上,引用信息就是组件实例注意:只要想要在Vue中直接操作DOM元素,就必须用ref属性进行注册实例:这里为了在create的时候引用DOM元素...

2019-03-28 11:26:06 411

原创 ajax过程 GET和POST的区别

1.Post传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示。2.Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节.3.Post顾名思义,就是为了将数据传送到服务器段,Get就是为了从服务器段取得数据.而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.Post的信息作为http请求的内容,而Ge...

2019-03-28 09:38:42 137

转载 ES6中的箭头函数的定义和调用方式

基本用法:ES6中允许使用“箭头”(=>)定义函数var f = v => v;上面代码相当于:var f = function( v ) { return v;}根据箭头函数有参数和无参数来区分1、无参数的箭头函数var f = () => 5;等同于var f = function() { return 5};2、有参数...

2019-03-28 09:00:18 3508

原创 使用@Autowired自动装配对象和new对象以及和静态方法的区别

一、@autowired 与newnew出来的对象无法调用@Autowired注入的Spring Bean,否则报空指针异常,@Autowired注入Spring Bean,则当前类必须也是Spring Bean才能调用它,不能用new xxx()来获得对象,这种方式获得的对象无法调用@Autowired注入的Bean。二、@autowired 与静态方法1.spring框架应...

2019-03-18 10:10:00 3502

转载 秒杀系统设计优化

12306抢票,票是有限的,库存一份,瞬时流量非常多,都读相同的库存,读写冲突,锁非常严重;小米手机每周二的秒杀,可能手机只有1万部,但瞬时进入的流量可能是几百几千万;这是秒杀业务难的地方。那我们怎么优化秒杀系统呢?一、难点(1)高并发用户在秒杀开始前,通过不停刷新浏览器页面以保证不会错过秒杀,这些请求如果按照一般的网站应用架构,访问应用服务器、连接数据库,会对应用服务器和数据库服务器造成负载压力...

2018-03-18 10:21:39 210

原创 汉诺塔问题 java实现

汉诺塔问题[又称河内塔]是印度的一个古老的传说。  据传开天辟地之神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从这根棒搬到另一根棒上,规定可利用中间的一根棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。就是这看似简单的问题,却困扰了人们千年以上。  后来,这个传说就演变为

2017-10-01 18:31:42 1649

转载 详细解读KMP模式匹配算法

详细解读KMP模式匹配算法 目录(?)[+]朴素的模式匹配算法KMP模式匹配算法求解next数组KMP算法优化转载请注明出处:http://blog.csdn.net/fightlei/article/details/52712461首先我们需要了解什么是模式匹配?子串定位运算又称为模式匹配(Pattern Matching)或串

2017-08-23 10:31:14 397

原创 剑指Offer——编程题的Java实现(更新完毕……)

二维数组中的查找在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。[java] view plain copy print?      /*  * 思路 矩阵是有序的,从右上角来看,向左数字递减,向下数字递增,   * 因此从右上角开始查找,当要查找数字比左下角数字大时。下移  *

2017-08-05 10:15:04 3241 1

转载 过滤器、监听器、拦截器的区别

过滤器Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断等。其工作原理是,只要你在web.xml文件配置好要拦截的客户端请求,它都会帮你拦截到请求,此时你就可以对请求或响应(Request、Response)统一设置编码,简化操作;同时还可以进行逻辑判断,如用户是否已经登录、有没有权限访问

2017-07-14 10:18:19 9574

转载 详解 Spring 3.0 基于 Annotation 的依赖注入实现

使用 @Repository、@Service、@Controller 和 @Component 将类标识为 BeanSpring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的开发。@Repository 注解便属于最先引入的一批,它用于将数据访问层 (DAO 层 ) 的类标识为 Spring Bean。具体只需将该注解标注在 DAO 类上即可。同时,为了让 Spri

2017-07-14 10:09:33 251

转载 深入分析Java中的length和length()

在开始正文之前,请你快速回答如下问题:在不使用任何带有自动补全功能IDE的情况下,如何获取一个数组的长度?以及,如何获取一个字符串的长度?这个问题我问过不同水平的程序员,包括初级和中级水平的。他们都不能准确而自信地回答这个问题(如果你能很准确很自信的回答这个问题,那么证明针对这一知识点你比大多数中级程序员掌握的好)。由于现在很多IDE都有代码补全功能,这使得开发人员在很多问题上都理解的很肤浅。本

2017-04-19 10:23:59 487

转载 Java垃圾回收机制与典型的垃圾回收算法

说到垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理。顾名思义,垃圾回收就是释放垃圾占用的空间,那么在Java中,什么样的对象会被认定为“垃圾”?那么当一些对象被确定为垃圾之后,采用什么样的策略来进行回收(释放空间)?在目前的商业虚拟机中,有哪些典型的垃圾收集器

2017-04-19 09:26:20 292

转载 TreeMap

原文出自:http://cmsblogs.com/?p=1013。尊重作者的成果,转载请注明出处!          个人站点:http://cmsblogs.com—————————————————————————————————————————————————————————- TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的了解,其实这篇博文的名字叫做:

2017-04-19 09:25:24 344

转载 GIF演示排序算法

最近在准备笔试,面试,看了不少关于排序算法的知识,总感觉代码有余,直观不足。 所以想利用直观的GIF动图来演示各种排序算法。1.插入排序(Insertion Sort)1.1算法简介插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序

2017-04-11 15:33:21 6415 2

转载 数据结构 – 树的度和结点数的关系

1: 二叉树叶子节点与度为二的节点有什么关系?叶子结点就是没有孩子的结点,其度为0,度为二的结点是指有两个子数的结点。比如一棵完全二叉树有三层,叶子结点就是最下面那一层的结点数,没有孩子结点,就是4,度为二的结点有3个。一、概念与图论中的“度”不同,树的度是如下定义的:有根树T中,结点x的子女数目称为x的度。也就是:在树中,结点有几个分叉,度就是几。一个有用的小公式:树

2017-03-27 09:47:52 33265

转载 java 实现节点链表

链结点     在链表中,每个数据项都被包含在‘点“中,一个点是某个类的对象,这个类可认叫做    LINK。因为一个链表中有许多类似的链结点,所以有必要用一个不同于链表的类来表达    链结点。每个 LINK 对象中都包含一个对下一个点引用的字段(通常叫做 next)但是   本身的对象中有一个字段指向对第一个链结点的引用  单链表是一种顺序存取的结构,为找第 i个数据元素,必须先找到第

2017-03-11 19:32:57 382

原创 数据结构之冒泡排序

数据结构之冒泡排序 排序思路:整个算法从最下面的元素开始,对相邻的元素进行比较,经过交换使得较小的元素在较大的元素之上,经过对每个元素的两两比较,最后最小的元素被移到前面的位置。算法实现:public class BubbleSort { public static void bubbleSort(int arr

2017-03-10 21:08:45 319

原创 图解快速排序

快速排序是冒泡排序的改进版,也是最好的一种内排序,在很多面试题中都会出现,也是作为程序员必须掌握的一种排序方法。思想:1.在待排序的元素任取一个元素作为基准(通常选第一个元素,但最的选择方法是从待排序元素中随机选取一个作为基准),称为基准元素;       2.将待排序的元素进行分区,比基准元素大的元素放在它的右边,比其小的放在它的左边;       3.对左右两个分区重复以上步骤直到所有元素

2017-03-10 16:06:30 272

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除