文章列表
 
您正在查看 "每天多学一点点" 分类下的文章

2010-09-25 22:24

有这样一个gem可以识别字符串的编码格式

叫做chardet

使用方法

安装:sudo gem install chardet

示例代码:

Ruby代码
  1. irb(main):> require 'rubygems'  
  2. => true  
  3. irb(main):> require 'UniversalDetector'  
  4. => true  
  5. irb(main):>p UniversalDetector::chardet('Ascii text')  
  6. {"confidence"=>1.0, "encoding"=>"ascii"}  
  7. =>nil  
  8. irb(main):>p UniversalDetector::chardet('åäö')  
  9. {"confidence"=>0.87625, "encoding"=>"utf-8"}  
  10. =>nil  


同样也可以识别GBK、GB2312等字符串格式


常用:
转换成utf-8格式

Ruby代码
  1. require "iconv"  
  2. Iconv.iconv("utf-8", UniversalDetector::chardet(str)["encoding"],str)  



参考资料:
http://snippets.aktagon.com/snippets/159-Detecting-file-data-encoding-with-Ruby-and-the-chardet-RubyGem

转载:http://www.javaeye.com/topic/565606

 
2010-02-08 18:14
#检查当前的linux环境版本
uname -a
输出:2.6.9-5.EL #1 Wed Jan 5 19:22:18 EST 2005 i686 i686 i386 GNU/Linux

#设置go语言的环境变量
vi .bashrc
#增加以下必要的环境参数,如果是amd64位系统或者非linux 参考安装文档http://golang.org/doc/install.html
export GOROOT=$HOME/go
export GOARCH=386
export GOOS=linux
export GOBIN=$HOME/bin

#检查环境变量设置
env |grep GO

#检查是否有必要的 mercuial包,即输入
hg
#命令是否系统有回应,没有则需要安装
#首先去http://mercurial.selenic.com/wiki/Download 下载源码。
wget http://mercurial.selenic.com/release/mercurial-1.4.3.tar.gz
gunzip mercurial-1.4.3.tar.gz
tar -xvf mercurial-1.4.3.tar
cd mercurial-1.4.3
make install
#安装完毕后测试hg命令是否ok

#下载Go的源代码
hg clone -r release https://go.googlecode.com/hg/ $GOROOT

#检查编译环境
make
gcc
awk

#开始进入go的安装,进入src目录后执行all.bash脚本代替传统的./configure && make && make install
cd $GOROOT/src
./all.bash

#如果编译过程中没有出现错误或者权限问题,设置bin目录到path中
vi .bashrc
export PATH=$PATH:$GOBIN

vi hello.go
===code============
package main
import "fmt"

func main() {
fmt.Printf("hello, world\n")
}
====code end========
#GO语言不同的安装环境编译和运行指令不尽相同,比如在我用的linux+386环境就是 8g & 8l
8g hello.go
#得到编译后的输出文件,也是用8结尾 hello.8
#link该文件,因为不写c,应该是和c类似吧
8l hello.8
#在当前目录下得到一个 8.out的文件
./8.out

转载:天才狐狸在JavaEye的技术博客
 
2009-05-04 22:52
puts "\n\object.methods : "+ object.methods.sort.join("\n").to_s+"\n\n"

可以直接得到当前对象的全部方法列表,并且按照字母排序后换行输出
 
2009-02-04 18:26
每次配置<direcotry>的时候都要抄上这几句:
Order allow,deny
Allow from all
Deny from www.sina.com.cn

之前总是当八股文抄的,今天仔细的Google了一下才发现是这个意思
Order allow,denny 的意识是先检查allow的规则,其后再检查denny的规则
然后再配置 allow和denny的规则
具体的解释去看看这个网站:http://ubuntu.guoshuang.com/2008/05/15/apache-order-denyallow-%E5%90%AB%E4%B9%89/
 
2009-01-22 17:29
Rails默认的输出是html格式,即使输出的数据是XML格式的数据,因为Response的ContentType被设置为text/html,所以也无法在firefox下正常浏览; 解决这个问题的办法就是安装 Rails Plugin: xhtml_content_type 的插件 1 ruby script/plugin install http://svn.codahale.com/xhtml_content_type 2 修改需要输出XML的controller方法,在render 后面增加参数:content_type => :xml 这样,再通过Firebug去看response的contentType就是"XML charset=utf-8" 具体内容看http://blog.codahale.com/2006/05/23/rails-plugin-xhtml_content_type/
 
