2023-01-01から1年間の記事一覧

ブラウザゲームを作った話「TheWizardOfOverNight」

作ったもの 以下のリンクから遊ぶことが出来ます。 extab-az.itch.io ライブラリなど typescript phaser3 parcel ゲームのこと コンセプト 「しゃがんで機をうかがって、狙って撃つシューティングゲーム」 概要 このゲームはレトロな固定画面シューティング…

phaser3でスプライトの出現が重くて焦った話

起こったこと Phaser3でゲーム制作をしているときのこと、Phaser.Physics.Arcade.Groupを使って敵データ(Sprite)をたくさん出現させていた。 ステージクリア型のゲームで、ステージをクリアしたタイミングで現在の敵データをdestroyし、現在のGroupを持つ変…

休職することになった

起こったこと 最近、ちょっと精神的にかなり追い詰められていたらしく、休職をいただいた。 経緯 2年くらい前から不眠症だったのだが、ここ最近はかなり激しい不眠が続いていた。 半年前に昇格という形で業務内容が少し上のレイヤーに移った。 特段に難しい…

CodeMirror V6でline numberを使いたい場合は

version "@codemirror/commands": "^6.2.4", "@codemirror/lang-json": "^6.0.1", "@codemirror/state": "^6.2.1", "@codemirror/view": "^6.16.0", "codemirror": "^6.0.1", コード import { EditorState, Compartment } from "@codemirror/state"; import …

体調を崩したのでお休み

今回は体調不良のためお休みです

AWS CloudFrontでS3データを配信しているときに、S3のデータを更新してもすぐに適応されないときが合った

起こったこと S3バケットとCloudFrontを連携し、静的なコンテンツを特定のドメインから提供するパターンがある。 dev.classmethod.jp このS3バケットのコンテンツの更新をしても、CloudFrontから見るデータが更新されていないときがあった CloudFrontのキャ…

百分は一見に如かず

今のマンションにはオートロックをそのまま開けた状態にしている人がいる。しかもこのマンションではそういう人は多いみたいだ。 このマンションは防犯によい物件かとおもったのだが、結局のところ、一部の住民によってそれがなされていない。僕と同じように…

playwrightで複数newPageを開く試験において、newPageをcloseしたら動作が早くなった

