手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2024年09月的文章

BAE的坑

 自从GAE出来后。什么SAE,ACE,BAE什么什么的就全部出来了

ACE我跑几个程序一直有问题,禁用了一些函数,所以我最近在看BAE。速度也不错,也能绑域名。所以它就成了首选。但BAE有一个坑 需要注意
 
如果你的程序的上传没有改过。那么一般都是上传在自己当前的项目目录里,而这个目录由于没有经过svn上传,所以它并不在版本库里,因此,一旦碰到BAE来一个svn迁移的事件。或者更新的时候,极有可能你上传的那些附件会全部丢失。
 
慎重。我就觉得BAE就象一个实验室。我们上传代码到BAE的svn库里。然后svn库会自动 checkout到BAE的平台。于是。。如果他们要迁移了。这些数据应该都是直接delete。然后再checkout一份。
 
建议找个程序,上传到BAE自带的存储中(就象sae的存储)。

Tags: bae

怪兽大学

 这个暑假,带了小朋友看了几部电影,但我估计印象最深 的可能就是这个怪兽大学了

我爱灰太狼,说实话,不好看,反正小朋友看了一会就在问我,还有多久结束 
开心超人,做的还行吧,但是有个很大的问题,很多笑点都是成人才能看得懂的。比如微博转发数,还有一些关于社会的冷笑话(房奴)之类的。小孩子们根本就不懂啊。
然后就是这个怪兽大学了,固然是3D对他来说是新鲜玩意,但是那些逼真的效果以及徐峥等的配音,都确实让人觉得,他们的配音是用心了的。不得不说,皮克斯的3D真心强。太TMD逼真了。对比起国内的那些3D,纯粹是在糟蹋3D
 
除此之外,自己就看了一个所谓4D版的环太平洋,我老婆就说了,这明显是奥特曼+钢铁侠嘛。第一次在环球港看这种片子,觉得很新鲜,但。。真心不建议看4D吃爆米花,毕竟谁也不知道什么时候就会有水突然漂出来。
当然更值得幸运的是,我们去的时候没遇上砍人,我们是安全的。(欲知砍人情况,请搜索:环球港 砍人)
 
怪兽大学我就不多剧透,值得一看。成人也OK

转:2011-10-12 PHP重用curl句柄, CURLOPT_HTTPGET的BUG

转的文章。主要是因为经常会用curl来抓取数据。而且几乎是http_get和http_post混用。但我没遇上这个BUG。不清楚以后会不会遇上,所以我先记录一下,以防万一遇到时候不知道怎么做。

原文地址来自:http://www.ideawu.net/blog/archives/622.html

重用一个CURL句柄时, 发现curl_setopt($ch, CURLOPT_HTTPGET, TRUE) 不起作用. 期望在调用这条语句之后发起请求, 应该发送的是GET, 但看服务器log, 却使用了和前一次请求相同的HTTP方法.

PHP脚本:

<?php $url = 'http://www.ideawu.net/';  $ch = curl_init($url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_exec($ch);  curl_setopt($ch, CURLOPT_HTTPGET, true); // 错误! BUG curl_exec($ch);  curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET"); // 正确 curl_exec($ch); ?>

web server log:

124.127.130.50 "2011-10-12 18:55:09" "POST / HTTP/1.1" 200 3516 "-" www.ideawu.net 124.127.130.50 "2011-10-12 18:55:09" "POST / HTTP/1.1" 200 3516 "-" www.ideawu.net 124.127.130.50 "2011-10-12 18:55:09" "GET / HTTP/1.1" 200 3516 "-" www.ideawu.net

这个BUG目前还没找到相关的资料.

补充: 不仅仅是CURLOPT_HTTPGET, CURLOPT_POST也有同样的问题. 所以, 结论是: 只有CURLOPT_CUSTOMREQUEST才是正确的方法.

 

Tags: curl

go开发二三事

在用go写程序的时候,遇到了一点点的事情。记录了下来

 
1、字符串转[]byte,网上有代码:MakeSlice(这是一个函数),也可以直接[]byte(string)
2、byte转字符串,这个就比较简单了 string([]byte)
3、byte转int。这时候就只能用 binary.Read(bytes.NewBuffer(buf[0:4]),binary.BigEndian, &outdata )
4、conn.Read的时候。如果我知道了剩下数据的长度时,我想 var x [len]byte,但这样会报错,out of array size,所以,经过指点是可以 x:=make([]byte,len),当然也可以x:=make([]byte,0,len),这里面其实就是Cap和len的关系了
 
---分隔线
对于上述第3点,群里的Larry说,其实可以通过binary.BigEndian.Uint32(buf[0:4])来转换。试了一下,果然可以,而且这样做之后,连bytes包也不用加载了。
再看了下文档,原来 binary.BigEndian implents ByteOrder,而ByteOrder这个struct有几个方法:
XML/HTML代码
  1. type ByteOrder interface {  
  2.         Uint16([]byte) uint16  
  3.         Uint32([]byte) uint32  
  4.         Uint64([]byte) uint64  
  5.         PutUint16([]byte, uint16)  
  6.         PutUint32([]byte, uint32)  
  7.         PutUint64([]byte, uint64)  
  8.         String() string  
  9. }  

实在太实用了

用ST2写go程序时遇到的坑

昨天下午遇到一件非常诡异的事情,即,我在程序里明明有一个公开的方法,比如:

func Fuck{

    fmt.Println("fuck")

}

但是在调用的时候一直不显示,而是提示我方法不存在。我为此折腾了1个多小时,后来到群里一问,一哥们立刻说:你试试用go run -a xxx.go

于是试用了一下,正常了。

这哥们解释说:st2等IDE为了能够做代码提示,往往都会预编译成.a的文件的,所以需要用-a参数。

做个记录。如果你遇到这个问题,也可以尝试一下

Tags: st2