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

unhurried

コンピュータ関連ネタがほとんど、ときどき趣味も…

PlantUML インストール方法

これまでUMLを記述するのには、仕事でも個人でもastah communityを利用していました。astah communityはバージョン7.0から商用利用不可となりましたが、私のUMLの用途はシステムの概要を説明するために簡単なクラス図とシーケンス図を使っていただけでしたので、有料版を購入するほどのものでもありません。そこでその代替となるツールを探してみることにしました。

Qiitaで人気そうなのはテキストでUMLを記述できるPlantUMLというツールでした。少し使ってみたところ、記法はシンプルで覚えやすく、テキストのために差分比較もでき、Atomプラグインを利用することでリアルタイムプレビューもできるため、中々使いやすいと感じました。大規模の図では探したい場所をテキスト中から探すのにが大変になるかもしれませんが、私の用途では全く困らなそうです。

以下では、PlantUMLのインストール方法を簡単にご紹介しています。

PlantUML

  • UMLをテキストで記述するための言語(DSL
  • 対応しているUMLのダイアグラム
    • シーケンス図
    • ユースケース
    • クラス図
    • アクティビティ図
    • コンポーネント
    • ステートマシン図
    • オブジェクト図
    • 配置図(ベータ版)
    • タイミング図(ベータ版)

Webサイトで簡単に試す

Atomでの編集環境を構築する(Windows10)

  1. Graphvizをインストールする

  2. Atomを起動してPlantUMLプラグインをインストールする

    • メニューから File -> Settings -> Install を選択します。
    • 「plantuml-viewer」を検索してインストールします。
  3. PlantUMLプラグインの設定を更新する

    • メニューから File -> Settings -> Packages -> plantuml-viewer -> Settings を選択します。
      • Charset: UTF-8
      • Graphviz Dot Executable: C:\Program Files (x86)\Graphviz2.38\bin\dot.exe (Graphvizをデフォルト設定のままインストールした場合)

AWS ELB(ALB)にZone Apexドメインを設定する

Zone Apexとは?

Apexは頂点、先端という意味で、wwwなどのサブドメインのつかないドメインを意味します。 example.comというドメイン保有している場合、www.example.comはZone Apexではなく、example.comはZone Apexとなります。

Zone ApexにはCNAMEを設定できない

ドメインDNSサーバーを、AWSDNSサービスであるRoute53を使わずに外部に用意していた場合、DNSレコードにはELB(ALB)のドメイン名をCNAMEレコードとして設定する必要があります。 ところが、RFC1912に記載される仕様上、この設定が正しく動作する保証がありません。

Route 53のエイリアスレコードを利用する

結局のところ、この場合には外部のDNSサーバーは利用できず、Route53で提供されるエイリアスレコードという機能を使うしかありません。
エイリアスレコードはCNAMEのように定義でき、実際の動作上はAレコードのように振る舞う仕組みです。(DNS応答の際にCNAMEレコードのドメインIPアドレスを解決して、そのIPアドレスをAレコードとして応答します。)

参考

Heroku Free DynoのSleepを防止する

Herokuでは月に1000時間の稼働稼働枠がもらえますが、無料プランでは30分アプリにアクセスがないとアプリがSleep状態になってしまいます。New Relicアドオンを使って定期的にリクエストを送信することでアプリがSleep状態になることを防げますので、設定手順をご紹介します。

New Relicアドオンのセットアップ

# Herokuにログインする
$ heroku login
# New Relicアドオンを追加する(wayneは無料プランの名称)
$ heroku addons:add newrelic:wayne -a {app name}
# New Relic設定画面をブラウザで開く
$ heroku addons:open newrelic -a {app name}

New Relicの設定

最初に表示されるプロダクト選択画面で「SYNTHETICS」を選択する。

モニターの作成画面で以下を入力する。

(1) Choose your monitor type:Ping

(2) Enter the details

  • First, name your monitor:(適当な名前を付ける)
  • Enter a URL:(HerokuアプリのURLを入力する。アプリにリクエストが送信されればエラーが返却されても問題ないので https://{app name}.herokuapp.com/ などでよい。)

(3) Select monitoring locations

  • どのロケーションを選択しても大差はないと思うので適当に選択すればよい。

(4) Set the schedule:15min

  • 30分より短く設定する必要があるため。

まんがでわかる 7つの習慣

久々にまんがでわかるシリーズを読みました。今回はかなりブームを過ぎていますが、コヴィーの7つの習慣です。

まんがでわかる 7つの習慣

まんがでわかる 7つの習慣

感想

7つの習慣それぞれについては、この書籍を読めば簡単に要旨を理解できると思いますので、印象に残ったことをまとめてみました。

主体的である

自分のゴールを描いて「すべき」かつ「できる」ことから始める、ある意味では自分の世界に閉じこもることが、ブレずに行動する秘訣なのだと思います。

相手を理解することから始める

仕事でもプライベートでも相手が自分の希望通りに動いてくれないことで不満や苛立ちを感じることは多いと思います。まずは先述した自分の世界を盾に「相手を最終的に理解できなくても大した問題でない」とリラックスして、次に「自分を含め完璧な人間などいない」を前提に、相手の論理を理解しようとする、ということが重要だと思います。

アメリカで購入できる胃薬

胃が弱いのでよく胃薬にお世話になります。 アメリカに来た当初は何を買えばよいかわからなかったので、定番を調べてみました。

  • Tums

    • 気軽に飲める制酸剤。カルシウムの補給用途にも使える。
  • Zantac

    • H2ブロッカーという胃酸分泌を抑制する薬。
    • 日本の薬局で購入できるガスター10と成分は異なるが同様の効果。
  • Nexium

  • Gax-X

    • 腹部膨満時に利用する消泡剤。
    • 日本でよく処方されるガスコンに似た成分が入っている。

JAX-RSアプリをHerokuにデプロイする

Javaで実装したREST APIをHerokuにデプロイするときに少し迷ったため、今後のためにひな形としてサンプルアプリを作成しました。

github.com

ポイント

ローカルで実行する

maven clean package
  • Web Runnerを起動する。
java -jar target/dependency/webapp-runner.jar target/*.war

Open ID Connect Client

Moved to http://unhrrd.blogspot.com/2017/05/open-id-connect-client.html