Podam 一个Pojo填充随机值利器

  开发中常常遇到需要Mock数据来测试功能是否完整,手动一个一个填数据有点浪费时间,最近找到这样一个小工具,非常方便的给Pojo类所有字段填上随机值,非常好用,这里推荐下。

官网:https://mtedone.github.io/podam/

使用方法:

1、添加Maven依赖

<dependency>
    <groupId>uk.co.jemos.podam</groupId>
    <artifactId>podam</artifactId>
    <version>7.1.1.RELEASE</version>
</dependency>

2、基础使用

public class Case {
    private Long id;
    private Long applyId;
    private Long billId;
    // get/set ......
}

PodamFactory factory = new PodamFactoryImpl();
Case case = factory.manufacturePojo(Case.class);

  就这样简单的调用,case这个对象的三个字段都是随机值了,基本上满足测试需求,当然Podam远不止这么简单。

新玩具:Holux M-241 Plus

  早在2012年1月份购买了Holux M-1000C这款GPS记录仪,一直使用到去年,终于罢工了,通过USB读取轨迹失败,期间自己修过一次开关,换过一块电池,整体使用还算比较满意。

  由于外出拍照需要记录位置,以及行走轨迹收集。最近就一直在琢磨着换一个,找来找去也还是Holux家的两款比较符合需求,本次选择的是M-241 Plus版,主要看中具备双星接收(GPS+GLONASS),使用外置AA电池,这点很重要。LCD屏幕可以调节参数,不错的外观设计。

  当然缺点也是不少,毕竟一个2017年的产品,还在用MiniUSB接口,又得多备一根线。对我而言影响最大的还是不支持 MacOS ,每次要通过虚拟机/GEN8来导出轨迹。当然要是有手机App控制更好啦。在 Windows 10 和 Windows Server 2016 上需要有管理员权限,以及通过安装目录下的 CP210xVCPInstaller_x86.exe 来安装驱动。

  对于精度和续航时间,相信应该比上一代好一些。但还是佩服这个台湾企业,这么多年一直在更新这个非常小众的产品。

  官网:http://www.holux.com/

HP Gen8 安装 Windows Server 2016

  从朋友那搬来的一个全新Gen8低配版,虽说是三年的东西了,但着跑个开发环境还是绰绰有余。

  添加了一块 120GB 的 HP SSD 放在光驱位。插在第5个SATA接口上,装系统 Windows Server 2016。一个 16GB 的U盘,插在主板内置的USB槽,装 Super Grub2 Disk 2.02s9 用来引导进入 Windows 系统,刻录工具:Rufus

  仅插入 SSD 的情况下,通过 HP iLO4 挂载 Windows ISO 安装好系统,再下载上述工具刻录 Grub 到 U盘,打开 U盘 \boot\grub 目录下新建一个配置文件,我这里叫win2016.cfg,内容如下:

set option_title=$"Windows Server 2016"
 
function run_option {
	echo "Starting..."
	insmod ntfs
	set root=(hd2,1)
	chainloader +1
	boot
}

  使用 Windows ISO 安装的系统会有一个 500M 的 Boot 分区,这里的 (hd2,1) 就是指向这。若不确定可以在 Grub 引导界面,进入 Grub 命令行,输入 ls,cat (hd + tab 来识别。

  在 \boot\grub\sgd 目录下找到 main.cfg,在168行左右的

process_main_option "${sg2d_directory}/sgd/language_select.cfg"

  后面增加一行:

process_enable "${prefix}/win2016.cfg" rootmenu

  并将set timeout的注释打开,以便自动确认。

  剩下就是在四个盘位插入磁盘了,装一些开发环境和 TeamViewer 远程工具,这里我关闭了 Gen8 的 Raid,使用 ACHI 模式安装的。在确定这个方案之前也折腾过装 Ubuntu Server,黑群晖,这个就因人而异了,总之 Gen8 是个非常适合折腾的硬件,CHH 上有很多教程贴。

NOKTON Classic 35mm F1.4 E-mount

  一直对福伦达的镜头长草,一来是优异的画质,二来轻便化的设计,三来复古而又硬朗的外观,直到年前得知新的35mm索尼口即将发布后便是一直关注,虽然早有徕卡口可以转接到索尼口,但都不如原生口来的稳定。这一等就到了18年2月15号,在日本首发后即在日亚下单,历经春节期间放假,选错转运方案后的第30天终于到手,开箱纪念下。

  特性:
  内建CPU适配E-mount全画幅机身
  为数码传感器而优化设计
  全金属机身,经久耐用
  柔和的对焦手感便于精确对焦
  包含Exif数据写入照片
  包含镜头矫正数据(畸变,色差,暗角)
  手动对焦放大辅助(视机身而定)
  对焦距离传递到机身LCD显示(视机身而定)
  支持机身5轴防抖(视机身而定)

  了解更多:
http://www.cosina.co.jp/seihin/voigtlander/e-mount/e-35mm/index.html
Download PDF



OAuth2 与 JWT 那些事

  自从微博流行后,OAuth2 概念自然也在开发圈里活跃起来,各种微博客户端雨后春笋般出现。到后来的 Web 前后端分离流行起来后,JWT 又映入眼帘。
  15年花图相册上线后,自认为在PC上看图已经有很好的体验了,做到极致的响应式页面能适配从手机屏到4K屏。经过一年多的使用,并没达到之前的预料,这一Geek般操作在实际使用中还是有很多不足,这里就不列举了。
  为此何不针对不同平台,分别做一套程序,并调整不同的功能。例如微信小程序,仅提供基础浏览,分享某一个相册,隔离其他相册。基于这些点的考虑,有很多技术方案选型。本文简单聊聊 OAuth2 和 JWT。

  Oauth2有四个角色非常重要

  Resource Owner 资源拥有者
  Resource Server 资源服务器
  Authorization Server 授权服务器
  Client 客户端

  举个例子:

  用户拥有花图相册上的照片资源(PC端upload),花图服务器提供存放这些照片资源,同时提供授权服务。这时候,如果有一个【花图App】用户将其装在手机上,选择使用花图账号登录,跳转到一个花图相册登录界面,随后进行授权确认。再返回App中,App便可以与花图服务器进行交互,获取到用户照片资源,显示出来。这里面还有很多细节如:AppId,AppSecret,Grant,Access_Token,Refresh_Token,Expires等不具体描述了。

  JWT本质只是提供了一种 Client 与 Server 间交互数据的协议,提供编码,防篡改等一些特性,通常与一些权限框架结合使用,例如 Shiro、Security 等。通过自定义 Token 签发一定程度上取代 Web 里面的 Session。

  Spring Boot 对着两种技术均有支持,还挺方便的,后续用到再细写。