分类 编程技术 下的文章

在这一行里,开发一个新的系统或者写一段新的代码,叫做挖坑

这个系统或代码,由后人来维护或修改,叫做填坑

如果说所有的系统和代码,都是坑,未免太过武断,这里面确有宝藏在其中,看过后如醍醐灌顶,大呼过瘾。

不过要说,绝大部分,或者说大部分,都是坑,大家可能都心里默默点头。

挖坑者可能并不是有心挖坑,但是填坑者却要小心填坑

所以写出这么一个填坑要诀,供大家参考。

(以上为本人不靠谱推测,不负任何法律责任)

我这篇博文,是不是也算是给自己挖坑

其实我自己一直想搭建这么一个工具,可以放一些常用的小工具,比如Json字符串美化,亦或者是查询今日天气,更或者是Base64之类的编解码。

最初我的想法是整一个客户端出来,那时候我看了AWT、Swing,后面有了JavaFX,但这个东西写起来实在麻烦就放弃了。

接下来想用Android来整,有了这个项目SharpPM25SharpWeather,但后来实在觉得丑,也放弃了。

也用Python写过一个,database-interface-doc-management,用的是flask和emberjs。

也用Go写过一个,mymoney

但是都好景不长,基本上是写了一个能跑起来的demo后就没管了。

最近工作时,又发现了经常使用这些东西,特别是查看Json。所以这个想法又涌现出来了。
我基本上是非常不愿意写前端代码的,那些样式、兼容性之类的东西使我很烦。所以我找了一个框架vaadin来写第一版的helper,先用的是vaadin10。但是这个vaadin10太新了,以至于safari和ie的支持都不算太好,我跑起来后就放弃了。

接下来有了这个helper-vue,使用spring-boot和vue。这个spring-boot就是现在工作使用的,vue以前就写过一点。这样项目就搭建起来了,虽然页面样式什么的丑了一点,但是不在乎么,只希望以后不要荒废这个项目。

所以我开了个子域名https://helper.chengjf.com给这个项目。

服务端程序启动后,要向外提供服务。如果要对服务端程序进行操作,比如切量(从注册中心注册/退出,停止/开始去接收/发送kafka消息),获取服务信息(当前启动的service
列表,消息队列情况)等等。常用的操作是做一个服务端管理系统进行管理,常见的是做一个web系统,比如motan,druid等。但是做web系统可能很麻烦耗时,这里介绍使用telnet进行管理。

telnet是几乎所有操作系统带有的命令,使用广泛。那使用telnet对应用进行管理,就是监听一个端口,处理telnet连接即可。


- 阅读剩余部分 -

这周前几天,同事问我,使用Fastjson进行Json的处理,需要转成Json的对象中还有null值,输出成JsonString后,该值和所对应的key都没有了。他的代码是这样的:

Map<String, String> map = new HashMap<String, String>();
map.put("a", "12");
map.put("b", null);
String jsonString = JSONObject.toJSONString(map);
System.out.println(jsonString);

输出为:

{"a":"12"}

b的key没了,value也没了,而对于使用该接口的下游系统来说,有key而value为null与无key是完全不同的概念,所以需要下发该key。

我搜了下,网上有提供方案,使用SerializerFeature.WriteMapNullValue。如下:

Map<String, String> map = new HashMap<String, String>();
map.put("a", "12");
map.put("b", null);
String jsonString = JSONObject.toJSONString(map,
        SerializerFeature.WriteMapNullValue);
System.out.println(jsonString);

输出为:

{"b":null,"a":"12"}

- 阅读剩余部分 -

关于native2ascii的某某

在此处输入标题今天深圳一扫周末的阴冷,阳光明媚。但是一上班,就有一个乱码的问题,上周一个同事修改了代码,使用新的流水线部署后,发出的邮件标题是乱码!而这个同事并没有更改邮件的相关代码。邮件功能以前也是正常的,并没有出现过乱码的现象。

这个发送邮件的过程如下:

  1. Java代码从mail.properties文件读取标题和正文,标题和正文使用类似{0}的占位符进行内容的动态输出;
  2. 然后Java代码从数据库获取收件人,抄送人列表,构建邮件,最后发送。

这次奇怪的是,邮件正文是正常的,标题是乱码的。我看了正文用的是HTML格式,指定了编码charset='gb2312'。

- 阅读剩余部分 -