易栈网-膘叔

浏览模式: 标准 | 列表 | 图文
转:2011-10-12 PHP重用curl句柄, CURLOPT_HTTPGET的BUG

转: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才是正确的方法.

go开发二三事

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有几个方法:
type ByteOrder interface {
Uint16([]byte) uint16
Uint32([]byte) uint32
Uint64([]byte) uint64
PutUint16([]byte, uint16)
PutUint32([]byte, uint32)
PutUint64([]byte, uint64)
String() string
}

实在太实用了

用ST2写go程序时遇到的坑

用ST2写go程序时遇到的坑

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

func Fuck{

fmt.Println("fuck")

}

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

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

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

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

KDS:外牌上高架扣分吗?

KDS:外牌上高架扣分吗?

外牌上高架扣分吗?

以下的回复来自KDS,部分字眼不习惯的请斟酌:
搞清楚么就可以了 就两种情况:

1。一切没和真人CT交流的违章 全部算在车身上。(电子CT拍到额 违章停车额) 只罚钱不扣分。

2.被活人CT栏下来的违章 就是个BY邦侬敬礼以后问侬要证额 就要罚钱和扣分了。

验车: 车牌本地的1+2要消特 否则验不了。
审驾驶证: 驾驶员个人的2要消特 否则不让验。
dwz的dialog的曲线救国

dwz的dialog的曲线救国

dwz其实在几年前就用过。但最近在做一个后台,于是又准备重操起来

在使用dwz的dialog的时候,我想利用它做一个登录框,但明显我不可能,也不允许用户关闭这个dialog,但dwz默认的dialog都是有一个最大化和关闭的。最多只是close可以传递一个能够return boolean的function。。。。
虽然我在加dwz作者QQ的时候,他说加一个display:none的CSS属性就可以了,但说老实话,我又不可能加全局的。我能干嘛?针对这个ID?在创建的时候指定固定的ID?然后加CSS?或许这是一个办法,但我后来是曲线救国了
1、创建的时候,close为一个function,调用param中的值。alert一个message,然后return false
2、在表单提交 的时候,如果为false,那当然没关系 。如果是为true,怎么关闭窗口呢?
因为我设置了close为function弹出一个提示,那么就算有提示,也还是会弹个窗。所以在这里我曲线救国
在最后closeCurren()的时候,我先设置data('close',''),借此屏蔽close的方式。(当然只能在返回正确的时候才可以这么做。不然,这个关闭的提示就被取消了)
至此曲线救国完成
某公司的薪资理由

某公司的薪资理由

不便说哪家公司。随便猜吧

以所谓的股票总价来刺激你加入公司,然后第一年是没有股份的,第二年会根据第一年的工作测评,如果测评的高,最多可以拿到价格50万左右的股票。当然也可能一分没有
正因为可能会拿到价值50万的股票,所以工资会给你压的很低。这时候就看你是怎么想的了。
其实你细想一下,当初你开的薪资需求到最后他给你的薪资需求,中间的差价,再算上公司应付的费用。一年下来,1/3的股票价就来了。
再加上一签就是3年,再算上正常的公司涨薪幅度,即使你没有股票拿,你其实也可以拿到了差不多50万左右的股票了,当然肯定没有50万这么高
如果你的表现不合人意,比如你就拿到了10万~20万,或者一分没有,你就相当于你尽亏了10万左右。如果这样干三年,你就相当于损失了20~30万的薪酬。
怪不得,所有的涉及到的薪资的网站上都写着。该公司的薪资是完全不符合互联网公司底价的。看到某网站记录,该公司的高级开发,工资写的是8000多。
当时我就震精了。
怪不得公司规模发展的越来越大,都是从员工身上剪毛,然后画个大饼给你,如果你第一年结束拿的少了,你会觉得离开不合算,因为可能第二年还有。。就这样被吊住 了,因为你到后面,如果再离开,损失的会更大。
当然,这也可能是我的猜测,当不得真的,但工资远低于互联网公司的平均水平是真的。
转:在Dock上显示你最近使用过的10个软件

转:在Dock上显示你最近使用过的10个软件

转一篇来自macx的好文章:

