Lambdaカクテル

京都在住Webエンジニアの日記です

Invite link for Scalaわいわいランド

perl

Class::Accessor::Liteのプロパティを変な方法で呼び出しても一見動いてしまうの困る

package Foo; use strict; use warnings; use Class::Accessor::Lite( new => 1, ro => [qw(prop)] ); sub foo { my $self = shift; return prop; } これはちゃんと動かない。正しくは package Foo; use strict; use warnings; use Class::Accessor::Lite( n…

Perlで矢印演算子を使わない場合に継承がどうなるのかのメモ

こういうパッケージがあるとする. # lib/Hoge/A.pm package Hoge::A; sub foo { return "I am A" } 1; でもってこれを継承したBも作る: # lib/Hoge/B.pm package Hoge::B; use parent qw(Hoge::A); sub foo { return "I am B" ) 1; これだけだとただの継承…

@xtetsuji さんからの出題をやってみる (Common Lispと数学編)

Twitterをやっていたら, id:anatofuz くんがおもしろ問題をやっていた.Perl入学式で出題されたらしい. anatofuz.hatenablog.com 問題はこういうの. 毎週火曜日のペアプロ講習用に作成した問題を昨晩の #Perl入学式 オンラインミーティングで紹介したので…

WEB+DB PRESS Vol.116『Perl Hackers Hub』に寄稿しました #wdpress #perl

宣伝です。 買おう 2020-04-24 (金) に発売予定となっているWEB+DB PRESS Vol.116に寄稿いたしました!!!!!!!!!! 『Perl Hackers Hub』という連載にて、 『GitHub ActionsとAmazon ECSを使ったDockerアプリケーションの自動デプロイ』という記事で…

シェルスクリプトで環境変数の中身を壊すことなくファイルに保存する

★追記があります。 クラウド時代なので,JSONを環境変数に入れて渡したいということがあると思います。そしてそれをファイルに保存したいということがあると思います。 こういうJSONがあるとします。 $ FOO='{"foo":"b\na\nr"}' アプリケーションの都合でFOO…

ECS/DockerでWorkerManagerを使おうとしてハマったメモ(PID=1問題)

PerlにはWorkerManagerという,外部のジョブキューを使ってバッチ処理できる便利なcpanモジュールがあるのですが,これをECS/Dockerで使おうとしてハマったのでメモ。 PID=1問題 普通にDockerでWorkerManagerを使おうとすると,次のようなメッセージが表示さ…

Perlのウェブアプリケーションを支えるサーバまわりの技術について調べた

会社の技術スタックの中でもアプリケーションサーバまわりの要素技術が曖昧な気がしていて,せっかくなので調べて整理してみようと思った. まず自分の目の前にある要素はこちら.入社直後は,ぜんぶ「サーバをなんとかするやつ」という印象だった.というわ…

Smart::Argsのパーサを書いた

この記事は,はてなエンジニアAdvent Calendar 2018の17日目の記事です.昨日はid:aerealさんによるTheSchwartzの失敗したjobとかerrorがいつどのように消えていくのか - Sexually Knowingでした. 今日ははてなでもよく使われているSmart::Argsのパーサを書…

Smart::Argsパーサを書いている

2018年も終わろうとしているし平成ももうすぐ終わるのだが,いまだに俺の開発環境(emacs)ではperlをうまく補完することができない. とはいえdabbrevの類を使っているのでそこそこの補完は動いているのでそこはいいのだが,Smart::Argsの引数をよく間違えて…

Perlの配列をmapしてリファレンスに変換する方法を知りたい

Perlにおいて、あるリストのリファレンス(すなわち配列)がありその中身をmapしてまたリファレンスに戻したい。 $ref_array = [1, 2, 3, 4, 5]; @array = @$ref_array; @new_array = map {...} @array; $new_ref_array = \@new_array; # ----- $new_ref_array…

Perl:メソッドを呼んでその返り値で代入する代入演算子が欲しい

Perlの話だけれど、「あるオブジェクトをそのメソッドを呼び出した結果の値で上書きする」という代入演算子が欲しい。 $hoge = $hoge->foo_method #call method, and assign returned value to variable $hoge =-> foo_method # equivalent 一見使い道がない…

(解決)cpanmがbail outする

ExtUtils::MakeMakerのインストールに失敗してモジュールがインストールできない。 どうなってるんだ? ! Installing the dependencies failed: Missing version info for module 'ExtUtils::MakeMaker' p.s. パーミッションに問題があるっぽい。 chown -R q…

★記事をRTしてもらえると喜びます
Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?