使用telekom的云空间 magenta cloud

换到telekom mangenta S套餐后,送了25GB 的云空间. 云空间可以是webdav协议进行访问.所以就现在自己的电脑上挂载了,使用Gigolo即可.
然后觉得需要在服务器上也挂上.所以看了这个教程

http://techiech.blogspot.de/2013/04/mounting-webdav-directory-in-linux.html

注意mount前先要创建一个空目录.(参考

使用Yarn来替代npm 来作为包管理器, 使用webpack来取代grunt, gulp, bower

历史: http://www.infoq.com/cn/news/2016/10/yarn
官网: https://yarnpkg.com

Webpack来打包.
运行webpack-dev-server 作为开发环境(dev)下的的web服务器,可以实现热替换.

Webpack + Angular的组件化实践„是2015年的文章了. 目前也可做参考

参考:

  1. Gulp到Webpack迁移的研究
  2. 前端团队 Gulp & Webpack 工作流 迁移记

iOS10 开始忽略user-scalable=no 的声明, 给使用css position: fixed 带来新问题

同事测试新版本的时候发现,他的mobile safari可以缩放我们的自适应网站. 我记得我们的自适应页面已经禁止了用户缩放.查了一下, 原来从ios10开始,它就忽略meta的禁止缩放的申明了. 这样一个改变造成了页面上,使用position:fxied 的地方的发生定位错误.

我查了一下,原来16年这个ios出来后, 开发者就开始骂了. 不过这个人写的博客文章比较客观,让我们重新审视一下,responsive 设计原则中的禁止缩放真的对用户负责的吗?

历史上,从iOS5开始,就对postion:fixed支持有问题. 这个用户列举了ios5下的position:fixed 的种种问题.
https://remysharp.com/2012/05/24/issues-with-position-fixed-scrolling-on-ios

说回来,我们还是要解决用户在ios safari里,使用手指缩放( pinch to zoom )后,造成 position fixed 错误的问题.

把dh生产环境5.5升级到5.6

大概过程如下

lsb_release -a

#https://www.digitalocean.com/community/questions/how-to-upgrade-from-php-v-5-5-9-to-v-5-6
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php5.6 php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml
sudo a2dismod php5
sudo a2enmod php5.6
sudo service apache2 restart

一下是需要的模块
sudo apt-get install php5.6-curl

sudo apt install php5.6-bcmath
sudo apt install php5.6-gd
sudo apt install php5.6-zip

vagrant 的provision 功能配合 ansible 实现安装自动化

vagrant box安装完以后,通常还要安装一堆工作需要的程序.这个过程可以通过ansilbe来实现自动化.

类似在vagarnt 的配置文件内,加上类似这样的配置,当vagrant up boxname的时候,就会自动安装

  backend.vm.provision "ansible_local" do |ansible|
ansible.playbook = "backend.yml"
ansible.install = true
ansible.install_mode = :pip
ansible.version = "2.2.0"
end

其中backend.yml是ansible的配置文件.具体使用参看 ansible 手册

curl中无法获取本地根证书导致无法连接SSL服务器

最近把服务器都升到了SSL,出现了一个问题. curl不认识本地的根证书,导致无法验证签名,连接SSL就出错了. 出错信息如下

cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

查了一下,主要解决办法就是下载一个根证书,然后修改php.ini里的curl.cainfo,指向此PEM文件,重启即可.

但是我这里尝试好久都没用. 只有暂时关闭curl的检查
//$options['verify'] = false;

DNS中的TXT记录和强制SSL的关系

在启用了Strato的全站SSL后,会自动的在DNS设置内添加一个TXT记录.类似

TXT-Record: 201709070554452mwbv8q0pk9py5r8qongpqm7wudpnjtayd66rgjbn9jpemdnzi

这样所有的请求会被转到不是A记录内指定的IP地址了.

但是,如果你取消SSL后,这个TXT记录不会自动消除.造成指向错误.清除这个TXT记录后,故障消失.