- 博客(208)
- 资源 (15)
- 问答 (2)
- 收藏
- 关注
原创 Java中ArrayList remove会遇到的坑
前言平时最常用的莫过于ArrayList和HashMap了,面试的时候也是问答的常客。先不去管容量、负载因子什么的,就是简单的使用也会遇到坑。作者:@Ryan-Miao 本文为作者原创,转载请注明出处:http://www.cnblogs.com/woshimrf/p/java-arryalist-remove.htmlRemove 元素经常遇到的一个场景是:遍历list...
2017-11-28 22:16:49 587
原创 Git 工作流的正确打开方式
前言一直在使用git做版本控制,也一直工作很顺利,直到和别人发生冲突的时候。这才注意到git 工作流并不是那么简单。比如,之前遇到的清理历史。百度到的资料很多,重复性也很多,但实践性操作很少,我很难直接理解其所表达的含义。直接望文生义经常得到错误的结论,只能用时间去检验真理了,不然看到的结果都是似懂非懂,最后还是一团糟。作者:@Ryan-Miao 本文为作者原创,转载请注明出处:http://ww
2017-11-28 22:15:20 3849
原创 Dagger2 入门解析
前言在为dropwizard选择DI框架的时候考虑了很久。Guice比较成熟,Dagger2主要用于Android。虽然都是google维护的,但Dagger2远比guice更新的频率高。再一个是,Dagger2不同于guice的运行时注入,编译时生成代码的做法很好。提前发现问题,更高的效率。作者:@Ryan-Miao 本文为作者原创,转载请注明出处:http://www.cnblogs.com/
2017-11-28 22:13:15 450
原创 使用dropwizard(6)-国际化-easy-i18n
前言Dropwizard官方文档并没有提供国际化的模块,所以只能自己加。Spring的MessageResource用的很顺手,所以copy过来。作者:@Ryan-Miao 本文为作者原创,转载请注明出处:http://www.cnblogs.com/woshimrf/p/dropwizard-i18n.htmlEasy i18n在整合Dropwizard的时候,多语言貌似只能通过jdk自带的Re
2017-11-28 22:10:06 373
原创 使用dropwizard(5)--加入swagger
前言Swagger已经成API service的规范了,本处在dropwizard中简单集成Swagger.作者:@Ryan-Miao 本文为作者原创,转载请注明出处:http://www.cnblogs.com/woshimrf/p/dropwizard-with-swagger-example.htmlDemo sourcehttps://github.com/Ryan-Miao/l4drop
2017-11-28 22:09:12 828
原创 使用dropwizard(4)-加入测试-jacoco代码覆盖率
前言dropwizard提供了一个简单的测试框架。这里简单集成并加入jacoco测试。作者:@Ryan-Miao 本文为作者原创,转载请注明出处:http://www.cnblogs.com/woshimrf/p/dropwizard-test-jacoco.htmlDemo sourcehttps://github.com/Ryan-Miao/l4dropwizard本文是基于dropwizar
2017-11-28 22:08:01 636
原创 使用dropwizard(3)-加入DI-dagger2
前言习惯了Spring全家桶,对spring的容器爱不释手。使用dropwizard,看起来确实很轻,然而,真正使用的时候不得不面临一个问题。我们不可能一个resource就能把所有的业务逻辑囊括!那么,必然就要有负责处理逻辑的代码,有要提取的公共的代码,要做面向接口开发等等。按照简单的用法,Java Bean就自己new,只要通过Jersey提供的web能力发出去就好。这样写下来,到处都需要new
2017-11-28 22:06:47 377
原创 使用Dropwizard(2)-配置分类ConfiguredBundle
前言不可避免的要用dropwizard作为service框架。持续学习。上次在dropwizard中使用feign,使用hystrix, 算是基本入门了。接下来就是基于此的优化。作者:@Ryan-Miao 本文为作者原创,转载请注明出处:http://www.cnblogs.com/woshimrf/p/dropwizard-configuration-bundle.html把需要使用Config
2017-11-28 21:53:46 520
原创 在dropwizard中使用feign,使用hystrix
前言用惯了spring全家桶之后,试试dropwizard的Hello World也别有一帆风味。为了增强对外访问API的能力,需要引入open feign。这里简单在dropwizard中使用feign。作者:@Ryan-Miao 本文为作者原创,转载请注明出处:http://www.cnblogs.com/woshimrf/p/dropwizard-feign.html1. 什么Dropwiz
2017-11-28 21:51:29 481
原创 Java Web基础入门
前言语言都是相通的,只要搞清楚概念后就可以编写代码了。而概念是需要学习成本的。作者:@Ryan-Miao 本文为作者原创,转载请注明出处:http://www.cnblogs.com/woshimrf/p/java-web-springboot.htmlJava基础不用看《编程思想》,基础语法看 http://www.runoob.com/java/java-basic-syntax.html 就
2017-11-28 21:47:53 783
原创 java中byte, iso-8859-1, UTF-8,乱码的根源
Post@https://ryan-miao.github.io背景还是多语言, 在项目中遇到本地环境和服务端环境不一致乱码的情形。因此需要搞清楚乱码产生的过程,来分析原因。获取多语言代码如下:private Map<String, String> getLocalizationContent(Locale locale) { ResourceBundle bundle = Resource
2017-06-26 23:33:01 5779
原创 banner自动生成工具,ascii文字展示
前言post@ Ryan-Miao@github.ioSpring-Boot里有个banner的功能,刚开始觉得很鸡肋。然而,现在觉得蛮有意思的。无聊的程序员。生成文字大部分工具只支持英文的库,中文的我还没发现。推荐使用在线库:http://www.network-science.de/ascii/比如这样: ${AnsiColor.BRIGHT_YELLOW}=================
2017-06-17 22:02:19 4219
原创 js跨域,springmvc CORS
子域名之间互相访问需要跨域环境搭建需求首先需要搭建两个环境。一个是提供API的server A,一个是需要跨域访问API的server B。Server A提供了一个api。完整的请求request是:https://local.test.com.dev.net:8443/contentmain/getDepositsRoomAndRatePlanInfo.json?htid=759&_=14908
2017-03-30 23:50:50 487
原创 SpringMVC参数校验(针对`@RequestBody`返回`400`)
SpringMVC参数校验(针对@RequestBody返回400)前言习惯别人帮忙做事的结果是自己不会做事了。一直以来,spring帮我解决了程序运行中的各种问题,我只要关心我的业务逻辑,设计好我的业务代码,返回正确的结果即可。直到遇到了400。spring返回400的时候通常没有任何错误提示,当然也通常是参数不匹配。这在参数少的情况下还可以一眼看穿,但当参数很大是,排除参数也很麻烦,更何况,既然
2017-03-29 20:22:48 3131
原创 Spring resource bundle多语言,单引号format异常
Spring resource bundle多语言,单引号format异常前言十一假期被通知出现大bug,然后发现是多语言翻译问题。法语中有很多单引号,单引号在format的时候出现无法匹配问题。这个问题是由spring resource bundle 并调用MessageFormat引起的,根本原因是MessageFormat会转义单引号。创建一个简单的多语言demo,重现异常1.配置
2016-09-20 17:54:15 902 1
原创 如何优化coding
如何优化coding前言最近一直在做修改bug工作,修改bug花费时间最多的不是如何解决问题而是怎样快速读懂代码。如果代码写的好的,不用debug就可以一眼看出来哪里出了问题。实际上,我都要debug好多遍才能差不多理解这个业务逻辑,进而分析原因以及修改修复的代价。这项工作花费了我绝大部分的时间,而且并没有什么意义,因为fix bug之后就再也不会处理这些代码了。因此,易读性应该放在代码的首
2016-09-20 17:54:09 214
原创 在centos7中添加一个新用户,并授权
前言笔记本装了一个centos,想要让别人也可以登录访问,用自己的账号确实不太好,于是准备新建一个用户给他。创建新用户创建一个用户名为:zhangbiao[root@localhost ~]# adduser zhangbiao为这个用户初始化密码,linux会判断密码复杂度,不过可以强行忽略:[root@localhost ~]# passwd zhangbiao更改用户 zha
2016-09-20 17:54:03 3306
原创 在PowerShell中使用curl(Invoke-WebRequest)
前言习惯了windows的界面模式就很难转去命令行,甚至以命令行发家的git也涌现出各种界面tool。然而命令行真的会比界面快的多,如果你是一个码农。situation:接到需求分析bug,需要访问http。那台机器属于product,不允许装postman。我只能手动命令行来发请求。发现了内置的PowerShell中有curl命令。欢喜试了半天,总是命令不对,google发现这个curl是冒
2016-09-20 17:53:57 5172
原创 spring boot 部署为jar
前言一直在ide中敲代码,使用命令行mvn spring-boot:run或者gradlew bootRun来运行spring boot项目。想来放到prod上面也应该很简单。然而今天试了下,各种问题。最大错误是1.4的bug:Error creating bean with name 'entityManagerFactory' defined in class path resource
2016-09-20 17:53:51 381
原创 CentOS7使用firewalld打开关闭防火墙与端口(转载)
1、firewalld的基本使用启动: systemctl start firewalld查看状态: systemctl status firewalld停止: systemctl disable firewalld禁用: systemctl stop firewalld2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能
2016-09-20 17:53:45 178
原创 linux centos中添加删除修改环境变量,设置java环境变量
前言安装完软件必要添加环境变量。指令很少,然而长时间不写就会不自信:我写的对吗?于是百度开始,于是发现又是各有千秋。好吧,好记星不如烂笔头。当然,最重要的是,百度出来的都他妈的是如何添加环境变量,只字不提删除和修改。显然,都是像我一样的外门汉做笔记的,用啥写啥。增加环境变量百度出来的都是修改/etc/profile文件,添加export var=value。我也没认真去看linux的指令的
2016-09-20 17:53:41 487
原创 在CentOS 7/6.5/6.4 中安装Java JDK 8(转载)
转载在CentOS 7/6.5/6.4 中安装Java JDK 8首先,在你的服务器上运行一下更新。yum update然后,在您的系统上搜索,任何版本的已安装的JDK组件。rpm -qa | grep -E '^open[jre|jdk]|j[re|dk]'输出结果如下:gobject-introspection-1.36.0-4.el7.x86_64pygobject3-bas
2016-09-20 17:53:35 358
原创 centos7查看系统版本,查看机器位数x86-64
前言由于不经常使用linux,每当使用的时候就是安装软件,安装软件的时候就要选择安装包平台,是32位的还是64位的。这时候突然发现不知道怎么查,于是百度。虽然轻而易举百度出来,但仍旧没有自己的笔记看起来舒服。所以,还是记录下来。辨识标准首先要清楚什么样标识是32位的,什么样的是64位的。PC server X86 系列I386--I686 都是32位x86_64 是 64位查看位
2016-09-20 17:53:31 385
原创 CentOS7下安装mysql5.6修改字符集为utf8并开放端口允许远程访问
前言mysql最初的免费战略已经深入人心,感觉自己一直都在用mysql。今天在centos7下装mysql。发现原来centos下默认没有mysql,因为开始收费了,取而代之的是另一个mysql的分支mariadb,这个是mysql创始人重新主导的分支。But, whatever, I want mysql. 所以,老老实实的卸载mariadb,安装mysql。卸载mariadb#列出所有被
2016-09-20 17:53:24 277
原创 CentOS7下mysql5.6修改默认编码
参考原文教程:Centos7下修改mysql5.6编码方式 解决网站中文显示问号解决办法:修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码。具体操作:1、进入MySQL控制台mysql -u root -p输入密码查看当前mysql运行状态mysql>status其中server和db原不是utf-8;默认编码是latin1
2016-09-20 17:53:20 264
原创 使用swagger作为restful api的doc文档生成
初衷记得以前写接口,写完后会整理一份API接口文档,而文档的格式如果没有具体要求的话,最终展示的文档则完全决定于开发者的心情。也许多点,也许少点。甚至,接口总是需要适应新需求的,修改了,增加了,这份文档维护起来就很困难了。于是发现了swagger,自动生成文档的工具。swagger介绍首先,官网这样写的:Swagger – The World's Most Popular Framewo
2016-09-20 17:53:14 2631
原创 在idea中maven项目jdk编译version总是跳到1.5
bug描述项目ide: idea项目构建工具:mavenbug现象:每次修改pom之后,idea自动扫描一遍,然后发现默认的compile级别跳到5.0. 每次手动去setting里修改compile很费事。解决方案猜测是maven中没有指定jdk,所以才会扫描为默认的jdk版本。于是,添加maven-compile-plugin:
2016-09-20 17:53:08 4224
原创 国内maven镜像,快的飞起
在oschina关来关去的烦恼下,终于受不了去寻找其他公共库了。阿里云maven镜像 alimaven aliyun maven http://maven.aliyun.com/nexus/content/groups/public/ central 其他,求提供
2016-09-20 17:53:02 499
原创 醒悟,珍惜时间,学会利用资源
我一直在为自己如何学习发愁,因为发现自己什么都想学,什么都不愿意学。发现这个不会,想要去学,但是时间和资源都是稀缺的,不一定愿意花费时间去做那些看不到成果的东西。最近的工作就是简单的写写接口和test,刚开始以为多困难。overview,大概一想,真是不能再简单的了。工作的内容重复且一致,不同的是需求不同,然后定制的做对应的接口开发啊,完全没有想象中那么难。对应的,后端数据库不用管了,只需要学会
2016-09-20 17:52:58 263
原创 重定向Http status code 303 和 302
http 302http 303Http 302302是一个普通的重定向代码。直观的看来是,请求者(浏览器或者模拟http请求)发起一个请求,然后服务端重定向到另一个地址。而事实上,服务端仅仅是增加一条属性到header,location=重定向地址。而一般的,浏览器会自动的再去请求这个location,重新获取资源。也就是说,这个会使得浏览器发起两次请求。ExampleClient
2016-09-20 17:52:52 15189
原创 jackson简单使用,对象转json,json转对象,json转list
添加jackson依赖:// https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-corecompile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.8.2'// https://mvnreposi
2016-09-20 17:52:46 636
原创 jackson error 含义log
1. 反序列化失败,类型不匹配Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.lang.String out of START_OBJECT token at [Source: org.apache.http.conn.Eof
2016-09-20 17:52:42 712
原创 spring boot启用tomcat ssl
首先要生成一个keystore证书。参考:Tomcat创建HTTPS访问,java访问https,ssl证书生成:cer&jks文件生成摘录,spring-boot这里复现一下完整过程:安装好java后,cmd就可以使用keytool了。生成ssl证书:C:\Users\miaorf>keytool -genkey -alias tomcatjks -keyalg RSA -k
2016-09-20 17:52:36 409
原创 使用idea debug多线程
最近采用hystrix远程访问webservice, 遇到一个重定向303的exception,想要debug一下,发现打了断点后总是被跳过。想到hystrix异步线程的问题,于是想要debug就得支持多线程。发现原来debug分级别的:all, thread默认是all,然后只会debug到本线程的断点,修改成thread就可以swap Thread 来debug了。 对于ide
2016-09-20 17:52:32 848
原创 (转载)构建public APIs与CORS
from: https://segmentfault.com/a/1190000000709909理由:在操作层面详细的讲解了跨域的操作。尤其是对于option请求的详解。收藏。 在构建Public APIs的过程中,首先要解决的第一个问题就是跨域请求的问题。网络应用安全模型中很重要的一个概念是“同源准则”(same-origin policy)。该准则要求一个网站(由协议+主
2016-09-20 17:52:26 399
原创 SpringMVC 参数注入
写一个web service, 总是400. 说是request有问题,server不识别。然而检查了很多次都没问题。最终问题指向spring对参数的解析和注入。一个controller中可以自定义参数,只要参数和request的参数匹配就会自动注入。针对自定义POJO,显然是spring帮忙给new了一个新的,然后把参数扔进去。测试发现,不是setter方法的问题。最后,发现自己在P
2016-09-20 17:52:20 294
原创 java删除文件夹
想删除本地一个项目目录,结果windows说路径太长,不能删除。于是试了试java删除。一切ok。以后一定要抓紧时间学python。/** * Created by rmiao on 4/21/2016. */public class TestDel { public static void main(String[] args) throws IOExcepti
2016-09-20 17:52:14 164
原创 idea 自动提示生成 serialVersionUID
from: http://tonycody.blog.51cto.com/8421818/1401422Intellij IDEA 默认没启用这个功能。Setting->Inspections->Serialization issues->Serializable class without ’serialVersionUID’选中以上后,在你的class中:光标定位在类名前,按
2016-09-20 17:52:08 773
原创 JSP自定义tag
前端需要调用后端的配置,想起velocity-tools。然而jsp的话,目前只能想到tag和EL表达式了。 Tag相当好写,jsp2.0提供了简化写法:编写一个java类:public class HelloWorldTag extends SimpleTagSupport { public void doTag() throws JspException, I
2016-09-20 17:52:00 165
原创 gradle中使用嵌入式(embedded) tomcat, debug 启动
在gradle项目中使用embedded tomcat。最开始部署项目需要手动将web项目打成war包,然后手动上传到tomcat的webapp下,然后启动tomcat来部署项目。这种手动工作通常还要指定端口,指定项目位置等,这些操作是重复的操作。开发的时候,ide自然想到集成这些功能,于是都是server模块,设置好参数就可以run server,测试了。个人操作的时候确实挺方便的,然而
2016-09-20 17:51:54 559
jdk1.8.0_261.7z
2020-08-21
scrt-8.5.4-1942.ubuntu18-64.x86_64.deb
2019-09-24
jdk-8u211-linux-x64.tar.gz
2019-05-07
搜狗输入法 for Ubuntu
2017-10-17
怎样对从ehcache缓存中取出的对象修改而不改变缓存中的对象
2015-11-25
IntelliJ IDEA 不能识别java.util。或者说找不到,求助
2015-08-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人