理系学生日記

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

2017-01-01から1年間の記事一覧

PoEAA: Inheritance Mapping

オブジェクトの継承ツリーとテーブルとのマッピングに関する章も終盤、今日はそのマッピング自体の設計パターンである、Inheritance Mapping がテーマです。 P of EAA: Inheritance Mappers via kwout しかしながら、この図がすべて。あんまり追記することな…

Chromeのautofillによりテキストフィールドが謎の黄色になってしまう

css

Chrome で input フィールドに履歴から入力した後、テキストボックスの色が悲しい黄色になる。 この挙動に困った人もいると思います。 1334 - Auto-filled input text box yellow background highlight cannot be turned off! - chromium - Monorail via kwo…

PoEAA: Class Table Inheritance

Class Table Inheritance は、Rool-Leaf Mapping とも呼ばれるもので、階層構造を持つオブジェクトモデルと DB 上のエンティティとの関係について、オブジェクトモデルのクラス毎にテーブルを持たせるというデザインパターンです。 P of EAA: Class Table In…

特定ユーザのGithub上のリポジトリをごそっとローカルにcloneする

Github 上にある特定 user のリポジトリをぜんぶローカルに持ってきたいなぁというときのワンライナー。 nablarch のところは適当なユーザに書き換えれば OK。ghq ではなく単に git を使いたければ、ghq get を git clone に変えれば良いです。 $ curl 'http…

PoEAA: Single Table Inheritance

Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler)) (English Edition)作者:Martin, FowlerAddison-Wesley ProfessionalAmazon Single Table Inheritance は、オブジェクトモデルにおいて表現された継承関係を DB…

OAuth 2.0 authorization code grant 実装ポイント

OAuth 2.0 で Authorization code grant を実装しようとする場合の設計/実装ポイントをまとめてみました。 RFC 6749 を読みながら書いていますが、「普通に作ったらこんなことしねーだろ」というポイントとかはガンガン除外しています。 なので、本気で OAut…

Touch IDには複数の指紋を登録できる

Apple Pay を使うようになってから、市井で頻繁に iPhone のロックを解除することが多くなりました。 ぼくは iPhone のセットアップ時に右手の指の指紋を登録していたのですが、iPhone は左ポケットに入れているので、Apple Pay で決済するときは右手に持ち…

PoEAA: Serialized LOB

今日は Serialized LOB。 Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler)) (English Edition)作者:Martin, FowlerAddison-Wesley ProfessionalAmazon あんまり珍しくないパターンが多かったけど、このパターン…

OAuth2.0で認可コードの漏洩を防ぐPKCE

OAuth 2.0 における通信は基本的に TLS で守られるのが基本なのだけれど、ひとつ TLS で守られない通信があります。それは Client・User-Agent 間の通信です。 Authorization Code Grant においては、認可サーバから認可コードを受けた User-Agent がその情…

OAuth 2.0 におけるアクセストークン実装方法の検討

OAuth 2.0 のプロバイダにおいて、アクセストークンをどのようにシステムで保持するのかっていうところを考えたり調べたりしていました。 前提として、OAuth のトークンには以下の 2 種類の表現方法があります (RFC 6819 3.1. Tokens) Handle "opaque" トー…

OAuth2.0を利用するネイティブアプリの注意点

OAuth 2.0 をスマートフォンのネイティブアプリに提供することになりそうだったので、この一週間くらい RFC を読み続けていました。 しかしですね、Web アプリケーションが OAuth 2.0 のクライアントとなるケースは想像できるようになったんだけど、iPhone …

PoEAA: Embedded Value

今日は Embedded Value。 オブジェクト指向におけるオブジェクトを全部 RDB 上のテーブルとしていたらダルすぎるので、日時情報とか通貨とか、テーブルのフィールドとして考えたら良いよね、という至極もっともな話。日時とか通貨とかは、テーブルに保存する…

PoEAA: Dependent Mapping

(CD とかの)「トラック」のデータが「アルバム」という親の概念のエンティティのロード/保存に合わせてロード/保存され、一方でそれ以外のエンティティからは参照されないようなケースがあります。 このように、他のエンティティからは独立した親子関係が成…

