フラミナル

考え方や調べたことを書き殴ります。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 = …

スーパーキューブのまとめ・設定など

書き中` 水落声声が提供しているwebtoon形式の漫画 超能立方(水落声声创作的少年漫画)_百度百科 歴史 1万年前 梵天大戦は境界との戦いであり、別の次元の諸天の者らとの戦いだった。地球と真星をすべる王(永夜帝君)は5回も次元の戦いに参加した。この…

echo におけるjsonで受け取ったデータが一部勝手にbase64 decodeされる

echo を使って /test で json を受け入れるサーバを立ち上げます。 package main import ( "context" "fmt" "net/http" "github.com/labstack/echo/v4" ) type Message struct { Name []byte `json:"name"` } func main() { e := echo.New() e.POST("/test",…

gh コマンドでcould not determine base repo: GraphQL: Resource protected by organization SAML enforcement が出る

github enterprise に入った環境で、gh コマンドを実行するとこのようなエラーになることがあります。 ❯ gh pr view could not determine base repo: GraphQL: Resource protected by organization SAML enforcement. You must grant your OAuth token acces…

LINE Notify で curl で改行する

URLエンコーディングされた改行文字(%0A) に変換して送る。 message="こんにちは\n元気ですか?\n\n" # Convert newline characters to URL-encoded form message_encoded=$(echo -e $message | awk '{printf "%s%%0A", $0}') curl -X POST -H "Authorization…

技育祭2023に登壇したので資料を公開します

「技育祭」エンジニアを目指す学生のためのテックカンファレンス で話した「10年前の自分が、知識ゼロで新卒ITエンジニアに転生したら 〜現実でもがく話〜」です

オンライン対戦ができるボンバーマン風なゲームを作った(ボムボムパニック)

1ヶ月半のチーム開発でオンライン対戦ができるボンバー●ン風なゲーム 「ボムボムパニック」を作ったので、構成や工夫したことなどを書きます。 ゲームはこちらから bombompanic.vercel.app コードはこちら github.com 機能の紹介 システム構成 裏側の仕組み…

2022年の振り返り

アウトプット ゲームのリリース ブログ記事 登壇 技術書展12 への寄稿 OSS 資格 触った技術/サービスの振り返り Cloud Build GitHub Actions Terragrunt Ethereum / Solidity ArgoCD External Secret Operator Monobit Cloud Armor Spanner Agones Locust & …

【新規ツール探し】ngrok-go で速攻でローカルのウェブサーバを外部に公開する

記事作成日:2022/12/17 情報 名前 URL Github https://github.com/ngrok/ngrok-go 公式サイト https://ngrok.com/docs デモサイト 開発母体 ngrok version 言語 Go 価格 無料 ライセンス MIT 情報 何ができるもの? 利用シーン 登場背景 所感 使い方 ngrok …

【新規ツール探し】Iacやコンテナ、アプリの脆弱性チェックができる「Snyk」を触った

記事作成日:2022/12/16 情報 名前 URL Github https://github.com/snyk/cli 公式サイト https://docs.snyk.io/ デモサイト demo 開発母体 snyk version 言語 価格 有料 (一部無料) ライセンス Apache-2.0 license 情報 何ができるもの? 利用シーン 登場背…

【新規ツール探し】ソフトウェアのアップデートを自動で!GitHubで使える「Renovate」

記事作成日:2022/12/15 情報 名前 URL Github https://github.com/renovatebot/renovate 公式サイト https://docs.renovatebot.com/ デモサイト 開発母体 MEND version 34.56.3 言語 TypeScript 価格 無料 ライセンス AGPL 情報 何ができるもの? 利用シー…

【新規ツール探し】GitHubでパッケージの脆弱性を調べてPRで教えてくれれる「dependabot」

記事作成日:2022/12/14 情報 名前 URL Github https://github.com/dependabot/dependabot-core 公式サイト https://docs.github.com/ja/code-security/dependabot デモサイト 開発母体 GitHub version 言語 Ruby 価格 無料(部分的に有料) ライセンス Prospe…

【新規ツール探し】asdf と比較しても使いやすいCLI のバージョン管理ツール「aqua」

記事作成日:2022/12/13 情報 名前 URL Github https://github.com/aquaproj/aqua 公式サイト https://aquaproj.github.io/ デモサイト https://asciinema.org/a/498262?autoplay=1 開発母体 suzuki-shunsuke 氏 version 1.25.0 言語 Go 価格 無料 ライセン…

【新規ツール探し】Spanner の DDL を yaml で管理できる「splanter」

記事作成日:2022/12/12 情報 名前 URL Github https://github.com/kauche/splanter 公式サイト https://note.com/kauche/n/ne033cde0c9ea デモサイト 開発母体 カウシェ version 0.1.0 言語 Go 価格 無料 ライセンス MIT 情報 何ができるもの? 利用シーン …

GoでClosureと戯れてみる

Closure(クロージャ) とは、関数が実行された時にその静的スコープで定義された変数を利用できる関数です。 同じ関数を別に呼ぶと 同じ関数で複数のクロージャを作る ポインタをクロージャに渡す 使ったコード - framinal-new-tools/go-closure at main · li…

【新規ツール探し】MySQL + Vitess をフルマネージドで提供する宇宙スケールのDB「PlanetScale」を触った

記事作成日:2022/12/11 情報 名前 URL Github 公式サイト https://planetscale.com/ デモサイト 開発母体 PlanetScale version - 言語 - 価格 有料 ライセンス - 情報 何ができるもの? できないこと(MySQLとの互換性) 利用シーン 登場背景 価格 所感 使い…

【新規ツール探し】GitHubのコンテナレジストリ「ghcr」を触ってみる

記事作成日:2022/12/10 情報 名前 URL Github - 公式サイト https://docs.github.com/ja/packages/learn-github-packages/introduction-to-github-packages デモサイト 開発母体 GitHub version - 言語 - 価格 https://docs.github.com/ja/billing/managing…

ソフトウェアエンジニアとしてのAIツールとの付き合い方を藤井聡太さんから勝手に学ぶ

このツイートを見て「ハッ」としたので、自分なりの ChatGPT との付き合い方を書いておく。 ChatGPTで吐き出された回答とかソースコードが本当に正しいのか疑いながら活用しないといけないという状況を実体験することで、数年前からプロ棋士の先生達が将棋AI…

【新規ツール探し】kubectl debug で使えるコンテナイメージ「koolkits」

記事作成日:2022/12/08 情報 名前 URL Github https://github.com/lightrun-platform/koolkits 公式サイト デモサイト 開発母体 Lightrun version - 言語 Dockerfile 価格 無料 ライセンス Apache-2.0 license 情報 何ができるもの? 利用シーン 登場背景 …