タグ

Perlに関するrarereのブックマーク (83)

  • Of Moose, Mouse, Moo, and Mo for OO Perl | JDPFu.com 2024

    As I relearn Perl OO programming, there are a few changes or improvements that have been added since the last time I was programming in perl full-time. In the old days, we manually wrote our OO code in perl and liked it. We didn’t know any better. These days we have helper modules to remove the need to re-write over and over many of the same OO code elements thanks to Moose, Mouse, Moo and Mo. Hop

    rarere
    rarere 2020/12/26
  • 最近awesome-perlに追加されたモジュールを眺める - Acme::AnaTofuZ->new;

    これはPerlアドベントカレンダー23日目の記事です。 昨日はnanto_viさんで「Perl の wantarray 関数で返り値の扱いを確認する」でした。 さて15日目の記事でmoznionさんの方で話があったawesome-perlですが、ここ数週間でかなりプルリクが飛んできていました。 その中で様々なモジュールがawsome-perlに加わっています。 ということで最近awesome-perlに追加されたモジュールの中からいくつか使って雰囲気を見てみます。 .......あ、ちょうどよかったので広告です! BigSureを使っている人はplenv関連のアップデートをお願いします!!! anatofuz.hatenablog.com HTML5::DOM このプルリクエストで追加されました。 プルリクエストを送ってきたAzq2さんが作成したCPANモジュールの様です。 今回はcpan

    最近awesome-perlに追加されたモジュールを眺める - Acme::AnaTofuZ->new;
    rarere
    rarere 2020/12/24
  • Perl の wantarray 関数で返り値の扱いを確認する: Days on the Moon

    こんにちは、nanto_vi です。この記事は Perl Advent Calendar の 22 日目です。 Perl の特徴のひとつに関数が多値を返せるというのがあります。Go 言語と同様に、処理の結果とエラーの値を同時に返すことができます。 sub do_something { ... return (undef, $error) if $something_wrong; return ($result, undef); } my ($result, $error) = do_something(); 上述の do_something 関数はリストを返し、その第 1 要素に処理結果を、第 2 要素にエラーの値を含んでいます。ところが、ここでうっかり、 my $result = do_something(); とリストを使わずに返り値を受け取ってしまうと、変数 $result にエラー

    rarere
    rarere 2020/12/23
  • Perlでズンドコ問題を短くしてみる - koluku's blog

    こちらはPerl Advent Calendar 2020の20日目の記事になります。 昨日はtecklさんのPerlGitHub webhookを受けるbotを作ってみた話でした。 qiita.com 先週何も考えずにAdvent Calendarに登録して今日が投稿日だということをメールで知りました。一文字たりとも何も書いてないぞ、過去の僕恨む。 FizzBuzz記事の振り返り Perlネタといえば、先々週にこんな記事を書いてました。 techblog.kayac.com FizzBuzz問題を短く書くにはどういう思考過程をすればいいのかという初級者向けな感じの内容です。この記事を書いている間にちょっとブコメを見てみたらもっと短縮されてました。 うたがわさんのコードは、割り切れた結果が0で返ってくることを利用して!で反転させて繰り返し演算子で出力しています。 id:utgwkk おも

    Perlでズンドコ問題を短くしてみる - koluku's blog
    rarere
    rarere 2020/12/23
  • 現状の癖を反映した .perltidyrc - 私が歌川です

    はじめに これは Perl Advent Calendar 2020 - Qiita 19日目の記事です。枠が空いていたので飛び入りです。 昨日は nanto_vi さんで Perl の Test2::V0 でオブジェクトの基底クラスを確認する: Days on the Moon でした。 isaをテストしたくなることはけっこうある*1ので、かなりありがたい新機能ですね。 perltidyはPerlのコードフォーマッタです。 設定ファイルがコマンドライン引数を書き下したような形式になっていて、けっこうコツが要ります。 GNU Coding StandardsにもPerl Best Practicesにもそこまで納得感がないので自分で設定を作っていきます。納得感がなくても設定があって自動で適用できるなら従うままだと思うけど、既存コードの書き方からはできるだけ離れないように設定してみました。

    現状の癖を反映した .perltidyrc - 私が歌川です
    rarere
    rarere 2020/12/20
  • Perl の Test2::V0 でオブジェクトの基底クラスを確認する: Days on the Moon

    こんにちは、nanto_vi です。この記事は Perl Advent Calendar の 18 日目です。 近年、Perl でテストの記述によく使われているモジュールが Test2::V0 です。Test2::V0 について詳しくは「第51回 Test2で変わるモダンなテスト―拡張性を持ったテスティングフレームワークとTest2::V0の使い方(1):Perl Hackers Hub|gihyo.jp … 技術評論社」を参照してください。 Test2::V0 を使い、あるオブジェクトがあるクラスのインスタンスであることを確かめたいときはどうすればよいでしょうか? 例えば、オブジェクトが URI クラスのインスタンスであることを確かめようとして、次のように書くと…… # Bad use Test2::V0; use URI; my $uri = URI->new('https://www

    rarere
    rarere 2020/12/18
  • perlcriticとのつきあい方 - 私が歌川です

    はじめに こんにちは。perlcriticの話をします。perlcriticに関するまとまった日語の情報が乏しいなと感じたので、アドベントカレンダーの記事として書くことにします。 これは Perl Advent Calendar 2020 - Qiita 4日目の記事です。3日目は hkoba さんで zsh 上で .pm のメソッド名を補完する話 - hkoba blog でした。 はじめに perlcriticとは 設定をする .perlcriticrc 例 設定項目 severity program-extensions ポリシーごとの設定 Subroutines::ProhibitExplicitReturnUndef (severity = 5) ValuesAndExpressions::ProhibitConstantPragma (severity = 4) Values

    perlcriticとのつきあい方 - 私が歌川です
    rarere
    rarere 2020/12/16
  • LWP::UserAgentで基本認証とPOSTを - 徒書

    LWP::UserAgentでBASIC認証つきでリクエストする - bits and bytes という記事で、LWP::UserAgentを用いて基認証が必要なページにアクセスする方法について述べられているのですが、以下の点について不思議に思っていました。(その時のブックマーク) なぜ前振りで(直接関係なさそうな) HTTP::Request と HTTP::Request::Common の違いについて触れていたのか。 どうして前もってrealm値が必要となる $ua->credentials 方式を採ったのか。 が、後日記事を読み直したところ補足で以下のように追記されていました。 ご指摘いただいた通りrealmなんて普段作る側としても意識していないしめんどくさいだけなので、自分も当は $req->authorization_basic したかったのですが、はじめに白状したとおり

  • Perl-DBI/SELECT - yanor.net/wiki

    SELECT $sth = $dbh->prepare('SELECT id, name, age FROM t1 WHERE age > ?'); $sth->execute(15); while ($row = $sth->fetchrow_hashref()){ print $row->{id},"\n"; print $row->{name},"\n"; } die $sth->errstr if $sth->err; fetchrow_xxx()が途中でエラーを起こした場合、返値がundefなためwhile()ループを抜ける。 全行走査できたのかエラーだったのか調べるためには、 $sth->errを使うか、 RaiseErrorで例外をキャッチする。 selectxxx_xxx系 (prepare()を経ずに)SQLを直接実行する。 1行を取得 $row = $dbh->sele

    rarere
    rarere 2015/12/23
  • 「Perl入学式の教科書」を公開しました! : Perl入学式 公式ブログ

    Perl入学式 公式ブログ プログラミング未経験者/Perl初心者を対象としたワークショップ『Perl入学式』のブログです。 一緒にプログラミングの楽しさを体感しましょう! みなさまこんにちは, Perl入学式校長のpapixです. いきなりですが, Perl入学式は今年で4年目となりました. ここまでの3年間, 多くの方と一緒にPerlを学ぶことができていて, とても嬉しく思っています. その中で, Perl入学式の卒業生からよく頂く意見の1つが, 「卒業後に使えるカリキュラムが欲しい」というものです. Perl入学式で扱う内容は, プログラミングを学ぶために不可欠な環境構築からスタートし, Perlという言語を通して「プログラミングに必要な考え方」を学んでいくという, まさに「基礎中の基礎」といえる内容になっています. 最終回でMojoliciousを利用したWebアプリケーションの開

    「Perl入学式の教科書」を公開しました! : Perl入学式 公式ブログ
    rarere
    rarere 2015/07/29
  • lite_appで作ったファイルを分割しよう

  • 運用におけるエラーログの重要性もしくはLog::Minimalってモジュール書いた話 - blog.nomadscafe.jp

    追記 CPANにアップしました http://search.cpan.org/dist/Log-Minimal/ /追記 アプリケーションサーバでエラーが起きていたり、レスポンスが遅かったりする場合に、Operation Engineer(インフラエンジニア)がまず見るのは、エラーログです。エラーログにでているメッセージを手がかりに原因を探ります。 サーバでエラーが起きている時には、データベースに接続ができなかったり、外部のAPIからレスポンスが得られない、またプログラムのBugが原因となっている場合もあるでしょう。またエラーにならなくても、複数台あるデータベースのスレーブサーバうち一台が落ちて接続をretryしていたり、APIのレスポンスが遅い際にはサーバ全体のパフォーマンスが低下します。 エラーログに障害の原因を探る情報があれば、Operation Engineerは素早く対応を開始で

  • Swaks - Swiss Army Knife for SMTP

    About Swaks is a featureful, flexible, scriptable, transaction-oriented SMTP test tool written and maintained by John Jetmore. It is free to use and licensed under the GNU GPLv2. Features include: SMTP extensions including TLS, authentication, pipelining, PROXY, PRDR, and XCLIENT Protocols including SMTP, ESMTP, and LMTP Transports including UNIX-domain sockets, internet-domain sockets (IPv4 and I

  • perlで挑むごみ集取カレンダー

    https://www.hubspot.com/state-of-marketing · Scaling relationships and proving ROI · Social media is the place for search, sales, and service · Authentic influencer partnerships fuel brand growth · The strongest connections happen via call, click, chat, and camera. · Time saved with AI leads to more creative work · Seeking: A single source of truth · TLDR; Get on social, try AI, and align your sys

    perlで挑むごみ集取カレンダー
    rarere
    rarere 2014/09/15
  • 第22回 Coroを使ったやさしいクローラの作り方(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回は誌Vol.68~73まで「フロントエンドWeb戦略室」を連載していたmalaさんで、テーマはクローラの作り方です。個人用のちょっとしたダウンローダを書くときから、大規模なクローラを書く場合まで、Perlは強い味方になります。 なお稿のサンプルコードは、誌サポートサイトから入手できます。 クローラの礼儀作法 クローラ、スパイダ、bot[1]を稼働させる際は、アクセスのしかたによっては相手先のサービスに多大な負荷をかけてしまいます。節ではまず、使用言語にかかわらずクローラを書くうえで一般的に知っておくべき作法について述べます。 robots.txtによるbotの制御─⁠─ アクセスしてよいかの指示 Webサイトに置かれるrobots.txtは、botから「アクセスしてよいか」を判断するものです。アクセスする対象がht

    第22回 Coroを使ったやさしいクローラの作り方(1) | gihyo.jp
  • 第20回 Email::Sender:メールを送信する | gihyo.jp

    メール送信のあれこれ たとえばウェブアプリケーションでなにかの注文を受け取ったとき、あるいはシステム管理ツールでなにか異常を発見したとき、ユーザや管理者にメールを送れるようにしたい、というのはよくある要件です。昔はヒアドキュメントやテンプレートエンジンなどを使って送信したいメールを用意したあと、sendmailへのパイプを開いてメールを流し込んでいたものですが、いまはメールの作成から送信まで、すべてモジュールを使って実現できるようになっています。 とはいえ、需要が大きいだけにメール関係のモジュールは山のようにあります。ディストリビューション(パッケージ)の数だけで500を数えますし、メール関係の名前がついたモジュールは現在CPANにアップロードされている7万以上ものモジュールのほぼ1割を占めるほどです。これではどれを使えばよいのかわからないという声があがるのも当然でしょう。 そこで今回はP

    第20回 Email::Sender:メールを送信する | gihyo.jp
  • Perlゼミ(サンプルコードPerl入門)

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm

  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    rarere
    rarere 2014/02/21
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • GrowthForecast - Lightning fast Graphing / Visualization

    GrowthForecast is a web tool that let's you graph all sorts of metrics via a WebAPI. Our simple API let's you create and update charts in real time, customize your charts through a Web interface, and create charts that combine multiple metrics. You can graph your MySQL data with 1 line of code $ crontab -l */5 * * * * curl -F number=`mysql -BN -e 'select count(*) from member' game` http://example.

    rarere
    rarere 2014/01/17