先抛背景: 我项目中的Spring版本是2.0.3.RELEASE. api-demo负责暴露接口,service-demo负责实现功能.接口参数的@RequestParam和@RequestBody等大部分都是api和service各注一份. 最近项目重构升级版本的时候,前端报过来有的参数突然多了require效果,检查代码时没找到更改记录,懵逼了很久.发现这个接口的controller没有标@RequestParam注解,考虑从这里入手. 后来写demo项目验证的时候发现spring版本不同…
你真的了解字典(Dictionary)吗?   从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面的那条线路称为线路1,下面的称为线路2. 思路1 先判断线路1的第一个节点的下级节点是否是线路2的第一个节点,如果不是,再判断是不是线路2的第二个,如果也不是,判断是不是第三个节点,一直到最后一个.如果第一轮没找到,再按以上思路处理线路一的第二个节点,第三个,第四个... 找到为止.时间复杂度n2,…
使用Windows下的git工具往github上传代码 踩坑记录 背景 由于以前接触的项目都是通过svn进行版本控制,现在公司项目使用git,加上自己平时有一个练手小项目,趁着周末试着把项目上传到自己的github上做个管理,也当熟悉下git的操作,虽然是简单的操作,因为一直不太熟,所以还是花费了些功夫,其中的一些注意点做个记录. 第一步 下载git 这里由于是windows下的操作,所以下载的是windows版本的git: 网址是 https://gitforwindows.org 第二部 创…
今天初次搭建spring boot +duboo的demo.记录一下踩坑记录. 首先搭建3个小demo,一个maven项目,两个spring boot (服务提供者和服务消费者)项目. 两 spring boot 引入jar: <!--引入dubbo的依赖--><dependency> <groupId>com.alibaba.spring.boot</groupId> <artifactId>dubbo-spring-boot-starter&…
踩坑起因:在创建数据库时, 字段:create_time datetime DEFAULT CURRENT_TIMESTAMP, 报异常--Error Code: 1067 - Invalid default value for 'create_time' 经过苦苦查询下发现时数据库版本5.5不支持默认值 CURRENT_TIMESTAMP,然后就有了换版本踩坑的经历了. mysql下载地址 步骤: 安装 1.下载.zip文件,下载完成后在电脑上选择位置解压缩 2.配置环境变量: cmd输入my…
最近在写微信小程序的上传图片功能,趟过了一些坑记录一下. 想要满足的需求是,从手机端上传图片至服务器,为了避免图片过大影响传输效率,需要把图片裁剪至适当大小后再传输 主要思路是,通过wx.chooseImage()函数获得图片的文件路径,在canvas画板获得文件路径后,重新绘制成制定大小的图片.再通过canvasToTempFilePath(),生成新的文件路径.最后通过wx.uploadFile()上传到指定服务器 遇到的坑有三个 一,在canvas中绘制的单位都是px,但由于不同屏幕的像素…
1.  前言 实话实说,网上关于Activiti的教程千篇一律,有参考价值的不多.很多都是老早以前写的,基本都是直接照搬官方提供的示例,要么就是用单元测试跑一下,要么排除Spring Security,很少有看到一个完整的项目.太难了,笔者在实操的时候,遇到很多坑,在此做一个记录. 其实,选择用Activiti7没别的原因,就是因为穷.但凡是有钱,谁还用开源版的啊,当然是用商业版啦.国外的工作流引擎没有考虑中国的实际情况,很多像回退.委派.撤销等等功能都没有,所以最省事的还是中国特色的BPM.…
背景 :在Spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端.我们可以使用JDK原生的URLConnection.Apache的Http Client.Netty的异步HTTP Client, Spring的RestTemplate.但是,用起来最方便.最优雅的还是要属Feign了.Feign是一种声明式.模板化的HTTP客户端. Contronller层通过feignClient调用微服务 获取所有任务…
对于 Notadd 我们本来期望它实现更多... 尽管我们也尝试做了很多努力,但是由于 PHP 本身的局限,以及考虑到开发环境配置的复杂程度,最终使用了折中方案.接下来,我们谈谈整个技术选型历程,也供今后相关开发者做借鉴和参考: 起因 我们期望 Notadd 不仅能应用到 web 领域,在嵌入式开发领域也能有所应用,同时能够使用常用的 websocket 协议. Swoole swoole 是我们考虑的首选方案,但从扩展性来说,难以符合我们模块化的要求,对 HTTPS 和 HTTP2 支持不够完…
前言 当我们封装完成我们自己做的工具之后,那我们肯定想要发给别人让别人来进行使用,上传到中央仓库是一种引入时最方便的选择. 网上有很多教程,但是大多都是maven和windows的环境. 今天就来记录一下,在mac上使用gradle上传jar到mvn中央仓库所要踩的坑. 大致步骤 1.注册issues.sonatype.org 2.创建issue 3.根据issue完成相应操作 4.生成公钥私钥并上传 5.签名打包 6.上传审核 7.下载验证 下面是详细过程 注册并创建issue 首先进issu…