rust学习 1、Hello World

rustup镜像
修改 $HOME/.bashrc 添加
export PATH=/$HOME/.cargo/bin:$PATH
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static # 用于更新toolchain
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup/dist # 用于更新rustup
安装...

使用Go语言代替node.js实践

  使用Go语言到生产环境已有半年,其优秀的性能,内存管理及便利的Goroutine让人爱不释手。Go在语法上比较保守严谨,因此代码的正确性有很大的提升,但也使得其代码量上远远多于nodejs+CoffeeScript组合。
  之所以使用Go语言,直接原因是node.js在一个日1亿多次ajax请求同时1万websocket长连接的HTTPS服务端在内存上有类似泄漏的表现。debug发现是在启用SSL后,废弃数组中大量faye-websocket对象积压,究其原因,可能是使用不当,也可能是应用设计上的缺陷...

Postfix排错记

今天打算安装Postfix到一台机器进行邮件的发送,SMTP通过sasl认证。配置完成后尝试发送邮Thunderbird始终返回

The mail server responded: 5.7.1 : Relay access denied. Please check the message recipient
Relay access denied。
main.cf restrictions部份配置为

smtpd_recipient_restrictions = permit_mynetwo...

面向转换,一种新的或复古的编程思想

最近想到一种新的或者说是复古的编程思想,说复古是Unix的管道思想比较大同,实现上与面向过程也比较类似。而说新的,主要是思想上不同,即非面向过程又非面向对象。
编程很多时候可以理解成数据到数据的转化,为此把思想重点放到数据的转换上,以下就简称为面向转换。
先举一个简单的例子:对于文件进行字频统计并输出。
面向过程:
文本 = 读取文件(文件名)
字频表 = 字频统计(文本)
打印(字频表)
面向对象:
文件Reader = 创建文件Reader(创建文件实例(文件名))
字频表实例 = 创建字频表...

ToffeeScript 1.6.2 发布

ToffeeScript
支持异步语法的CoffeeScript
特性
异步语法
条件语句: If, Switch
循环语句: For In, For Of, While with guard when
数值运算
逻辑运算:
自动回调
正则运算 =~ 与匹配项 \~, \&, \0~\9
支持 Sourcemap
当前基于 CoffeeScript 1.6.2
安装
npm install toffee-script
代码例子
左: ToffeeScript
右:...

对Gentoo的信心有些下降

自从几年前接触了了Gentoo就一直很喜欢,可是这两天遇到nginx的安装问题让人很是郁闷。
升级Gentoo的nginx到1.2.5,不幸遇到了bug,编译遇到错误为:
mv: cannot move `/var/tmp/portage/www-servers/nginx-1.2.5/image//usr/html’ to `/var/tmp/portage/www-servers/nginx-1.2.5/image//var/www/localhost/htdocs’:...

支持Socks5协议的高速加密通信的代理服务器脚本

支持SOCKS 5协议的高速加密通信的代理服务器脚本
代码地址:
https://github.com/jiangmiao/proxy
解决现有代理的问题:
1、vpn – vpn接管所有的数据,而在很多时更希望只通过代理访问部份网站。
2、http/socks – 仅使用http或socks代理,没有经过加密的关键词还是有被拦截的可能。
3、ssh+socks – ssh tunnel的socks性能与稳定性不佳。...

计算机与语言随想

现在编程语言大多是英语,而变量命名中有一重要建议是单词不用缩写除非约定成俗,否则会对他人阅读造成不便。
为此我一直想,同样都是单词,对于不认识的人是没有区别,控制器不管是叫Controller还是叫Cono。所以最好能有语言学家兼计算机学家能创立一套新的语言或标准,或许只有数百字根就可以描述90%的计算机所常用的单词。
微软过去流行过匈牙利命名,比如szName,iAge,这种命名法除了过于冗长,且无法发音。现在匈牙利虽然遗弃了,保持可读性下,著如NetworkException,FooController...

Cacti的使用

Cacti的使用
Cacti是一款可在线浏览的系统状态监测工具。
一、下载Cacti
Cacti官方下载地址
写这篇文章时的版本为 0.8.8a
解压cacti到可以通过HTTP访问的目录
$ tar xf cacti-0.8.8a.tar.gz
$ ln cacti-0.8.8a cacti -s
本文为 http://127.0.0.1/cacti
二、配置Cacti
includes/config.php
$database_type = "mysql";
$database_def...

Linux下的数据统计

最近2天CSDN的密码泄漏,部份人可能会像我一样去作一些统计,比如邮箱占有率等一些数据。统计方式五花八门,但我觉得在Linux下用命令组合统计最为方便。
一、基本统计
先看密码文档 www.csdn.net.sql 格式
用户名 # 密码 # 邮箱
以’ # ‘分列
3个字符可以用awk等进行切割
使用到的相关统计命令与参数为
sort
-g 按照 常规数值排序
-r 逆序输出排序结果
-k 排序的列
uniq
-c 统计数量
-d 只输出重复的行...