自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 领域驱动设计之从问题域到限界上下文

限界上下文是什么,从何而来,有何价值?

2019-05-25 21:45:42 1330

原创 高质量的单元测试 & Spock单元测试框架详讲

文章目录方法篇为什么需要单元测试单元测试的定义单元测试与其他测试的区别单元测试的作用关于单元测试的成本如何写好单元测试什么场景适合单元测试单元测试的粒度关于TDDTDD的三定律实操篇spock的介绍引入spock 2.x 版本spock 1.x 版本(推荐)Blocks用expect替换 when & thenwhereMOCKmock 对象的构造简单的返回值mock链式mock异常mock复杂逻辑mockmock & spy & stubmock static method (2.

2021-01-15 20:44:55 2506

原创 DOSBOX 汇编debug各项调试命令

R 查看寄存器内容R AX 修改寄存器内容D 查看内存内容E 改写内存数据U 查看内存中的指令T 单步执行将CS IP 设置到指令 1000:0 并单步执行A 直接写指令...

2020-01-09 18:05:25 2079

原创 架构的价值

在软件开发领域,我们提供软件系统服务为客户解决问题,带来价值,其中为客户所提供的业务功能是最为直观的价值。尤其在近段时期,互联网粗犷式发展,提倡早占山头早称王,追求让系统跑起来。而这这种风潮过度的关注当前直观为客户提供的功能价值,却往往忽视了架构带来的价值。软件系统的价值软件系统有两方面价值:显式的功能价值:当下所为客户提供的功能所创造的价值;隐式的架构架子:通过好的架构设计、整洁的代码...

2019-05-26 11:31:19 750

原创 订单部分商品退款模型思考

功能目标订单支持部分商品的退款订单支持多次退款存在优惠的退款 优惠分摊后退款逆向流程 与 正向流程分离ER模型Order主表字段说明PayAmount订单付款金额OrderStatus订单正向状态RefundMark退款标识 无退款、存在退款、完全退款RemainderAmount退款后该笔订单剩余用户支付金额 PayAmount...

2019-02-22 10:57:19 7766 3

原创 Mysql Innodb的存储结构

资料Mysql官方文档-Innodb在磁盘中的结构表空间(tablespace)Innodb的所有数据都存放于表空间中,一个表空间对应一个ibd文件,其中的基本元素为段(segment),这个文件会存储所有表的数据以及保证回滚的回滚段。默认的系统表空间为ibdata1,通过参数innodb_file_per_table配置是否开启独立表空间,若开启则每个表建立后都将新增一个ibd文件(该...

2019-02-13 17:15:24 323

原创 Java线程池参数分析

线程池组成创建线程池创建线程池通过Executors的工厂方法来创建线程池实例。实际上Executors创建的线程池实例最终都是通过实例化配置不同参数的ThreadPoolExecutor对象。 public static ExecutorService newFixedThreadPool(int nThreads) { return new ThreadPoolEx...

2019-01-30 15:55:49 1783

原创 解决Rational Rose 2007 在WIN10中安装后启动失败 闪退等问题

rose是很好的uml工具,由于年代久远在win10下可能无法很好的运行,以下是我遇到的问题及解决对策,希望对你有帮助。问题1:提示缺少suite objects.dll解决办法问题2:启动闪退 一晃而过我重安装了两次都遇到这样的问题,这是由于安装后没有重启造成的,在安装点击完成后不要启动rose,请先重启电脑然后再行启动程序不再闪退完美运行。若依然存在问题需要检查...

2018-06-22 10:38:22 15330 1

原创 七牛云对象存储客户端直传前后端实现 【spring cloud + vue】

两种文件上传的方式服务端传输客户端直传两种传输方式比较服务端传输,所有客户端的上传请求需发送至业务服务器,再由业务服务器转发至文件服务器,上传结果的返回同样需要业务服务器的转发,这样的操作保证了传输的安全,但却大大提升了业务服务器的压力,增加了传输的时间及成本;客户直传是由客户端到业务服务器取得文件上传令牌,然后携令牌上传文件至文件服务器,这样很好的保证了安...

2018-05-31 23:27:42 1851

原创 JWT认证标准原理 及在微服务系统中的设计及实现

引言 最近一直在思考微服务架构下的最佳授权方式,于是JWT便出现在了我的视野中,通过对其原理的学习及在项目中的实践我想这便是我想要的答案,本文将阐述JWT 背景原理,以及提及我在开发系统过程中通过API网关来进行JWT鉴权实现过程,下图展示了系统的架构及JWT认证所处位置;介绍 JWT (JSON Web Token) 是一套特别流行于分布式系统采用的授权标准 ,在采用加...

2018-05-31 23:27:27 6389 7

原创 微信接口开发 Spring boot FeignClient [text/plain]问题解决

错误今天开发微信公众号接口路遇一坑,报错如下:Could not extract response: no suitable HttpMessageConverter found for response type [classxxxx] and content type [text/plain]错误原因微信虽然接口返回为JSON格式数据但却将数据表示为了[text/plain...

2018-05-30 12:21:50 10120 4

原创 Wireshark对远程Linux主机抓包

对远程Linux主机进行抓包 Wireshark是一款非常流行好用的抓包软件 ,那么我们能否在本地运行Wireshark来对远程的Linux主机进行抓包呢,Wireshark是为我们提供了这项服务的,只需要为Linux安装好rpcapd服务即可01 Linux rpcapd服务的安装yum install glibc-static gcc flex byacc -ywg...

2018-05-24 16:30:15 15243 2

原创 解决flannel下k8s pod及容器无法跨主机互通问题

初学k8s,之前的步骤都一切顺利,但在搭建k8s集群并整合flannel时,即使关闭了防火墙跨主机间容器、pod始终无法ping通。这是由于linux还有底层的iptables,所以在node上分别执行:iptables -P FORWARD ACCEPT...

2018-05-16 17:48:28 17223 8

原创 加速国内使用k8s

由于众所周知的原因,k8s在国内安装使用都存在极大的不便,通过以下两步配置可以加速k8s在国内的使用配置docker国内镜像可以选用daocloud或阿里云的加速器daoCloud 加速器地址 :https://www.daocloud.io/mirror#accelerator-doc阿里云加速器地址 :https://cr.console.aliyun.com/?spm...

2018-05-15 13:55:10 2504

原创 解决k8s 外网无法访问nodePort问题

iptables -P FORWARD ACCEPT

2018-05-15 13:44:29 9141

原创 Spring cloud 微服务docker容器化最佳实践

Spring cloud 是当下最炙手可热的微服务套件,我们将介绍如何整合Docker容器达到高效快捷的构建发布 采用了dockerfile-maven-plugin插件发布镜像到远程docker主机,该部分详细教程请看 使用Maven插件快捷打包发布远程Docker镜像添加docker插件依赖如何开放远程docker主机远程控制端口请看 使用Maven插件快捷打包发布...

2018-03-29 18:31:14 6894 1

原创 使用Maven插件快捷打包发布远程Docker镜像 dockerfile-maven-plugin

采用插件一步打包发布本地的Maven项目为远程主机的Docker镜像,之前的docker-maven-plugin已经被废弃, dockerfile-maven-plugin是其替代,我们将采用最新的dockerfile-maven-plugin插件预备条件一台可以远程访问的Docker主机maven3以上开放远程Docker远程访问端口# vim /li...

2018-03-29 17:40:04 16105 13

原创 Docker 构建Mysql容器并对外提供服务

引导在docker中运用mysql容器,并通过端口映射,外部访问构建容器docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql–name 指定容器名称 -p 参数将容器内的3306端口与本地3306接口映射-e 添加了一个环境变量MYSQL_ROO...

2018-03-27 23:37:49 1919

原创 Vue + Webpack 完美整合富文本编辑器 TinyMce

选择一个合适的富文本编辑器对于一个前端项目至关重要,这次我基于Vue来开发我项目中的前端部分,经过权衡选择了tinymce。其在UI,功能都很适合,tinymce官方文档:点击打开链接;引入tinymce 我选用的版本4.7.4npm install tinymce -S将tinymce创建为Vue的组件,便于日后复用,创建组件editor.vue<template> ...

2018-01-07 15:05:27 38807 20

原创 Ubuntu16.04 通过网线直连树莓派

预备条件pc ubuntu 16.04树莓派3B一根网线步骤点亮树莓派并通过网线连接到PC在Ubuntu右上角的网络里点击Edit Connections,在Ethernet下的连接及为有线连接点击该项的Edit 修改设置,在IPV4设置中设置Method为共享其他计算机,保存设置 点击右上角网络图标,选择Connection Information查看本机的I

2017-12-03 15:23:42 8626

原创 python 中的装饰器

由于python的方法为其第一类对象,顾在python中可以很便捷的将方法作为对象进行赋值及传输,而所谓装饰器的实质为:将被调用的方法交付于装饰器控制和管理,装饰器对于方法对象的运行调度具备绝对的控制,这非常适用于logger、方法的权限控制等场景,学过Java等语言的动态代理的同学应该能很容易的接受。接下来我们来通过两个例子来深刻理解,并熟练掌握python装饰器这一出色的特性;手写装饰器def

2017-11-15 00:06:02 323

原创 【图算法】狄克斯特拉算法Java实现

package cn.zhaoyuening.algorithms.dijkstra;import java.util.HashMap;import java.util.HashSet;import java.util.Map;import java.util.Set;class Vertex{ private String name; private Map<Vertex,

2017-11-12 21:31:32 684

原创 【编译原理】非递归的预测分析法 JAVA实现

定义一个语法分析接口public interface GrammarHandler { //用来代替空符 char NULL_WORD_CHAR = '☯'; String NULL_WORD_STR = "☯"; /** * 添加文法规则 * @param k 非终结符 * @param s 规则 */ void ad

2017-11-12 21:24:23 2665

原创 狄克斯特拉算法

package cn.zhaoyuening.algorithms.dijkstra;import java.util.HashMap;import java.util.HashSet;import java.util.Map;import java.util.Set;class Vertex{ private String name; private Map adj

2017-11-11 11:22:05 376

原创 windows下通过IDE发布job到Hadoop Linux集群

环境IDE IntelliJ IDEA 2017.2.2 x64本地OS Windows10Hadoop 2.8.1集群OS 多台CentOS 6.5jdk1.8项目构建 Maven步骤相对于本地独立运行需要对org.apache.hadoop.conf.Configuration对象通过set以键值对方式添加以下配置项# 以下4条配置皆可于%HADOOP_HOME%/etc/had

2017-11-07 23:54:11 268

原创 Spring boot PUT、DELETE 请求无法定位方法及获取参数解决方案

在使用spring boot过程中带着之前使用spring mvc的惯性思维操作,虽然spring boot已经整合了HiddenHttpMethodFilter , 结果却出现了 PUT方法不支持及无法获取到参数等问题;   解决方案: 1、将”_method”并到url上,这样spring才能通过request.getParameter(this.methodP

2017-08-23 09:48:18 6161

原创 Jquery FormData文件异步上传 快速指南

网站中文件的异步上传是个比较麻烦的问题,不过现在通过jquery 可以很容易的解决这个问题;

2017-04-08 20:13:51 1531

数据库系统概念第六版的sql表数据

个人原创,请勿转载以下为数据库系统概念书中的sql数据,可以用来配套学习,经过mysql 5.7版本验证可以使用 create table classroom(building varchar(15),room_number varchar(7),capacity numeric(4,0),primary key (building, room_number)...

2016-12-27 22:04:53 525

Spring Bean后处理器

Spring Bean后处理器Spring提供了两类后处理器1.Bean后处理器2.容器后处理器 Spring的很多功能就是通过这些后处理来提供高质量的服务。而程序员只需要简单几部同样可以自定义功能强大的后处理器,今天我们将简述Bean后处理器 一、Bean后处理器用来加强Spring容器中的bean处理。可以在bean在spring容器中初始化前后对bea...

2016-10-30 12:19:14 236

spring 使用dataSource、JdbcTemplate简化数据库操作

spring 使用dataSource、JdbcTemplate简化数据库操作 我们在Java代码中使用jdbc中,总是会有很多重复的代码区,可能真正操作数据库的代码只占了20%。作为一名程序员应该简化这些需要重复的部分很着重于核心的数据库操作部分。Spring提供的jdbcTemplate很好的帮我们解决了问题,让我们真正的只用关心编写操作数据库的代码。在spring中使用数据...

2016-10-26 16:15:18 253

原创 Spring 使用dataSource、JdbcTemplate简化数据库操作

Spring 使用dataSource、JdbcTemplate简化数据库操作 我们在java代码中使用jdbc中,总是会有很多重复的代码区。一般一些简单的操作比如下面的代码中,真正操作数据库的代码只占了20%。作为一名程序员应该简化这些需要重复的部分很着重于核心的数据库操作部分。Spring提供的jdbcTemplate很好的帮我们解决了问题,让我们真正的只用关心编写操作数据库的代码

2016-10-26 14:15:39 1875

原创 Android Broadcast 特点分析

Broadcast广播的分类 是否静态 是否有序 静态 有序 动态 普通各种广播特点静态广播特点在配置文件中 定义在app未启动时也可接收在配置文件中定义同配置Activity的结构相同,通过action与category来匹配<receiver android:name=".MyBroadcastReceiver"> <intent-filter>

2016-05-22 17:19:29 439

原创 Android SQLLite 的基础操作

用一个联系人管理APP练习SQLLite的 增删改查代码托管地址:git@osc:http://git.oschina.net/Buynow96/ContacterManage;核心代码:继承SQLiteOpenHelperpublic class MyOpenHelper extends SQLiteOpenHelper { public MyOpenHelper(Context cont

2016-01-14 21:20:46 386

原创 ObjectStream的使用

在使用object流时,必须要实现了Serializable接口才可以.public class Text implements Serializable { }public class Test implements Serializable { public static void main(String[] args) { FileOutputStre

2015-11-10 08:43:25 527

空空如也

空空如也

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

TA关注的人

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