今天写代码的时候遇到一个很奇怪的问题,getter里面取到的值怎么都不是最新的。
调用setAuth清空后,从vue开发工具(vue-Devtools)中查看,state.auth
已经正常被设置成了空值。但是getters
或mapGetters
取到的还是更新前的值。
vuex getters不更新的奇怪现象解决方案
sublime text 3安装插件
sublime相比其他编辑器最大的优点就是占用内存小。一直用idea和vscode。好久没用sublime了,今天安装了一下新版本3.2.1,想要用它开发vue。安装插件的过程中踩了几个小坑。
安装package control
使用网上说的,控制台安装方式,按ctrl + \
`,输入下面的命令
1 | import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read()) |
docker环境下php使用指南
最近由于业务原因,需要将 php7.0 升级到 7.2。升级要考虑一下几点
要满足以下需求
- php7.0 和 7.2 要共存,以免升级 7.2 以后出现问题,及时切换回来。
- 升级操作要简单,服务器数量比较多,原生方式安装太过复杂,操作步骤太多,就算携程 shell 脚本,维护起来也比较麻烦
- nginx 保持原样,只对项目相关的配置文件做简单调整即可。如果 nginx 变更日志处理等模块都收到牵连。
考虑到上面的因素,用 docker 显然是非常符合的。于是就开启了踩坑之旅。
主要遇到了两个问题,一个是502
,还有一个是File not found
。下面进行分析
ubuntu更新php
服务器以前安装的 php7.0,最近开发任务中有部分插件,从 composer 安装提示需要 php7.2 的版本,才可以安装。
但是服务器的源里面没有 php7.2,最新的也就 7.0。添加 ppa 搞了一下。记录下步骤
安装 ppa 管理器
1 | apt-get install software-properties-common |
如果已经安装了,可以省略这一步,如果不安装,在执行add-apt-repository
命令时会提示sudo: add-apt-repository: command not found
添加 ppa 源,并更新源
1 | sudo add-apt-repository ppa:ondrej/php |
升级 php
1 | sudo apt remove php7.0 |
这样php7.2就安装上了。如果你希望保留老的版本,可以不执行sudo apt remove php7.0
。
如果希望连同系统一起升级可以执行下面的命令,会连同系统和其他软件一起升级到最新版,只有php会升级到指定的7.2版本。(不建议使用下面的命令)
1 | sudo apt-get upgrade php7.2 |
扩展处理
升级了php7.2
,还需要安装一下7.2的扩展比如mbstring,gd等执行如下命令安装就可以了
1 | sudo apt-get install php7.2-gd |
Supervisord管理进程常用命令
Supervisord安装完成后有两个可用的命令行supervisor和supervisorctl,命令使用解释如下:
supervisord: 初始启动Supervisord,启动、管理配置中设置的进程。
supervisorctl stop programxxx: 停止某一个进程(programxxx),programxxx为[program:chatdemon]里配置的值,这个示例就是chatdemon。
supervisorctl start programxxx: 启动某个进程
supervisorctl restart programxxx: 重启某个进程
supervisorctl stop groupworker: 重启所有属于名为groupworker这个分组的进程(start,restart同理)
supervisorctl stop all: 停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
supervisorctl reload: 载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。
supervisorctl update: 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。
注意:显示用stop停止掉的进程,用reload或者update都不会自动重启。
原文https://feilong.me/2011/03/monitor-processes-with-supervisord
省略sudo使用docker
使用阿里云ecs主机打造shadowsocks服务器,实现科学上网
要想打造一台自己的ss(shadowsocks)或ssr(shadowsocksR)服务器。要具备一下条件:
- 要有一台自己的服务器vps或ecs云主机都可以,虚拟主机是不行滴
- 服务器一定要在海外或中国香港。推荐日、韩、香港、新加坡服务器
下面已阿里ecs为实例说明,主要是ecs降价了366/年
的价格速度很快。比网上说的搬瓦工、Vultr强多了。
linux安装java环境
下载jdk
可以到https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载
JDK 8u201 是稳定版本
JDK 8u202 是开发版本,包含了8u21的功能和一些其他功能,有可能会有bug
找到Java SE Development Kit 8u201
点击该栏目下的Accept License Agreement
单选项
在下面的列表中找到需要的版本,右键复制链接,在terminal里面用wget
命令下载,下面用的是jdk-8u201-linux-x64
包
1 | wget https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz?AuthParam=1554274626_8750d27ae1e72e03c48aa9f516d713c3 |
解压程序包并移动到/opt目录
1 | # 先改个名字,要不然看着别扭 |
设置环境变量
1 | vi ~/.profile |
在最后加入
1 | #java |
最后让配置生效
1 | source ~/.profile |
运行java --version
看是否生效,如果出现java版本信息标示生效了
1 | java version "1.8.0_201" |