自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (3)
  • 收藏
  • 关注

原创 从零开始学架构-读书笔记2

高性能读写分离将访问压力分散到集群中的多个节点解决复制延迟写操作侯的读操作指定发给主库读从库失败后再读一次主库关键业务全部读主库分配机制程序侧代码封装中间件封装分库分表既分散访问压力,也分散存储压力业务分库按业务模块将数据分散到不同的数据库服务器问题关联查询问题事物问题成本问题纬度分表垂直分表大字段拆分水平分表行数特别大的表...

2020-01-13 17:43:25 401

原创 nginx+uwsgi部署django

最简单的nginx+uwsgi部署django说明安装uwsgipython -m pip install uwsgi新建uwsgi.ini最简配置如下[uwsgi]chdir=/Users/fangliangsheng/Documents/git/mysitemodule=mysite.wsgi:applicationsocket=/Users/fangliangshe...

2019-12-31 15:46:14 309

原创 django+mysql的CURD入门体验

在django官网的入门教程中,采用的是循序渐进的方式,基于一个问答投票的案例进行的讲解。另外也使用了Admin自动生成页面,这确实挺强大的。但看完后感觉有点乱乱的,有太多分支介绍,感觉不是最佳实践,只是为了介绍django的各种功能。这里我根据平时项目中正常的流程顺序,重新梳理一下思路流程,形成一条主线以便记忆。准备工作安装django(install)python -m pip i...

2019-12-30 22:41:16 539

原创 MAC dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib

brew install python3安装python3后导致openssl升级到1.1,但mysqldump还是依赖的1.0.0,从而导致mysqldump时提示dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib解决办法:使用brew switch openssl 1.0.2s...

2019-12-24 17:02:11 17909 10

原创 IntelliJ IDEA Working directory设置

当idea中已有一个Project的情况下,再添加一个新Module的时候,Module的working directory可能默认还是Project的目录。这样导致的问题是Run Module的Spring boot项目时,其使用的application.properties配置文件不是自己resources目录下的,而是Project工程下面的。解决办法是修改一下Run/Debug Con...

2019-12-20 13:36:52 10759 2

原创 从零开始学架构-读书笔记1

架构到底是什么系统关联:包含一组有关联的个体规则:系统内个体按照指定规则运作能力:规则+关联产生新的能力子系统另一个大系统的一部分模块从逻辑角度拆分系统得到的单元从业务维度的职责划分组件从物理角度拆分系统得到的单元从技术维度的复用框架规范或者约束面向编程的半成品架构软件系统的顶层结构明确系统需要包含的个体明确个体运作和协作的规则软件开...

2019-12-17 23:37:01 235

原创 在线协作编辑器EtherPad使用说明

项目中刚好要用到在线协同编辑器的功能,网上找到EtherPad还不错,体验了一番包括安装部署配置说明插件管理权限控制样式切换EtherPad地址:https://github.com/ether/etherpad-lite在线体验地址:https://beta.etherpad.org/安装部署EtherPad提供了docker部署的方式,方便快速体验docker run ...

2019-07-22 09:43:33 17408 10

原创 Spring Cloud Gateway添加自定义traceId

