glype 是一个PHP实现的web版的小巧的在线代理软件。
DevOps
glype 是一个PHP实现的web版的小巧的在线代理软件。
google被墙,code.google.com 上的 golang package何以下载?
不做详细介绍
说明:
go get 本身没有设置代理的功能; go get 本身也没有做太多事情,主要还是依赖hg、git工具来下载代码的;
- github 代理设置:
12 git config --global http.proxy http://proxy.com:1234git config --global https.proxy http://proxy.com:1234
如果出现证书校验问题,可以做如下设置:
1 git config --global http.sslverify false
也可以通过设置环境变量搞定:
1 export GIT_SSL_NO_VERIFY=true
- 关于hg的代理设置:(hg在linux上是python脚本,在windows上是二进制程序)
- linux 环境上设置环境变量http_proxy=proxy_host:proxy_port (定义在 ~/.hg/hgrc 中似乎没有生效, 查了下,命令先参考 ~/.hgrc 文件,再参考当前目录下的 .hg/hgrc 文件)
linux上关于hg命令的安装:
1 yum install mercurial
- windows上: hg help config 详细介绍了 hg的配置文件的路径及格式,设置代理方式只需在配置文件中添加:
12 [http_proxy]host=proxy_host:proxy_port- 经过了上述设置,似乎还是不行,因为 go get 确实有时候在执行hg、git命令之前执行了一些(个?)http请求,这些http请求是通过go直接实现的,好在go默认是支持http_proxy(大写也可以HTTP_PROXY)环境变量的,可以直接如下设置:
1 export http_proxy=http://host:port
当然如果代理是https,可以:
1 export http_proxy=https://host:port
注意:http:// (或 https://) 是需要的,笔者学艺不精,曾经一直写作 ( export http_proxy=host:port ) ,应该是有软件支持这样写法,现在这么些总不生效,还以为go不支持这个环境变量,再加上刚接触go时,这部分代码也没看太明白,走了不少弯路,现在回头来看,确实go是支持该环境变量的http.DefaultClient 默认使用的是 DefaultTransport 而 DefaultTransport 默认参考: ProxyFromEnvironment; 但是该关系有些隐晦,不是一下就能看出来的
- 或许还是无法使用go get ,因为 go get 确实有时候在执行hg、git命令之前执行了一些(个?)http请求的,解决办法: 直接使用hg、git命令来clone到本地,如:
1 hg clone https://code.google.com/p/go-priority-queue
一直使用TortoiseSVN ,通过记住用户名密码的功能,使得每次操作不需要重新输入用户名密码; 终于有一天,SVN在服务器端修改了密码,于是TortoiseSVN 提示需要输入用户名密码(可以理解),不过,每次都提示(不可以接受),当然,我肯定是勾选了记住用户名密码的。
右键 => 设置 => savedata => clear authentication data 如图:
1 2 3 4 5 6 7 8 9 10 11 |
<?php $fp = fsockopen("10.79.80.244", 6379); fwrite($fp, "RANDOMKEY\r\nRANDO"); echo fread($fp, 2048); // 第一个RANDOMKEY 立即被处理了 sleep(1); fwrite($fp, "MKEY\r\nRANDO"); echo fread($fp, 2048); // 部分延迟的命令也能被正确执行 sleep(1); fwrite($fp, "MKEY\r\nRANDO"); echo fread($fp, 2048); |
我现在使用的是hostmonster的虚拟主机:
可见,虚拟主机上是有每天,每周,每月的备份的,而且web上可以下载、恢复这些备份(数据库也有备份的)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
x y 1 254.6332 4 254.3164 7 255.0753 10 255.0753 13 256.0849 16 256.2103 19 256.7158 22 257.0945 25 257.1579 28 256.9678 31 256.9678 34 256.8424 37 257.0312 40 256.7158 43 256.8424 46 256.7791 49 256.0849 52 256.4003 55 256.4003 58 256.8424 61 255.9582 64 256.4003 |
写了好几天的Go程序,都没有感觉到还会用到gcc,今天突然在go build 时报如下错误:
exec: “gcc”: executable file not found in %PATH%
今天想了解一下Go语言中如果做字符集转换,发现基础类库中没有这部分,但是有几个第三方的可以使用,比如: https://github.com/djimenez/iconv-go ; 这个是将C版的iconv用Go包了一下,说到这里就水落石出了,因为我引用的iconv-go是C的一个wrap;
注意: Go 可以编译出来不同平台架构下的程序,但是如果使用的C的类库是32位的,但是却试图编译成64位的程序,将会遇到如下错误:
sorry, unimplemented: 64-bit mode not compiled in
当然,有完全Go版的字符集转换类库: http://godoc.org/code.google.com/p/go-charset