- 博客(273)
- 资源 (67)
- 收藏
- 关注

原创 现在90后程序员有必要考证吗?
一、缘由最近有朋友问,90后都30了,程序员到了一定年龄,是不是也该考个证书了?IT行业有必要考证吗?有那些证书可以考啊?二、先说程序员有必要考证吗?关于程序员考证,对于混迹IT圈10余年的老王来说,还是有点发言权的,今天做下介绍吧。老王首先说结论:非常有必要!(1)看看其他行业的,到一定年龄后,那个不是挤破头评职称,有啥好处?一是能力的一种象征;二是传统行业好多岗位工资是跟职称挂钩的;三是就是政府的鼓励,比如高级职称可以直接转上海户口,有了解的吗,所以你说考证有必要吗?(2)那都是别人
2020-09-22 10:45:35
30262
80

原创 月薪20k的java面试题他来了
1.场景描述最近有朋友私信,说网上的面试资料有点散,还有些过时的,问老王能否帮忙整理下,老王晚上刚好有空,就给梳理了下,分享给大家。2.解决方案2.1 说明(1)面试的题目多数是从网上找的,老王过滤梳理了下,把一些不常用的或者知道就行的过滤掉了,又加了一些老王自己的,大家面试前背背,更加容易通过“月薪20k”的工作吧。(2)有关springboot和springcloud的问题就不多说,老王有这两个系列的博客,可以看下,免费的,就挑了两三个题目,有问题也请关注老王的公众号,直接沟通。(3)面试题
2020-09-17 09:00:42
1139
3
原创 idea两个好用的插件-Code Reading Note与RestfulTool
idea两个好用的插件-Code Reading Note与RestfulTool
2022-05-31 14:56:48
1720
3
原创 spring-mybatis两个标签与两个配置
关于spring-mybatis,有两个标签:@MapperScan 、@Mapper和两个配置:mybatis.type-aliases-package与mybatis.mapper-locations,经常在各个配置文件中看到,用于spring结合mybatis使用,有时候可能会有点弄混了,什么情况下必须使用?简单介绍下。
2022-05-19 11:23:03
610
原创 Invalid bound statement (not found)
Invalid bound statement (not found)
2022-05-15 21:11:51
211
1
原创 java启动命令日志输出重定向
1、问题描述java启动项目命令:nohup java -jar -server -Dserver.port=10001 -Xms1024M -Xmx1024M -Dspring.profiles.active=dev /usr/local/application/laowang/laowang.jar >/dev/null 2>&1 &执行起来是没问题,关于日志输出重定向,开始有点搞混了,记录下。2、解决方案1、首先要明确的是,nohup这些是在linux下执行的
2022-03-27 21:19:44
2873
原创 Mybatis Generator使用小技巧
1、问题描述mybatis generator 简单说就是生成一些mybatis的公共方法,用了好多年了,一直也没记录过,最近使用稍微有了点变话,简单记录下,方便下次使用,也希望可以帮到其他人。2、解决方案最近使用主要有两点变化:(1)以前使用,指定了本地数据库驱动jar包,本次直接用maven,dependency指定下就好了,配置文件配置好后,团队人员都可以执行;(2)发现朋友使用的方式挺好的,就是初期开发过程中,不可避免的会增加或修改一些字段,xml中新加或者重新生成方法,都有点麻烦,通过新
2021-12-21 16:16:27
641
1
原创 一次打包,多个环境运行(开发、测试、生产等)
1、问题描述以前常用的,使用maven插件根据不同环境(开发、测试、线上)打不同的包,方便吧? 也还可以,但是打各个环境的包配置文件不一样(maven打包是指定了编译配置文件,未指定不会打包进来),有时候包会出现混淆,影响使用;最近使用了jar启动命令指定profiles文件,个人感觉更加合理一些,不使用maven插件打包,就打一个包,在不同的环境下,配置不同的启动参数就可以了,启动命令只需配置一次,一个包,就能用到不同的环境,开发、测试、线上环境都可以用,简单介绍下。2、解决方案简单来说就是使用ja
2021-12-14 11:28:21
1016
原创 自定义注解+AOP记录访问日志
1、问题描述AOP拦截请求,记录请求参数、返回参数及响应时间,以前已经介绍过了,但是发现有个小问题,就是有些心跳或者仅仅是查询字典下拉框的请求,本身不用记录,排除的话,需要一个一个排除,有点麻烦,就用自定义注解对aop记录请求与返回做了个下改进,简单记录下。2、解决方案简单说就是新建个自定义注解标签,然后对需要记录日志的的方法加上标签就可以了。2.1 自定义标签import java.lang.annotation.*;@Documented@Retention(RetentionPolic
2021-12-02 22:08:16
495
原创 java项目,记录页面修改值,内部打“官司”用
1、问题描述业务需求:项目中的配置信息,关系到程序跑出来数据准确性,需要记录下什么人、什么时间、修改了什么字段,原来值、最新值,以便回溯,防止扯皮,内部打“官司”用。2、解决方案通过java反射,后台程序比对前端传入值与数据库中值,并记录下来;2.1 测试实体类import lombok.Getter;import lombok.Setter;@Setter@Getterpublic class User { private String name; private S
2021-11-25 18:11:06
1014
1
原创 再议java日志管理logback
1、问题描述关于java中的日志管理logback,去年写过关于logback介绍的文章,这次项目中又优化了下,记录下,希望能帮到需要的朋友。2、解决方案这次其实是碰到了一个问题,一般的情况是,会单独在linux上创建个用户,线上和开发环境一样,这样脚本中假如有相对目录的话,也能保持一致,但是这次因为线上环境创建其他用户有问题,只能用root用户操作,导致logback定义的目录,开发和线上不一致,线上是root/***,开发环境没有权限访问该目录(开发环境使用的普通用户),所以logback的目录,
2021-08-25 11:04:12
503
5
原创 提高实战开发效率n倍(0<=n<=100),IDEA插件及setting设置
1、背景描述开发工具Idea是程序员很重要的开发平台,通过插件或者setting设置,能明显提高开发效率,介绍下软件老王目前用的插件和setting配置,有需要的朋友可以参考下。2、解决方案插件都是老王目前在用的的,不分先后,不过有些老王感觉很小的点或者用的不多的,也就不说,老王目前使用idea是2019.1.3,因为某些配置怕升级idea版本有影响,就没升级,不过也无所谓。2.1 free mybatis plugin该插件作用是:可以从mapper类,跳转到对应的xml方法,该插件与Myb
2021-08-16 11:39:57
345
1
原创 SpringBoot-AOP环绕通知记录日志/鉴权
1、问题描述微信公号h5开发,前后端分离,因为是在微信公号里面操作页面,还有涉及到不同手机操作也不一样,导致联调比较麻烦,定位问题也麻烦,以前写过通过aop记录所有前端http请求,就又拿出来梳理了下,记录日志,记录下,希望可以帮到有需要的朋友。2、解决方案项目是springboot项目,通过springboot-aop,配置环绕通知,记录调用地址、入参、返回参数、ip,同时记录执行时间等,以便定位问题。具体的入库就是弄个表,保存下获取到的值,这里就不多做介绍了。2.1 AOP简要说明(1)什么是
2021-08-13 14:52:52
1887
3
原创 Http调用-静态封装类(RestTemplate)
1、问题描述项目中封装了个restTemplate的静态调用类,分享下,希望能帮到需要的朋友。2、解决方案2.1 简要说明:以前用httpclient用的比较多,后来开始用restTemplate,查了两者的区别,大部分无非就是:(1)restTemplate是包含在spring包中的,使用起来更加方便一些,调用也简洁一些;(2)restTemplate的低层支持多种调用,比如:httpclient、HttpURLConnection等吧; 个人认为两者都是为了发送http请求,本质上
2021-08-10 14:44:24
926
4
原创 一个神奇的标签-@PostConstruct
1、问题描述项目中封装了个restTemplate的静态调用类,统一调用外围接口,但是发现外围系统有些接口反应时间不稳定,还存在失败的情况,为了便于追踪问题,将对外围系统的入参和出参以及响应时间写入到数据库中,但是项目中都是通过静态类调用的,写入数据的方法是动态方法,无法使用,记录下解决方案,希望能帮助需要的朋友。2、解决方案2.1 简单介绍简单说就是用使用jdk提供的@PostConstruct这个标签来实现,先介绍下@PostConstruct这个神奇的标签。Java中该注解的说明:@Post
2021-08-08 21:45:57
405
1
原创 沙雕Java端口进程
1、问题描述idea非正常关闭了,重启idea后,启动项目,发现一直报端口被占用,一般情况下通过在资源管理中,杀掉java.exe,重启idea就好了,但是也有例外,关闭idea,杀掉所有java.exe还是不行,只好通过netstat进行处理了。2、解决方案软件老王项目启动的端口为:10010(1)查询端口对应的进程 netstat -ano | findstr 10010(2)根据(1)查询到的pid,cmd中最后面哪一个,执行: taskkill -pid 42872 -f 如下图
2021-08-06 15:56:31
157
1
原创 Mybatis Log不打印日志
1、问题描述mybasits log plugin是调试sql非常好的工具,可以将mybits赋值后,运行的sql打印到控制台,对于开发过程具有很好的帮助效果,以前介绍过,就不再累赘了,但是默认情况下是没有日志打印的,需要配置下。2、解决方案配置下日志输出:(mybatis-plus版本/mybatis版本)就可以了,在配置文件*.yml中配置下。mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdou
2021-08-06 15:43:49
7769
1
原创 再议分页插件PageHelper
1、问题描述java分页以前介绍过pagehelper,最近项目中又用到分页,看了下,发现使用springboot下使用起来更加方便了,又系统看了看,分享下,希望能帮到有需要的朋友。2、解决方案2.1 官方文档还是那句话,官方文档才是yyds,地址:https://github.com/pagehelper第一个mybatis-pagehelper是源码实现,第二个springboot的是对第一个做了封装。目前springboot下最新的pagehelper版本是:1.3.12.2 具体配
2021-08-04 16:41:07
686
3
原创 微信分享(JS-SDK权限签名算法)-Java实现
1、问题描述公众号中的H5有个业务场景,要分享页面给好友,但是因为是在微信中分享,分享的链接微信是不认的,需要首先使用签名认证,认证后才能分享,按照微信官网api,首先需要获取token,然后再根据token获取jsapiticket,然后再将随机数、时间戳、url等按照keyvalue排序加密去认证,java后端实现了下,分享下代码,给需要的朋友。2、解决方案2.1 官方文档官方文档才是yyds,首先查看微信开发者文档(https://developers.weixin.qq.com/doc/of
2021-08-03 12:19:34
1436
2
原创 java反射-变量键值对排序
1、问题描述因为要做API接口安全设计方案(已实现)(https://ruanjianlaowang.blog.csdn.net/article/details/118806853 ),牵扯到前后端加密签名,从前端获取json数据后,首先需要对json数据按照首字母进行排序,再按照key1value1key2value2进行加密(json数据从前端到后端,顺序会乱),结合网上的方案,使用java的反射机制,对键值对按照首字母排序加密。2、解决方案2.1 方案(1)使用@RequestBody将jso
2021-07-26 11:23:22
279
6
原创 API接口安全设计方案(已实现)
1、背景网络安全方案,主要从数据加密与api接口安全两个方面考虑,数据加密https已经加密了,就不再次加密了;主要从api安全方面考虑。2、接口安全设计在代码层面,对接口进行安全设计一、使用token进行用户身份认证二、使用sign防止传入参数被篡改三、用时间戳防止暴力请求一、使用token进行用户身份认证用户身份认证的流程图如下:具体说明如下:1、 用户登录时,客户端请求接口,传入用户名和密文的密码2、 后台服务对用户身份进行验证。若验证失败,则返回错误结果;若验证通过,则生成一
2021-07-16 16:37:35
8499
11
原创 java枚举转json
1、背景java后端的枚举类型,要展示到前端,提供给用户进行下拉选择,java后端需要封装enum为json字符串提供给前端,需要首先将枚举类型转为list,然后再转为json字符串。2、方案方案也很简单,使用EnumSet.allOf(TestEnum.class),将数据获取到再塞到list中就可以了。代码如下:import com.alibaba.fastjson.JSONObject;import java.util.ArrayList;import java.util.EnumSet
2021-07-12 14:18:00
2919
2
转载 数据库外键为什么被抛弃了?
1、背景其实这个话题是老生常谈,很多人在工作中确实也不会使用外键。包括在阿里的JAVA规范中也有下面这一条:【强制】不得使用外键与级联,一切外键概念必须在应用层解决。但是呢,询问他们原因,大多是这么回答的:每次做DELETE 或者UPDATE都必须考虑外键约束,会导致开发的时候很痛苦,测试数据极为不方便。坦白说,这么说也是对的。但是呢,不够全面,所以开一文来详细说明。2、正文首先我们明确一点,外键约束是一种约束,这个约束的存在,会保证表间数据的关系“始终完整”。因此,外键约束的存在,并非全
2021-07-12 11:54:57
830
3
原创 springboot项目事务标签验证
1、问题描述springboot项目中配置事务,以前通过标签用过,上个内部项目,因为是在别人代码中使用了,发现好像没起作用(然后因为有框架保证,就没计较了),新启动项目又用到,验证了下,springboot项目下配置两个标签就可以了。2、解决方案2.1 说明(1)其实就两个标签,一个用到启动类中(@EnableTransactionManagement),另一个就是那里需要就配置到哪里(@Transactional);(2)方案,就随便找了个以前的测试项目,一个方法中包含:保存一条数据到数据库中和
2021-07-11 22:54:15
318
9
转载 RequestParam与RequestBody
一、问题描述由于项目是前后端分离,因此后台使用的是spring boot,做成微服务,只暴露接口。接口设计风格为restful的风格,在get请求下,后台接收参数的注解为RequestBody时会报错;在post请求下,后台接收参数的注解为RequestParam时也会报错。二、问题原因由于spring的RequestParam注解接收的参数是来自于requestHeader中,即请求头,也就是在url中,格式为xxx?username=123&password=456,而RequestBod
2021-07-11 19:25:30
927
原创 其实有时候想想做IT的也挺悲哀的。。。
其实有时候想想做IT的也挺悲哀的。。。大部分24-25岁毕业进入这行,干了3,4年刚入门了,刚解决温饱问题,就到了“30岁”这个门槛,然后再过几年就是“某为辞退35岁程序员““35岁程序员没有进入管理岗,将无工作可找”,“35岁程序员是不是该转行”之类的,感觉职业生涯好短啊。。从懵懵懂懂的小白,到开始焦虑下岗,10年不到就结束了,青春饭吃得好短啊。。。[流泪][流泪]挺喜欢IT这行的,虽然做得也一般,当年的观念,想着服务一家公司才是所谓的“忠”君,才会受公司重视,不能说不好,不过现在回头想想,也确实错过
2021-07-11 11:14:35
151
原创 java获取微信用户信息(含源码,直接改下appid就可以使用了)
1、问题描述要在微信公号中新建自定义菜单,然后导航到公司H5中,需要首先获取用户微信信息,然后再进行手机号绑定,以前微信公号开发做的不多,记录下,希望能帮到需要的朋友!2、解决方案2.1 官方文档,宝典(1)首先最权威的还是微信的官方文档,这个才是宝典https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html#1(2)我们用的自定义菜单是属于微信网页开发(3)微信
2021-06-30 16:27:15
2109
8
原创 数据库设计工具-PowerDesigner中table视图显示name与code
1.问题描述使用PowerDesigner做数据库设计,要做评审,默认整体效果没有name中文显示(如下图),很不方便,网上有解决方案,但是本机的就是不支持,换了好几种方法都不行,最后通过升级PowerDesigner才得以实现,记录下。2、解决方案2.1 希望额效果直接说希望的效果,这样做评审介绍的时候,更加容易介绍。2.2 升级PowerDesigner版本到16.5网上找了很多PowerDesigner,大部分都不行,给个可以的。下载链接:https://pan.baidu.com/
2021-06-25 11:56:16
1370
5
原创 5分钟搞定内网穿透工具-ngrok
1、问题描述因为要做微信公众号的H5开发,获取微信用户信息的时候,微信回调需要用到域名,因项目刚启动,客户还没申请域名和服务器,为了不耽误开发,想通过将本机映射成可以通过域名访问,开发机器在内网中,通过路由器冲浪。2、解决方案网上找了好几种方案,最后采用的是ngrok方案,配置简单,还免费。2.1 开始使用ngrok是国外的一款软件,国外的就不说了,有点小复杂,直接用的国内版:Sunny-Ngrok,国内Ngrok官网:https://www.ngrok.cc/2.2 注册注册很简单,免
2021-06-24 12:45:45
1002
3
DICOM转BMP相关源程序
2012-05-04
itk,错误:use /Zm to specify a higher limit解决办法
2012-03-21
redis client 最新 exe,特别强调不是jar包,csdn上基本都是jar包浪费积分
2019-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人