「ユーザー機能」に関する日記

次>

浮き沈みランチャー2とreCAPTCHA

浮き沈みランチャー2

余白がうまく反映されてない問題、ひとまず解決しました。
まあ、必要な余白を設定する、ということです。
ただ、チェックボックスの上下だけ余白を変えられず、一定以下には狭くなりません。

というわけで、新課題として設定しました。
やり方さえわかれば多分一発。

reCAPTCHA

あの頃のreCAPTCHAが今もちゃんと動いていることを確認したので、ログイン画面にも付けときました。
あと、reCAPTCHA入れたつもりで入っていなかった場所も、動作するようにしたりいっそ廃止したり、それぞれ対応しました。

ユーザー機能とPHPUnitとアンパンマンDB

ユーザー機能

動作確認できたので、リリース。
ちなみに、Twitter側の連携済みアプリ一覧からは消えませんでした。

PHPUnit(TGWS内部処理)

PHPUnit、バージョン10から一気に最新の13まで上げました。
前回はコードの修正がまあまあ大変だったのですが、今回はテストコードのほうは一切変更なしで動きました。
ただ、設定のデフォルト値などが変わって、カバレッジの設定がphpunit.xmlに入っていると、カバレッジなしで実行するにはコマンドライン側で--no-coverageを明示してやらないと一切動いてくれなくなりました。
あとは、PHPUnitが内部的に使っているsebastianbergmann/diffが、うちで使っていたバージョンと競合して、一緒にバージョンアップしなきゃいけないぐらいですね。

アンパンマンDB(システム)

個人メモの自動保存、リリースしました。
ただ、使い方の説明とかがまだ一切ないので、(preview)は外さないでおきます。
一応今のところは快適。

アンパンマンDB(記事更新)

情報提供の反映。

浮き沈みランチャー2とアンパンマンDBとユーザー機能

浮き沈みランチャー2

自分用で使ってて気になったところの修正。
同じダイアログをいくつも出せちゃったりしてたんですよねぇ。
本来はそれを防ぐ仕組みがあったのですが、先日のメインウィンドウ閉じる対応で、潰れちゃってました。
ということで、別のやり方でほぼ同じ機能を再現しました。

Desktop?.Windows.Where(w => w is ItemEditWindow).ToList().ForEach(w => w.Close());

やってることは割と簡単で、同じ種類のウィンドウが一覧にあったら先にそれを閉じるという対応。

var existingAboutWindow = Desktop?.Windows.FirstOrDefault(w => w is AboutWindow);
if (existingAboutWindow is not null)
{
    existingAboutWindow.Hide();
    existingAboutWindow.Show();
    return;
}

消す必要がない場合、既にあるのを使いまわして再表示しています。
ウィンドウをアクティブにするならActivateメソッドで良さそうと思ったのですが、うまく機能しなかったので、Hide→Showの力業で前面に出しています。

アンパンマンDB(システム)

今更ながら、個人メモの自動保存に着手。
このあたり、AIにやらせてみたらいろいろ考慮されたコードが出てきました。
入力内容の自動保存なんて世界中のいろいろなサービスがやってることだから、定番の方法も確立されてたんだろうなァ。
問題なさそうならこのままリリース、問題あったら手直しってところですね。

ユーザー機能

Twitterトークン無効化の実装はしたけど、動作確認してないので未リリース。

ユーザー機能

せっかくなのでTwitter連係解除機能も作ろうとして、とりあえずこっち側で認可情報消すのはしたけど、それだけじゃTwitter側の認可は残りっぱなしになるんですよね…。
なので万全を期すならアプリ設定開いて認可取り消しとけよーみたいなことを説明に書こうとしていたんですが、もしかしたら認可取り消しもAPIでこっち側からできるんじゃないかと。
で、調べたら出てきたのが以下のAPI。

POST oauth/invalidate_token

これで連携を両側から切れそう。
うまくいったらTwitter連係解除機能リリースします。

ユーザー機能と映画ちいかわ 人魚の島のひみつ

ユーザー機能

Twitterでログイン機能が復活しました。
一応、以前Twitter連携していた人は以前のアカウントを引き継ぎます。
現状のメリットはアンパンマンDBのクイズの結果が保持される程度ですがね。