起こったこと playwrightの速度を早くしたい。 表題の通りだが、newPageをcloseしたら早くなった コード test("test", async ({ page, context }) => { const list = ["ここをクリック", "ここもクリック", "あそこもクリック"] for (let text of list ) { c…

phaser3でSpriteに自前のサブクラスのSceneを渡したい

version "phaser": "^3.60.0" 起こったこと Phaser.Sceneを継承したサブクラスのGameSceneがある。 これをSpriteのコンストラクタで渡したいときに行った方法は以下の通り export class GameScene extends Phaser.Scene { // 省略 } export class BaseEnemy …

mermaidでフローチャート図を触る

mermaidとは マークダウンっぽい言語で図表を表示できる。 mermaid.js.org シーケンス図やクラス図などを作れる。今回はフローチャート図を作ってみる。 このように書く sequenceDiagram actor player as プレイヤー participant main as ゲーム画面 partici…

PlayWrightのDEBUGモード

version "@playwright/test": "^1.34.0" 起こったこと Playwrightで特定のブラウザだけおかしい挙動しているように見えた。 まずはそれが事実か確認するために、そのブラウザでの動きを確認したい。 デバッグモードの起動方法 playwright.dev デバッグモード…

PlayWrightにisMobileがあった

Version情報 "@playwright/test": "^1.34.0" "parcel-bundler": "^1.12.5", "typescript": "^5.0.4" 起こったこと PCとスマホで要素が異なるサイトをE2Eテストしたい。 PlayWrightでスマホ版を動かさないといけない。 そんな中、PlayWrightのテスト内パラメ…

PlayWrightでlocatorの特定のクラスが外れるのを待つ

起こったこと 特定の要素をクリックしたい。だが、その要素が特定のClassを持っているときにクリックするとやりたいことが出来ない。 例えば「hide」というクラスを持っていて、その時にクリックしても想定していることが起こらない。 そのため、この要素が…

PlayWrightのFirefoxが安定しなかったクリック

起こったこと Playwrightを使って特定要素のHTMLをクリックする試験をしていた。 わけあってずっとChromeだけで試験していたのだが、久々にFirefoxでも動かしてみるかと思い、設定でFirefoxでも試験しようとしたらそのクリック試験が落ちちゃうことがあった…

親指の付け根(手首)の関節を痛めた話

起こったこと 親指の関節を痛めた。 当時(1月)とても寒かったので、冷え性の私はアームカバーのような手袋をしていたのだが、そのアームカバーを外すときに親指を内側に曲げたところで痛めた。 これまでのこと 今年の1月から痛めて今月(4月)までずっとほっと…

令和5年春、応用情報技術者試験でちょっと話題になった問題

起こったこと 令和5年春の応用情報技術者試験で午前の問題が難しかったという声が挙げられている。 特にこの問題が語り草になっているようだ。 ちなみに、応用情報技術者試験の問題冊子は以下のIPAの公式からダウンロードできるので、トライしてみたい人は…

応用情報技術者試験の会場のことを調べたい

起こったこと 令和4年秋、応用情報技術者試験の会場に向かった。その時、最寄り駅から会場までの臨時バスが存在した。 令和5年春も受ける。しかし、その臨時バスの情報はホームページにはない。(結局見つからなかった) 元々歩いていく気満々だった 最寄り駅…

道路族という存在を知った

起こったこと 道路族という人がいるらしい。子供を道路で遊ばせる、道路でずっと井戸端会議する人など、道路上で迷惑をし続ける人のことらしい。 被害と理解のされにくさ 子供は外で遊ぶもんなんですが、マンションの共用通路でボール遊びをしたり、人の家の…

ChatGPTにお願いして、objectをフラットにする関数を作ってもらった

起こったこと ネストされたobjectを1階層までにフラット化する関数を書きたいと考えた。 例えば以下のようなobject1をobject2にするような感じである。 const object1 = { key1: value1, key2: { key2-1: value2-1, key2-2: value2-2 } }; const object2 = f…

typescriptのObjectのKeyを繰り返したくない。

起こったこと 以下のDataMapのようなオブジェクトを作るとして、Keyがkey1,key2,key3と繰り返し記載しているのがよろしくない。(①のパターン) keyをstringとする場合、key1,key2,key3以外のプロパティ名を持つことが出来てしまい、よろしくない(②のパター…

CSRFの"フォージェリ"ってなに

クロスサイトスクリプティング(XSS)とクロスサイトリクエストフォージェリ(CRSF)の違いがいつもこんがらがるので、どう違うかを理解したい。 けど、そもそもフォージェリってあまり聞かない英語だった。 フォージェリはforgeryという単語で偽物とか偽造…

AWS Amplifyの環境変数にAWS_REGIONがあった

起こったこと AWS Amplifyのビルド通知を行う際、ap-northeast-1といったリージョン情報が欲しかった。 しかし、公式の環境変数一覧にはその表示がない。(2023/03/12現在) docs.aws.amazon.com AWS_REGIONという環境変数に格納されていた AWS_REGIONという環…

AWS Amplifyのテストフェーズではnpx playwright install chromiumeがいらなかった

日付 2023/03/02 起こったこと AWS Amplifyのテストフェーズで無理やりPlayWrightを使っているのだけれども、結果的にはnpx playwright install chromiumeコマンドを実行しなくても動いた そもそも AmplifyのE2EテストにはCypressが標準で使えるようになって…

PlayWrightでブラウザのログを取りたい

起こったこと ブラウザのconsole.xxx系で出力されるログをPlayWrightで検知したい on consoleを使う 以下のようにconsoleイベントをトリガーにコールバック関数を実行することが出来る。ただし、これはコンソールイベントが発火する前に設定しないといけない…

AWS LambdaでPlayWright(chromium)を動かした

起こったこと 特定のサイトのスクショを取りたい。WebAPIで叩いて動くAWS Lambda上でPlayWrightを起動し、スクショを取って返却するようにした。 これを実装するには結構な時間がかかったので共有したくなった。 ただし、実行速度が遅い。 正しくは値を返却…

婚姻届は自治体からPDFなどでダウンロードできるかもしれない

起こったこと この間、結婚した。 その婚約を届け出る際、婚姻届をもらいに自治体へ行こうとしたが、よく調べたら自治体のサイトからPDFでダウンロード出来た。 大きな自治体だと大丈夫なのだろうか 僕の住んでいる自治体は政令指定都市である。それが功を機…

pywebviewのjs_apiにwindowオブジェクトを注入するクラスを使いたい

起こったこと pywebviewを使ったアプリを開発中である。 pywebview.flowrl.com jsのapiを通してpython側でファイルを呼び出す「open_file_dialog」メソッドを使いたいのだが、このメソッドを呼ぶにはjs_apiにwindowオブジェクトを注入しなければならない気が…

GASのdoGet,doPostの型は型宣言ファイルはどこにあるの

起こったこと gasを作る。claspから作ろうと思ったので以下をインストールした。 npm i -D @types/google-apps-script しかし、doGetのタイプがどこにあるのかがよくわからなかった。 GoogleAppsScript.Events.DoGet GoogleAppsScript.Events.DoGetとGoogleA…

AmplifyのテストフェーズでPlayWrightを実行してFailしたのだが、そのままデプロイされてしまった。

起こったこと AmplifyでPlaywrightを使おうと思った。しかし、Playwrightのテスト結果が落ちてもデプロイを中止してくれなかった。(Failしているのにデプロイしてしまう) おそらくだけど、テストコード内で終了コードを1にしてもデプロイを止めることはでき…

mochawesome-report-generatorのコンテキストに動画挿入したい場合

起こったこと MochawesomeのJSONを自前で作る必要が出てきた。 また、そのJSONをMochawesomeReportGeneratorに渡してHTMLで結果を表現したい。 しかし、動画リンクをmochawesome.jsonのどこに埋め込めばよいかがわからなかった。 tests配列内オブジェクトのc…