随笔
文章平均质量分 66
Alvis_you
这个作者很懒,什么都没留下…
展开
-
Java实现异步编程的8种方式
异步转载 2023-01-17 15:23:27 · 281 阅读 · 0 评论 -
解决前后端跨域最简单方法
解决跨域原创 2023-01-13 11:03:13 · 406 阅读 · 0 评论 -
公司规定所有接口都用 post 请求,这是为什么?
post 请求转载 2023-01-11 15:06:06 · 205 阅读 · 0 评论 -
注册中心应该是CP还是AP?
cp ap转载 2022-10-27 09:58:01 · 819 阅读 · 0 评论 -
elasticsearch中match和term区别
es中match和term的区别转载 2022-10-26 15:15:28 · 285 阅读 · 0 评论 -
Nacos配置中心交互模型是客户端主动拉取pull
nacos采用客户端拉取转载 2022-10-26 14:46:47 · 533 阅读 · 0 评论 -
微服务融合 DDD、洋葱架构(翻译转载)
原文:https://herbertograca.com/2017/11/16/explicit-architecture-01-ddd-hexagonal-onion-clean-cqrs-how-i-put-it-all-together/这篇文章是软件架构编年史(译)的一部分,这部编年史由一系列关于软件架构的文章组成。在这一系列文章中,我将写下我对软件架构的学习和思考,以及我是如何运用这些知识的。如果你阅读了这个系列中之前的文章,本篇文章的的内容将更有意义。大学毕业之后我做了一名高中老师,直到翻译 2021-12-07 13:35:37 · 609 阅读 · 0 评论 -
保证接口幂等性的2个方法
直入主题,在前后端分离和微服务架构的背景下,请求接口由于各种原因导致返回超时,或因为各种原因各种重复调用同一接口,造成一个接口不停的被调用,所以接口的幂等性是基本要求。 提供2个方法 1 代码逻辑判断 2 token判断 简单说一下两种方法,具体自己扩展1 代码逻辑判断方法,一般接口提供增删改查功能,重复新增和重复修改会产生接口幂等性问题,而删除和查...原创 2020-04-14 14:04:01 · 1710 阅读 · 0 评论 -
项目通信之RPC调用——java简单实现
微服务项目通信方法很多,有像springcloud解决方案的http通信,还有像阿里Dubbo的RPC通信,这里简单实现RPC调用。一共2个端,客户端server和客户端client.项目demo很简单,就不多讲了,看代码好了。下面是服务端的demo,直接main函数启动。package com.alvis.rpcserverdemo.server;/** * @author...原创 2020-01-03 13:51:51 · 1628 阅读 · 2 评论 -
前后端分离技术之加签,验签,防篡改
上一篇讲解了加密解密,这次来个加签验签,实际项目里,我们采用的是react 和nodejs 来进行加签验签,用的jsrsasign库,下面贴点核心代码react加签nodejs验签实际应用在nodejs层可以将时间戳和sign签名验证通过剔除掉,所以对后端就是无感的。下面来介绍下客户端见加签验签,前面的代码也有,以java为例import org.apache.c...原创 2019-11-29 11:49:29 · 4372 阅读 · 4 评论 -
后端加密数据传输
简单说一下,这种加密解密的模式目的是为了防止信息泄露,把重要的数据加密,发送方通过私钥加密,接收方通过公钥解密得到数据,一般为服务器之间传输,比如我们应用的场景是业务回调,验证是否真的收到回调消息等,或者其他涉密信息而不能用明文传输的内容。一般前后端分离的项目只需要加签和验签来防止数据被篡改,这个下个文章再弄,下面是搜罗的代码。import org.apache.commons.codec....原创 2019-11-28 11:49:32 · 638 阅读 · 0 评论 -
redis缓存,通过spring的aop注解实现
package com.alvis.util;/** * @author ALvis * @ctreate 2019/11/25 */import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.Around;import org.aspectj.lang.annotation.As...原创 2019-11-26 11:55:40 · 126 阅读 · 1 评论 -
前端——使footer永远在网页底部的方法
这个参考了别人的代码,仅仅记录一下这个方法,只是把footer永远在网页最下面,需要引入jquery。<script type="text/javascript">$(window).bind("load",function() { showPage();});</script><script type="text/javascript">function showPage(){原创 2016-07-07 10:56:58 · 469 阅读 · 0 评论 -
jdbc批处理+事务处理 十万级数据导入
这个比较简单,从一个远程数据库导出一张10万数据级的表到本地数据库,下面展示代码,一个3个类,2个数据库连接,一个实现/** * 远程取数据的数据库 * @author Administrator * */public class DbJob { private String url = "jdbc:oracle:thin:@127.0.0.1:1521:ORCL";//远程数据库原创 2016-08-26 17:00:25 · 691 阅读 · 0 评论 -
java实现高并发首页访问量(附源码下载地址)
这个参考了csdn一个首页访问量的demo,在这个基础上进行了些并发修改,框架采用了spring,数据库sqlserver,当然任何数据库都可以,记得把包自己加进去,我这只有sqlserver和mysql的,oracle的自己加个包就行。核心代码,很简单,Commons.count方法是得到一个静态的list,为了防止高并发下内存溢出,没有采集按照时间来提交,而采取的是访问5次commit,当然是为原创 2016-09-01 14:46:14 · 1682 阅读 · 0 评论 -
jquery表格datatables,直接加载和延迟加载
参考自官方文档,需要引入jquery.js,jquery.dataTables.js,dataTables.bootstrap.js(可选), 由于时间紧,省略了很多,所以总结份简化版的仅供参考。1,直接加载,这个比较简单,如下<div id="tid" class="col-sm-12 col-md-12"> <div id="secondtid" hidden="hidden"></d原创 2016-08-11 11:21:43 · 8797 阅读 · 0 评论 -
造轮子系列之封装审批流程
业务中经常会遇见需要审批的环节,所以审批流应运而生,我自己封装了一个小的审批流,比较简单,跟一些开源框架没有啥可比性,所以有许多不严谨的地方。审批流主要涉及3张表,前台jsp代码我就不提供了,只写一些后台的核心代码。审批流核心就是用户自己设置审批流程,如图1(这里涉及2张表,一张表为审批流程模板主表,第二张表为模板主表的明细),然后根据审批流程的明细,生成单据(比如项目审批,请假审批,文件审批等等)原创 2016-08-25 13:55:45 · 609 阅读 · 0 评论 -
初试android,写了个2个服务端springmvc基于htpp协议的json互传和传统soap协议的webservice
android没啥好看的,很简单,主要看看服务端实现吧 先看看springmvc提供的json互传核心代码@RestControllerpublic class Text { @RequestMapping(value = "/find/{id}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALU原创 2016-09-08 17:32:50 · 511 阅读 · 0 评论 -
jstl的c标签应用
c标签遍历map , 另外从后端传过来的map来替换原表中的颜色id字段,这是与c标签的结合 ${map.key }原创 2017-09-08 16:36:02 · 293 阅读 · 0 评论 -
redis主从配置(一主两从,三哨兵)linux
下载redis-4.0.6.tar.gz(当前最新稳定版)地址:http://download.redis.io/releases/安装目录:usr/local/redis安装包下载目录:/opt/redis安装命令如下mkdir /usr/local/rediscd /opttar zxvf redis-4.0.6.tar.gzcd redis-4.0.6.tar.gz make PREFIX=...原创 2018-03-30 15:56:23 · 5231 阅读 · 0 评论 -
动态定义quartz定时任务
记录自己写的代码,肯定有不对的地方,参阅的话仅供参考。 这个用的是quartz-2.2.2.jar版本,动态设置了定时任务。public class TaskManager { private static TaskManager instance ; private SchedulerFactory schedFact = new org.quartz.impl.StdSche原创 2016-07-01 15:02:26 · 418 阅读 · 0 评论