[ツール]ASP.net Core、PlantUML、Metabase、Terraform

2019年になってから使いだしたツールなど忘れないうちにメモ。

ASP.net Core

https://dotnet.microsoft.com/ (WEBフレームワーク)

初期のASP.netを知っている方は言語採用の候補にすら上げないだろう。
自分も同じだw。
でもそれは不勉強なのである。
そろそろアーキの候補にしてもいいかも。Linuxで動かせるのが楽。

某案件でCoreじゃーと勇んだが、
まだ早いと横やりが入りASP.net MVC5でやれと言われた(棒)


PlantUML

http://plantuml.com/ja/ (UMLなどの図を作成するツール)

設計ではサーバ構成図を書く。
進めるつちに改良やレビューやらで手直しが入るわけです。
しかし図の場合、差分管理が難しい。
吹き出しいれるのもダサいし見ずらい。

これは専用の言語で書くと図を作成してくれるのだ。
Visual Studio Codeで作成しながら、ビューワでリアルタイムで図で確認しながらもOK。
つまりGitで専用言語の差分管理ができるのがすばらしい!


Metabase

https://metabase.com/ (データ可視化ツール)

データは可視化するのがトレンド。

エンジニアにやさしい(導入が簡単。運用が簡単)
利用者にやさしい(SQLは知らなくてもOK。つまり営業さんでも使える)
つかわなきゃ損です。


Terraform

https://www.terraform.io/ (インフラ構成管理ツール)

AWSでインフラ構築するのはコントロールパネルをいじれば簡単にできる。
しかし、何を使っているとか、細かい設定を知るのは困難だ。
それが、前担当者のものを引き継いだらどうだ?
まさに阿鼻叫喚であるw
さらに、同じものを作れとかww

このツールはインフラのリソースや設定をコードで表現する。
コードで作成して、実行すると一発でAWS上でインフラを構築する。すごい。
これもテキスト文字なのでGitで差分管理できる。

作っては壊し、作っては壊しがすぐできる(汗)
AWSコンソールパネルだと地獄だがw
一般的なインフラ構成なら、学習時間もそれほど掛からないと思う。
ていうかコンパネから手作りとかもうやめろ(あとで後輩が困るから)

ワシは最近AWS構築をTerraformでやっていて、便利さがわかってきた。おすすめです。

わからんのはいっしょに始めたKubernetes(EKS)! EKSの事例が少なすぎ!

Kubernetes実践ガイド クラウドネイティブアプリケーションを支える技術 (impress top gear)

Kubernetes実践ガイド クラウドネイティブアプリケーションを支える技術 (impress top gear)posted with amazlet at 19.08.03北山 晋吾 早川 博
インプレス (2019-07-12)
売り上げランキング: 11,879
Amazon.co.jpで詳細を見る

[ツール]メール配信サービス、Web APIドキュメントツール、テーブル定義書作成ツール

ちょこちょこ使っている、便利なツールをご紹介。

メール配信サービス


システムの要件で多いのがメールの送信です。
利用シーンとしてはユーザー登録、一斉お知らせ配信などなど。

構築はWEBサーバにSMTPサーバをセットアップしてハイ終了。
でも、そうもいかない場合もあります。

配信サーバの冗長化が必須!
ユーザー数が非常に多い!
ちゃんと配信されているか確認したい!
になるとハードルが一気に上がります。

そういったメンドクサイ事を丸投げできるのが、メール配信サービス。
お勧めはSendGridです。メールの配信状況が管理サイト上で確認できますよ。

AWS好きな人はAmazon Simple Email Serviceもいいでしょう。
どちらも無料枠あります。

Web APIドキュメントツール


皆さんの会社ではAPI仕様書はどのように作っていますか?
Excel?Word?経験上各社バラバラ。作成者によりバラバラ。
一言でいうと見づらいのです。

実装に必要な情報が見つからなかったり、
そもそも抜け落ちたり、
結局、API作成者に問い合わせるとか不毛です。

ドキュメントレベルの標準化ができるのがWebAPIドキュメントツールです。
個人的にによく使っているのがAPI Blueprintです。

Markdown書式で記述し、仕様書をHTML出力するイメージです。
専用ツールを使えば、編集保存した内容がブラウザで自動反映されます。
また、Gitで管理すれば履歴管理もできますね。

テーブル定義書作成ツール


テーブル定義書はちゃんと作ると骨が折れます。
テーブル数が100超えると心も折れます。
さらに実装行程に入ると、
考慮漏れや仕様変更や機能追加などで修正追加が増えていきます。

ドキュメントに即反映しないといけないのですが、
人手が足りないので後回しになります。
世代が増えていくと差分の管理はほぼ無理ゲーでしょう。
というかやりたくない。

それなら、DBに接続して、
最新のテーブル情報やカラム情報を取得して定義書を作くればよくね?
ってことでA5:SQL Mk-2を使いましょう。(Macの人ごめん。Windows専用)

同じようなツールが他にもあるのですが、仕様書としてのレベルが高いのが好きです。
作者が日本人の方なので、よくわかっていらっしゃるんでしょうね。

最近使ったGitホスティング、PHPマイクロフレームワーク、PaaSなどなど

最近、ツールを作った時に使ったサービスをご紹介。

Gitホスティング

WS000143
Gitのホスティングサービスは色々ありますが、
思わず感動したのが、→Bitbucketです。
プライベートリポジトリが作れるし、5ユーザまで無料ですよ!奥さん。
これを見て、Subversionサーバを立てていたIaaSクラウドを解約して、
全リポジトリをGitに乗せ換えたわ。ワハハ。

PHPマイクロフレームワーク

WS000145
要件が画面1・2枚の案件ってありますよね。
ベタでコードを書くのもありなんですが、
でも自分はフレームワークを使いたいわけです。

PHPマイクロフレームワーク界隈も結構増えてきており、
いろいろ探したところ、自分に合うのを発見!→Slim Frameworkです。とにかく構造が単純なのがいい。

PaaS

WS000144
自分の中でのPaaSの位置づけは、簡単なツールとかデモレベルの運用のものです。
本運用や重たい処理には向いていないと思ってます(価格も割高)

とは言え、レンタルサーバより自由度がありサーバ構築&運用をしなくて済むメリットは結構でかい。
ふと思いついたアイデアはすぐプログラミングしてすぐ動かしてみたいじゃないですか!
HerokuやZendやC4SAとかもいいのですが、
個人的にツボったのが、SQALE
ライトな感じがとってもいい。