作者归档: Hessian

Vue.js 学习资料

awesome-vue (项目大集合)
https://github.com/vuejs/awesome-vue

前端开发之走进Vue.js
http://www.jianshu.com/p/78c9e5342990

ECMAScript 6入门
http://es6.ruanyifeng.com/

Vue.js 指南
https://cn.vuejs.org/v2/guide/

Vue.js API
https://cn.vuejs.org/api

vue-router
https://github.com/vuejs/vue-routerhttp://router.vuejs.org/zh-cn/advanced/meta.html

vue-resource
https://github.com/pagekit/vue-resource

vue-cli
官方指南:https://cli.vuejs.org/zh/guide/
https://github.com/vuejs/vue-cli
https://github.com/vuejs-templates/webpack
http://vuejs-templates.github.io/webpack/


https://github.com/vuejs/vue-cli
https://github.com/vuejs-templates/webpack
http://vuejs-templates.github.io/webpack/

vuex 中文文档
https://vuefe.cn/vuex/actions.html

官方实例
https://github.com/vuejs/vuex/tree/dev/examples/shopping-cart

vuex入门实例(中文,非官方)
https://segmentfault.com/a/1190000005018970#articleHeader11

饿了么Vue 2.0组件库 Element
http://element.eleme.io/#/zh-CN

Read: 89

解决IE8下FlashSocket无法连接java websocket的问题

参考文章: iOS 与 Java 服务器之间 SSL 握手失败的解决:Cipher Suites

Flash socket在IE8下会使用TLSv1进行通信,且Cipher suites只有有限几项jre默认不支持的。 我服务端用的是Springboot+Tomcat Embed,开启debug之后会看到cipher suite不支持的异常:not found cipher suites in common。

IE8的Cipher Suites: 
Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)     
Cipher Suite: TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)     
Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)    
Cipher Suite: TLS_RSA_WITH_RC4_128_SHA (0x0005)     
Cipher Suite: TLS_RSA_WITH_RC4_128_MD5 (0x0004)     
Cipher Suite: TLS_RSA_WITH_DES_CBC_SHA (0x0009)

而一般现在装的jdk/jre都是不包含这些的。


可以通过下载下面这个jar替换掉jre的lib/security目录下的两个jar包进行添加。

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 8 Download http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

添加完成之后需要在配置文件中 server.ssl.ciphers 加入,我下面列了一个比较全的,可以用这个替换。    

ciphers: TLS_ECDH_anon_WITH_RC4_128_SHA, TLS_ECDH_ECDSA_WITH_RC4_128_SHA, 
TLS_ECDH_RSA_WITH_RC4_128_SHA, TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
TLS_KRB5_EXPORT_WITH_RC4_40_MD5, TLS_KRB5_EXPORT_WITH_RC4_40_SHA
TLS_KRB5_WITH_RC4_128_MD5, TLS_KRB5_WITH_RC4_128_SHA
TLS_DH_anon_WITH_AES_128_GCM_SHA256, TLS_DH_anon_WITH_AES_256_GCM_SHA384
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_DHE_DSS_WITH_AES_256_GCM_SHA384
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_RC4_128_MD5, TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

Read: 112

我真是万万也没有想到 居然是支付宝的锅

很长一段时间以来,我的chrome打开网页就经常出现err_network_changed。一直我也没找到到底什么原因,我也以为是之前用什么SwitchyOmega、Lantern之类的代理导致的问题,墙都不翻了,真是万万也没有想到。。。

解决办法:

sudo launchctl remove com.alipay.DispatcherService

参考资料:
https://github.com/FelisCatus/SwitchyOmega/issues/918

Read: 2184

Docker在Mac下挂在/Users之外的目录

Docker在Mac下是在VirtualBox虚拟机中运行的。VirtualBox是用共享的形式把宿主机的目录暴露给docker的container,因为默认只挂载了/Users目录,所以Docker的Data Volume都只能mount到/Users目录下面的东西。

Kitematic中的提示

Invalid directory. Volume directories must be under your Users directory

解决办法

  1. 修改VirtualBox的设置,给Docker虚拟机添加共享目录
  2. 修改Docker虚拟机设置,使其能自动自动挂载共享目录

注意:Kitematic中是禁止添加/Users以外的目录的,所以要通过docker命令来创建container才能挂载到我们增加的新目录。

操作步骤

先打开VirtualBox的管理界面,找到Docker的虚拟机(默认是default),进入设置。
在Shared Folders中添加你希望在Docker虚拟机中挂载的宿主机目录。
如:把宿主机的/workspace目录共享为www

docker-machine ssh default
cd /var/lib/boot2docker/
sudo vi bootlocal.sh #文件内容在后面,这个文件启动时会被自动执行
sudo chmod u+x bootlocal.sh
sudo reboot

bootlocal.sh

#!/bin/sh
mkdir -p /www
mount -t vboxsf /www /www

挂载示例

docker run --name nginx -P -v /workspace/www:/usr/share/nginx/html -v /workspace/nginx/default.conf:/etc/nginx/conf.d/default.conf nginx

参考链接

http://stackoverflow.com/questions/24212228/boot2docker-on-mac-accessing-local-files/29983253#29983253

Read: 2168

不改路由表实现智能选择线路,提升访问国内外网站速度

互联网发明以后,我们可以很容易的去访问世界各地的知识资源。但是受限于网络环境的原因,部分资源我们去访问的时候会很慢,或者访问不了,这时候我们可以通过跳板、隧道、虚拟私有网络等形式去进行访问。在使用虚拟私有网络的过程中,大部分软件会通过修改网关地址将所有数据都通过虚拟私有网络进行传递,然而我们很多时候访问某些特定资源,比如本地资源时并不希望数据通过虚拟私有网络,这怎么办呢?

池建强大哥在这篇博文《VPN – 长城内外,惟余莽莽》里提到了用路由表解决这个问题。可是改路由表这么麻烦的事情,想想都觉得不美。

博主之前一直用的是国外VPS+ssh tunnel方式“连接国外主机”,用proxy-switchysharp自动切换出口,非常方便。

现在博主的VPS搬到国内了,功能没有了,买了个虚拟私有网络。为了继续使用proxy-switchysharp,博主用go写了个简单的本地代理服务器,让请求通过指定的IP地址转发出去从而实现跨地区资源访问的目的,而因为虚拟私有网络关闭了“Send all traffic over VPN connection”,国内资源的访问依然快速。

目前项目托管在github,博主水平很差,欢迎各位改进
项目地址:https://github.com/HessianZ/daisy-proxy

可执行文件下载:
DaisyProxy For Mac
DaisyProxy For Windows 64

Read: 1781