网关中增加全局过滤器@Beanpublic GlobalFilter c() { return (exchange, chain) -> { exchange.getRequest().mutate().header("traceId", UUID.randomUUID().toString()).build(); return chain.fil...

2019-07-12 14:39:24 7234 2

原创 打通云主机实现局域网

背景人生在于折腾,特别是对于咱们程序员更是如此。这不手上有两台云主机,就想着怎么折腾一下来打造一个属于自己的云服务开发环境同云主机通讯可以使用公网IP或者使用SecureCRT终端工具的隧道代理,但这两种方案都不完美在公网IP暴露开发环境不安全隧道一个个建麻烦云主机上的服务无法访问本地的服务既然是开发环境,就要实现局域网的通讯效果,本地能访问云主机,云主机也能访问本地所以就需要用到V...

2019-07-11 11:13:18 8858 1

原创 iview form表单resetFields方法不起作用

<template> <Form ref="form1" :model="formItem" :label-width="60"> <FormItem label="名称" prop="title"> <Input v-model="formItem.title"/> </FormItem...

2019-06-25 10:59:00 6573

原创 Java调用linux zip打包路径问题

使用如下方式打zip包时,压缩包内的路径会包含完整的/path/to/xxxProcessBuilder processBuilder = new ProcessBuilder();processBuilder.command("zip", "-r", "/path/to/xxx.zip", "/path/to/xxx").start();使用directory切换一下目录用相对路径就好了...

2019-06-04 15:09:46 1189

原创 Postman转换Jmeter

Postman和Jmeter是大家耳熟能详的常用测试工具,但两者的侧重点并不相同。Postman突出功能测试和团队协作,Jmeter则是性能压力测试。平时的接口开发使用Postman测试是非常方便的,到压力测试时则使用Jmeter,但在Jmeter中重复的添加接口是很麻烦的,有没有办法将Postman的配置自动转换成Jmeter的配置呢?答案当然是有的,在github上找到一个java的小工...

2019-05-28 14:03:32 7434 7

原创 使用WebCollector爬取时光网电影数据

原数据是json格式的,其中i标示页码http://video.mtime.com/api/videoSearch/getFilterData?h=movie&y=2019-2015&r=美国&p=3&s=1&i=1&c=30<dependency> <groupId>cn.edu.hfut.dmic.webc...

2019-05-24 13:59:26 1201

原创 Mysql 多表关联链接顺序说明

mysql对多表关联查询使用Nested-Loop Join算法,简单总结就是通过驱动表作为入口,一层层的往内部查询,驱动表的数据量对查询效率很关键。而对驱动表的选择,from后的表顺序并不起决定作用,mysql会根据多重因素选择最优的链接顺序。如果想自行控制链接顺序可以通过Optimizer Hints(mysql 8.0)指定。使用saklia数据库1.先通过一个left join的例子...

2019-05-21 21:40:54 6934

原创 Mysql执行计划性能分析新武器

MySQLWorkbench作为mysql自家的数据库客户端管理工具,功能非常强大,今天推荐一下其中的explain功能在sql编辑页面,点击带放大镜的执行按钮默认输出explain的结果注意左上角有个下拉框默认是Tabular Explain,切换为Visual Explain会有新的发现没错,一张以流程图的形式展示的执行计划,可以看到每个环节的消耗,但这个消耗并不是时间,是一个是...

2019-05-21 10:40:58 263

原创 Mysql explain知识点总结

背景索引是一门学问,更是实际经验的体现。最近项目中对索引进行了一些优化,有了些新的认识。对索引的使用不仅仅是where条件中符合了最左匹配原则这么简单,首先需要看懂explain的执行计划,由于explain涉及的信息量非常多,可组合的场景也非常多,本文主要通过一个多表关联的示例对explain的结果进行简要分析。示例数据库使用mysql官方提供的employees库,获取地址https:/...

2019-05-21 10:13:15 424

原创 彻底搞懂Docker网络原理之跨主机通信

一、背景在前一篇文章彻底搞懂Docker网络原理之单机通信中,列举了在单主机场景下docker容器之间的通信方式。这篇文章主要介绍跨主机的docker容器之间的通信方式。二、准备虚拟机笔者在Mac上通过docker-machine创建了3个虚拟机,前提是已经安装好docker engine、docker machine、visualbox,如果已经有现成的服务器可以跳过这步$ docke...

2019-05-13 11:00:09 3927 1

原创 彻底搞懂Docker网络原理之单机通信

背景学习docker除了镜像的创建、容器的运行还有网络的通信,docker支持多种网络模式,以适应不同场景的容器通信需要。本文不讲原理,只讲实践,通过列举各种场景,说明在docker的场景下多个容器之间如何通信。为了方便查看和截图,使用portainer作为docker的管理端。portainer的安装很简单curl -L https://downloads.portainer.io/p...

2019-05-10 10:58:03 821

原创 shardingsphere3.0.0读写分离配置

基于spring-boot项目,在使用shardingsphere3.0.0进行读写分离配置时,参考官网配置示例有点出入,查看源码找到对应的路径,配置如下pom.xml<dependency> <groupId>io.shardingsphere</groupId> <artifactId>sharding-jdbc-spring...

2019-04-22 11:27:22 1273

原创 分布式事务之Seata中间件原理及流程详细分析

背景在分布式系统中,分布式事务是一个必须要解决的问题,目前使用较多的是最终一致性方案。自年初阿里开源了Fescar(目前更名为Seata)后,该项目受到了极大的关注度。Seata以高性能和零侵入的方式为目标解决微服务领域的分布式事务难题,目前正处于快速迭代中,近期小目标是生产可用的Mysql版本。关于Seata的总体介绍,可以查看官方WIKI获得更多更全面的内容介绍。本文主要基于spring ...

2019-04-10 14:45:38 27327 4

原创 MacBook Pro接通电源后电池不充电 Apple官方解决办法

型号:MacBook Pro 2018现象:在确认电源正常的情况下,接入电源后电池不充电。该现象无规律,偶然会出现办法:https://support.apple.com/zh-cn/HT201295#t2选取苹果菜单 &amp;amp;gt;“关机”。在 Mac 关机后,按住右 Shift 键、左 Option 键和左 Control 键 7 秒钟。然后,在按住电源按钮的同时继续按住这些按键 7 ...

2019-02-20 09:34:01 64362 5

原创 源码分析为什么不建议用printStackTrace()打印异常堆栈

背景

2019-01-22 11:40:41 13987 8

原创 Spring Boot使用devtools实现远程自动更新远程热发布

背景在使用Spring Boot开发时可以使用spring-boot-devtools实现热加载功能,devtools还有一个更高级的功能:远程自动同步。即本地代码的更改能自动同步到远程实例中,不用本地打jar包复制过去或者jenkins构建那么麻烦。有时想临时在服务器上跑个程序调试一下将是非常方便的。举个例子,当前在测试服务器192.168.10.5运行着myserver,在本地修改项目中的...

2019-01-21 16:08:22 3490 1

原创 Spring Boot多数据源配置详细说明

背景在项目中有时候需要同时连接多个数据库,由于一般数据库的连接都是通过数据源连接池去连接的,所以该问题就是多数据源的配置问题。下面通过Spring Boot Jpa框架说明多数据源的配置方式及要点。第一步创建DataSource其实DataSource的创建并不复杂,首先准备两个数据库test1、test2,他们分别包含t_product、t_userapplication.proper...

2019-01-21 10:27:42 1660

原创 IntelliJ IDEA 类的继承结构指定包范围查看

背景通过idea可以很方便的查看类的继承结构,在类名上右键点击Browse Type Hierarchy或者在打开类中使用快捷键crtl+H即可,例如查看InputStream的继承结构,如同默认会显示一大堆,但其实我只想看java.io包内的继承关系怎么办呢,那就要缩小查看范围办法可以看到结构窗口的上部有个Scope的选项,选择Configure...在弹出的窗口中点击+Local,取...

2019-01-14 10:30:14 1000

原创 kafka docker报错: Connection to node xxxx could not be established. Broker may not be available

背景在使用docker中搜索kafka时,排在第一位的是wurstmeister/kafka➜ ~ docker search kafkaNAME DESCRIPTION STARS OFFICIAL AUTO...

2018-12-17 21:36:38 3091 1

原创 Spring Data之Projection的使用

背景

2018-12-10 10:06:33 1684

原创 Jackson的@JsonFormat不生效问题

背景@JsonFormat用在接口的返回对象属性上时,能够对Date进行格式化处理@Datapublic class UserVo { //注意带时分秒的要指定时区 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private Date date1; @JsonFormat(pa...

2018-11-30 16:54:16 36169 3

原创 Spring Data之@DomainEvents注解

背景在对一个Entity进行save操作时,往往需要触发后续的业务流程,通常采用如下做法public void saveUser(){ User user = ... user = repository.save(user); doSomething(user);}public void action(){ User user = ... saveUser(user); d...

2018-11-29 14:19:05 6335 1

原创 Spring Data之Slice分页查询

背景项目中我们经常用到分页查询,一般使用的场景有两个前端查询大批量数据时指定page、size分页查询后台定时处理一批数据时,从数据库获取待处理数据,从而避免一次查询太多数据到内存,处理完一批后再查询下一页的数据处理对于场景2也有两种实现方式,Page和Slice,下面就分别介绍Pagepublic interface UserRepository extends JpaR...

2018-11-23 16:48:14 2683

原创 Spring Data之Repository创建及源码分析

背景在上一篇文章Spring Data之EntityManager创建及源码分析介绍了EntityManager的创建过程,我们使用Spring Data JPA开发时一般是通过自定义一个例如UserRepository的接口,然后继承JpaRepository或者CrudRepository、PagingAndSortingRepository从而获得一系列默认的CURD方法。我们知道接口是...

2018-11-21 17:37:19 3436 1

原创 Spring Data之EntityManager创建及源码分析

背景上一篇文章介绍了EntityManagerFactory的创建过程,有了EntityManagerFactory接下来就是要获取EntityManager了,但EntityManager的创建不再是通过@Conditional注解,而是使用的@PersistenceContext注解,那么Spring Data是如何识别@PersistenceContext注解,并注入EntityManag...

2018-11-19 11:28:03 2670 3

原创 Spring Data之EntityManagerFactory创建及源码分析

背景在Spring Data之JPA开篇中可以看到Spring Boot的启动日志,先是创建了HikariDataSource,然后紧接着构建了EntityManagerFactory2018-10-25 09:32:20.645 INFO 37469 --- [ main] com.zaxxer.hikari.HikariDataSource : Hikar...

2018-11-13 06:30:29 26439

原创 Spring Data之DataSource创建及源码分析

背景俗话说万变不离其宗,代码中对数据库的操作,首先是要获取数据库链接,而Java中最原生的链接方式就是通过DriverManagerprivate static String driver = &amp;amp;amp;quot;org.h2.Driver&amp;amp;amp;quot;;private static String url = &amp;amp;amp;quot;jdbc:h2:mem:test&amp;amp;amp;quot;;private

2018-11-05 10:38:27 7463 1

原创 Spring Data之JPA开篇

背景目前Spring Boot大行其道,其便捷性给开发人员带来了很大的效率提升。它简化了样板配置,通过关键的说明或者约定就能快速搭建起想要的框架。Spring Boot可适配的组件众多,由于绝大多数应用系统都会同数据库打交道的,这就涉及到Spring Data家族的使用。为什么说是家族呢,因为Spring Data包含JDBC、JPA、LDAP、MongoDB、Redis、Elasticsea...

2018-10-25 10:23:11 1663 1

原创 Mac 鼠标卡顿现象

Mac 2018 Touch bar 13寸,OS mojove,鼠标为罗技M336蓝牙,在快速移动时鼠标箭头有些卡顿,没有触控板那么丝般顺滑。观察发现关闭WIFI时,鼠标就正常了。另外当开启WIFI共享时,更为卡顿。由于公司WIFI速度慢,就一直用的网线,WIFI是关闭的,就没太纠结这个问题。只是发现这个现象及原因,供大家参考。...

2018-10-12 11:49:24 37682 6

原创 Superset Dashboard 定义及使用

背景项目中使用了Superset作为统计图表的实现工具,关于Superset的安装和基本使用网上有很多文章说明。这里主要说一下Dashboard的使用。由于普通的chart定义好之后,可以通过iframe的方式在自己的项目页面中进入展示,但当一个页面引入较多的iframe时,是比较慢的,测试发现一个iframe 加载的资源有2.2M大小。...

2018-10-10 18:22:40 9408

原创 Word转换Html后分页展示--第二部分

这篇文章继续上一篇”Word转换Html后分页展示--第一部分“实现2. 当浏览器打开Html页面后需要执行一段计算分页的js,这段js是在生成Html后通过改写加入的。下面是上传Servletpackage com.word.servlet;import java.io.File;import java.io.IOException;import java.uti

2015-01-11 22:35:59 2115 1

原创 Word转换Html后分页展示--第一部分

前言       Word上传后转换为Html的问题已经解决,那么现在问题来了,如果Word内容较多特别是图片文件,在网页上查看时,加载会耗时耗流量。解决方案就是分页加载,类似百度文库的方式。百度文库对Word显示是Html的,网上使用更多的一种解决方案是用Flash控件,如FlexPaper。       现在我们使用Html的分页方式。在Java中没有找到现成的方法读取Word中的分页

2015-01-11 22:19:39 3572

原创 批处理管理系统服务

前言       近日看到一篇文章,介绍使用批处理启动或关闭Oracle服务的命令。Oracle服务开启后内存占用较大,11g的默认大概有800M左右,对于电脑内存较小的最好是在需要使用时开启,不用时关闭。但每次打开系统服务管理界面,找到Oracle服务操作比较麻烦。没有用过批处理的,也可能在cmd写过net start和net stop,批处理就是将cmd下执行的命令保存为bat文件,双击即

2014-12-24 23:36:22 913

Tuxedo示例simpapp

Tuxedo示例simpapp,已配置Weblogic与Tuxedo互调模式,详细参见http://blog.csdn.net/f4761

2014-11-16

WTC的EJB项目TOLOWER

Tuxdeo调用Weblogic时接收Tuxedo请求的EJB示例程序,详细说明参见http://blog.csdn.net/f4761

2014-11-16

weblogic调用tuxedo示例

weblogic调用tuxedo示例,详细说明参见http://blog.csdn.net/f4761

2014-11-16

空空如也

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

TA关注的人

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