読者です 読者をやめる 読者になる 読者になる

理系学生日記

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

忍者TOOLS

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

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

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

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

失敗の本質

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

新幹線の指定席確保の争いは切符の発売日の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))作者: Gregor Woolf, Bobby Hohpe出版社/メーカー: Addison-Wesley Professiona…

PoEAA: Identity Field

Chapter 12. Object-Relational Structural Pattern に突入しました。 Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler))作者: Martin Fowler出版社/メーカー: Addison-Wesley Professional発売日: 2012/03/09メ…

ブラウザから印刷ダイアログなしで印刷したい

Web ページに「印刷」ボタンを用意してボタン押下したらそのまま自分のオフィスで印刷したいんだという要望はよくあるわけですが、印刷ダイアログを飛ばしてそのままプレビューや印刷をしたいという要望が生じるケースがあります。印刷ダイアログで OK ボタ…

Gitのdiffで差分の場所をメソッド/関数名で表示させる

git などで diff を表示するときに、「何行目のどのあたりに差分があるのか」というのを示す行があります。 これ、hunk header と呼ばれるものなんですが、git だとここに、「どのメソッドに属する差分なのか」「どのタグに属する差分なのか」といった情報を…

LINE ビジネスコネクトについて

LINE のビジネスコネクトについて勉強しなくちゃいけなくなったので調べてみました。 平成26年情報通信メディアの利用時間と情報行動に関する調査報告書 によると、LINE の利用率というのは SNS の中で相当数を占めていて、もはやライフラインと言っても良い…

PoEAA: Lazy Load

ひさしぶりの PoEAA、今日は Lazy Load がテーマです。 Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler))作者: Martin Fowler出版社/メーカー: Addison-Wesley Professional発売日: 2002/11/05メディア: ハード…

プラグインインストール済のJenkins Dockerイメージを作成する

Jenkins には Docker 公式のイメージ があったりして、セットアップが非常に容易になっています。 で、いざ docker run して立ち上げてみたら、いきなり Plugin をインストールしろやみたいな画面になるし、仕方ないなぁお勧めプラグインでもインストールし…

PoEAA: Identity Map

今日も引き続き Chapter 11. の Object-Relational Behavioral Pattern で、Identify Map です。 Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler))作者: Martin Fowler出版社/メーカー: Addison-Wesley Profess…

PoEAA: Unit of Work

今日からは Chapter 11. Object-Reational Behavioral Patterns という新章に突入します。 その一つめのパターンは Unit of Work でした。 Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler))作者: Martin Fowler…

PoEAA: Data Mapper

Data Mapper で、とりあえずは Chapter 10. の Data Source Architectural Patterns はおわり。 Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler))作者: Martin Fowler出版社/メーカー: Addison-Wesley Professi…

Emacsの最大化/全画面化が圧倒的簡単な時代に

Emacs を最大化/全画面化するのって、かつては結構な elisp を書かなくてはいけなかったような覚えがあります (単純に知らなかっただけかも) が、 今はなんと、以下のような 1 行だけ書いてれば良くなりました。 ; 最大化 <=> 元に戻す (toggle-frame-maximi…

PoEAA: Active Record

今日の PoEAA は、Active Record。 Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler))作者: Martin Fowler出版社/メーカー: Addison-Wesley Professional発売日: 2012/03/09メディア: Kindle版この商品を含むブ…

gitリポジトリの中のファイルをhelmインタフェースで検索する

Emacs バッファの中で、他のファイルに検索をかけて、検索結果一覧のバッファから直接ファイルの内容を更新するというタイプの拡張というのがいくつかあって、moccur-edit.el だったり、wrep.el だったりです。 しかし、こういうときの検索あるいは編集する…

PoEAA: Row Data Gateway

Row Data Gateway は、DB 上の 1 レコードに対する Gateway として働くオブジェクトです。 1 レコードに対する DB アクセスをカプセル化して、他のレイヤに対して DB アクセスを隠蔽します。 先日の Table Data Gateway がテーブルに対する Gateway だったの…

Bliskとは何であり、何ではないのか

Blisk ね、Blisk。 最近ずっとレスポンシブウェブデザインのサイトを作っていたもので、そのテストをどうやったら手早く効率的にできるものかなぁと思っていたときに、まさにこの Blisk というヤツが登場しました。 コレいいなー、すごくいいなーと思って使…

PoEAA: Table Data Gateway

PoEAA は 10 章の Data Source Architectual Patterns に突入しました。 その一つ目は、Table Data Gateway です。 Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler))作者: Martin Fowler出版社/メーカー: Addis…

PoEAA: Service Layer

最近、読みかけで止まっていた、Patterns of Enterprise Application Architecture (いわゆる PoEAA) を再度読みはじめました。 Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler))作者: Martin Fowler出版社/メ…