実装はほぼ以前のままで済みましたが、取得しないデータはリクエストしないようにしました。

映画ちいかわ 人魚の島のひみつ


観てきました、4DXで。
ストーリー周りは以前に語ったんで、今回は4DX演出周りを中心に。
ストーリーのネタバレはないんで伏せないよ。

  • 上映前の予告から4DX有効。格闘家に殴られ、ゾンビに襲われる!!
  • 4DXの注意事項説明担当は超かぐや姫。なんで各注意事項にちょうどいい映像があるんだよ!
  • おおむね、地面が揺れるところで椅子全体が揺れ、人物が衝撃を受けるところでは椅子に殴られる
  • 強大なセイレーンや元気なうさぎが椅子揺らすのは予想通りだったけど、カニちゃんこと古本屋さんも結構揺らす。モモンガを平気で引きずるし、カニちゃん意外とガタイいいな?
  • 船も程よく揺れる。こんなとこでちいかわの気分を再現しなくてもいいのよ
  • くりまんじゅう先輩の五臓六腑にプラカップのビールが染みわたる4DX!たまらない!!
  • 爽やかな潮風に当たるシーンではいい感じに風が吹く
  • 繊細な傾きの表現もよかった。崖下を覗くときの吸い込まれるような感覚、倒れるときの平衡感覚が失われるような感覚…
  • 香りの再現は残念な感じ。全部ミント。作中にある香りは料理から磯の香りまで多様だから、充分再現できる劇場は限られるだろうなァ
  • 水しぶきや耳に息吹きかけられる演出もたびたびあった

ユーザー機能とアンパンマンDB

ユーザー機能

Twitterログイン、死んで久しいけど、有料API買ったし、復活できるかも。
昔いろいろ厳しくなったときにアプリごと消しちゃったのでアプリ作り直しからだけど。
2023年に潰れてたっぽいけど、あの頃のソースコードは動くかな…。

アンパンマンDB

商品DB、今はほぼ作品と直結するDVDやCDの情報がほとんどだけど、ぬいぐるみとかのグッズ情報も需要あるかな。
とりあえず、私も買ってて店頭でもよく見かけるプリちぃ★ビーンズで試してみるか。

ユーザーページとfunyan

ユーザーページ

急ですが、ユーザーページの新規登録&パスワード変更画面のパスワードフォームに簡易的ですがパスワード強度チェックを付けました。
ないよりましレベルの簡易的なものなので、このチェックに頼るよりはパスワードマネージャーとかでパスワードを作ることをお勧めします。

実装は、ある程度AIに頼りながら書きました。
ただこれ、自分で書くよりAIに書かすより、誰かが作ったライブラリを探したほうが良かったかもなと思ってます。
人が気軽にAIに頼む程度の要求仕様じゃAIも気軽で雑な実装しか書かないし、それが正しい保証もない。
ライブラリなら、しっかり作り込まれたものであればという前提は必要だけど、仕様は練り込まれ、テストも入念に行われて、サンプルも充実し、使いやすく整備されているはずです。
と考えると、AIを使うのは直接コーディングさせるよりも、便利なライブラリを探させるのに使ったほうがいいのかも。

funyan

別に実装は進んでないです。
さっきあんなこと言ったけど、こっちのプロジェクトはむしろ直接コーディングさせるほうでAI活用したいんで、AIの都合に合わせた構成にしたいなーとか考えています。
例えば今GitHubではAmazon Q Developerを入れていますが、こいつはIssueを割り当ててやると、作業用ブランチを作って作業して、元のブランチへプルリクエストを出します。
だったら元のブランチになる候補は数を絞ったほうがいいなということで、フェーズごとのブランチを廃止して、小さな機能ごとでも開発が終わった分はmasterブランチに統合していくことにしました。

Phase2 by mifumi323 · Pull Request #6 · mifumi323/funyan
ということで、このプルリクエストです。
この日記を書くタイミングでプルリク出したので、AIのレビュー待ちでマージは保留しています。

RPG Maker XPとTGWS内部処理

RPG Maker XP

減るもんじゃないので、無料のうちにライセンス取得しておきました。
ひとまずは素材目的だったけど…BGMがMIDIだ!
使えそうな素材探しは作りたいものができてからでいいとして、ちょっと何かしらクソゲーの一つでも作っておきたいな。
ってことをウディタの時にも言ってた気がするぞ?

