有时候,我们需要用Java开发一个小的程序,或者只需要实现简单的http监听的server,此时并不想引入太多依赖(比如Spring或者要使用Tomcat等),此时可以使用Java自带的HttpServer来实现简单的web服务器,实现一些基本功能还是没有问题的。 下面分享下代码片段实现HttpServer,代码实现了以下几个功能和要点(详见代码注释): 实现web server(GET方法): http://127.0.0.1:8182/hello 如果GET携带参数 http://127.0.0.1:8182/…

2021-05-07 0条评论 1243点热度 0人点赞 admin 阅读全文

前面的文章介绍了Java下进行哈希算法的实现:https://blog.terrynow.com/2021/04/29/java-hash-tool-md5-sha1-sha256/ 本篇介绍前端Javascript下实现包括MD5、SHA1、SHA256等算法。 用到的是github上开源的类库:crypto-js Github上介绍的是使用npm方式直接引入,还有一些项目使用的单纯的Html引入JS的方式,我们先介绍这种方式: 到release页面:https://github.com/brix/crypto-…

2021-05-05 0条评论 3303点热度 0人点赞 admin 阅读全文

开发的时候,例如安卓开发,遇到需要将正方形图片转换成圆形显示(如用户头像显示等),这里分享下我使用的Bitmap转换成圆形的工具类,输入Bitmap,输出圆形Bitmap。 直上干货工具方法: /** * 转换图片成圆形 * * @param bitmap * 传入Bitmap对象 * @return */ public static Bitmap toRoundBitmap(Bitmap bitmap) { if (bitmap == null) return null; int width = bitmap.g…

2021-05-03 0条评论 1050点热度 0人点赞 admin 阅读全文

在做vue前端开发的时候,有时候会遇到需要将某个div或者其他元素重复生成N个,如果N比较小,那么可以使用如下v-for迭代4次: <div v-for="item in [0,1,2,3]"> </div> 如果要迭代的数很大,这种方式可能就要写到手抽筋了,或者在js的data里定义一个array,这种方式就不介绍了,这里介绍一个简单点的,利用了之前介绍的简短代码快速生成数组:https://blog.terrynow.com/2021/04/25/javascript-generate-…

2021-05-01 0条评论 682点热度 0人点赞 admin 阅读全文

发现一个问题,input输入框在有些浏览器(例如Chrome浏览器)里,在获得焦点的时候,自动弹出自动完成提示框,有时候自动完成会比较方便用户输入之前的数据,但是有时候却不是我们想要的,反而影响用户正常的使用,例如这个输入框是输入验证码的,自动完成就没有必要,有时候我们会在input输入框自定义弹出一个例如日期选择框,这个时候自动完成框会覆盖掉我们的日期选择的div。 解决方法很简单,只要在input加一个就可以了, 完整的如下: <input autocomplete="off" name="address…

2021-04-30 0条评论 2052点热度 0人点赞 admin 阅读全文

平时写程序时候,经常需要计算哈希值(MessageDigest摘要),如MD5、SHA1、SHA256等等,不妨做一个工具类,要用到的时候,一个方法调用就可以了,方便省事,下面是我使用的工具类,原生Java,无依赖。 Javascript版本实现哈希算法,请查看:https://blog.terrynow.com/2021/05/05/javascript-html-hash-tool-md5-sha1-sha256/ 要用的时候,直接HashUtil.sha1("123456");HashUtil.md5("12…

2021-04-29 0条评论 1771点热度 0人点赞 admin 阅读全文

如题,一个工具类,直接MD5.compute("123456"); 即可计算一个字符串的MD5。 如需要其他Hash算法,如SHA1 SHA-256等,请查看https://blog.terrynow.com/2021/04/29/java-hash-tool-md5-sha1-sha256/ public class MD5 { public static String compute(String source) { String result = null; try { byte[] valueByte = …

2021-04-28 0条评论 1004点热度 0人点赞 admin 阅读全文

需求是快速生成一个指定大小或者范围的Array,当然最简单的方式是使用for循环: var array = new Array(); for(var i = 0; i < 10; i++) { array.push(i); } 还可以这样(ES6语法): //指定大小是20 var array1 = Array.from(Array(20).keys()); //或者 [...Array(20).keys()];​​​​​​ array1.forEach(item => { console.log(it…

2021-04-25 0条评论 1412点热度 0人点赞 admin 阅读全文

iOS开发的时候,经常遇到需要对UIView进行自定义,例如,增加自定义颜色的边框,圆角、或者阴影,我们可以通过扩展UIView来实现,并可以进行可视化的修改。如下图: 就可以轻松修改边框颜色(Border Color)、边框线条粗细(Border Width)、是否增加阴影(Shadow)、圆角的曲率半径(Corner Radius) 新建CustView.swift(文件名称可修改),保存路径随意,内容如下: @IBDesignable class DesignableUIView: UIView { @IBI…

2021-04-23 0条评论 1427点热度 0人点赞 admin 阅读全文

开发是否遇到需要比较字符串是否符合通配符的规则的需求,例如,判断字符串hello.world 是否符合hello.* (*代表若干个字符串)或者是否符合hello.?????(多少个问号就代表多少个字符) 我们利用正则表达式可以很容易的写出,为了便于复用,将类似需求整理成工具方法,方便调用,代码如下(示例写在main方法里了): import java.util.Arrays; import java.util.regex.Pattern; /** * @author Terry E-mail: yaoxinghu…

2021-04-22 0条评论 1031点热度 0人点赞 admin 阅读全文
1444546474855