ファイルを直接開くのを禁止してセキュリティ向上 (X-Download-Options)

MIME-sniffing IE には、セキュリティを劣化させるとして悪名高い MIME-sniffing という機能があって、サーバがどんなにこのファイルはテキストファイルだよ!! (content-type: text/plain) とブラウザに教えても、そのテキストファイルに HTML の要素がある…

zshでPATHがおかしくなる問題の解決編

Mac の zsh で PATH がおかしくなる問題がありましたが、解決に至ったのでご報告させて頂きます。 問題 問題としては、 zsh が起動した際に /etc/zprofile が読み込まれる /etc/zprofile が path_helper を実行する path_helper が /etc/paths、/etc/paths.d…

自動折り返しにまつわるCSS word-break と overflow-wrap

とにもかくにもレスポンシブウェブデザイン(RWD)とやらで HTML やら CSS やらと格闘を続けております。 なんかさー! ブラウザ依存でさー!! 変なレイアウトになったりするしさー!!!! ブラウザだけじゃなくさー!!!!! OS でもレイアウトが変になっちゃったりす…

Android標準ブラウザでダウンロードに失敗するときはBasic認証とともに証明書エラーを疑え

Android には標準ブラウザという謎のブラウザが搭載されているケースがあります。 このブラウザの位置付けというのがホントに謎で、おい一体誰がどうやって作っているんだ教えてくれたのむ。 そんでこの標準ブラウザで検証してたら、PDF ファイルがダウンロ…

RWDにおける基本知識(pixel、viewport)

最近はレスポンシブデザインというものと日々戦いを繰り返し、ジャングルの密林で銃撃され続け、疲弊し、厭戦気分が高まりつづけた結果としてヒッピー化している今日このごろなのですが、フロントエンド開発というかレスポンシブデザインというか、そういう…

BashのGlobに関わるオプション

前に Bash の Glob に関するエントリを書きました。 他にも Glob には様々な応用があります。 あまり知られていないような使い方も多いので、それらをご紹介していくコーナーです。 extglob Glob で正規表現と not 条件を表現できるようになる。 詳細につい…

ブラウザのバージョンについての公式情報はどこを見れば良いのか

最近のブラウザ、自動的にアップデートされていくから基本的にブラウザのバージョンをユーザが意識しなくなってるし、開発者もいちいちバージョンナンバーの変更に追随しなくなってる感があります。 そういうわけでちょっと調べようと思ったら、わりかし苦戦…

BashのGlobは積極的に利用しましょう

bash には glob というものがあります。glob ってなによっていう人も ls *.sh とかを展開する bash の機能ですよっていうと分かるかと思います。 この glob の機能って多用されますがあまりマニュアルとか読んだ人もいないと思うので、簡単にまとめてみます…

シェルスクリプトでのtrapの使い方

シェルスクリプトでシグナルをトラップするには、みたいなことを考えることがあって、そういえば trap という日頃なかなか思い出されない不憫なビルトインがあることを思い出しました。trap は bash のビルトインとして存在する便利なヤツですが、忘れられが…

lsの結果をawkすることについての注意点

重箱の隅を突つくような話ですが、ls の結果を awk するのは筋が悪いと言われています。ファイルパーミッションを抜くとか、そういうときに、このような使われ方が為されますが、だいたいの場合は代替案(もうちょっと相応しいコマンド) があるので注意しまし…

Quitter便利

Quitter よかった。 Quitter, my first Mac app – Marco.org via kwout Quitter、一定時間(アプリ毎に設定可能) 使ってない特定のアプリを自動的に終了させたりしてくれるアプリで、Twitter とか切るようにして生産性を上げようっていうものなんだけど、「辞…

PRGパターンとは何か

最近はじめてフロントエンドの開発をすることになって、PRG パターンって常識だよみたいな雰囲気でウワワワワー! ってかんじになりました。義務教育ではそんなの教えてくれなかった。 そういうわけなので、涙ごしに霞むモニタと向きあいながら PRG パターン…

HTTPS双方向認証の環境を作る

以下のエントリで HTTPS 通信を試してみましたが、このような試験環境を作るのはわりとメンドい。 メンドいことを何度もやりたくないので、実施した内容をエントリに残しておきます。 クライアント認証を含めた HTTPS の双方向認証を行うためには、以下が必…

JavaのJSSEでクライアント証明書を自由に選択できるようにする

HTTPS で API を呼び出すっていうシーンは頻繁にあって、その API を使うには、通常何らかの認証が求められます。 認証にも色々あるんだけど、そのうちの一つが HTTPS のクライアント認証です。 普通に HTTPS 通信をしたいだけだと意識しないことも多いので…

Stubby4JにおけるJSONでの正規表現、あるいはリクエスト中の特定のフィールドでレスポンスを変更する

