技術をかじる猫

適当に気になった技術や言語を流すブログ。

学習

Docker(17.12.0) docker-compose 試してみた

と言っても言うほど難しい話ではなく、複数起動してたコンテナをスクリプトでまとめてやるだけの話。 docker-compose.yml を下記の様に記述。 version: '3.1' services: wordpress: image: wordpress restart: always ports: - 8080:80 environment: WORDPRE…

Docker(17.12.0) Dockerfile からのイメージ作成

内容的には前回やった事を自動化する。 white-azalea.hatenablog.jp だってこんなのイメージで持ち続けるって大変じゃね? ってことで、スクリプトでイメージの作り方を指定するらしい。 XXXXXXXX$ cat Dockerfile FROM ubuntu # Install requirements. RUN …

Docker(17.12.0)をもう少し真面目に弄って見た

前回 docker run -it ubuntu /bin/bash を叩いた後の事。 別シェルを開いて、今度は docker ps でプロセスを眺めてみた bash が普通に動いているのが見えるわけだ。 まずはファイルを作成して見る。 別タブで差分を表示してみる。 普通に Ctrl+D で終了して…

1 クラス 1 機能、1 メソッド 1 処理の徹底

どういう事? 名前の通り、クラス設計において、1つの機能は1クラスとして用意します。 また、1機能の実現もまた手続きがありますので、それら手続きも基本的にクラス、メソッドとします。 さらに、手続きの中でもループして書き換えるとか、なんらかの値…

オブジェクトの状態は作らない

ここで言う状態とは、クラス変数と振る舞いの状態を意味します。 例えば、クラス内の特定のフラグが true となったらメソッドの挙動が変わるなどです。 状態とは? Java で例えれば、Closable インターフェース実装クラスなんかがそれに当たります。 リソー…

設計はトップダウンとボトムアップ

設計のトップダウン コードが設計だとしても、全ての設計が不要になるわけではない。 もちろん、Excel 方眼紙に書いた誰も読まないコード書いた方が早い設計書ではない。 まずは機能設計までと名前空間(パッケージやディレクトリ構成)だ。 何の事はない、…

車輪の再発明は避ける

プログラマなら何度も聞いた筈。 でも、実際に車輪の再発明って結構やってるのでは? 車輪の再発明とは? 何のことはない、同じようなものを何回も書く事をいう。 例えば、AJAX API を作るという場合なら、XML/JSON でシリアライズ/デシリアライズの環境を整…

勉強し続ける

前のエントリ でも書いたが、勉強はスキルを上げる唯一の手段だ。 加えて言えば、勉強する気もなく古い技術ですべて解決しようとする人、とはコードを改善したいとも思わない人とは、僕は仲良くできないだろう(きっと一緒に仕事をしたら喧嘩になるか、そいつ…

プログラムを読みやすくするための個人的Tips

個人的に綺麗なコードを書くために心がけているもの。 数が多いので、効果があると個人的に思っているものだけ集めてる。 なぜ読みやすく書くのか 読みやすいことに興味がない人のコードで、本当に汚ければ遠慮なくけなすし、そのコードを保守したいとも触り…

Play 2.4.x をいい加減調べてみる

色々変わったそうなので、まずはハイライトを見てみる。 https://www.playframework.com/documentation/2.4.x/Highlights24 DI サポート テストにおけるモックを容易にしたかった 軽量な組み込みPlayアプリケーションや、一つのJVM上で複数のPlayアプリケー…