iPhone6+Softbank から MNP で iPhone7+IIJmioに

iPhone 6 から iPhone 7 に機種変更するとともに、Softbank から IIJmio に MNP しました。 iPhone 6 がおかしい iPhone 6 は非常に満足いく端末であったわけですが、以下 2 点の問題が気になるようになりました。 月々の料金が高い これが 11 月の料金だっ…

「人喰いの大鷲トリコ」に感じた生きている感覚

ここまで感情移入ができたゲームはこれまでありませんでした。もう現実と変わらないです。本当に生きてる。 The Last Guardian – CG Cinematic Trailer | PS4 人喰いの大鷲トリコ 人喰いの大鷲トリコは、ICO、ワンダと巨像に続く、上田ワールド全開の作品で…

PostgreSQLの論理バックアップ時に使用するpg_dumpの基本的な使い方

db

pd_dump は、PostgreSQL のデータバックアップを取得するためのコマンドラインツールです。 どういう形でバックアップするのかは、まずは実例を見て頂けるとわかりやすい。 $ pg_dump -h 127.0.0.1 -U postgres dvdrental | less -- -- PostgreSQL database …

PostgreSQLのサンプルデータを簡単につくる

db

PostgreSQL で遊ぶときのテストデータを簡単につくりましょうという話です。 PostgreSQL にはDocker 公式のイメージがあるので、それを立ち上げればまずは PostgreSQL 環境はできあがりです。 $ docker run --name postgres -d -p 5432:5432 postgres:9.6.1 …

息をするな…「ドント・ブリーズ」を見てきた

このあいだ、王様のブランチで取り上げられていた Don't Breathe、気になって映画館に足を運ぶことになりました。 ジャンルはホラーですが、心霊現象といった類のものは一切登場しません。それでホリラー足り得るのかというところですが、公式サイトの表現で…

hex-encodedな文字列をUTF-8に変換する

とあるプロジェクトの技術支援に入っているのですが、API リクエスト/レスポンスの送受信内容(UTF-8)のログが、すべてバイト列を hex-encoded されたものになっているようなシステムになっております。 人類は長い歴史を無為に生きてきたため、hex-encoded …

手掴みシーフードレストラン、新宿の「ダンシングクラブ」に行ってきた

手掴みで食事するのってインドなイメージがあったんですが、新宿のレストランで手掴みで食べるところがあったとは! 年始のご挨拶もかねて、妻のご家族とレストランに行ったんですが、ダンシングクラブが相当エッジ効いててヤバかったです。 立地は新宿駅徒歩…

findコマンドにおける -newer オプション

みんな大好き find コマンド、-newer オプションというのをはじめて知った。find コマンド、マニュアルを読む度に発見ある。 -newer オプションはファイル名を引数に取って、そのファイルよりも modification time が新しいと true を返す述語になってる。 …

失敗の本質

2 年くらい前に良い本だと紹介されてからずっと読めていなかった「失敗の本質」、手応えのある骨太の本でもあり、なかなか進みませんでしたが、この年末年始でようやく読了することができました。 失敗の本質―日本軍の組織論的研究 (中公文庫 と 18-1)作者:…

新幹線の指定席確保の争いは切符の発売日の1週間前から始まっている

ぼくの地元は山口県でして、年末年始で新幹線のチケットを押さえるのは結構大変です。しかし、東京・山口間で 5 時間ちかく座れずに立っているのはこの歳になるともはや死を意味しますから、強い使命感を持ち、意地でも新幹線の予約席を確保しなければならな…

PoEAA: Association Table Mapping

1 対多の関係については、昨日の Foreign Key Mapping で解決できるのですが、それで解決できないのが多対多の関係です。 これを解決するパターンとして昔から用いられてきたのが、関連を持つテーブルをデータベースに追加し、本日のテーマである Associtati…

PoEAA: Foreign Key Mapping

本日は、Foreign Key Mapping です。 Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions (Addison-Wesley Signature Series (Fowler))作者:Hohpe, Gregor Woolf, BobbyAddison-Wesley ProfessionalAmazon 何かしら…