2015年3月1日星期日

[PerlChina] 2015年3月15日上海Perl社区技术沙龙活动通知

2015年3月15日上海Perl社区技术沙龙活动通知:

讲座主题:《Perl在AWS云计算环境数据仓库操作实践》

报名邮箱:xu.hejun@163.com
时间:2015年3月15日(周日)下午14:00 至 16:00
地址:上海市浦东新区亮秀路112号Y2座7层(近高科中路湖秀路)



备注:会打乒乓球的可以带上拍子,参加完活动,可以打会儿乒乓球。。

--
您收到此邮件是因为您订阅了Google网上论坛上的"PerlChina Mongers 讨论组"群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到perlchina+unsubscribe@googlegroups.com
要发帖到此群组,请发送电子邮件至perlchina@googlegroups.com
访问此群组:http://groups.google.com/group/perlchina
要查看更多选项,请访问https://groups.google.com/d/optout

2015年2月3日星期二

Re: [PerlChina] git submodule与subtree现在那个用得多?

没用过subtree(第一次听说),一直用submodule,

搜索了一下,


原文作者认为subtree可以接受的缺点:

In my opinion the drawbacks are acceptable:

  • You must learn about a new merge strategy (i.e. subtree).
  • Contributing code back upstream for the sub-projects is slightly more complicated.
  • The responsibility of not mixing super and sub-project code in commits lies with you.
2,3 对我来说有点不可接受。

submodule 是独立的一个repo,每次更新了submodule,

只要到再到主repo 的根目录,commit 一下就好了(更新一下在主repo 中的hash)

我觉得没法再简单了。







2015-02-03 19:20 GMT-08:00 Beckheng Lam <bi.ken.lam@gmail.com>:
Hi All,
RT.
一直没有用过。
请用过的童鞋科普下。:)

--
您收到此邮件是因为您订阅了Google网上论坛上的"PerlChina Mongers 讨论组"群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到perlchina+unsubscribe@googlegroups.com
要发帖到此群组,请发送电子邮件至perlchina@googlegroups.com
访问此群组:http://groups.google.com/group/perlchina
要查看更多选项,请访问https://groups.google.com/d/optout

--
您收到此邮件是因为您订阅了Google网上论坛上的"PerlChina Mongers 讨论组"群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到perlchina+unsubscribe@googlegroups.com
要发帖到此群组,请发送电子邮件至perlchina@googlegroups.com
访问此群组:http://groups.google.com/group/perlchina
要查看更多选项,请访问https://groups.google.com/d/optout

[PerlChina] git submodule与subtree现在那个用得多?

Hi All,
RT.
一直没有用过。
请用过的童鞋科普下。:)

--
您收到此邮件是因为您订阅了Google网上论坛上的"PerlChina Mongers 讨论组"群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到perlchina+unsubscribe@googlegroups.com
要发帖到此群组,请发送电子邮件至perlchina@googlegroups.com
访问此群组:http://groups.google.com/group/perlchina
要查看更多选项,请访问https://groups.google.com/d/optout

2015年1月9日星期五

[PerlChina] Re: 代发 1月18号 Perl上海社区活动

支持楼主!

在 2015年1月7日星期三 UTC+8下午12:26:51,Fangyuan写道:
Perl 上海社区2015年第一次活动:
Perl 的 Test-Driven Development  开发模式实践
时间 :2015年1月18日 下午 14点至16点
地点: 上海药物研究所 浦东张江祖冲之路555号
报名邮箱 : xu.hejun at 163.com

--
您收到此邮件是因为您订阅了Google网上论坛上的"PerlChina Mongers 讨论组"群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到perlchina+unsubscribe@googlegroups.com
要发帖到此群组,请发送电子邮件至perlchina@googlegroups.com
访问此群组:http://groups.google.com/group/perlchina
要查看更多选项,请访问https://groups.google.com/d/optout

2015年1月6日星期二

[PerlChina] 代发 1月18号 Perl上海社区活动

Perl 上海社区2015年第一次活动:
Perl 的 Test-Driven Development  开发模式实践
时间 :2015年1月18日 下午 14点至16点
地点: 上海药物研究所 浦东张江祖冲之路555号
报名邮箱 : xu.hejun at 163.com

--
您收到此邮件是因为您订阅了Google网上论坛上的"PerlChina Mongers 讨论组"群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到perlchina+unsubscribe@googlegroups.com
要发帖到此群组,请发送电子邮件至perlchina@googlegroups.com
访问此群组:http://groups.google.com/group/perlchina
要查看更多选项,请访问https://groups.google.com/d/optout

2015年1月3日星期六

[PerlChina] 招聘Perl Web前端和后端开发工程师(工作地点 上海)

公司名称:上海磐拓电子商务有限公司
我们是一家年轻的公司,在线销售多个品牌的户外运动装备。
现在招聘网页前端和后端开发两个职位,欢迎有意向做Perl Web开发经验的同学们加入,请将简历发到chengfangyuan#pantuo.com.cn(用@替换#)。


招聘职位详细信息如下:

Web Programmer
网页工程师

工作职责
1.将设计师的设计稿以及交互设计师的交互设计完整的实现;
2.负责前端框架搭建
3.不断研究新技术,并且很好的应用到产品中
4.参与产品需求、设计阶段的工作并从前端的角度提出意见
5.以用户为核心的开发工作,从前端的角度充分考虑用户体验、美观度及响应式网页设计;
6.主流浏览器兼容性测试(IE需支持IE8及以上);
7.改善代码,不断提升用户使用体验;

