都是风景,幸会。

最近在做微信开发,涉及到内网穿透的问题,找了一下网上 ngrok 算是最佳的在内网调试微信服务的 tunnel 工具了,但是 ngrok 免费的账号不支持自定义域名,所以萌生了自己搭建 ngrok 服务器的想法;网上也有现成的,但是世界上没有免费的午餐,要不就是收费,要不就是免费但是偶尔会出现连接失败的问题(当然大多数时间是没有问题的)。

1、必要条件

  1. 服务器,用来搭建 ngrok 的服务器,必须有公网 ip,并且可以正常访问(本次测试使用的是 Ubuntu_14.04_64bit 系统);
  2. 域名,用来生成访问域名;
••••••

服务器环境是 Aliyun Ubuntu_14.04_64bit,系统默认的镜像地址是阿里云的镜像地址,从阿里云镜像安装的 Git 是 1.9.0 版本,并不是 Git 官网最新版本;

Git 官网针对 Ubuntu 系统有说明:For Ubuntu, this PPA provides the latest stable upstream Git version,所以我们选择从 PPA 源安装 Git 最新稳定版本:

••••••

  1. 编辑 ~/.bash_profile,加入常用命令别名,例如我加入了以下命令的别名:
alias pull='git pull origin'
alias push='git push origin'
alias add='git add .'
alias commit='git commit -m'
alias checkout='git checkout'
alias status='git status'

这里需要注意 = 两边不能有空格,不然会报 not found 错误;

  1. 保存之后重新打开 terminal 或者执行一下命名:
source ~/.bash_profile

然后就可以愉快的玩耍了^ ^

俗话说,万事开头难。对于刚刚接触微信公众号开发的小白来说,进行服务器验证往往难住了一大片开发者。在这里记录一下我的验证方法,希望能帮助到大家!

根据微信公众平台的接入指南,先把准备工作做完:有自己的服务器,且已配置域名可以访问,我是在 nodejs 环境下进行开发的,使用的 express 框架,所以你还要安装好 nodejs 环境和 express 框架;

接下来我们看具体怎么操作:

••••••

昨天,我在雅虎的同事 Scott Schiller (斯科特·席勒, 同时也是 SoundManager 创造者) 发 Twitter 询问为何 getElementsByTagName("a") 在所有浏览器上都比 querySelectorAll("a") 要快好多倍。 有一个 专门的 JSPerf 测试页面, 通过对比就能发现两者的速度差异相当明显。 比如作者在 Windows XP 下使用的 Firefox 3.6.8 浏览器, querySelectorAll("a")getElementsByTagName("a") 的运行速度要低98%. 我和 Scott, 以及 YUI 团队的 Ryan Grove 有一个活跃的 Twitter-sation, 关于这种现象的原因,以及情理之中让人沮丧的结果。 我想好好地解释说明下到底为什么会发生这种情况,以及为什么未来也可能不会改变。

••••••

最近了解下基于 Token 的身份验证,跟大伙分享下。很多大型网站也都在用,比如 Facebook,Twitter,Google+,Github 等等,比起传统的身份验证方法,Token 扩展性更强,也更安全点,非常适合用在 Web 应用或者移动应用上。Token 的中文有人翻译成 “令牌”,我觉得挺好,意思就是,你拿着这个令牌,才能过一些关卡。

••••••

摘要:如果你是程序员,是否有类似这样的困惑——“天天写业务代码的程序员,怎么成为技术大牛,开始写技术代码?” 阿里资深无线开发专家李运华梳理了自己的思考和理解,希望帮助程序员同学少走弯路。2980字的纯干货,阅读时间需要9分钟。

••••••

由于腾讯云主机 ubuntu 系统默认用户名为 ubuntu,不喜欢每次做什么都要 sudo 一下,故设置开启允许 root 用户登录;

  1. 先用 ubuntu 账号登录,执行 sudo passwd root
  2. 按要求输入密码,请牢记;设置成功之后回提示:passwd: password updated successfully
  3. 执行 sudo vi /etc/ssh/sshd_config
  4. 找到并用 # 注释掉这行:PermitRootLogin prohibit-password;
  5. 新建一行,添加:PermitRootLogin yes;
  6. 保存退出并重启 ssh 服务:sudo service ssh restart

解读一下这两句话吧!

PermitRootLogin yes:允许 root 登录,设为 yes
PermitRootLogin prohibit-password:允许 root 登录,但是禁止 root 用密码登录

很明显这行是需要被注释掉的!!!