Arki 的每日 BUG 观察
41 subscribers
78 photos
1 video
3 files
228 links
分享每天写的bug
以前端为主
Download Telegram
#java #spring
springboot的 @Value 注解并不能注入 static 的变量
如果想注入static,必须另外新建setMethod

@Component
public class GlobalValue {
// @Value("${datasource}") ×
public static String DATABASE;

@Value("${datasource}")
public void setDatabase(String db) {
DATABASE = db;
}
}
#java
java应用打成jar包之后classpath下的resources文件不能用File的方式读取

@Value("classpath:menu.json")
private Resource res;

// res.getFile(); ×
res.getInputStream();
#java #小技巧
利用java8的stream快速将 InputStream 转换为 String 的方法

String str = new BufferedReader(new InputStreamReader(inputStream)).lines().collect(Collectors.joining("\n"));
#java
微信公众平台的某个接口返回了json数据,但是 Content-Type 居然填的的是 text/plain ,导致使用 restTemplate 时无法自动解析,解决方法见上图https://stackoverflow.com/questions/49469954/force-spring-resttemplate-to-process-plain-text-as-json
#java
使用 Jackson 解析第三方的接口的json数据时,可以在dto对象上添加注解无视未定义的属性,防止解析时出现 UnrecognizedPropertyException

@JsonIgnoreProperties(ignoreUnknown = true)
class { ... }
#证书
微信公众号开发 测试环境好好的,一部署到正式环境安卓手机的webview就白屏打不开,而IOS表示情绪稳定,经过一番排查发现正式环境使用的https证书链不完整,补全证书链之后访问正常

这个bug难排查在微信webview没有给任何警告报错,我只能看着白屏发呆

证书检查 https://www.geocerts.com/ssl-checker
证书链补全 https://certificatechain.io/
#python strip

python的 str.strip([chars]) 和其他语言的 trim 不同, strip 会去除字符串头尾的每个 chars 字符,由于不好解释,请查看以下例子

>>>'1122A'.strip('12')
'A' # 删去了字符串头部所有 ‘1’ 和 ‘2’

另外还有只用来去除开头字符的 lstrip 和只用来去除结尾字符的 rstrip

如果只是想要移除字符串头部的指定字符串应该尝试使用其他方法

s = 'StringToRemove'
if line.startswith(s):
return line[len(s):]
#js tips

众所周知,使用 !! 可以快速将对象转换成 bool 类型,除此之外还可以仅使用 + 将对象转换为 number 类型,详情见例子(使用了TypeScript类型注释)

const myString: string = '1'
const n: number = +myString; // convert to number
> 1
const b: bool = !!myString; // convert to bool
> true
毫无意义的 js == 扫雷
#ts

typescript 中文件后缀 .ts .tsx 是严格区分的,你不能在 .ts 中写 JSX ,否则会出现各种奇怪的解析错误。老是没注意后缀,然后莫名其妙地 debug 5 分钟后才发现
#js eslint

使用 eslint 的时候发现 svg 文件被意外包含导致报错,尝试在eslint命令中使用 --ext 参数排除 svg 文件,但是没有生效,经过排查发现是 eslint 命令书写不规范导致的

// 错误命令(即使 ext 没有 svg 检查的时候还是会检查svg)
eslint --ext .ts,.tsx src/**

// 正确命令
eslint --ext .ts,.tsx src
挖到一个有趣的js挑战题

https://www.v2ex.com/t/509253
#############
剧透注意!!!!
上一条消息答案