任职资格
1.学历:大专毕业以上
2.相关工作经验:2年以上 Web 前端工作经验
3.技能:
-熟悉 HTML5/CSS3/Javascript,熟悉jQuery框架,理解Ajax原理;
-掌握 SASS, Underscore.js, Grunt.js, Bootstrap框架 更佳;
4.良好的学习能力,能够独立解决技术问题更佳;
5.良好的沟通能力,具备团队合作精神
6.能独立在指定时间完成工作
7.有过电商类网站开发经验优先
8.遵守团队的代码格式、结构的规定,编写易读、易维护、高质量、高效的代码


System Programmer
系统工程师

工作职责
1.负责电子商务网站前端和后端程序开发/测试;
2.负责参与业务需求分析;
3.负责参与业务逻辑设计;
4.负责项目概要设计、详细设计、开发计划等的编制并实施;
5.负责系统开发测试、部署和集成;
6.负责解决开发过程中的技术问题;
7.参与代码维护与备份;

任职资格
1.学历:大专毕业以上
2.相关工作经验:2年以上
3.技能:
- 熟悉网站开发技术,HTML/CSS/Javascript;掌握SCSS/Grunt.js加分;
- 熟悉Perl语言,或者熟悉PHP/Python/Ruby,愿意学习Perl;
- 熟悉后端模版技术,掌握Template::Toolkit加分;
- 熟悉MySQL数据库,数据库设计/查询优化;
- 熟悉Linux/Mac开发环境;会使用 Git/Vim 加分;
- 良好的学习能力,愿意学习实践新技术;能阅读英文文档加分;
4.良好的沟通能力,具备团队合作精神
5.能独立在指定时间完成工作
6.能够持续接受工作压力和挑战
7.工作态度端正,耐心,细致,有自主工作意识

--
您收到此邮件是因为您订阅了Google网上论坛上的"PerlChina Mongers 讨论组"群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到perlchina+unsubscribe@googlegroups.com
要发帖到此群组,请发送电子邮件至perlchina@googlegroups.com
访问此群组:http://groups.google.com/group/perlchina
要查看更多选项,请访问https://groups.google.com/d/optout

2014年12月21日星期日

[PerlChina] PerlChina Advent Day21: MooX::Options

# MooX::Options

在写命令行程序的时候,我们肯定都用过 [Getopt::Long](https://metacpan.org/pod/Getopt::Long) 模块。不过我在看 Message::Passing 项目源码的时候,发现这个项目用的是另一个模块,而且跟整个项目的 Moo 风格还真是非常搭。今天给大家介绍一下,这个模块叫:[MooX::Options](http://metacpan.org/pod/MooX::Options)。

这个模块的特点,就是把每个命令行参数都当做是对象属性来处理了。为了在语法上更明确一点,该模块包装了一下 Moo 的 `has` 关键字,改叫 `option` 。此外,还提供了一些便捷功能,比如自动生成数组、自动加载 JSON 等。

下面是一个比较完整的常用功能示例:

## MyAppCmd.pm 示例

    package MyAppCmd;
    use Moo;
    use MooX::Options;
    option 'verbose' => (
        is => 'ro',
        negativable => 1,
        doc => "a Bool option",
        short => 'v'
    );
    option 'float' => (
        is => 'ro',
        format => 'f',
        doc => "a Float option",
    );
    option 'string_array' => (
        is => 'ro',
        format => 's@',
        autosplit => ',',
        default => sub { [] },
        doc => "an Array contains String items, you can use ',' to split it",
    );
    option 'integer' => (
        is => 'ro',
        format => 'i@',
        autorange => 1,
        doc => "an Array contains Int items, you can use '..' to generate ranges",
    );
    option 'json' => (
        is => 'ro',
        json => 1,
        required => 1,
        doc => "a JSON option you must provide",
    );
    1;

## myappcmd 程序示例

    use MyAppCmd;
    use DDP;
    my $opt = MyAppCmd->new_with_options;
    p $opt;

## 运行效果示例:

首先试试不加任何参数:

    $ perl moox_options.md.pl
    json is missing
    USAGE: moox_options.md.pl [-hv] [long options...]
        --float: Real
            a Float option
        --integer: [Ints]
            an Array contains Int items, you can use '..' to generate ranges
        --json: JSON
            a JSON option you must provide
        --string_array: [Strings]
            an Array contains String items, you can use ',' to split it
        --verbose:
            a Bool option
        --usage:
            show a short help message
        -h --help:
            show a help message
        --man:
            show the manual

然后加全部参数:

    $ perl myappcmd --json '{"key":"value"}' --string_array=a,b,c --string_array=d  --integer=1..4 --float=1.1 -v
    MyAppCmd  {
        Parents       Moo::Object
        public methods (7) : DOES, float, integer, json, new, string_array, verbose
        private methods (2) : _options_config, _options_data
        internals: {
        format => 's@',
            float          1.1,
            integer        [
                [0] 1,
                [1] 2,
                [2] 3,
                [3] 4
            ],
            json           {
                key   "value"
            },
            string_array   [
                [0] "a",
                [1] "b",
                [2] "c",
                [3] "d"
            ],
            verbose        1
        }
    }

可以看到,`$opt` 是一个 MyAppCmd 对象,你定义的每个 option 都是一个对象属性,可以用同名方法获取其值。

--
您收到此邮件是因为您订阅了Google网上论坛上的"PerlChina Mongers 讨论组"群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到perlchina+unsubscribe@googlegroups.com
要发帖到此群组,请发送电子邮件至perlchina@googlegroups.com
访问此群组:http://groups.google.com/group/perlchina
要查看更多选项,请访问https://groups.google.com/d/optout