Stubby4J を使用したテストにおいて、API リクエストとして送る JSON の中の値によって、レスポンスを切り替えたい場合がある。 もうちょっと具体的にいうと、 リクエストの JSON の中の特定のフィールドの値によってのみ、レスポンスを切り替える 他のフィ…

15分でWebSphere MQの環境を構築しメッセージの読み書きを行う

WebSphere MQ の実験するんだったら Docker 使うのが一番楽だと思います。 調べてたら、IBM が公式に WebSphere MQ v8.0 の Docker Image を作ってくれてて、これあったら 15 分くらいで WebSphere MQ が使える環境が整います。便利な世の中ですね。 https:/…

MacでIMEを切り替えるキーバインド

Mac の IME として AquaSKK を使っているんですが、AquaSKK は Eclipse などとの相性が非常に悪くて、特定の文字が表示されないとか、Ctrl+J でモードを切り替えようとしたら改行コードが入力されてしまうとかで、ぼくは日に日にストレスを溜め込んでいます…

MQMDおよびMQIの整理

WebSphere MQ なんて聞いたこともなかったんだけど、なんかまぁ特定エリアではよく使われているらしい。 以下、WebSphere MQ と RabbitMQ とかと比較するのは比較軸としてふさわしくない気がしないでもないけど、Google Trends の結果としては以下のようなか…

GitbucketのDBからレビュー指摘を抽出する

GitBucket 上で Pull Req とかやりとりしているんだけど、いろいろと評価をするために、これらのレビュー情報を定量化する必要に駆られました。 こういうのを手で数えたりしていると日が暮れるし、何が生産性だ腹を切って死ねということになる。GitBucket で…

Maven Assembly Plugin でできるファイル名がクソダサかった話

Maven Assembly Plugin でできるファイル名がクソださかったのでなんとかしたかった話。 descriptorRef 要素で jar-with-dependency 指定してたら、hoge-0.0.1-SNAPSHOT-jar-with-dependencies.jar とかいうフザけた名前になってて、あまりの衝撃に手足が震…

Maven Assembly Pluginで実行可能jarをつくる

maven assembly plugin maven 力も Java 力も貧弱なのだけれど、依存性を 1 つにまとめた実行可能 jar を作る必要性に駆られたので、ちょっと調べてた。 maven の plugin で実行可能 jar を作ろうとすると、以下の 2 つがメジャー。 Maven Assembly Plugin M…

Stubby4JをJUnitから利用する

Stubby4J を Junit で起動できればだいたいの HTTP 要求に関するテストはできる。 だいたいこんな感じでテストを書きたい。 public class Stubby4jTest { @ClassRule public static Stubby4jServer server = Stubby4jServer.fromResource("com/kiririmode/bl…

RestEasyとHttpComponents、そしてConnectionManager

RestEasy client を使用した HTTP 要求を行うと、TCP コネクションが長時間にわたり残存する問題が発生することがあります。 RestEasy の公式ドキュメントを読めば「HTTP コネクションは適切に release し、適切に close しなければならない」ということは分…

MacBook AirでもRetinaディスプレイ並の高解像度を実現したい

むかしは一年に一台ほど Mac 買ってたけど、2012 年以降はまったく買ってなくて、ひさしぶりに Mac 系の PC 買った。MacBook Air の 13 inch 買った。 これまでは MacBook Pro 15 inch の Retina で、Air もまぁ Retina だとタカをくくっていたのだけれど、M…

コマンドラインでの16進数変換

バイナリを hex encoded で表現するというケースが最近増えてきて、たとえば CBC の初期ベクトルを hex encoded で表現するとか、鍵を hex encoded で表現するとか。 16 進数というと hexdump があって、たとえば 0aA は 16 進数で表現すると 306141 になる…

パスワード等の秘匿情報をKeyStoreで保持する

DB 接続用のパスワードだったり、Basic/Digest 認証のときに使うパスワードだったり、世の中にはパスワードが溢れていて、もうパスワードを個別にして記憶しておくとか絶対にムリ、ムリムリムリムリかたつむりであるから、みんなどの Web サービスのアカウン…

イノベーションのジレンマ

イノベーションのジレンマ、どこに行っても評判よくて、いつか読みたい読みたいと思っていたんだけれど、いつの間にか Kindle で購入してて、いつの間にか読んだ。 イノベーションのジレンマ―技術革新が巨大企業を滅ぼすとき (Harvard business school press…

Maven管理下のリソースファイルの値を実行時にプロパティの値で置換する (Resource Filtering)

ここ半年くらいジャバジャバしていて、maven とかの実力不足を痛感している今日このごろで、勉強しているといろいろなことができるんだなぁというのを発見したりします。 一例として Maven には、動的にリソースの特定の値を置き換える機構が存在していて、…