理系学生日記

おまえはいつまで学生気分なのか

PoEAA: Pessimistic Offline Lock

今日の Pessimistic Offline Lock は、任意のタイミングにおいて、データにアクセスするビジネストランザクションを 1 つに限定することで、データの不整合を防止するパターンです。 Patterns of Enterprise Application Architecture (Addison-Wesley Signa…

PoEAA: Optimistic Offline Lock

今日からは Offline Concurrency Patterns ということで、排他制御の話に入ってきます。今日は、Optimistic Offline Lock ということで、楽観的排他制御です。 Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler))…

PoEAA: Data Transfer Object

今日は Data Transfer Object、いわゆる DTO と呼ばれるパターンです。 DTO の目的は、リモート呼出の効率化です。リモート呼出の際に必要な情報を DTO というオブジェクトの中にこれでもか、これでもかと詰めてやることで、リモート呼出の回数を削減するこ…

Docker ComposeでPostgresバックエンドのgitbucket/redmineを構築する

Redmine をマジメに使ったことがなかったのですが、使う機会が多くなってきているので、ちょっと慣れとかないと厳しいなぁと思っておりました。 とりあえず本を買ったは良いのですが、手元で確認したいというのと、同じく良く使われるようになってきている G…

特定ディレクトリ配下の拡張子の一覧を取得するワンライナー

特定ディレクトリ配下で特定の拡張子を持つファイルを探すのは find コマンドで一発ですが、一方で、特定ディレクトリ配下の拡張子をすべて抽出する、というユースケースがあります。 ぼくは、.gitattributes に書く拡張子って何にしよう、ってときに、その…

Excelの結合セルの高さを調整する伝家の宝刀

Excel 方眼紙を使いこなすぼくたちにとって、セルの結合というのはエクスカリバーに近しい最終兵器です。 そんなエクスカリバーたる結合セルに入れる文章というのもまた、明治の文豪がその人生を賭して綴り捻り出す人生そのものであって、セル内改行に伴って…

.gitattributesによる改行コードの変換設定

Git での改行コードの取り扱いについてきちんと調べたことがなくて、プロジェクトにおいては「みんなー! ただしく .gitconfig 設定してねー」という立場を取っておりました。 しかししかし、改行コード設定については、もはや個人の設定に正しさを求めるので…

オブジェクト指向の世界においては、小さなオブジェクトが、いわゆるメッセージングパッシングを通して一つの処理を行う世界が構築されます。しかし、このメッセージングパッシングがネットワークを介して多数行われるとなると、その蓄積はいつしかパフォー…

iOS 10.3.1から非MFI認証のイヤホンジャックアダプタが使えなくなった

iPhone7 に付属していたイヤホンジャックの変換アダプタをずっと使用してきていたんですが、この間紛失してしまいました。 それでも 3rd パーティのアダプタを使い続けてきたんですが、iOS 10.3.1 にアップデートしたら、「このアクセサリは使用できません」…

モジュール間の依存関係図をGraphvizで図示する

ちょっとライブラリ間の依存関係を可視化することになりました。 おなじみ Excel 方眼紙に書くというのも考えたんですが、Microsoft Office のオブジェクトで描画するのって、依存関係が複雑になるほど大変になってきます。 ほらー、きっとモジュール 1 つを…