yapcjapan.org 3年ぶりにリアル開催のカンファレンスに参加してきました。 3年、長いですね。 この間、Perl入学式 in 東京 のスタッフとして、id:xtetsuji や godan さんと講義をオンライン配信したり、小規模な対面形式の講義を行ってきました。 お二方は今…
母のスマホ購入 元々、母からスマホを利用したいということを聞いていました。 職場(保育園の看護師)や民生委員の活動、友達との集いで LINE の利用が多いとのこと。 LINE を使うためにスマホに変えたいということでした。 母は iPad を利用してニュースや…
2022年を振り返って お仕事が忙しかったりなんなりで、2ヶ月も空いてしまいました。 Perl入学式 in 東京の講師と、テキストの改修を担当しておりました。 今年は春、秋と開催し、オフラインでの講義に切り替えました。 やはり近くに講義を受けている方がいて…
13章もパラパラっとページをめくってみた感じ、文章がメインぽいですね。 13.1 邪悪な構造に陥りがちな User クラス 面白い。いかにもありそうな気がする。 User というログインユーザーを示すクラスを作る そこにIDや名前などのプロパティを追加していく Us…
久々に 経理の仕事において、四半期決算ってのは本当に大変なお仕事で、ほぼ1ヶ月持っていかれます。 翌月はそのリカバリでボーッとしているという感じでした。 (これはどうにかして負荷を軽減したいところ・・・) その余波で「良いコード/悪いコードで学…
何度目かの環境再構築中 色々あって、業務で利用している Macbook Pro 2017 をリカバリすることにしました。 ディスクユーティリティで SSD を一旦まっさらに。 そこに macOS Monterey をネットワーク経由でクリーンインストール。 ちょうど経理の月初作業も…
macOS 起動時に autossh を実行したい autossh という ssh のラッパーソフトがあり、sshが切れたら自動的に繋ぎ直してくれるという便利なやつです。 autossh は homebrew で入れられます。 これを ターミナル起動時 ではなく、macOS の起動時に自動実行させ…
第9章から文字比率が高くなり、そのまま書き出すと文章を書写するだけになってしまう・・・ということで、小見出し&ときどき感想って形式で。 目的駆動名前設計 名前から目的や意図が読み取れることを特徴とします。 10.1 悪魔を呼び寄せる名前 例として挙…
ここはコードがほとんどないというか、あっても見てすぐに動作が予測できるものばかりなので、さらっと。 9.1 デッドコード または到達不能コード。 本文では絶対に通らない else 文の例で表されている。 コードの可読性を損なうので、削除。 9.2 YAGNI原則 …
リスト8.7 ,リスト8.8 物理攻撃クラス&武闘家の物理攻撃クラス Mouse での継承で override を使うの初めて。 というか、それ以前でもなかったかも。 親クラスの同名のメソッドを上書きして使いたい時に使うもの、程度の認識です。 今回は差をわかりやすくす…
ちょっと時間あいてしまいましたあが、のんびりやっていきます。 来月7月はお仕事が忙しくなる予定なので、やっぱり時間が空いてしまうのではないかなぁ、という感じです。 8章は6章なみに長くて盛り沢山だし・・・ しかし、現実逃避的に学習が進む可能性も…
リスト7.1 「牢屋の鍵」の所持を調べるコード まずは例示コードを愚直に。 #!/usr/bin/env perl use strict; use warnings; use feature qw/say/; use constant { false => !!0, true => !!1 }; my $has_prison_key = false; my @items = qw(steal_sword iro…
一旦まとめ 7章を目前に、どの内容をどこで学んだんだっけ・・・?というのを自分なりにまとめておきたくなりました。 コード書いたからか、結構覚えているなーという感じです。 あと、本を先に進めたい!という気が勝っておざなりにしてるところがあるなぁ…
リスト6.62 フラグ引数を使っている例 damege(true, damegeAmount); 確かに、これだけでは何が true なのかはコードを追いかけて関数の中身を見ないとわからんよなぁ。 ということで、それを「メソッドを分離する」で改良したところから。 ここクリックして…
リスト6.51〜6.54まで 一気にまとめたコードがこれ。 途中でしれっと出てくる Money クラスの add メソッドも書いております。 ・・・Perl で書き換えながらめっちゃ書きにくさを感じることがあります。 このコードだと、interface の HotelRates の中で分岐…
「このコード、動いたけど納得いかないかっこ悪い。絶対にもっとまともな実装の方法が有るはず」という直感は外れたことない気がする— sironekotoro (@sironekotoro) 2022年6月13日 という直感があって、その解が得られるタイミングは往々にして年単位だった…
リスト6.41 と 6.42 Gold会員とシルバー会員の判定メソッド あー、こういうコード書いた覚えあります・・・ ゴールド会員の判定ロジック if ( 100000 <= $history->total_amount ) { if ( 10 <= $history->purchase_frequency_per_month ) { if ( $history->…
脚注からヒントを得る ここしばらく「良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方」をやっております。 gihyo.jp その中でインターフェースって何?ということでググりつつ、適当にネットから拾いつつやっていたのですが…
早期 return でネスト解消 まぁ、これは書くまでもなく、わかる。 というか、例示コード書くのも辛い・・・ if ( $a == 1 ) { if ( $b == 2 ) { if ( $c == 3 ) { } } } 的な。 これに else や elsif が入ってくるとさらにカオスになるという。 ネストの深淵…
リスト5.19 C# の出力引数 ここでサンプルコードが C# になってますが、まぁなんとか読める気がします。 関数に参照渡しを行って宣言元の変数を変えるというコードです。 Perl だとこんな感じですかね。 #!/usr/bin/env perl use strict; use warnings; sub …
祝!Perl 5.36 ! ということで、初夏のはじめ頃のイベントである Perl の新規安定版リリースです。 metacpan.org うちは(anyenv経由の) plenv で複数の Perl のバージョンを扱っているので、 plenv での作業を書いておきます。 誰のためってもちろん、来…
目的を見失いがち そもそも、例示コードを自分の好きに発展させて満足するのが目的ではない・・・ので、そういうのはほどほどに本を読み進めることにする。 5.1 staticメソッドの誤用 Java にはインスタンスを生成することなく、メソッドを呼び出す方法とし…
想定外に時間ができた2022年5月 今は経理のお仕事メインでやってるのですが、5月は月初の連休のため月次の処理が後ろ倒しになります。 しかし、親会社への報告とか後ろ倒しにできないものもあり、気合を入れてゴールデンウィーク前から準備し、ゴールデンウ…
リスト4.1 変数tmpへの度重なる再代入 サンプルコードから書かれてないところを想像して書いていくの、楽しいですよね。 ってわけで、Perl で書いてみます。 これまでいろんな方法で Perl のオブジュエクト書いてきたけど、Function::Parameters でやります…
この調子でやっていくの・・・? やっていきます。 リスト3.14 金額ではない値を渡せてしまう final int ticketCount = 1 // チケット枚数 money.add(ticketCount); とまー、金額の足し算のメソッドなのに、予期しない引数がきちゃうかもしれないよね?とい…
リスト3.1 金額を表すクラス 前回に続いてやっていきます。 sironekotoro.hateblo.jp そして早速なやむ。 インスタンス変数しか持っていない、典型的なデータクラスです。 Java でいうところのインスタンス変数ってのは、Perl のオブジェクトでいうところの…
巷で話題の本(2022年春現在) gihyo.jp DMM Books が 30% ポイント還元をやっていたので、他の本と一緒に購入しました。 なんで読もうと思ったか 自分のコードが良いコードではない、という漠然とした不安がありました。 また自分の書いたコードも保守性が…
WEB+DB PRESS vol.128 に共同で寄稿しました ご存知、技術評論社の WEB+DB PRESS。 個人的には基本情報、応用情報の過去問でお世話になった出版社さんでもあります。 Perl入学式校長の id:xtetsuji さん、Perl入学式大阪の id:tomcha0079 さんと共同で Perl …
YAPC::Japan::Online 2022 から 2週間が経ちました 興奮冷めやらぬ・・・と言いたいのですが、興奮もそこそこに業務の嵐に飲み込まれた2週間でした。 で、やろうと思っていた Perl入学式プレゼンツのお題やるのすっかり忘れておりました。 和暦西暦変換 こん…
2022年3月4日〜5日、YAPC::Japan::Online 開催! yapcjapan.org というわけで、裏トークA で Perl 入学式校長の id:xtetsuji さんとお話をしておりました。 本編のトークを聞いて即興で感想や疑問を言い合うという、「水曜どうでしょう」「紅白歌合戦」の副…