React Hooks の感想

React Hooks は最初は何が嬉しくてこんな書き方をしないといけないのか訳がわからなかったけど、しばらく使ってみた実感として大きなメリットは2つで

  • クラスを使わなくて良くなる
  • コンポーネントのステートやライフサイクルに結合していた処理を Hooks 関数の形で切り出して、複数のコンポーネントで使い回せるようになる

と理解した。

続きを読む

#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 サイトをリリースした。リリースしたのは昨年のクリスマスイブだったけど、リリース記事を書きそびれてた。

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

続きを読む