条件概率 拾遗

七个球,三白四黑。分到两个桶。
P(白|B) 即是从B桶中取到白球的概率,为1/3
P(白 and B) 为B桶中白色球在所有球中的概率,为1/7
P(B) 为B桶中球在所有球中的概率,为3/7
于是有:
P(白|B) = P(白 and B) / P(B)  结果都是1/3

贝叶斯定理如下:
P(A|B) = P(B|A) * P(A) / P(B) 推导如下:

小米路由r2d开smb特殊权限

root@XiaoQiang:~# smbpasswd -a root
New SMB password:
Retype new SMB password:
Added user root.
root@XiaoQiang:~# smbpasswd -e root
Enabled user root.

vim /etc/samba/smb.conf

smbcontrol smbd reload-config

ubuntu android 开发环境

两台电脑都怀了。。。太坑了。申请了台新的。只能用ubuntu重新配置环境。。。略伤。

1.下载 android studio

To install Android Studio manually:
Windows: https://dl.google.com/dl/android/studio/ide-zips/0.9.2/android-studio-ide-135.1569493-windows.zip (170 MB)
Mac: https://dl.google.com/dl/android/studio/ide-zips/0.9.2/android-studio-ide-135.1569493-mac.zip (170 MB)
Linux: https://dl.google.com/dl/android/studio/ide-zips/0.9.2/android-studio-ide-135.1569493-linux.zip (169 MB)

2.下载 android sdk,安装 继续阅读“ubuntu android 开发环境”

使用scala+scaloid+IntelliJ IDEA 12开发android应用

(http://cxfksword.me/2013/06/30/develop-android-with-intellij-idea-12-and-scaloid/)

软件环境

继续下面的示例前,需要保证安装了下面的软件:

  • JDK 1.6
  • Android SDK
  • IntelliJ IDEA 12
  • Scala 2.10.2
  • Maven 3

    IntelliJ IDEA 12正常也可以换为Android Studio,不过因为Android Studio是基于IntelliJ IDEA 13 EAP开发的,当前scala plugin还不支持13 EAP,所以还是建议使用IntelliJ IDEA 12,等scala plugin支持最新版后,再换为Android Studio进行开发。

示例项目 继续阅读“使用scala+scaloid+IntelliJ IDEA 12开发android应用”

Linux Shell 下的输出重定向

转自:http://www.xxlinux.com/linux/article/development/shell/2006-08-06/3376.html

Linux Shell 环境中支持输入输出重定向,用符号<和>来表示。0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2>a.txt 表示将错误信息输出到文件a.txt中。

同时,还可以在这三个标准输入输出之间实现重定向,比如将错误信息重定向到标准输出,可以用 2>&1来实现。

Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。

如果想要正常输出和错误信息都不显示,则要把标准输出和标准错误都重定向到/dev/null, 例如:

# ls 1>/dev/null 2>/dev/null

还有一种做法是将错误重定向到标准输出,然后再重定向到 /dev/null,例如:

# ls >/dev/null 2>&1

注意:此处的顺序不能更改,否则达不到想要的效果,此时先将标准输出重定向到 /dev/null,然后将标准错误重定向到标准输出,由于标准输出已经重定向到了/dev/null,因此标准错误也会重定向到/dev/null,于是一切静悄悄:-)

luci的验证机制

luci的验证代码都在 dispatcher的dispatch()函数中。

luci为每一个成功登陆的session建一session,放在/tmp/luci-sessions中。

其中包含两个,一个是sid,会作为cookie返回给客户端。另一个叫做token,之后每一个http请求url中都会包含这个token。每个请求中也包含那个cookie。

路由器后台收到这个请求后,先检查session,没有就去cookie中取sysauth,用取到的值再再磁盘中去取此cookie对应的token,然后拿来跟我们链接中的token比较。如果一致就通过。

ssh 不需要密码登陆

主要来自峰哥的这篇文章:http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html

$ ssh-keygen

$ ssh-copy-id user@host

就ok了,但是我的mac上木有ssh-copy-id,就按照他说的原理,将公钥内容直接拷贝到 服务器 ~./ssh/authorized_keys末尾就ok啦。。。