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 の手順を踏めばどなたでも集金ページを立ち上げることができます。
【目次】
- 集金ページの仕様
- 構造
- 作り方
- 1. Firebase Project の作成
- 2. Stripe の登録と API キーの取得
- 3. ウェブページの実装
- 4. 決済処理を行う Cloud Function の実装
- 4. デプロイ
- 5. 動作確認
- 6. 本番移行
- 注意点
- おわりに
Siri Shortcuts で「Hey Siri, マイクラサーバー立てて」
iOS 12 がリリースされ、Siri Shortcuts が使えるようになりました。 「ショートカット」アプリから GUI プログラミングのような感じで処理を定義できます。
過去にマインクラフトのマルチプレイサーバーを立てる Lambda Function を作成し、Slack の Slash Commands から叩く記事を書きました。
今回はこの Lambda Function を Slack の代わりに Siri Shortcuts から叩けるようにして、「Hey Siri, マイクラサーバー立てて」の呼びかけでサーバーを立ててもらえるようにしました。
動作の様子です。(なんか多重実行されて Slack にエラーログ流れてるけど🙇)
続きを読む「買ってよかったもの」というサイトをリリースした
「買ってよかったもの」という Web サイトをリリースした。リリースしたのは昨年のクリスマスイブだったけど、リリース記事を書きそびれてた。
買ってよかったものをまとめるサイトをつくりました。みなさんの2017年買ってよかったものを教えてください! https://t.co/jOVDhSz67f
— もりしん (@morishin127) 2017年12月24日
作ってから少し経ってしまったけど、覚えてるうちに作った経緯とか開発の流れとかリリース後の反応とかを書いておく。
続きを読む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
: インスタンスの破壊
続きを読むMinecraft をマルチプレイするためのサーバー代と手間を削るために良いの作った https://t.co/CwZkKXaoS6
— モ㌡ (@morishin127) 2017年1月9日
Swift っぽい UserDefaults
Swift 3 の Notification
Swift 3 から Notification.Name
型が追加され、Notification の名前に生の文字列ではなく Notification.Name
型の値を指定できるようになった。
extension Notification.Name { static let userLoggedOut = Notification.Name("UserLoggedOut") } let n = Notification(name: .userLoggedOut, object: nil)
参考: Swift 3 以降の NotificationCenter の正しい使い方
Swift っぽい UserDefaults
UserDefaults のキーはまだ生の文字列を使っているけど、新しい Notification のようなインターフェイスで扱えたらうれしいなと思って薄いライブラリを書いた。
続きを読む