2009-01-14 0:28
今天心血来潮装了个Visa64,听袋袋熊说OpenVPN在这下面有路由的问题,没想还真是这样的。没有VPN咱啥都干不了,搜一下解决吧,看Google上的“OpenVPN visa”还真有好用的方案,可以都是英文的,翻译如下:

1 最好是安装OpenVPN的最新版本,比如openvpn2.0.9-gui-1.0.3-install.exe
2 编辑安装目录\config下的 *.ovpn 文件,在文件的最末端增加2行,具体干什么的目前还不清楚
     route-method exe
     route-delay 2
3 自己建立OpenVPN的快捷方式或修改安装时默认建的快捷方式,在属性的对话框中选择“高级”后将“用管理员身份运行“的复选框钩上。

好了,终于可以识别内网的IP了
 
2009-01-08 18:39
因为需要知道很多系统任务是否正常执行,需要在执行结束发邮件标记状态。否则就需要上服务器查问题。在网上找到这段sendmail的代码

require "net/smtp"

#输入邮件的标题/内容和目标地址的列表
def sendemail(subject,content,to=nil)
    from = "qiang.zhou@qunar.com"
    to = ["qiang.zhou@qunar.com"] if to.nil?
    sendmessage = "Subject: "+subject +"\n\n"+content
    #初始化smtp的服务,包括smtp服务器域名或地址/端口/发送邮件的邮箱/发件人/密码/操作
    smtp = Net::SMTP.start("mail.tc.com",25, 'geniusfox@baidu.com','geniusfox@baidu.com', '1234sfg',:login)
    smtp.send_message sendmessage,from,to
    smtp.finish
end
 
2008-11-19 1:22
recaptcha.net/ 是一个免费的认证码服务;包括认证图片的生成,提交后的后段校验服务。整个认证的流程如下:

1 用户访问网站的页面,同时会出发页面中的JS去访问recaptcha的认证服务
2 recaptcha直接返回需要识别的图片和这个图片对应的一段加密的数据
3 用户输入认证码后,程序提交用户的输入和之前recaptcha返回的加密数据段到我们网站的后台
4 后台程序根据用户输入、加密的数据、访问用户的IP地址和在recaptcha注册时得到的private key。发送认证请求到recaptcha。
5 通过返回的信息,确认用户的输入是否正确。


如果想用recaptcha的服务只需要简单的几个步骤
1 访问recaptcha.net,注册新用户,确定需要认证服务的网站域名(www.ct.com)。得到相应的公钥和私钥
2 创建测试的页面c.html放到www.ct.com的根目录,代码如下
<html>
    <body>
    <form action="/test-recaptcha.jsp" method="post">
    <script type="text/javascript"
       src="http://api.recaptcha.net/challenge?k=6Lfp9QMAAAAAADSCcn_ZEuo1LtxReBaT2t1kVnL1">
    </script>

    <noscript>
       <iframe src="http://api.recaptcha.net/noscript?k=6Lfp9QMAAAAAADSCcn_ZEuo1LtxReBaT2t1kVnL1"
           height="300" width="500" frameborder="0"></iframe><br>
       <textarea name="recaptcha_challenge_field" rows="3" cols="40">
       </textarea>
       <input type="hidden" name="recaptcha_response_field"
           value="manual_challenge">
    </noscript>
    <input type="submit" name="test" value="test" />
</form>
    </body>
</html>
3 访问www.ct.com/c.html后看到如下页面


4 创建test-recaptcha.jsp来判断用户的输入是否OK
<%
ReCaptchaImpl cha = new ReCaptchaImpl();
cha.setPrivateKey("私钥");
ReCaptchaResponse res = cha.checkAnswer(request.getRemoteAddr(), request.getParameter("recaptcha_challenge_field"), request.getParameter("recaptcha_response_field"));
if(res.isValid()) {
//校验失败
out.println(res.getErrorMessage());
}
else {
   //成功
}
%>
 
