Magnolia Tech

いつもコードのことばかり考えている人のために。

『めもりーちゃんのPHPでプログラミング入門』という本が出るそうです

めもりーさん著、田中ひさてるさん監修なんて、もう買うしかないでしょ

PHPは...この本で勉強します!

とりあえず100冊の売り上げは確定したようです

『TECHNICAL MASTER はじめてのPHP エンジニア入門編』という本が出るそうです

なんか著者に見たことのある名前が並んでいるな

PHP書いたことないけど、注文した

『関数型ドメインモデリング ドメイン駆動設計とF#でソフトウェアの複雑さに立ち向かおう』で実践的なドメイン駆動設計+関数型言語によるコードの書き方を学ぶ

発売されてすぐに買ったはいいものの、大吉祥寺.pmをはじめとするイベント続きですっかり積んだままになっていた『関数型ドメインモデリング ドメイン駆動設計とF#でソフトウェアの複雑さに立ち向かおう』をこの週末で読んでいた。

去年から今年にかけての設計本の大量出版は凄まじいものがありましたが、そんな中で割とがっつりコードに焦点を当てた1冊

全体の1/5くらいを占める第1部は駆け足でドメイン駆動設計のおさらい

残る4/5は、ひたすらF#を用いた関数型プログラミングでのドメイン駆動設計の実装例が続く、というストロングスタイルな1冊

プロダクションコードをF#で書いている人が日本にどれだけ居るのか想像が付かないところもあるけど、これからドメイン駆動設計を元にコードを書きたいと思っている人には言語に拠らず参考になります


一方で、冒頭のドメイン駆動設計の解説は、書いてあること自体は「そうだよねー」なのですが、そんなに理想的に行くのか?という記載もちらほら

相変わらず出てくる「なんでも教えてくれるドメインエキスパート」って都合良すぎじゃない?とか

ドメイン駆動設計を手順っぽく解説すると、「詳しい人にヒアリングして、スコープをちゃんと分解して、実装しましょう」しか言ってなくて、「それはそう」になってしまうのだけど、そもそもなぜこうしないといけないのか?というところが抜けがちなんですけど、どんな課題感から出てきた手法で、この手法を取り入れない場合に、どんなコードができあがるのか?という所をもっと解説していると良かったかも

それに、既に実装が存在するドメインの設計をヒアリングしないといけない場面って、どんな場面なんでしょうね

アーキテクチャを刷新して、外部仕様はそのままに大きく更改をするとき??OA化の時代でもないので、「誰も真の業務要件は分からないので、素早く作って、素早くリリースすることで検証していく」のではなかったのかな?とかね


とはいえ、4/5はひたすら実践的なコード例なので、これをF#で写経するもよし、自分の主戦場たる言語で書くもよし、コードと向き合うには良い1冊ですね!

古いデジカメを復活させた

普段、写真はスマホのみで撮っているのだけど、10年以上前にSonyのNEX-3というミラーレス一眼を買って仕舞い込んでいたことをふと思い出した

刺さっていたSDカードは今は亡き「eyefi mobi」の8GB、収められている写真の日付を見る限りでは6年ほど放置していたらしい

(しかし、eyefiのSDカード、なぜかMacBook Proに刺しても認識されないので、400枚ほど入っている写真が取り出せない、困った)

せっかくスマホよりは良さそうなレンズが付いているのだから日常の記録はスマホではなく、デジカメにしてみようとおもったのがきっかけ

暗い室内で撮影する分には、手元の古いスマホ(iPhone SE 2nd)の方が写りが良くないか?とも思えたのだけど、昼間の光量が有ればきっとより良くのだろう

本体は全然大丈夫だったけど、SDカードがなかったのと、10年以上前のバッテリーでは不安なので、追加購入

キオクシアのSDカード、しっかりしたSDカードのはずなのに色合いで偽物臭がするので、デザインはもっと見直した方がいいのでは?と思ってしまった

あと、純正バッテリーは高いな...しょうがないんだけど

「◯沼袋.night」へ参加して、大吉祥寺.pmの振り返りについて話した

shirayanagiryuji.connpass.com

大吉祥寺.pmのリジェクトコンとして企画された「◯沼袋.night」で、大吉祥寺.pmの振り返りトークをしました

ライブハウスのステージの上からLTする、という形式がなかなか新鮮でした

