今天手贱把 Jetty Runner 自动升级了最新版本 1.2.0,发现项目跑不起来了,报错「Unsupported major.minor version 52.0」,查了一圈发现最新版 Jetty Runner 介绍中有一条「Minimum requirement: JVM / JDK / JRE v8」,这就坑爹了,卸载最新版,降级为上一个版本 1.1.3,完美解决问题。 下载地址:https://plugins.jetbrains.com/plugin/7505,选择版本 1.1.3 后的 download,之后在 IntelliJ IDEA 的 Preferences -> Plugins 中,选择 「Install plugin from disk」即可。
独立博客
曾几何时独立博客是一种风尚,现如今随着各种自媒体平台的兴起,似乎去平台开一个发声点成了主流,个人独立博客看上去也越来越没落了。把友情链接点了个遍,事实也证明了这一点,每隔一段时间总有那么几个网址打不开了,或者变更了用途。
那么我们到底还需不需要使用独立博客呢?就我而言,是需要的,对我来讲,这就是租房住和买房住的区别,在别人的地盘,你随时都要承受文章被删改、网站主跑路的风险,多年经营和沉淀付之东流,然而独立博客却不会,只要我想,可以续费100年,我写的这些东西就会一直存在下去。
遥想起当年,我就在各大平台开博,经历了一次次搬家,最终定在了这里,不用担心我不在的期间别人对我的文章做了什么,因为一切都是自己做主。翻开本站域名 whois 一看,注册都有十年了,岁月蹉跎啊。
当然,从影响力来讲,独立博客确实是不行了,如果是媒体属性,可能还是要选择个别的平台吧。 而且,人老了,也确实容易犯懒,很多时候想静下来写点什么,有个什么其他的事情,就作罢了,这个不好,得改。
最后给自己一个约定,每月更新两篇原创的文章,尽量做到不敷衍。有没有跟我类似的博主来一起参与呢?
Vue Pikaday
Pikaday 是一个干净小巧不依赖其他库(如 jQuery 等)的日期选择库(只能选日期不能选时间),如果只需要一个简单的日期选择功能,又不想要加载 jQuery 甚至 Bootstrap 这样的大部头可以考虑选择。 最近在使用 Vuejs 做项目,就把这个日期选择库包装了一下,是他可以作为一个组件在项目中使用,组件源代码如下: 使用这个组件以前需要做一点微小的工作,首先安装 pikaday:
1 | npm i --save pikaday |
然后将所需的 css 文件引入(scss 或 css); 接着在项目中使用组件:
1 | import VuePicker from '/path/to/vuePicker.vue'; |
have fun!
JS AOP
有时候我们需要在某个 function 执行之前或之后执行某些自定义的操作,但又不想去修改封装好的代码,这时候就可以使用 AOP 这一设计模式。 首先我们需要扩展 Function:
1 | Function.prototype.before = function(fn){ |
使用时是这样的:
1 | window.addEventListener('DOMContentLoaded', function(){ |
JS 中的 bind 与 call
JS 中调用方法或函数时,有时候需要变更 this 的指向,通常我们会使用 call/apply,而 bind 也可以改变 this 的指向,那么他们有什么区别呢? 简单地说,call/apply 是改变 this 指向时立即调用,而 bind 只是绑定了新的指向,返回的依然是一个 function。举例说明:
1 | var foo = { |
#1,#2,#3 将会返回一样的值。