#zoom-nomikai

この記事は CAMPHOR- Advent Calendar 2019 の8日目の記事です。7日目は @asamas さんの「スプラトゥーン2の戦績データを取得する+おまけ」でした。

CAMPHOR- Advent Calendar には2014年から参加していて6度目の参加になります。今日は CAMPHOR- というコミュニティの Slack にある #zoom-nomikai チャンネルの話をします。

続きを読む

Rails + MiniMagick の開発環境で ImageMagick を Docker コンテナに切り離す

3行

  • Rails アプリの開発において、手元の開発環境では Rails アプリのみをホストマシン上で実行、MySQL や Redis などのミドルウェア類は Docker コンテナ (Docker for Mac) 上で実行するという構成が好き
  • Rails アプリで MiniMagick を使おうとすると Rails アプリを実行している環境に ImageMagick をインストールする必要があるが、開発するアプリケーションによって利用したいバージョンが異なるかもしれないし、開発者の OS によってインストールの手順も異なったりするし、そもそもローカルマシンの環境を汚したくない
  • ImageMagick をインストールした Docker コンテナを用意し、MiniMagick gem からそれを利用させるようにした
続きを読む

Stripe と Firebase で集金ページを作る

この記事は CAMPHOR- Advent Calendar 2018 17日目の記事です。

morishin です。今月イベントを主催して参加費を集金する機会があったのですが、当日会場で受付を用意して集金する手間を省くために、参加者には事前決済をお願いしました。そこで決済手数料や出金手数料、また参加者の支払いにかかる手間の少ない手段を検討し、Stripe と Firebase で集金ページを作成し、そこからクレジットカードで決済してもらうという形を取りました。この記事ではその集金ページの作り方を紹介したいと思います。

リポジトリはこちらです。Firebase と Stripe のアカウントを用意して README の手順を踏めばどなたでも集金ページを立ち上げることができます。

github.com

【目次】

  • 集金ページの仕様
  • 構造
  • 作り方
    • 1. Firebase Project の作成
    • 2. Stripe の登録と API キーの取得
    • 3. ウェブページの実装
    • 4. 決済処理を行う Cloud Function の実装
    • 4. デプロイ
    • 5. 動作確認
    • 6. 本番移行
  • 注意点
  • おわりに
続きを読む

Siri Shortcuts で「Hey Siri, マイクラサーバー立てて」

f:id:morishin127:20180923035423p:plain:w300

iOS 12 がリリースされ、Siri Shortcuts が使えるようになりました。 「ショートカット」アプリから GUI プログラミングのような感じで処理を定義できます。

過去にマインクラフトのマルチプレイサーバーを立てる Lambda Function を作成し、Slack の Slash Commands から叩く記事を書きました。

morishin.hatenablog.com

今回はこの Lambda Function を Slack の代わりに Siri Shortcuts から叩けるようにして、「Hey Siri, マイクラサーバー立てて」の呼びかけでサーバーを立ててもらえるようにしました。

動作の様子です。(なんか多重実行されて Slack にエラーログ流れてるけど🙇)

続きを読む

「買ってよかったもの」というサイトをリリースした

買ってよかったもの」という Web サイトをリリースした。リリースしたのは昨年のクリスマスイブだったけど、リリース記事を書きそびれてた。

作ってから少し経ってしまったけど、覚えてるうちに作った経緯とか開発の流れとかリリース後の反応とかを書いておく。

続きを読む

iOS 自分用ライブラリ紹介×6

この記事は CAMPHOR- Advent Calendar 2017 19日目の記事です。

私用だったり業務用だったりで実装した iOS 開発向けのライブラリをいくつか切り出して公開したのでご紹介です。 誰かの役に立ったらうれしいです。

目次

  • BetterUserDefaults
  • UIViewBorders
  • KeyboardFriendlyScrolling
  • CopyLinkActivity
  • RFC3339DateFormatter
  • EasyButton
  • アドベントカレンダー振り返り
続きを読む

Minecraft のマルチプレイ用サーバをプレイ時だけ稼働させるための Lambda Function

三行

  • Minecraft サーバはメモリ2GB以上のインスタンスが欲しいけど VPS を借りると月2000円ぐらいかかるところが多い
  • プレイ時だけ稼働させればよいので Slack からインスタンスを立てて遊び終わったらデータを退避させて壊せるようにした
  • $0.03 / hour で遊べる

minecraft-lambda-function

Minecraft サーバをプレイ時だけ稼働させるために下記の機能を持つ AWS Lambda Function を作った。

  • create: DigitalOcean にサーバインスタンスの生成 → S3 からプレイデータ(worldディレクトリ)のダウンロード → Minecraft サーバの起動 → IP アドレスを Slack に通知
  • upload: S3 へプレイデータをアップロード
  • destroy: インスタンスの破壊
続きを読む