開発

Slack の次世代プラットフォームで作る ChatGPT Bot

Slack がベータ公開 (2023年時点) している次世代プラットフォームを使って ChatGPT Slack bot を作りました。bot へメンションすると ChatGPT API を叩いて返答してくれます。 これだけの機能の bot なら多くの人が作っていて github.com 上でもコードが散…

「買ってよかったもの」サイトを Heroku (Rails) から Vercel (Next.js) に移行しました

この記事は CAMPHOR- Advent Calendar 2022 の18日目の記事です。 2017年に「買ってよかったもの」というウェブサイトをリリースし運営していますが、リリースから5年経った今 PaaS 移行のため技術スタックも一新しフルスクラッチで書き直したのでその話をし…

Azure Static Web Apps で作る React + GraphQL なサーバレスウェブアプリケーション

この記事で言いたいことは2つあって、 Azure Static Web Apps の開発体験が良い TypeScript + React + GraphQL (Apollo Server, GraphQL Code Generator, React Query) の組み合わせが良い です。 これらの技術要素を使って https://github.com/morishin/azu…

ご家庭を支える定期実行ジョブの開発フロー

この記事は CAMPHOR- Advent Calendar 2021 の5日目の記事です。 CAMPHOR- Advent Calendar には初回の2014年から参加していて8度目の参加になります。老ですね。 今回は私生活でしばしば必要になって作っている家庭内タスクのリマインダーのお手軽構築スタ…

Firebase Hostingのリライトをローカルでエミュレートするプロキシ

Firebase Hosting にはリライトという機能があって、設定ファイル(firebase.json)を書くことで例えば 全てのパスを /index.html へ向ける (SPA などで使う) /items/1234 へのリクエストを /items/id.html へ向ける /api/get_item へのリクエストを Cloud Fun…

開発で使ってる便利ツール

この記事は CAMPHOR- Advent Calendar 2020 の23日目の記事です。22日目は れおまる さんの「ニキシー管の魅力 」でした。ニッチ!!!!(賞賛) CAMPHOR- Advent Calendar には初回の2014年から参加していて7度目の参加になります。 今回は普段の開発で便利…

React Hooks の感想

React Hooks は最初は何が嬉しくてこんな書き方をしないといけないのか訳がわからなかったけど、しばらく使ってみた実感として大きなメリットは2つで クラスを使わなくて良くなる コンポーネントのステートやライフサイクルに結合していた処理を Hooks 関数…

Quill というスニペット補完ツールを作りました

目次 目次 デモ 機能 使い方 ライセンス購入 開発の経緯 使った技術 アプリ本体 課金 ライセンス発行・配信 ウェブページ さいごに これ👇 quill.morishin.me デモ

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

3行 Rails アプリの開発において、手元の開発環境では Rails アプリのみをホストマシン上で実行、MySQL や Redis などのミドルウェア類は Docker コンテナ (Docker for Mac) 上で実行するという構成が好き Rails アプリで MiniMagick を使おうとすると Rails…

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

この記事は CAMPHOR- Advent Calendar 2018 17日目の記事です。 morishin です。今月イベントを主催して参加費を集金する機会があったのですが、当日会場で受付を用意して集金する手間を省くために、参加者には事前決済をお願いしました。そこで決済手数料や…

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

iOS 12 がリリースされ、Siri Shortcuts が使えるようになりました。 「ショートカット」アプリから GUI プログラミングのような感じで処理を定義できます。 過去にマインクラフトのマルチプレイサーバーを立てる Lambda Function を作成し、Slack の Slash …

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

「買ってよかったもの」という Web サイトをリリースした。リリースしたのは昨年のクリスマスイブだったけど、リリース記事を書きそびれてた。 買ってよかったものをまとめるサイトをつくりました。みなさんの2017年買ってよかったものを教えてください! ht…

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

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

Swift っぽい UserDefaults

Swift 3 の Notification Swift 3 から Notification.Name 型が追加され、Notification の名前に生の文字列ではなく Notification.Name 型の値を指定できるようになった。 extension Notification.Name { static let userLoggedOut = Notification.Name("Use…

遺伝的アルゴリズムでやっていく Mario AI Competition 2009

この記事は CAMPHOR- Advent Calendar 2016 19日目の記事です。 Mario AI Competition 2009 とは Mario AI Competition 2009 は Sergey Karakovskiy と Julian Togelius という研究者の方が主催していたらしい大会で、スーパーマリオブラザーズ(を模したゲー…

Xcode プロジェクトをシュッと開く Alfred Workflow

中で mdfind を叩いて *.xcworkspace *.playground *.xcodeproj を検索し、選択したファイルを Xcode で開く Workflow です。 iOS 開発者の方には最高便利だと思うのでお使いください。 Download

Docker と nginx-proxy で自分だけの nbviewer をシュッと立ち上げる

jupyter notebook を他人と共有したい時には nbviewer が便利ですよね。公式のページ もあるのですが簡単に Docker でドーンできるようなので自分のを作ってみました。 お使いの DNS の設定で Docker ホストの IP アドレスに対し nbviewer.example.com 的な…

Haskell でマルコフ連鎖を用いたポエムの自動生成

poem-generator Haskell の勉強のためにポエムを自動生成するプログラムを書いてみました。 初めて書いた Haskell のプログラムなので拙いコードだと思いますが、どう実装したかを記事にしておこうと思います。 リポジトリはこちらです。

Bitcoinのリアルタイムチャート画像を返すAPIを作ってSlackでHubotに吐かせる

この記事は CAMPHOR- Advent Calendar 2015 20日目の記事です。 (CAMPHOR- についてはこちら https://camph.net/ ) こんにちは @morishin127 です。 近頃 CAMPHOR- メンバー間での割勘や立て替え時に Bitcoin を利用するのが流行っています。LINE Pay 的な使…

打鍵に反応してキーボードが光り輝くMacアプリつくった「LightningKeyboard」

MacBookのキーボードのバックライト、常にオフにしてて全く使い道無いと思ってたけど、打鍵に合わせて光らせたらカッコイイんじゃないかと思って作った。 「LightningKeyboard」

英辞郎の検索ができるAlfred Workflow作った

記事のコメントでもご指摘を受けていましたが、英辞郎 on the WEBの運営会社であるアルク様から利用規約違反のためソースコードの削除を求められましたので、削除致しました。記事内のダウンロードリンクは無効です。違反してごめんなさい。(追記: 2014年7月…