ふくしま

ソフトウェアエンジニア

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

2022年の振り返り

概要 表題の通り、2022年を振り返る。 時系列 1月 新年からクリームで脱毛しようとして失敗する。 副業開始 ホワイトボードを買う 4Kモニターを買う 2月 料理を開始 3月 ハンターハンターを読み始める 転職 4月 全身の毛を剃り始める 室内の二酸化炭素を観測…

Asciidocで書いたページをhtmlに変換してGitHub Pagesでサイトにする(Github Actionsで自動デプロイ)

概要 表題の通り、asciidoc で書いた index.adoc を index.html に変換して、Github Pages でサイトにする。 mainブランチに index.adoc をコミットすると Github Actions で変換からデプロイまでやってくれるパイプラインも組む。 背景 Markdown で自分のス…

会社員+開業届を出した個人事業主が払うもの

概要 表題について、色々と調べたのでメモがてら記す。 自分の理解なので間違っている可能性が高い。というか間違っている。 なので、以下全ての文の文末に「多分ね」の一言が入る(この文は除く)。 会社員編 給与から引かれるもの 毎月のサラリーとして得…

App Store用の1024×1024のアイコン画像はどこにあるか

概要 表題の通り、App Store用の1024×1024のアイコン画像はどこにあるか分からなかったので、メモがてら記す。 背景 Asset validation failed (90717) Invalid App Store Icon. The App Store Icon in the asset catalog in 'Runner.app' can't be transpare…

Google Playに登録したアプリで Firebase の電話番号認証しようとしたらreCAPTCHA画面が出てこなくて困った話

概要 表題の通り、Google Playに登録したFlutterアプリでFirebaseの電話番号認証をやろうとしたら、ボット確認の画面が出てこなくなった。 エラー文 Error getting project config. Failed with INVALID_CERT_HASH 400 Failed to get reCAPTCHA token with e…

JWTをただただデコードしてクレームを読み取るためだけに JWT 系のライブラリを使いたい時あるよね

やりたいこと JWTをただただデコードしてクレームを読み取りたい。 しかし、JWT 系のライブラリであれば、JWT トークンのデコードの際に検証が必須の物が多い。 例えば、jjwt とかだと、 you should always discard JWTs that don't match an expected signa…

octokit.js でページネーションした話

概要 Github API を簡単に使える JavaScript のライブラリ、Octokit.js を使用していたところ、ページネーションをする必要が出てきた。 Octokit.js でのページネーションについて、公式ドキュメントを読んでもわかりにくかったので、その備忘録として軽く記…

Flavor で firebase の prod と dev を分ける時に気をつけたこと

概要 基本的には以下の記事をやるだけ。GIF がついていてとてもわかりやすい。 https://medium.com/@animeshjain/build-flavors-in-flutter-android-and-ios-with-different-firebase-projects-per-flavor-27c5c5dac10b ただ一点だけ、iOS において prod で …

dartでローカルファイルとクラスを行き来する話 w/ freezed

やりたいこと freezed の fromJson と toJson を使って、シリアライズとデシリアライズをしたい。 具体的には、ローカルファイルに書き込んだ(シリアライズした)文字列をクラスとして読み込みたい(デシリアライズしたい)。 ポイント ポイントは convert …

Flutter で Firebase との Integration Test を行った話(セキリティルールつき)

やりたいこと Flutter で Firebase とやり取りをする Repository 層のクラスの挙動をテストしたい。 しかし、FireStore などにおいてセキュリティルールを設けている場合は、アプリへのユーザログイン(Firebase認証)が必要である。 本記事では、「アプリへ…

GraalVM の Tracing Agent を使ってみた話

やりたいこと Spring Native の公式ドキュメントで紹介されている Tracing Agent を使ってみたい。 Environment Java: 22.1.0.r17-grl SDKMAN: 5.15.0 GraalVM: 22.1.0 Java 17 CE (Java Version 17.0.3+7-jvmci-22.1-b06) GraalVM のインストール SDKMAN を…

testcontainers で公式に推奨されている方法でミラーイメージを使う話

やりたいこと testcontainers では、コンテナのライフサイクル管理に testcontainers/ryuk が使われている。 このイメージのミラーイメージを使いたい。 簡単な方法 公式ドキュメントが推奨する方法のうち簡単なのは、プレフィックスを使う方法だろう。 環境…

caused by: java.lang.IllegalStateException: Mapped port can only be obtained after the container is started が起きた話

起こった問題 Testcontainers を使用していて、 caused by: java.lang.IllegalStateException: Mapped port can only be obtained after the container is started が起きて、コンテナが起動できなかった。 解決策 なんてことはない。テストクラスの上に @Te…

SpringGraphQL のテストで Tesetcontainers を使った話

モチベーション Sprig GraphQL はサーバに対して、ドキュメントを実行するテストを書ける。 公式ドキュメントのコード例。 WebTestClient client = WebTestClient.bindToServer() .baseUrl("http://localhost:8080/graphql") .build(); HttpGraphQlTester te…

FutureBuilder の future に非同期処理の関数を直接入れていたら、setState するたびに非同期処理が走った話。

やりたかったこと setState しても二度目の非同期処理が走らない状態にしたかった。 起こった問題 以前書いたFutureBuilder で future に入れた値はどこに行くのか分からなくて四苦八苦した話。でやったように、 future に直接、非同期処理の関数を入れてい…

FutureBuilder で future に入れた値はどこに行くのか分からなくて四苦八苦した話。

概要 FutureBuilder で非同期処理後に Widget を表示させたかった。 future フィールドに非同期処理を入れるのはわかったが、その非同期処理で得られた結果がどこにあるのか分からなかった。 結論、snapshot.data に入っていた。 FutureBuilder の基本 以下…

firebaseにフィンガープリントを登録するのに四苦八苦した話

このエラーが出た。 Failed to get reCAPTCHA token with error [There was an error while trying to get your package certificate hash.]- calling backend without app verification フィンガープリントをfirebaseに登録すれば良いみたいだ。 android st…

Json 形式でローカルのテキストファイルに書き込もうとすると、ダブルクォテーションが消えてしまう話

やりたいこと ローカルファイルに対して json 読み書きをする。 具体的には以下。 Freezed で作ったモデルを json 形式でローカルファイルに保存する。 ローカルファイルから文字列を読み出し、モデルクラスのインスタンスに変換する。 起こった問題 ローカ…

【メモ】ラムダ式とデリゲートとstream

ラムダ式とデリゲート ラムダ式:関数を極力省略させる書き方。=>の左右で引数と処理を定義する。関数名はつけられない。さらに、引数の方や戻り値を省略できる。 デリゲート:変数化された関数のこと。ラムダ式をデリゲートに入れることで使用されることが…