タグ

ブックマーク / blog.akiym.com (3)

  • PerlでもgRPCで通信したい - アリ

    まずはじめに、2021/2時点でgRPCがサポートされている言語にはPerlは含まれていなく、公式にはサポートされていません。 現時点でと言ったものの将来的にもサポートされることがないだろうことからPerlgRPCを扱うのは茨の道といえるでしょう。 おとなしくgRPC transcodingしてHTTP REST APIで叩きましょう、というのがほぼ答えなのですがCPANに公開されているライブラリを使ってどこまでできるのかを検証するのがこの記事の目的です。 題材 gRPCで通信といっても、サーバとクライアントのどちらをPerlで実装するかという話になりますが、今回実装するのはクライアントです。 他の言語で書かれたマイクロサービスからPerlと通信することを想定して、手軽な例としてGAPIC Showcaseのサーバと通信することにしてみます。 github.com google.show

    PerlでもgRPCで通信したい - アリ
    fuba
    fuba 2021/02/07
  • Perlの食えない事情 - 演算子編 - アリ

    Perlえない事情 より おっと、そうです、Perlには演算子が多すぎるのでした。せっかくの機会なので、Perlの演算子を紹介します。 ビーナス演算子: 0+, +0 数値として評価してくれます。意外とよく見かけますね。 なぜこの演算子を使う必要があるのかというと、Perlは文字列と数値を明確に区別できないからです。scalarを文字列として解釈するならば文字列として、 print 0+ '10'; #=> 10 print 0+ '123b'; #=> 123 print '1.2e3' +0; #=> 1200 print [] +0; #=> 4303367864 ちなみに、文字列として評価するときにはこのようにするとかっこいいと言われています。 $obj.q(); 一見メソッド呼び出しのように見えますが $obj . ''; と等価です。 ベビーカー演算子: @{[ ]} 文字

    Perlの食えない事情 - 演算子編 - アリ
    fuba
    fuba 2013/02/04
    名前やばい
  • Skype::Anyというモジュールを書いている話 - アリ

    少し前に、Net::DBus::Skype::Liteというモジュールを書きました。PerlからSkype APIを叩けるのは便利なのですが、不満点がいくつかあります。 LinuxのSkypeにしか対応していない 全体で2200行くらいある(Liteなのに…) 無駄なコードが多すぎる そこで、Net::DBus::Skype::Liteを捨てて、マルチプラットフォームに対応した新しいモジュールSkype::Anyを作って見ることにしました。 ほぼ完成していて、以下のようなコードが動くようになっています。まだGithubにはあげていませんが。 use strict; use warnings; use Skype::Any; use LWP::UserAgent; use URI::Find; my $ua = LWP::UserAgent->new; my $finder = URI::F

    Skype::Anyというモジュールを書いている話 - アリ
  • 1