2008-06-19 10:08
grep "c=google[5-9]\{1,2\}" tomcat*/2008-06-18 > ~/content.txt

这个表达式可以匹配所有 c=google5~c=google99 的所有行。\{ \} 是表示这个是reg的字符,而不是普通的字符。

参考:show.rednet.cn/user1/213546/archives/2007/35795.html 这里写的很好!!
 
2008-06-03 22:44
1 DAYOFYEAR
   select dayofyear('2008-06-02') 获得指定日期是该年的第多少天; 依次类推的函数还有 dayofweek() 和 dayofmonth()

2 REGEXP

要进行更加复杂的字符串比较,REGEXP函数常常要比用滥了的LIKE语句更加强大。这个函数会把一个表达式与一个正则表达式模式进行比较,如果找到匹配的,它就返回布尔值——真。下面是这样一个例子:

mysql> SELECT 'The Matrix' REGEXP '[u-z]$';
+------------------------------+
| 'The Matrix' REGEXP '[u-z]$' |
+------------------------------+
|                            1 |
+------------------------------+
1 row in set (0.00 sec)

 
2008-05-23 18:27

1 用'irb' 指令可以直接用交互的方式测试ruby代码,这个用来测试正则表达式太帅了

2 用 .object_id 获得对对象指针

3 .inspect 显示对象的所有内容

 
2007-12-25 22:37
现在发现Ruby真是有些不靠谱的地方。为了开发Web Service的程序,用gem安装的soap4r,然后反转成ruby代码。以为就跟用asix是一样的,傻瓜的方法调用。没想到竟然运行生成的client的程序会有个“uninitialized constant SOAP::Mapping::EncodedRegistry (NameError)”的错误。无论是去反转Google的代码还是其他都同样错误。
:( 现在解决了这个问题,原来是我安装的soap4r是个有问题的版本。soap4r1.5.8.卸载后退到1.5.5就什么事情都没有了。我真是服了。
 
2007-12-19 15:26

在window环境下因为本地默认编码是gbk。所以如果不设定client的编码去链接MySQL的数据库,如果表内数据使用utf-8的编码存储,一般结果就是???啦!简单的解决办法就是

mysql --default-character-set=gbk -h 192.168.0.240 -u geography -p geography

 
2007-12-19 11:24

   默认的rails启动都是test的模式,这个没有任何的cache,而且代码每次都重新load。俺记得rails启动的时候是可以像jsp一样选择预编译那样,不要浪费以后的时间在检查代码更新了。

   在rails的项目上 script/server --help 发现有个-e的参数可以选择启动的环境参数,所以用这个命令 script/server -e production 就OK啦

 
2007-12-17 15:37

因为ruby没有RedHat下的rpm文件,只能自己用源码编译。这个可是我最不擅长的事情啊!

1 去ruby上下载1.8.5版本的tgz包,不要1.8.6的啊!那个连MySQL5.0有问题

2 解压缩后按照README文档,先./configure。然后编辑生成的defines.h文件,将ruby的环境编辑加到/usr/bin里面去。

3 运行make命令,问题就出在这里了。程序不停的循环输出check的信息就是不编译。让高人看了make的脚本才发现,原来他要检查系统时间。如果系统时间相差太多。就不停的循环检查。去redhat.com上更新了时钟,谁人我倒霉系统还在2003年哪!。OK,世界清净了。gcc开始工作

4 :( 安装以后发现没有gem命令,没有这个怎么装rails啊!算了看来linux下面什么都要自己来,再去下在个RubyGems吧,0.9.2就可以了。解压缩后运行ruby setup.rb

6 终于开始安装rails了,因为实在不会用2.0的Rails,先装个1.2.5吧。运行 gem install rails -v 1.2.5 -r --include-dependencies

 
   
 
 
文章分类
 
   
 
文章存档
 
     
 
最新文章评论
  

回复zhouciming:因为你按c的时候没按住shift,要大写的C
 

为什么我建立的那个.prj文件内容只有这么一行呢? ebmsrc=E:\Program\C\ybmnew CD=.
 

可以考虑使用具体地举一个例子,这样更容易让别人明白
 

学习了
 

进入vi后,输入\C(注意输入“\”跟“Shift+c”要快点)。 在没有输入光标的情况下,
   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu