ダンスウィズミー 感想


映画『ダンスウィズミー』本予告【HD】2019年8月16日(金)公開

諸般の都合で見てきたので,ついでに感想も書いておく.

とある一流企業に勤めるOLの静香.
怪しげな奇術師にかけられた催眠術により,
音楽を聴くと踊りだしてしまう体質になってしまう.
催眠術を解いてもらうため,奇術師のアシスタントだった千絵とともに
静香は奇術師を追いかけて旅に出るのだが…….

いわゆるミュージカルもの.
したがって,「歌って踊って」なシーンは本来,
話の本筋を離れて楽しむべきシーンなのだが,
本作に関してはそれが出来なかった.

というのも,序盤のレストランのミュージカルシーン終了後,
「現実には酔っ払いのごとく踊り狂っていました」
ということがわかり,かつその際に店をメチャクチャにしたため
主人公が多額の弁償をすることになる,というシーンがある.

主人公が悪人ならばまだ笑えるのだが,
「努力して一流企業に就職した苦労人」
として描かれているので,
ただただ「不憫」という感情しか沸かないし,
以後のミュージカルシーンを見ていても,しばらくは
「今度はこれでどんな不幸な目に遭うんだろう」
という不安しか抱くことができなかった.

本来,ミュージカルシーンってキャラの心情表現にすぎず,
上記のような不安は不要なはずなのだが……
脚本というか,コンセプトの時点で敗北していると思う.

そして,終盤にカタルシスがあるかというと,
諸悪の根源であるインチキ奇術師は特に裁かれることなく,
序盤で「実はクズである」と仄めかされていた先輩も特に話に絡まず.
微妙なテンションのまま,気づけばエンドロールが流れていた.

良かったのは,ダンスが結構本格的だったという点くらいで,
それ以外は正直,見ていて色々と辛い映画だった.


ぶっちゃけ終盤寝かけた.

Spring Boot2 徹底活用 感想

現場至上主義 Spring Boot2 徹底活用

現場至上主義 Spring Boot2 徹底活用

当初は書く気なかったけれど,
ブログが放置気味なので,生存報告的な意味も兼ねて.
仕事上必要になったので購入した本の感想を.

JavaにはSpring Frameworkと呼ばれるフレームワークが存在する.
フレームワークという言葉には色々な意味があるが,
この場合は
「重要かつ面倒な土台部分をあらかじめ用意して提供してくれるもの」
くらいの解釈で良い.

Spring Bootというのは,そのSpring Frameworkの欠点であった
「設定ファイルを書くのが面倒くさい」
を克服するために用意された便利ツールのようなもの.
Spring Bootが提供する各種アノテーションを駆使することで,
フレームワークをそのまま使うよりもコードがシンプルになる.

また,Tomcatを内包しているので
ローカルで簡単に動作させることができるという点も長所の1つと言える.

で,この本はその本の参考書となる.
「現場至上主義」という副題からもわかるとおり,
「実現したいこと」ベースで執筆されているので,
手っ取り早く知りたい情報を取得したいときには非常に重宝する一冊となる.

一方で,原理原則から順序立てて説明しているわけではないので,
これ一冊でSpring Bootをマスターすることは難しい.
そのあたりは,別途本を買うなりネットで情報を漁るなりで補完すること.


どうせだから何かWebアプリケーション作ってみようかな.

新参者 感想

新参者 (講談社文庫)

新参者 (講談社文庫)

加賀恭一郎シリーズの第8弾.
2010年にテレビドラマにもなったので,
これだけは知っているという人も多いのでは.

人形町のとあるマンションで,一人の女性が絞殺された.
事件を捜査する警視庁のサポート要員として,
日本橋署から加賀恭一郎が動員される.
数々の事件を解決へと導いた加賀の洞察力により,
事件の真相が徐々に明らかになっていく……

本作は全9章構成となっており,
上述の女性絞殺事件の調査で発生したちょっとした謎を
各章で加賀が解き明かしていく……という流れとなっている.
内容的には「短編集」と呼んで良いと思う.
とはいえ,全ての謎は絞殺事件の真相へと収束するし,
別の章で出てきた登場人物がしれっと再登場したりするので,
間を空けずに一気に読み切った方が,たぶん楽しめると思う.

他の加賀恭一郎シリーズと比べると重苦しさがなく,
「人情もの」と呼ぶべきエピソードが多いのも特徴.
それに合わせてか,加賀のキャラも微妙に変わっている気がする.
(作中で,一応理由付けはされている)
そういうのが好きか否かで,
この作品に対する評価は結構ブレそうな気もする.


個人的には結構好きだったが,一般的な評価はどうだろう?

人月の神話 感想

人月の神話【新装版】

人月の神話【新装版】

「実は読んだことありませんでした」系の本を
昨年から少しずつ読んでいたんだけど,たぶんこれがラスト.

古今東西のソフトウェア屋は「銀の弾丸」という単語を
結構な頻度で使いたがるんだけど,その火付け役のような本.
銀の弾丸とは,「特効薬」と言い換えるのが適切かな.
『ソフトウェア開発の効率を劇的に改善する
銀の弾丸」は存在しない』……という論旨となる.

何が恐ろしいって,この本の初版の発売が1975年ということ.
にも拘わらず,書いている内容は
現代の開発現場でも起きがちなアンチパターンの数々.
その頃から,テクニカルな進歩はあれど,
マネージネントの進歩はない,ということなのかもしれない.

初版発売時の主流がメインフレームということもあり,
その辺に触れたことのない世代としては
正直ピンと来ない記述もあるのだが,それでも十分読める.
逆に,この時点で既にアジャイルを匂わせる記述もあったりする.

この改訂版は発売20周年を記念して発売されたもので,
初版の主張がどこまで妥当で,どこまで不適切だったかを
著者自身が振り返っている章が追加されている.
なので,初版しか読んだことも無いという人でも
十分読む価値はあるんじゃないかな.

ひとまず,この業界に足を踏み入れるときに流し読みして,
ある程度足場が固まってきた段階で改めて読んで……という流れが
ベストだと思う.
ある程度経験値が溜まった段階で読んでも
「当たり前じゃん」で流してしまい,あまり響かないかもしれない.


ちなみに本の管理が適当過ぎて,我が家になぜか2冊ありました.

ナビゲーションドロワー(DrawerLayout)の活用

自作アプリのメニューを,いい加減ドロワーにしましょう,という話.
ドロワーというのは,画面端をフリックすることで
折りたたまれていたレイアウトがスライド表示される,あれです.

毎度のことながらリファレンス.
ナビゲーションドロワーの作成  |  Android Developers

事前にGradleのdependenciesに
implementation 'com.android.support:drawerlayout:28.0.0-alpha1'
を追加.しないとデバッグ時にアプリが落ちた.

DrawerLayoutのXMLを作成する上では,上記のリファレンスにもあるとおり
以下の注意点が存在する.
・メインコンテンツを先に,ドロワーを後に書く.
・メインコンテンツは,widthもheightもmatch_parent.
・ドロワーには水平方向のグラビティを指定する.
・ドロワーのwidthは320dp以下,heightはmatch_parent.

あとはドロワーの中身が無いと,正しく実装されたかよく分かんないので,
最低限なコードとしてActivityに以下を追記しておく.

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ListView listView = findViewById(R.id.left_drawer);
        listView.setAdapter(new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, new String[]{"aaa", "bbb"}));
    }
}

結果はこんな感じ.
f:id:bob_l_s:20190224012217p:plain


次はここにメニューて画面遷移させるところかな.

AndroidのUIテストの超基礎

久しぶりすぎて色々記憶が飛んでいるので,復習.
扱うのは王道(たぶん)のEspresso.リファレンスは以下.

Espresso  |  Android Developers
Espresso setup instructions  |  Android Developers

基本的に書いていることをそのまんまコピペすれば良いんだけど,
@RunWith(AndroidJunit4.class)の部分がdeprecatedになっていた.

こちらの記事の末尾によると,依存先を変えれば良いとのこと.
AndroidでContextが必要な機能のテストコードを簡単に書こうとしてとても時間がかかった話 - Qiita

// 修正前
androidTestImplementation 'androidx.test:runner:1.1.0'
// 修正後
androidTestImplementation 'androidx.test.ext:junit:1.0.0'

あとはGradleからconnectedAndroidTestで実行して
redなりgreenなりを示してくれればOK.

Matcherのラインナップとしては以下.
これらを使って色々なassertionを記述することになる.
ViewMatchers  |  Android Developers


というわけで,久々に何か作ろうと思います.

Androidを支える技術I 感想

Androidを支える技術〈I〉──60fpsを達成するモダンなGUIシステム (WEB+DB PRESS plus)

Androidを支える技術〈I〉──60fpsを達成するモダンなGUIシステム (WEB+DB PRESS plus)

本当は上下巻構成なのだが,
中々のボリュームだったので,一旦上巻のみの感想.

スマートフォンのOSでiOSと双璧をなすAndroid
覚えてしまえば割と簡単にアプリを作成できるのだが,
如何せん根本部分のリファレンスが少なかったりする.
その結果として,
「仕組みはよく分からないけど,とにかくこれで動く」
という,おまじないがコードの大部分を占めがち.

そんな中,本書は「描画」にターゲットを絞りつつも,
ディスプレイのタッチ操作が内部でどのように処理されて
画面描写まで到達するのか,その流れを
非常に詳細なレベルで説明してくれている.

あまりに細かいので,5章以降のハードウェアよりの部分は
正直「なんとなく」レベルでしか理解できなかったが,
その手前の,入力がViewのdrawメソッドに到達するまでの流れは
まさに個人的にずっと知りたかったところ.
デバッグで何となく見かけていたクラスやメソッドが登場したときは,
「ああ,こいつそんなことしてたのか」
と,ちょっとした感動を覚えた.

どうやら著者が自力でAndroidのコードを読み解いたようで,
その徹底っぷりたるや恐れ入る.
「ここは読み解ききれませんでした」と正直に書いている部分もあるし,
おそらく間違えている箇所もあるとは思うが,
Androidの細かい部分を知りたい人にとって最適な書籍だと思う.


下巻も読了次第,感想書きたいが,仕事用書籍の割り込みが…….