53ningen.com

@gomi_ningen's Website

AWS SDK for iOS Samples を試す

GitHub の awslabs/aws-sdk-ios-samples リポジトリには AWS SDK for iOS を利用した以下のサンプルプロジェクトが用意されています

  • CognitoAuth-Sample
  • CognitoYourUserPools-Sample
  • IoT-Sample
  • Lex-Sample
  • Polly-Sample
  • S3TransferUtility-Sample

以下、それぞれを実行し、関連するコードを眺めます

CognitoAuth-Sample(Swift)

UI を実装せずとも SDK が提供するウェブビューベースでのサインアップ・サインインコンポーネントを利用して、手早く iOS アプリにユーザー認証の機能を追加できるサンプルが提供されています

...

Read More

CloudWatch メトリクスのグラフを SNS トピックに通知するアプリケーションを作った

CloudWatch メトリクスのグラフを単純に SNS トピックに通知するアプリケーションを Serverless Application Repository に登録しました。

1. ユースケース

例えば通知先のトピックのサブスクライバは基本的にメッセージを処理する Lambda 関数を想定しています。利用例としては以下のようなものが思い浮かびます。

  • メッセージを処理して E メールを送信する
  • Slack に通知する

例えば Billing のグラフを毎日とある Slack チャンネルに送信することにより課金状況をコンソールにログインせず確認できたり、システムの稼働状...

Read More

オブジェクト指向のメモ

オブジェクト指向の特徴といわれているもの

1. カプセル化(encapsulation)

  • オブジェクトが不必要な情報を外に漏らすことはバグの原因となりうる
  • オブジェクト指向プログラミングではオブジェクトが本来外に漏らすべきではない内部の詳細について公開できないような言語機能を用いて隠蔽し、逆に必要な情報だけを公開するカプセル化を行う
  • パッケージ、スコープ、インターフェースなどの言語機能がこれを実現する助けになる
  • 必要/不必要の判断は人間がプログラミングの際に行うことになるので、あくまで人間が判断する必要がある

2. 継承(inheritance)

  • オブジェクトがあるオブジェクトの性質を内包している場合に、共通の性質を親子の関係にできる構造化や言語機能
  • 多重の継承構造がもたらす複雑さは逆に問題を引き起こすため、継承の代わりに移譲の構造をとったほうがよいとも言われることもある(Effective Java とか GoF の一部のデザインパターンとか)
  • 個人的に使ったほうが現実的に便利な場合は使うけど、複雑さがまさる場面では使わないようにして...
Read More

CloudWatch メトリクスのグラフを AWS CLI から取得する

CloudWatch メトリクスでいい感じに表示したグラフは、そのままそっくり AWS CLI からも(もちろん各 SDK からも)取得できます。

AWS CLI からは get-metric-widget-image を利用しますが、パラメータの --metric-widget を自力で組み立てるのはかなり面倒です。

CloudWatch メトリクスでグラフを表示したまま "ソース" タブを開いてイメージ API ボタンを選択すると、この --metric-widget にて指定する JSON がまるまる取得できるので、これをそのままローカルに保存。

次のようなコマンドでグラフが取得できます

$ aws cloudwatch get-metric-widget-image --metric-widget file://widget.json | jq -r '.MetricWid...
Read More

Copyright © 53ningen.com