スキップしてメイン コンテンツに移動

投稿

ラベル(github)が付いた投稿を表示しています

バグ発見から学ぶ:Cloudflare Workers+Hono で SESAME API を最適化

バグ発見から学ぶ:Cloudflare Workers+Hono で SESAME API を最適化 SESAME に関する記事はこれが 3 本目かもしれない。 今回、SESAME 関連の自前開発をしてて、Cloudflare Workers のバグを発見したので、その顛末を綴っていこう。 SESAME 操作環境遷移 以前の 記事 の通り、自分の SESAME 操作環境は下記のように遷移していった。 Google App Script + IFTTT Google App Script + MacroDroid Cloudflare Workers + MacroDroid(And ショートカット) まず、GAS+IFTTT の王道の組み合わせだが、以下の不満点があった。 IFTTT の反応がゴミ 自分が帰宅範囲内に入っても全然動作しないというやる気の無さっぷりにキレてしまった。 そうして、ネットの海を徘徊して見つけたのが、MacroDroid。 GAS+MacroDroid の組み合わせは、しばらくは不満がなかったのだが、これもまたイライラする要素があった。 それは GAS の起動がゴミ GAS を使ったことがある人なら分かるが、GAS は起動速度がとんでもなく遅い。 Cold start だと平均 9 秒~ 11 秒くらい掛かる。 そもそも、GAS をサーバレス・アーキテクチャとして使うなという話ではあるが、この起動の微妙な遅さのせいで、帰宅してから数秒のタイムラグがあり、キレてしまった。 Cloudflare Workers + Hono に出会う そんなさなか、ひょんな事から Cloudflare Workers + Hono の案件をもらい、実装する事でその汎用性の高さに気がついた。 まあ、この Cloudflare Workers を実装するきっかけになったのも GAS の案件で、死ぬほど GAS の起動が遅いからどうにかしてくれーという話に対応するためであった。 GAS はデータベース的に使うと便利(コンピュータにそこまで詳しくない人でもデータ入力ができる)なのだが、その分高速性は犠牲にされている。 1 分 1 秒が貴重な現代では、10 秒のコールドスタートははっきり言って時間の無駄。 Cloudflare Wo...

にゃーんを更新しようとしたら色々とハマった

