Caddy Server
Caddy2
THE ULTIMATE SERVER
Caddy 2 is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go
Caddy 2 is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go
Your private PaaS platform
https://github.com/dokku/dokku
http://dokku.viewdocs.io/dokku/
最近用到用云主机来做应用的自动发布处理。
就是那种当你提交了代码到代码库后,自动跑CI,然后自动发布到服务器上去,一切都是自动运行。
I’m using VS Code on my work for a while.
I found VS Code is really awesome for programming.
Here is the extension list of VS Code I used for Ruby on Rails development.
Docker 底层是跑在 Linux 基础上的,但是我们开发的电脑常用 Apple Mac,
如果想在 OSX 上跑 Docker 的话,一般使用 Virtual Box
或者 VMware
来运行一个VM。
因为这层软件也不是原生的,相当于多加了一层,
开启一个 VM 常常很耗时,运行在上面的应用的性能并不好。
常常让人觉得 Docker 对 OSX 的亲和力不够。
最近才看到有一个基于 OSX 原生底层的 VM 叫做 xhyve。我尝鲜了一把,虽然遇到了一个小坑,但是克服之后用起来感觉很不错,赶紧来看看吧。
若想在 production 上使用 Docker,必然需要使用使用私有的 Registry。
Docker 提供了一个很棒的 Registry Image, 使用他可以快速的建立自己的私有库。
这是去年做的阅读网络小说的App【书山追更】,使用了 Cordova, Vue 开发,也迭代了不少版本。
主要是为了满足自用,爱看书的朋友可以下载来试试,无广告哦~~
仿的是【追书神器】App,使用的也是他们的免费接口。
Update(2020-09-26): 追书神器的免费接口已经不能返回小说内容,现在已经基本不能使用这个APP了。
留存以后找其他书源。
这段时间开始做小程序的开发,所以稍微研究了下小程序的开发框架。
当下比较有名的有以下几个开发框架:
Vue
框架 wepy
Vue
的 mpvue
React
的 taro
。另外还有几个小众的:
因为之前比较熟悉Vue
,所以没有太费脑力就选了 mpvue
。
看了文档觉得虽然有所限制,比如:
感觉虽然有限制,但是好像没有特别大的关系。多费点代码还是能克服的。
谁知道,刚码了两个页面就遇到了坑。
倒不是某个框架的问题,搜了一下其他的框架基本也都有这些问题。
还没有具体看过 mpvue
源码,但是看了前人介绍,有些是因为小程序的特色所导致的。
比如为什么页面再次打开会有之前的状态值存留。
个人感觉以下内部世界被割裂成了3个世界:
mpvue 对象 -> 小程序Page对象 -> View render
原生的 Page 里 通过 setData
把数据传输给视图进行显示,
当页面关闭后,页面对象消失,但是 mpvue
对象会重复使用,
每次页面重开时会使用之前的 mpvue 对象,造成了数据的残留。
理想状态是 Page 关闭时,销毁 mpvue 对象,打开时再重新生成。这样整个生命周期就与预期一致了。
正因为以上的原因,造成了很多意想不到的问题(keng)。
也探索了一些解决方法:
问题1:数据残留
export default {
data () {
return {
a: 23
}
}
}
对策:onUnload里重置初始值
export default {
data () {
return {
a: 23
}
},
onUnload () {
Object.assign(this.$data, this.$options.data())
}
}
这里的 this.$options
是Vue
内部使用的属性,保留着初始的对象值。
可以把他写成一个Vue plugin,这样就可以省却每个页面都要写的尴尬。
问题2:computed 内获取的参数不会变化
export default {
computed: {
id () {
return this.$root.$mp.query.id
}
}
}
对策:写入 mounted 里,赋值到 data
对象内
export default {
data () {
return {
id: null
}
},
mounted () {
this.id = this.$root.$mp.query.id
}
}
问题: 组件文件名不要使用HTML标签名
组件名用了 article, 引入时不报错,但是组件内部模板不显示,也不报错。
即使引入时改了,也还是不显示:
import Article2 from './article'
对策: 为了减少麻烦,一定要使用非HTML标签名,引入时也最好名称一致。
问题4:自定义组件时写的事件处理函数不起作用
<template lang='pug'>
.container
tag1(
@click='handler'
v-for='item in items'
:key='item.id'
)
</template>
对策:如果想再调用时处理事件的话,需要在自定义内部通过$emit
发出来,
自定义组件所有的事件都需要自己发射到父组件。
暂时就先记这么多,后续有再跟进。
多说一句: mpvue
是基于 Vue
2.4.1 基础上开发的,所有 2.4.1 以上的功能就不要去用了。
自从去年2017年微信开放了小游戏之后,极大的促进H5游戏的发展。可以想象今年微信游戏必定非常火。
乘着这股春风,结合近期研究的 rxjs
,想尝试下用 rxjs
改写微信官方小游戏。