フラミナル

考え方や調べたことを書き殴ります。IT技術系記事多め

【Flutter/Dart】イテレーターで副作用のある処理を呼んではいけない

Flutter/Dart学習中です。 Iterator の一つである where を見ていたところこの記載があったので咀嚼してみます。 Creates a new lazy Iterable with all elements that satisfy the predicate test. The matching elements have the same order in the retur…

なぜ標準出力は標準エラーより速いのか? の記事をよんで

この記事をみてその発想はなかったので学んでみる。 DeepL で翻訳するので意訳に注意。 blog.orhun.dev なぜその疑問に気づいたのか? もともと界隈でよくいわれていた。 実際紹介されているこの gif でみても、stdout/stderr では fps に差がある。 どのよ…

【flutter】late 変数とは

dart.dev The late modifier has two use cases: Declaring a non-nullable variable that’s initialized after its declaration. Lazily initializing a variable. Often Dart’s control flow analysis can detect when a non-nullable variable is set to …

【prel】1からWebアプリ(OSS)を作ってみた振り返り

作ったもの github.com Google Cloud の IAM role を期間限定でユーザに付与するためのワークフローアプリ。 技術スタック Backend / Front: Go (template) プロトコル:HTTP + OpenAPI v3(ogen) DB: Posgresql 他にも新しく使ったものをすべてかく tagpr / …

【openapi/go】ogen をつかってみた感想

ogen | ogen Getting started | ogen を自前アプリで使ってみたので感想です。他には oapi-codegen の仕様経験があります。 実際にコードを生成したのはこちら。 github.com 結論 いい点 戸惑ったところ 結論 oapi-codegen よりシンプルで使いやすかった。 …

【Flutter/Dart】collection if と collection for が便利 (Control Flow Collection)

普段は Go を触ってるので Collection if / for が新鮮だったのでメモ。 Collections | Dart var nav = ['Home', 'Furniture', 'Plants', if (promoActive) 'Outlet']; これは promoActive が Outlet ならコレクションに追加。 var nav = [for (i = 0; i < 1…

Hoverfly を GitHub Actions で動かした

実際のコードはこの辺り。 prel/.github/workflows/test.yaml at f42c6862fd4212e8b257b6205585e2c614d378d2 · lirlia/prel · GitHub やってるのは以下のこと。 証明書のダウンロード Ubuntu にCAとして登録 hoverctl のダウンロード 起動

Hoverfly を使って mac 上の Go アプリの外部通信をキャプチャする

What is Hoverfly? — Hoverfly v1.6.1 documentation go アプリ起動 export HTTP_PROXY=http://localhost:8500 export HTTPS_PROXY=http://localhost:8500 export NO_PROXY=localhost,127.0.0.1 した上で go run main.go 証明書 その裏で証明書をダウンロー…

GitHub Pages でカスタムドメインを使った時にいつまでもHTTPSが使えない

プライベートリポジトリで GitHub Pages をプライベートで作った時にカスタムドメインを付与したらいつまでもHTTPSが有効になりませんでした。 公式ホームページを見ると public にしないといけないようなので以下を実施しました。 GitHub Pages サイトのカ…

terraform google provider を 5.0.0 台にあげようとしたら Could not retrieve the list of available versions for provider hashicorp/google がでた

結論 利用していた別の module が constraint でしぼってた。 ❯ terraform providers Providers required by configuration: . ├── module.project_services │ ├── provider[registry.terraform.io/hashicorp/google] >= 3.43.0, < 5.0.0 │ └── provider[reg…

Go puzpuzpuz/xsync を ChatGPT とともに見る

mercari.go #24 を開催しました #mercarigo | メルカリエンジニアリング を読んで、CPUキャッシュラインを考慮した高効率な sync パッケージの存在を知ったので少し調べてみた。 スライドはこちら Concurrent Data Structures and CPU Cache with Go - Googl…

Go のスライスの挙動(Go言語100Tips No.20 / No.25)

Go のスライスは動的配列のように使えるがその実態はただの配列のビューになっている。 スライスからスライスを生成する時においては、同じデータを参照している。 s1 := make([]int, 0, 6) s1 = append(s1, 1, 2, 3) s2 := s1[1:3] // 2, 3 // ここに s1 = …