nyaan更新でハマった 拙作だが、 にゃ~ん というふざけたウェブサービスを作っている。 猫の画像が出てきて、ボタン(?)をクリックするとにゃーんとつぶやけるだけのシンプルなサービスである。 これを本当に久々に更新したら、色々エラーが出て、知見を得られたので、公開。 CopyWebpackPlugin の構文が変わっていた。 以前のCopyWebpackPluginは new CopyWebpackPlugin([ { from: "src/images/", to: "" }, ]); と書くことが出来たが、今はできない。 new CopyWebpackPlugin({ patterns: [ { from: "src/images/", to: "" }, ] }); と書く必要がある。 いつの間にそうなってたんだろうw 配列から、ハッシュへ。 まあこの辺はエラーメッセージなどを舐めればそこまで難しくはない。 deploy 時のエラー > webpack --config webpack.prod.config.js --mode production /opt/build/repo/node_modules/copy-webpack-plugin/node_modules/p-limit/index.js:30 } catch {} ^ SyntaxError: Unexpected token { deploy時に謎のエラーが出ていた。これは、 https://github.com/sindresorhus/p-limit/commit/b35faf54fb0871d9ae592069a18083a2ba15d8a9#diff-168726dbe96b3ce427e7fedce31bb0bc に書いてある通り、Node.js 10からは、valid syntax になったからだったようだ。 netlifyでビルドするためのNodeのバージョンを上げれば良かったので、 ここのドキュメント を参考にして、B...

ヴァーチャルアイドル制作で学ぶ git 基本コマンド

ヴァーチャルアイドル制作で学ぶ git 基本コマンド git コマンド難しいとか、コマンドプロンプト(笑)で入力いやーんとかそういう電波を受信していて、んな難しくねーよという思いでこのエントリを書いている。 僕自身、禄に git コマンド使えてないけれど、使ってる範囲でだけ書こうと思う。 この程度の知識でも git 使えるよと勇気を持って欲しい。 後、今日は3/9だし、やっぱりヴァーチャルアイドルネタ書きたかった。 そうだ、ヴァーチャルアイドルを造ろう あなたは、ヴァーチャルアイドルにメロメロです。 多くのヴァーチャルアイドルを見て、萌え、その姿に魅了されていましたが、最近ちょっと物足りなさを感じています。 色々考えた結果、その物足りなさを埋めるために自分で新たにヴァーチャルアイドルを造ろうと思うようになりました。 しかしながら、ヴァーチャルアイドルをどうやって造れば良いのでしょう。 良く分からない貴方は、コンピュータに詳しい悪友Aと、絵が描ける悪友Cに声を掛けてみることにしました。 A 「おkwww把握wwwww 今、 github に virtualidol のモックが上がってるからそこから造ろうずwwww」 C 「日本語でおk」 あなた(以降B) 「僕にも理解できるように話してよ」 こうして、Aの指示の元、あなたとCはヴァーチャルアイドルを作ることにしたのです。 はじめの一歩 A 「とりあえず、プロジェクトをローカルにコピーしよう。 * git clone コマンド * を使えばおk」 B 「すまん、意味が分からない」 A 「しゃあない、細かく教えたるわ。まず、基本となるファイル類を、自分のパソコンにコピーする作業をするんだ。 git コマンドの基本中の基本だな」 C 「普通にブラウザからダウンロードした方が早くね?」 A 「確かにそっちの方が早い。でも、バージョン管理とか出来ないから、オススメはしない。それに複数人で作業するんだから、git は便利。まあ、今回はあんまり複雑な手法で運用はしないから、 subversion とかでも同じ運用は出来る」 B 「だから日本語で話せ」 A 「似たようなツールがあるって話。脱線してすまん。とりあえず、作業用のディレクトリをどっかに作ってくれ...

LDR用の拡張をちょっとだけ作ってみた

LDR用の拡張をちょっとだけ作ってみた 既に、 mono 君が LDR open in background tab という拡張を作っているので、それをforkして、昔書いたuserjsからコピペして貼り付けたのをコミットしてプルリクした。 何をしたいのかというと、 Lキーで購読解除←これが一番欲しかった機能 Wキー、Qキーでレート変更 という機能が欲しかっただけ。 尚、最近の Opera Extension は Google Chrome のソレと全く同じ構成なので、そのままビルド(?)すれば、使える。 一応、ローカル内で使えていて個人的には超便利。 もし、Opera使っていて、LDR使っていて、バックグラウンドでタブ開きたいんじゃーっていう人が居たら公開しますよ(非公式の方法で) 自力でビルドするわボケーって人は https://github.com/ArcCosine/ldr-open-in-background-tab から適当に git clone してビルドしてくだしぁ。 どうでも良いこと そういえば、僕の環境だと mintty から git push 出来ないんだよね、何故か。 多分設定が悪いんだと思う。 あとで調べる。

はてブ拡張のデザインがオカシイことになってる

Operaのあれなんですけど edvakfさんが作ってくれたはてな拡張なのですが、最新版(?)のOperaだとwidth:100%だとやけに長く表示してくださいますので、修正しました。僕のgithubに修正したソースアップしました。1行だけの修正なのに、そんなに修正すんのかwww って感じですがね(白目 gitおもしれー ArcCosine/hatena-bookmark-googlechrome-extension at opera https://github.com/ArcCosine/hatena-bookmark-googlechrome-extension/tree/opera どんどん遊ぶことにしましょう。

KeyActionCancelarのソースコードを公開しました。

いままで超便利超便利としか言ってなかったけれど Opera使いの方なら、きっとその便利さを理解してくれるであろうKeyActionCancelarのソースコードを公開しました。 適当にgit cloneして、適当に圧縮して、適当にoexすれば誰でも使えます。 URLはこちら https://github.com/ArcCosine/kac Gooogle ReaderやGoogle Calendarで1,2キーでタブ切り替え出来なくて辛い思いをしてる方は是非導入してみてください。 え? さっさと固めて公開しろって? いや、その、アイコンが無くて……(^^) 誰か、良いアイコンください。そうすれば固めて公開します(ぁ