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…

今日は定時にあがれるか、という問いを毎日聞かれるのでリマインダーをつけた

起こったこと 僕たち家族は二人ともリモートワークなのだが、毎日、妻に「あなたが今日、定時であがれるのかがわからない」と悲しそうに言っていた。 妻は僕と一緒にご飯を食べたいのだが、僕が遅いせいでご飯が冷めてしまうのが悲しいというのと、単純にさ…

日本の自動二輪の区分について

起こったこと 「小型二輪は250ccのバイクを指すか?」ということを問われて何と答えたら良いかわからなかった。 2つの法律と免許の区分 バイクは道路交通法と道路運送車両法はそれぞれの法律で区分の仕方が異なる。また免許での区分も存在する。ただ、いずれ…

Lambdaでzipを作ってレスポンスしてたけど解凍がうまくかなかった

起こったこと LambdaでZipをつくって返却しようとしていたのだが、返却されたzipが解凍できなかった。 ハンドラーでやったこと const buffer = zip.toBuffer(); return { statusCode: 200, headers: { "Content-Type": "application/zip", 'Content-Disposit…

Playwrightで遷移先ページのタイトルを評価しようとしたら成功したり失敗したりした

起こったこと Playwrightで遷移先ページのタイトルを評価しようとしたら成功したり失敗したりとフレイキーなテストになってしまった。 Version "@playwright/test": "^1.28.1" コード 対象HTML <html lang="ja"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>test</title> </head> <body> <main> </main></body></html>

Playwrightで新規ページのURLをアサートしたい

起こったこと Playwrightでページ遷移のテストは書けるが、新規ページで開かれるURLのアサートの仕方がわからない。 version @playwright/test: "^1.28.1" コード test("foobartest", await ({ page, context }) =>{ const [newPage, _] = await Promise.all…

JavascriptでBasic認証のついたURLから認証情報だけ消したURLを取得したい

起こったこと Basic認証のついたURLを必要としており、かつ必要に応じてこのURLを表示したい。ただ、表示するときにBasic認証がそのままついた状態だと困る。そのため、Basic認証のついたURLから認証情報だけを外したい。 例 - https://username:password@te…

フロントエンドではE2Eテストだけでも書くようにした

起こったこと 現在運用中のフロントエンドだけで動いているWebアプリケーションについて、テストコードが全く書かれていない状態だったので、ユニットテストなどをいろいろすっ飛ばしてE2Eテストだけでも書くようにした。 やったこと とにかく既存機能のE2E…

WindowsでもReactNativeが動いた(ReactNative for Windows + macOS)

起こったこと Win用アプリを作ろうと思っていろいろと調べていたらReactNative for Windows + macOSというものを見つけた。 microsoft.github.io 始めるために色々必要な手順はこちら microsoft.github.io 軽く作ったもの 時間が表示されるようなアプリ。こ…

GA4の「タグ付けの詳細設定」と「内部トラフィックの定義」の場所

日付 2022/11/07 起こったこと GA4を導入したけど、自分のアクセスも普通に拾っているので制限をかけたい 検索をかけるとGA4の設定=>データストリーム=>自分のGA4タグ名=>タグ付けの詳細設定=>内部トラフィックの定義=>作成=>... となっているが「タグ付けの…

Node.jsで複数のJSONファイルを1つにまとめたい

バージョン情報 $ node -v v16.15.1 起こったこと 特定のディレクトリ内にある複数のJSONファイルをを1つにしたいという要望が出た。 JSONファイルの名前をKeyにして、中身をvalueとしてを持つような単純なものである。 例 hogehoge.json { "name": "aiueo"…

Playwrightでチェックボックスのチェックがついているラベルを取りたい

version "@playwright/test": "^1.22.2" 起こったこと Playwrightでチェックボックスのチェックがついているラベルの値を取りたい。 以下の画像なら["チェックボックス1", "チェックボックス2"]といった値。 <form> <div> <input type="checkbox" id="checkbox1" checked> <label for="checkbox1">チェックボックス1</label> </div> <div> <input type="checkbox" id="checkbox2" checked> </div></form>

開発したDiscordBotが起動しているのに返信がないのは権限設定をしていないからかも

当時のversion "discord.js": "11.5.1" 起こったこと 会社で使用しているDiscordボットが動かなくなった。最後に動いていたのを確認したのは2022年6月ごろである。 正しくは特定の文字に反応するはずのDiscordボットが何も返信しなくなった。 権限回りに変更…

GoogleとYoutubeしか繋がらないときは

ipv6まわりか?ルーターのpppoeまわりをリセット、テザリングに繋いで切断。 概要に残れ。

資格の試験会場には時計がない可能性がある

起こったこと 後輩が2022年の春に応用情報技術者試験を受けに向かったが、試験会場に時計がなかったと嘆いていた。 僕自身、情報処理試験や日商簿記の試験を受けたことがあるが、試験会場に時計がなかったことが多々あった。 もちろん部屋に壁掛け時計がある…

jestでCannot find module 'nock/types' from '****.ts'と出た

Version情報 { "jest": "^29.0.3", "nock": "^13.2.9", } 起こったこと jest上でimport nock from "nock/type";を行っていた時、Cannot find module 'nock/types' from '****.ts'と出た。 jestのsetup上では読み込めていたのに、*.test.ts上では上記のエラー…

自分向けの単語勉強アプリを作った

起こったこと 応用情報の勉強しているが、単語がさっぱり覚えられない 試験日直前に一括で覚えるとして、どうやって勉強するかといろいろ考えたとき、PCで文章を登録できてスマホで勉強できるアプリが欲しいと思った。 また、既存のアプリは四択のものが多く…

TypeormからHerokuのPostgressに繋ぐときに色々と詰まったところ

Version情報 おおよそ2022年9月ごろ時点のお話 "pg": "^8.8.0", "typeorm": "^0.3.9" heroku/7.63.0 wsl-x64 node-v14.19.0 error no pg_hba.conf entry for host どういうタイミングで出力されていたかは定かじゃないが、error no pg_hba.conf entry for ho…

サンダルで靴屋に行ったけど試着時に靴下を貸してくれた

起こったこと 妻がサンダルを履いて買い物に出かけた。その際に靴を買うことになったが、靴下を履いていない。直で試着するのは憚れるところであった。 靴下を借りれた 「靴下がないので試着はちょっと遠慮したいです」と言ったところ「でしたら、靴下お貸し…

htmlでホバー時に文字サイズを大きくする際、下の要素がずれるのをやめたかった

起こったこと ホバー時に文字を大きくする処理を以下のようにCSSで書いた。 <style> .hogehoge {} .hogehoge:hover { font-size: 130%; } </style> <div class="hogehoge"> 文字を大きく </div> <p> ここはそのまま </p> しかし、対象となる要素が増加した文字サイズ分広がっていて、下にある要素も文字サイズが…