2010年9月26日星期日
[PerlChina] 淘宝(北京)量子统计团队的实习机会(Perl 相关)
我的部门(淘宝北京数据平台与产品部,量子统计),目前有两到三个开发工程师的实习岗位,需要大量使用到 Perl 5 来构造编译器、测试台以及各种离线的实用工具,当然还会用到 C,Lua,Erlang 和数据库/数据仓库方面的知识,现借 PerlChina 论坛 spam 一下 :P
我编写的原始的招聘信息放在了我的博客上(抱歉,是又慢又烂的 MSN 空间,历史原因了,呵呵):
http://agentzh.spaces.live.com/blog/cns!FF3A735632E41548!603.entry
有兴趣的朋友请把简历直接发到我的信箱 :)
多谢,多谢!
章亦春 (agentzh)
--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
2010年9月25日星期六
Re: [PerlChina] lwp实现鉴权并下载文件
> Hello Qiang,
>
> 我直接用$browser-get($relink); print content还是要求登录输入用户名密码的页面。
>
又看了一下你的代码,你没有把 cookie 打开。
$browser->cookie_jar({});
有空把这篇文章看看 http://wiki.perlchina.org/LWP与WEB的基本使用
> 于是我后来才尝试用post加用户名,密码,结果这次倒是不要求登录了,print content啥内容都没有了……
>
>
Qiang
--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
RE: [PerlChina] lwp实现鉴权并下载文件
我直接用$browser-get($relink); print content还是要求登录输入用户名密码的页面。
于是我后来才尝试用post加用户名,密码,结果这次倒是不要求登录了,print content啥内容都没有了……
-----Original Message-----
From: perlchina@googlegroups.com [mailto:perlchina@googlegroups.com] On Behalf Of Qiang (James)
Sent: 2010年9月23日 22:40
To: perlchina@googlegroups.com
Subject: Re: [PerlChina] lwp实现鉴权并下载文件
登录后抓到文件下载的地址后,你的 $browser 相当于已经登录的浏览器,此时直
接用 $browser 抓取文件即可,不需要再 post 了。
Qiang
On 09/20/2010 02:43 PM, ZHANG Jiaqiang A wrote:
> 大家好,
> 我第一次用lwp遇到了困难,请大家给点建议。
> 想用lwp实现下面的情景(在浏览器下手动跑没有问题):浏览器地址栏输入一个
> URL(https),然后用户被要求输入用户名和密码,输入正确后,弹出了保存文件的
> 对话框,保存文件到本地。
> 我的做法:我先连同用户名,密码,发送URL,得到的回复如下:
>
> <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
> <html><head>
> <title>302 Found</title>
> </head><body>
> <h1>Found</h1>
> <p>The document has moved <a href="https://xxx">here</a>.</p
> <https://xxx">here</a>.</p>>
> </body></html>
>
> *我猜*这是让我到 href指向的链接去拿文件吧?然后我用TokenParser把这个新的
> URL解析出来,连同我原来的用户名密码发出去,*然后print
> reseponse->content() 为空!*
> 不知道是哪里不对,这种问题怎么debug呢?
>
> # cat -n lwp.pl
> 1 #!/usr/bin/perl
> 2
> 3 use strict;
> 4 use LWP;
> 5 use HTML::TokeParser;
> 6
> 7 my $user = 'xxxxxx';
> 8 my $passwd = 'xxxxxx';
> 9
> 10 my $browser = LWP::UserAgent->new();
> 11
> 12 my $url = 'https://......';
> 13 my $response =
> 14 $browser->post( $url, [ 'username' =>, $user, 'password' =>
> $passwd ], );
> 15 my $content = $response->content();
> 16
> 17 my $stream = HTML::TokeParser->new( \$content );
> 18 my $relink;
> 19 while ( my $token = $stream->get_token() ) {
> 20 if ( $token->[0] eq 'S' ) {
> 21 my ( $tagname, $attr ) = @$token[ 1, 2 ];
> 22 print "tag:", $tagname, "\n";
> 23 if ( $tagname eq 'a' ) {
> 24 $relink = $attr->{'href'};
> 25 }
> 26 }
> 27 }
> 28
> 29 print "relink", $relink, "\n";
> 30
> 31 $response = $browser->post(
> 32 $relink,
> 33 [
> 34 username => $user,
> 35 password => $passwd,
> 36 ]
> 37 );
> 38 print "response begin\n";
> 39 print $response->content(); # ..
> 40 print "response end \n";
> 41
>
--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
Re: [PerlChina] 请教一下,又没有这样的module!
保存所有的运行环境?这不可能2010/9/10 bob yang <learnin9@gmail.com>1:做个flag呢?--在 2010年9月10日 上午8:46,Michael Zeng <galaxy2004@gmail.com>写道:写文件倒是一个简单的方法
2010/9/8 Xiaojun Deng <xjdengz@gmail.com>
2010/9/8 亮康 <kangliang1982@gmail.com>:
> 我想让Perl脚本,运行到某一个地方调用该模块退出,并保存当时的所有运行环境,然后再次启动脚本可以使用这个模块恢复环境,继续执行退出的下一条语句。有些信息是内核才知道的吧,比如当前的 EIP 寄存器的信息,就是保存当前指令的。
> 不知道有没有这样的模块?
>
可以把相关的统计信息写到文件中,再次启动时候初始化相关信息,然后从停掉的那条语句开始。
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
--
Yours Sincerely
Zeng Hong
--您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
--您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
Re: [PerlChina] Re: 求教一个算法
Thanks so much everyone!
> > 恳请高手们帮忙指教。非常感谢!- Hide quoted text -
On Sep 7, 10:30 pm, Helc <crys...@gmail.com> wrote:
> #!/usr/bin/perl
> use strict;
> use warnings;
> use Data::Dumper;
>
> my %hash;
> my %line;
> while(<>){
> my @a = split;
> for (my $i=0;$i<=($#a-1);$i++) {
> $hash{$a[0]}->[$i] += ($a[($i+1)] ne 'NA') ? $a[($i+1)] : 0;
> $line{$a[0],($i+1)}++ if ($a[($i+1)] ne 'NA');
> }
>
> }
>
> for my $k (keys %hash) {
> for (my $i=0;$i<=(@{$hash{$k}}-2);$i++) {
> $hash{$k}->[$i] /= $line{$k,($i+1)};
> }}
>
> print Dumper(\%hash);
>
> 43000行,35列,试了下,4.04妙
>
> On 9月8日, 上午12时33分, chunjiang he <camel...@gmail.com> wrote:
>
>
>
> > 求教一个算法,上次问过,但是还是没有搞清楚。
>
> > 比如有这样一个矩阵:
>
> > sex 7.2 3.8 6.8 9.2 5.6
> > sex 5.4 2.3 4.6 8.9 9.0
> > sex 6.7 NA 7.8 9.0 3.1
> > goo 2.4 6.7 NA 9.0 2.1
> > goo 2.1 5.6 7.8 9.7 1.2
> > pkk 2.5 4.3 6.5 4.9 0.2
> > pkk 2.1 3.4 3.2 NA 4.6
> > pkk 3.2 5.6 6.7 9.1 2.2
> > ...
> > ...
> > ...
>
> > 这个矩阵很简单,就是有一些同名的行,现在我要做的是,把这些同名的行的数据按每一列合并起来,按什么合并,按照每一列的平均值来合并
>
> > 就是说,比如行名为sex的行,第一列数据为: 7.2, 5.4, 6.7 那么第一列的平均值就是(7.2+5.4+6.7)/3=6.4,
> > 第二列数据为3.8, 2.3, NA, 那么平均值就是 (3.8+2.3)/2=3,
> > 以此类推,得到每一列的平均值,作为最后的值,那么行名为sex的行最后就合并为:
> > sex 6.4 3 ....
>
> > 就是要写这样一个程序,原理很简单吧,但是鄙人的水平有限,写的程序效率上不去。
>
> > 我是这样写的,
>
> > 先用一个hash存下所有的行名:sex, goo, pkk.....
>
> > 然后遍历这个hash, foreach (%hash) { }
>
> > 每一次,把相同行名的行取出来放到一个数组@num中
>
> > 这个矩阵有一个值是确定的,那就是列数是确定的,所以对每一个数组@num, 我用for($i=0;$i<列数;$i++)
> > 循环,把每一列取出来,放到一个新的数组@haha中
>
> > 然后for($j=0;$j<@haha;$j++) 把@haha的平均值算出来,作为这一列的最后的值
>
> > 就是这样。。。
>
> > 程序我是写出来了,对于行数和列数都比较少的情况,程序没有什么问题。但是如果我有大量的行和列,比如有40000行,500列,这种情况下,这个程序就不是一 两天能跑完的了。我跑了三天,还没有跑完。工作情况是不允许我跑这么久的。
>
>
> - Show quoted text -
--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
Re: [PerlChina] 请教在nginx中如何在返回的header中后端server的端口,ip等的问题
> HI
>
> add header 的方法不是已经可以了嘛, 呵呵。
>
> agentzh 用的是echo模块, 把这两个变量打印出来,
>
> 建议你搜搜他的他的讲义, 之前他好像给过, 搜不到就直接问他要吧
>
> xunxin
>
>
> 2010/9/17 Eric.M <frederick.mao@gmail.com <mailto:frederick.mao@gmail.com>
>
> 记得在五道口的聚会上,好像agent提到过可以用nginx来实现这一功能,希
> 望能在header中得知,此次负责执行的到底是哪个ip,哪个端口的 server,
> 不知道是怎么实现的,我只找到了add_header这么一个方法,却不知道如何
> 获得到像127.0.1:8001这样的数据进行返回,
>
http://wiki.nginx.org/HttpUpstreamModule#.24upstream_addr
这个变量可以记录upstream的地址。
>
> 下面是我的部分nginx.conf配置
> upstream frontends {
> server 127.0.0.1:8001 <http://127.0.0.1:8001>
> max_fails=3 fail_timeout=30s;
> server 127.0.0.1:8002 <http://127.0.0.1:8002>;
> }
>
> proxy_pass_header Server;
> proxy_set_header Host $http_host;实现的
> proxy_redirect off;
> proxy_set_header X-Real-IP $remote_addr;
> proxy_set_header X-Scheme $scheme;
> proxy_pass http://frontends;
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨
> 论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> <mailto:perlchina@googlegroups.com>。
> 要取消订阅此网上论坛,请发送电子邮件至
> perlchina+unsubscribe@googlegroups.com
> <mailto:perlchina%2Bunsubscribe@googlegroups.com>。
> 若有更多问题,请通过
> http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"
> 论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
> 要取消订阅此网上论坛,请发送电子邮件至
> perlchina+unsubscribe@googlegroups.com。
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN
> 访问此网上论坛。
--
Weibin Yao
--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
Re: [PerlChina] 请教在nginx中如何在返回的header中后端server的端口,ip等的问题
记得在五道口的聚会上,好像agent提到过可以用nginx来实现这一功能,希望能在header中得知,此次负责执行的到底是哪个ip,哪个端口的server,
不知道是怎么实现的,我只找到了add_header这么一个方法,却不知道如何获得到像127.0.1:8001这样的数据进行返回,
下面是我的部分nginx.conf配置
upstream frontends {
server 127.0.0.1:8001 max_fails=3 fail_timeout=30s;
server 127.0.0.1:8002;
}
proxy_pass_header Server;
proxy_set_header Host $http_host;实现的
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://frontends;
--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。