TGWS内部処理

アンパンマンDBのみんなのタグのシステムの調整とかをしていて、アンパンマンDBのユーザー機能がTGWS自体のユーザー機能と噛み合わない部分があるのが気になって、そっちのほうを改修していました。
修正内容としてはそんなに大変なものではないのですが、様々な場所で無造作に使っているシステムで、影響範囲が実質全体に及んでいるので、念入りめに確認してからリリースする予定です。

アンパンマンとユーザー機能と電子メール

アンパンマン

最新レンタルDVD出たので、収録内容確認しました。
7週分(14本)収録に戻ってました。
予測した収録内容が当たっていたので、アンパンマンDBのほうの収録話の項目は修正なしです。

ユーザー機能

Twitterでログイン機能がXのせいで潰れてしまっていて、たまにログインしようとしてくれた人がエラーに見舞われていたので、入り口をとりあえず塞いでおきました。
今のところモチベは少ないけど、うまく復活できたら、入り口も再び開通させます。

電子メール

どうやら転送機能自体が潰れたわけではなく、特定の送信者の場合に転送がうまく働かない模様。
ということは全面的にtgws.plusメールを諦める必要もないってことかな。

Twitter API

いまだに詳細がわからんけど、とりあえず、ユーザー機能はOAuth以外全部が死んでも動作するようにしました。
アンパンマンDBの最新っぽい情報群は、Twitterのアンパンマン最新情報botとの連携が失敗しても継続するようにしました。
他の、Twitter APIが全面的に動かないとどうにもならないものは、止まってから考えます。

Twitter API

API有料化するやつ…日記での言及はあえて避けてきましたが、発表のあった日から把握はしていました。
延期されたので今日は特に何ともないんですが、とりあえずの方針は以下のようにします。

TGWSのユーザー機能でのTwitterでのログインは、継続予定。
修正不要のはずだけど、一応使うAPIを減らすつもり。

アンパンマン日替わり紹介botは、書き込み権限が大丈夫そうなら継続、無理そうなら終了か手動更新。

アンパンマンワンドロは、読み書き権限が両方とも大丈夫なら今まで通り、無理なら当面は手動更新するつもり。

アンパンマンDBやTGWSの更新通知は、書き込み権限が大丈夫そうなら継続、無理そうなら手動更新。

あと、それとは別に、TwitterのほかにFediverseにも同様なbotを作ろうかという構想もあります。
どこで作るかというのかは問題になりますが…。

アンパンマンDB

アンパンマンDBからユーザー登録できるようにして、公開しました。
とりあえずユーザー登録機能自体はこれで一区切りつきました。
もうちょっと説明とか、マイページ的なのも欲しいので、そのあたりは今後の課題かな。

ユーザーページ

説明文もおおむねできてきました。
あとはユーザー機能を使うページからリンクすれば公開できるかな。

ユーザーページ

ログイン後に元居たページに戻ってくる処理作成。
アンパンマンDBのコメント欄からログインすれば、アンパンマンDBのコメント欄に戻ってきます。
あとは説明などを整えれば公開できそうです。

ユーザーページとドラゴンクエスト10

ユーザーページ

ログイン機能としてはいったん完成。
見た目とか、ユーザー機能を実際に使うページとの行き帰りとか、もうちょっと整えたい部分はありますね。

ドラゴンクエスト10

ァォィョッュのストーリー進行。
ルシェンダ様のお使いの続きに行こうと思ったけどそろそろボス戦っぽくて引き返してきました。
確か昔ミフミンで行った時えらく苦労したやつだ。

ユーザーページとドラゴンクエスト10

ユーザーページ

引き続き開発中。
Twitterから戻ってきてからのTGWSのユーザーとの紐付けがちょっと入り組んでいるのです。

ドラゴンクエスト10

希望の丘
ァォィョッュのストーリー進行。
ルシェンダ様に頼まれてた偽の世界のおつかい。

ユーザー管理

new staticに罪はなかった。
一応、内部動作刷新しました。
その影響で一つ重大な機能が消えているので、ユーザーページ自体のリニューアルも兼ねて、しっくりくる形で作り直します。

次>