スライドはちょっと長くなったのと、雑に色々な写真を貼っていたので公開はしませんが、要約すると以下のポストに集約されます

自分以外の発表は、

  • ysaitoさんの「TinyGo でマイコンゲームを作ってみたよ(試遊台あり) 」
  • 主催である白栁隆司さんの「さぁ、セルフマネジメントから始めよう!」「ボードゲームでマネジメントを実践学習しよう!」
  • 岩本隆史さんの「AWS入社という選択肢、見えていますか」
  • オンライン飛び入りLTで、たかのあきこさんの35年ぶりに英検を受けた話

と盛り沢山な内容でスタートから2時間半があっという間に過ぎていきました

ちょっと自宅から移動しづらい場所だったので、トークが終わった段階で離脱

非常に楽しい会になりました

大吉祥寺.pm開催から4ヶ月、あっという間でしたね

大吉祥寺.pmは一回限りの予定でしたが、しばらく武蔵野公会堂が使えないとなると、改修前にもう一回くらい大きなイベントをやっておかないとな、という気持ちが湧き上がってきたので、こんなスライドが差し込まれました

まだ、何も予定は決まっていませんが、手伝っていただける方がいらっしゃったら、ご連絡ください


ちなみに、ライブハウスのステージから客席を見ても意外とちゃんと見えないものなんだな、ということが発見でした

会場のライブハウス「Section9」、スタッフもフレンドリーでとても良い場所でした

numabukurosection9.wixsite.com

技術書典17で『電子カルテの開発を支える技術 ~ モダンな技術で再発明する ~』という本をオンライン購入した

techbookfest.org

都合により現地には行けなかったのだけど、オンラインで『電子カルテの開発を支える技術 ~ モダンな技術で再発明する ~』という本を購入した

(必死の我慢力により、購入は全部で3冊に押さえた、現地に行ってたら確実に10倍買ってたと思う、危険が危ない)

複雑なビジネスロジックの設計の話が大好き!テスト大好き!みたいなことばかりいつもポストしているので、『第3 章プロパティベーステストを武器にドメイン知識を形にする』が一番気になりました

なるほど、実際の複雑なビジネスロジックにプロパティベースドテストを適用するって具体的にこうするのかーという実例が分かりやすく載っていて非常に参考になります...というか、このまま商業誌に載せてほしい程、有益な記事だと思いましたので、みんな買って読もう!!

著者の方に感想が届いたらしい...良かった!

iCloud Driveにターミナルからアクセスする

日常的なメモはObsidianを使っている

obsidian.md

なんとなくジャンルを分けたフォルダを用意しておいて、あとはひたすらタイトルの前に日付を付けたタイトルのファイルを作って色々なメモを放り込んでいる

日付をタイトルの前に付けておくことでソート順が保証される...今の時代にどうなの?とおもったものの、結局一番これが使いやすかった

なんだか『「超」整理法』みたい


これまで完全にデスクトップアプリからしか使っていなかったのだけど、NeoVim用のプラグインが有ることが分かった

github.com

これを試そうと思って、「そういえば、そもそもiCloud Driveってターミナルからどうやってアクセスするんだろう?」と思って調べてみると、以下のパスとのこと

~/Library/Mobile\ Documents/com\~apple\~CloudDocs

(/Volumes配下じゃないのはなぜ?という疑問もあるけど)

確かにターミナル上で、このディレクトリに移動するとiCloud Driveの中身が見える...しかし何かがおかしい...ディレクトリが足りない...

Finderからはアプリ専用のディレクトリが見える...

Keynote
Numbers
Obsidian
Pages

しかし、上記のディレクトリに移動しても見えない...

ひとつ上の階層に移って分かりました

例えばKeynoteディレクトリは以下のパスで移動できました

~/Library/Mobile\ Documents/com\~apple\~Keynote/Documents

他のApple製ソフトも同じです

com\~apple\~Numbers/Documents
com\~apple\~Pages/Documents

Obsidianも有りました

~/Library/Mobile\ Documents/iCloud\~md\~obsidian/Documents

というわけで、ターミナルからiCloud Driveにアクセスするときは、パスに気をつけましょう、とい��話題でした

しかし、明らかにアプリ内からしかアクセスしないパス名に空白を混ぜるのはマジでどういうセンスなんですかね...