Perl入学式アドベントカレンダー18日目の記事です。 Perl入学式を受講していた初心者がYAPCにトークを応募し、採択された時の事についての記事です。 まずは前提となる簡単な自己紹介です。 2012年Perl入学式に受講生として参加。 Perl入学式卒業後、2013年からはサポーターとして参加。 YAPC::Kansai2017Osakaコアスタッフをしました。 社会人ですが、エンジニアではありません。 そして、YAPC::Fukuoka2017HakataでPerl入学式卒業生として始めてトークをしてきました。(その時の様子ブログ) アイデア出し YAPCのトークに応募したい!と考えて最初にする事は、何を話すかを決めることですね。話すネタは沢山ある!という方は大丈夫だと思いますが、私はとにかくアイデアを色々出してみました。とにかく思いつく事をノートにたくさん書き出しました。 アイデア
みなさん!Perlつかってますか! ぼくは日常的に使ってます。 さて、PerlはCPANモジュールを駆使して適切な設計さえ行えば、大規模なWebアプリも構築できるほどパワフルな言語ではありますが、その本領はやはりコマンドラインツールやスクリプトとしての使われ方でしょう。 今回はコマンドラインツールとしてのperlの使い方を簡単に紹介します。 コマンドラインツール 多くのコマンドラインツールにはGNU系とBSD系の異なる実装が存在します。 たとえば、文字列置換によく使うsedはBSD系とGNU系でちょっとオプションが異なったりしますよね。 perlはsedやgrepの代替としても使うことができるわけですが、perlでそれら代替する最大の利点はOSが異なっても同じインターフェイスで扱えることでしょう。 一度覚えて手癖にしてしまえば急場でもOSの違いを気にせずにサッとログをまとめたりCSVなどを
この記事はPerl Advent Calendar 2017 16日目の記事です。 日本でもエンジニア界隈ではしっかりお馴染みとなったAdvent Calendarですが、実は英語の Perl Advent Calendarが最も古いAdvent Calendarのようです。 https://workq.qiita.com/products/adventcalendar/ ということで最古で最長のPerl Advent Calendar 2017を流し読みしてざっくりまとめてみました。 今は記事を書いている15日の記事分までしかありませんが、年内に25日までの記事を追記する予定です。 もっと過去の記事を見たい場合urlの2017を適当なものに変更すると表示できます。 そしてgithubでも公開されています。 http://www.perladvent.org/ Day1 Emoji - P
Minilla に Pull Request を送った話を思い出しつつ書いていきます。 Strawberry Perl + Minilla 皆さんはperl5をインストールした後、どのモジュールをインストールしますか? 自分は、 Minilla を早い段階でインストールしています。 Minilla は Perl Module 作成時のひな形作成や CPAN への Upload に使えるツールです。 ちょっとしたスクリプトであっても、 Minilla のひな形に合わせておく事で配りやすくなったりテストしやすくなったりと面倒が減ります。 Minilla - CPAN module authoring tool が、 Windows で Strawberry Perl 使っているとテストが Fail する(※)のでちょっと難儀します。 ※ Fail しない人もいるようなのが謎ですが・・・ $ c
この記事はPerl Advent Calendar 2017の14日目の記事です。 先月始めにアドベントカレンダーを知ったのですが、どの記事も面白くてためになりますね! その流れをぶった切って、Bio::Perlの苦い経験を書いてみました。 序盤の文章は、ほぼPerlと関係ありません。 ニッチな分野でにっちもさっちも行かなかった、消化不良な結果であることをご了承ください。 解決策がもらえると嬉しいです! 始めに 現在、バイオインフォマティクス1という名のもとに、Ensembl2から取得したラットの塩基配列3のうち、snoRNA4群をNCBI5のサイト6でブラスト7しています。 今回は、ブラスト対象、被ブラスト対象がどちらもラットの塩基配列8でなければなりません(重要)。 この全自動化を試してみました。 理想郷 PlantUML文 以下、各アクションについて説明します。 1. Ensembl
Perl入学式 Advent Calendar 2017 > 12日目 年度が変わるとまた最初の資料に戻って新しい受講生を集めるPerl入学式のカリキュラムですが、運営側でたびたび議論をしてその内容に加除が発生することがあります。 今回は、2016年度にまるまる1回分の講義を無くして全5回にした時のお話。 全6回が全5回に Perl入学式が大阪で始まった2012年度の年間12回カリキュラムは例外的・実験的としつつも、その次年度2013年度から「隔月1回、全6回、1年間を通して学ぶ」というスタイルに落ち着きました。 このころは全6回だったのですが、2016年度に全5回となり、今に至ります。 このときはまるまる1回分の講義を無くしたのですが、それが当時の全6回のうちの「第5回」にあたる「モジュール/テスト編」の回でした。 ただ、2015年度は移行期間として、2014年度まで「第5回」で行ってい
これは Perl Advent Calendar 2017 の 10日目の記事です。 昨日は @ytnobodyさんの Perlコアモジュールに寄せてみる でした。コアモジュール縛り、たまに必要になるんですが、近年の Perl だとコアにも便利機能が結構ありますよね。 今回は Minion というジョブキューを紹介しようと思います。 ジョブキューについて 「ジョブキューて何?」という方は以下の記事など見ると良いかと思います。 第10回 ジョブキューで後回し大作戦―TheSchwartz,Qudo,Q4M(1) 2011年の記事なので、少し内容が古いかもしれませんが、基本的なことは網羅されていると思います。また、Minion は比較的新しい(2014年リリース)なので、ここでは取り上げられていませんが、使い方、できることなどはだいたい同じです。 とはいえ、「だいたい同じ」では新しいものを作る
この記事はPerl Advent Calendar 2017の11日目の記事です。 昨日はtsucchiさんのMinion についてでした。Minionはv8からadmin uiが付属するようになったらしいので使わねばと思っていたところでした。 さて今日は、先日僕がメンテナになりリリースしたMouseとText::Xslateについて なぜメンテナになりリリースしようと思ったか どういう変更をしたか を書きたいと思います。 なぜメンテナになりリリースしようと思ったか MouseはShawn M Mooreさん作のPerl5に本格的なオブジェクト指向プログラミングを導入するものです。 Text::Xslateはgfxさん作の高速なtemplateエンジンです。 この2つのモジュールはどちらも広く使われていて、Perl5が今後も実用的な言語であるためにはなくてはならないものです。一方でオリジナ
こんちゃす。sironekotoroです。 このエントリは Perl入学式 Advent Calendar 2017 - Qiita 9日目のエントリが空いてたので、こそっと入れました。 さっき12月10日のアドベントカレンダー見たら perlを学ぶと彼女ができると教えてくれたので受講しました。 まじか沖縄行く ではなく、 perl入学式も中盤になったところからperlの参考書どれ買ったらいいのか、と考えていたとき とあり、そういえば、サポーターとしてお手伝いしてたPerl入学式 東京2017(上期)でも同じような質問があったなぁ、ということで、ここに個人的なオススメ本を紹介します。 重要開示 私はオライリーの「初めてのPerl」に挫折してます(3回くらい) 第5版を本で書い、挫折し、そのあと他の本で修行を積み、電子版で第6版を書って読破(というのか?)しました 以下で紹介するのは「はじめ
この記事は 「DeNA IPプラットフォーム事業部 Advent Calendar 2017」 11日目の記事です。 こんにちは。 @kaneU です。 マンガボックスという、スマホ向け電子書籍サービスのサーバーサイド/フロントエンドの担当をしています。 実はマンガボックスは、最近12月4日でサービス開始から4周年を迎えることができました。 ありがたやありがたや はじめに 深層学習や機械学習に関する記事や書籍を読むと、Pythonを使ったものが多いかと思います。 Python周りのライブラリの充実度を考えるとこのような流れは当然なのですが、 ここで僕は思うわけです。 「Pythonで出来て、Perlで出来ないわけはない!」 と。 実際、PerlにもPDLというNumPyに相当するモジュールが存在しています。 ちょこっと使う分にとても便利だし、もっと知られてほしいなと思っていたりします。 そ
Movable Typeで、バージョンアップをしたときや、新しいプラグインを追加したときに「Can't locate parent.pm in @INC...」というエラーが表示され、動作しなくなることがあります。 これは、Movable Typeコアもしくは追加したプラグインで利用する前提となっているPerlモジュール、「parent.pm」が利用中のサーバーに設置されていないことにより発生するものです。 Can't locate parent.pm in @INC (@INC contains: /home/path/to/movabletype/mt/plugins/mixiComment/lib /home/path/to/movabletype/mt/plugins/spamlookup/lib /home/path/to/movabletype/mt/plugins/Widge
この記事はPerl Advent Calendar 2017の8日目の記事です。 昨日は @masakyst さんでCarmelとcpmでした。cpm使っております! Carmelも今度使ってみよっと。 はい、どうも、Perlは古臭いなんて言わせないの会の会員のマコピーです。 宣伝 12月末に発売されるWEB+DB Press vol.102のPerl Hackers Hubを担当させていただきました。内容はゲーム開発の話なんですが、その過程で生まれたモジュールであるTest::MasterData::Declareについてここで紹介させていただきます。 Test::MasterData::Declareとは Test::MasteData::Declare - metacpan Test::MasterData::DeclareはRDBMSや表計算ソフトのような行指向データ構造(と言いつ
※このエントリはPerl Advent Calendar 2017の9日目のエントリとなります。 8日目は@mackee_wさんの担当でマスタデータを宣言的かつ高速にテストするTest::MasterData::DeclareとTest2の構造についてというエントリでした。Test2を使ったモックデータを伴うテストの記述に、大変強力そうなモジュールでしたね。 さて、本エントリではPerl5におけるコアモジュールについてのさわりと、その中でも鉄板とも呼べる非常に有用なものをいくつか紹介していきます。 コアモジュールとは? Perl5におけるコアモジュールとは、Perl5と抱き合わせでインストールされるモジュール群のことを指します。 コアモジュールとして収録されるモジュール群は、Perl5のバージョンごとに差がありますが、個人的な肌感としては、本当に鉄板とも呼べるような物は大抵5.14以降であ
この記事は Perl Advent Calendar 2017 の7日目です。 6日は songmuさんによる、 えるしっているか、Lは便利 でした。 今日は、新しいCPANのモジュールマネージャー周りのお話をしたいと思います。 Perlでプロジェクト/ツールの開発をしよう! という時に、モジュールマネージャー Carton を使われる場合が多いのではないでしょうか。 しかし、Perlでプログラムを書いていくと、依存するCPANモジュールが数百個...というのはよくある事で、プロジェクト作成毎に、数百のモジュールインストールを待つには人生は短すぎる、、、そう思われている方も多い事でしょう。 そんな時は、もう一つのモジュールマネージャー Carmel の出番です! Carmelとは Cartonと同じ作者である、Tatsuhiko Miyagawaさんが開発されている新しいモジュールマネージ
rand の返り値を固定してあげて、テストしたい時などに行う Perl の built-in 関数の上書きについて書いてみます 前置き まずは簡単な上書きの例を紹介してみます 重み付け抽選をしてくれる Data::WeightedRoundRobin を使うコードのテストを見てみます 次のコードは、rand を 1 で固定しているので、常に抽選結果はbar になります BEGIN { *CORE::GLOBAL::rand = sub { 1 } } use Test::More; use Data::WeightedRoundRobin; my $dwr = Data::WeightedRoundRobin->new([qw/foo bar/]); is $dwr->next, 'bar' for 0..10; # 何回回したって平気..!! done_testing;
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く