堆栈(Stack)就是Mac OS X最下方的Dock栏最右侧的“特殊文件夹”,通过使用堆栈,我们可以快速访问文件和应用程序,最常见的堆栈就是自带的“下载”和“文稿”的堆栈了。

下面说的是为Dock栏增加一个特殊的堆栈,可以显示你最近在Mac上使用过的10个软件(或文稿),这个功能可以非常适合一部分朋友的使用习惯。


开启方法也非常简单,首先通过Spotlight搜索,找到系统自带的“终端”,输入如下代码,并回车:
defaults write com.apple.dock persistent-others -array-add '{ "tile-data" = { "list-type" = 1; }; "tile-type" = "recents-tile"; }'
复制代码
之后再输入如下代码,并回车:
killall Dock
复制代码
这样在你的Dock右侧,就会出现这个新的最近使用程序的堆栈了


当然你不想要这个新建的堆栈的话,只需要拖动到废纸篓即可删除,很方便。
注意一下Dock是有大小写的。这点和windows确实不一样。win下几乎是没有大小写之分。。。所以你不可能创建A.txt和a.txt在同一目录里。而*nix则可以,不要蛋疼。。
杂记

杂记

好久没有写杂记了,不是因为没事做,而是因为事情太杂,但又没什么大事。所以觉得没有什么可写罢了

1、学费:这个暑假和下半学期的的小朋友的课外学习费达到了1.5w,其中有:绘画、电子琴、珠心算、拼音与朗诵、英文
2、电影:看了一些,我爱灰太狼让我记忆犹新。原来赵英俊就长这样。。。。我要我们在一起?谁相信啊
3、温度:最近这几周的温度确实 让人受不了,有史以为,天气预报也报了40度。不可思议
4、淘宝:最近淘宝客的规则改的让人受不了,因为他的一些规则就把APP几乎处理在外面了,阿里妈妈也越来越功利性了。不过他本来就是功利性的,难道不是?
5、微信:自从升级到5.0,除了男人爱打飞机,很多妹子也开始打飞机了。。
6、技术:了解到锅巴和astaxie开始要准备为go在上海搞一些聚会之类的,要先搞个圈子
7、网站:jjdaily.net 初步上线,其实有一些想法,暂时还没有准备,已经放在日程里了
8、网站:其实从早期到现在开始,一直有要做美食类的网站,素材和程序早些年写了一半后来就扔掉了。在做jjdaily.net的时候,会把它重拾起来,里面会有几个小功能:图片库、短信、微信、多站点CMS、还有美食的构思
9、其它:最近在点名时间上关注一些项目,不知道我会不会将我的美食项目也扔到上面去。
结束语,套用李开复说的话:只要不是智商很低,总能就某样事情发表出自己的想法的,但真正能将这些想法付诸实施,那就得有一个有执行力的团队。
昨天系统维护,结果早上忘了数据库没有启动成功

昨天系统维护,结果早上忘了数据库没有启动成功

如题。。。失误

不过,过段时间可能我就会上一个镜像站了。(还在考虑中,主要是费用太高了)
目前,有一个40刀的香港VPS在使用,还有当前这个VPS差不多20刀。每月开销60刀左右,压力有点大
还有一个专门用来爬梯子的VPS,很小,一年15刀
还有一个早年的VPS,到10月分。一年36刀

即:到10月左右 ,还剩3个VPS在使用。有压力啊。。。
被苹果推送服务吃药了

被苹果推送服务吃药了

苹果的推送服务让很多人觉得这是推广自己内容的手段,而且基于这个推送可以做很多事

1、纯内容
2、指定内容(点击后,可以打开指定文章等)
3、提醒用户,你该使用我们的APP了
4、后台下载(国内用这个功能的人很少。大部分都是电子杂志在用,其实,苹果的更新文件也是用的这个功能【听说】)
但我最近被它吃药了。
推送的时候,发现数字是1,3,2,4,10,8,5,6,7,9之类的顺序在跳动。
哦,这个数据是消息未读数,为什么会有这种情况呢?是我们推消息推的太频繁了。猜测苹果的推送明显是多线程的。推的过快的时候,他是多条就相当于在一起发,然后由于网络的关系,收到信息就有先后了。于是我们就看到提示的数字在不停的变大变小。。。
而且最主要的是,我们TMD还没办法改。。。苦逼