フラミナル

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

(備忘) slack-go で snippet をアップロードしようとしたらURLエンコーディングされてしまった

こんなコードを書いたら snippet が url encoding されてまともに読めなかった。 title := fmt.Sprintf("xxx-%d", now.Unix()) _, err = client.UploadFileV2Context(ctx, slack.UploadFileV2Parameters{ contents: result, Title: title, Filename: title, …

VScode で ginkgo extension 使ってる時に Could not populate the outline~ がでる

Could not populate the outline view: Error: error running "~/go/bin/ginkgo outline --format=json -" (error code ENOENT) Ginkgo executable already installed. ;) VSCode の Setting にて以下のように フルパス で指定すること。 "ginkgotestexplore…

vscode の dart analysis server がクラッシュする

flutter/dart を入れ替えたりしたタイミングで dart analysis server が起動しなくなったので対応した内容。 {"id":21,"jsonrpc":"2.0","error":{"code":-32800,"message":"Request was cancelled"}}Content-Length: 83 Content-Type: application/vscode-js…

M3 mac でトラックパッドのサイレントクリックを有効化する

Mac

いつのまにか 「サイレントクリック」 がGUI上から設定できなくなっていました。(深く押し込まなくても柔らかく触るだけでクリックとみなしてくれる便利機能です) しかし以下のコマンドを実行し再起動をすると実現できたので共有です。 defaults write com.…

Dart で回文判定

これでいける。 やっていることとしては String は rune の配列であることを利用し、rune 配列とひっくり返した rune 配列同士の等価チェックをしているだけ。 import 'dart:io'; void main() { stdout.write("input sentence: "); String s = stdin.readLin…

redis-cli で keys * をしてもあるはずのデータが何もでてこなかった

備忘録的に書いておきます このように書いたらあるはずのデータが出てきませんでした。 redis-cli keys '*' 結論は redis の db が別だからでした。 Redisのdatabase idってなんだ? - CLOVER よくよく見ると redis://127.0.0.1:16380/2 のような宛先にデー…

2023年の振り返り

2024年の1月も中頃になって、一昨年の記事を見かけたので書きます。 去年の 2022年の振り返り - フラミナル アウトプット ゲームのクローズ ghost-scramble.com ブログ記事 合計: 40記事 社外: 5記事 社内: 24記事 個人: 11記事 OSS GitHub - lirlia/prel: p…

【更新中】Flutter の Widget of the Week をすべてはっていく

自分の振り返り用。 リンクは youtube に飛びます。 機能名 コメント 一枚画像(https://www.youtube.com/watch?v=JSqUZFkRLr8&list=PLjxrf2q8roU23XGwz3Km7sQZFTdB996iG) AboutDialog ダイアログを表示する AlertDialog さまざまなアニメーションを設定でき…

【備忘】Terraform: Cloud certificate reference is not supported for TargetHttpsProxy creation., invalid の解決

こう書いてたら失敗した。(なぜ) resource "google_compute_target_https_proxy" "default" { name = "pr-cloudrun-https-proxy" url_map = google_compute_url_map.default.id certificate_manager_certificates = ["//certificatemanager.googleapis.com…

【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 に差がある。 どのよ…

sqlc で go コード生成するときに生成ファイルにバージョン情報をださないようにする

omit_sqlc_version を設定すれば良い。 version: "2" sql: - engine: "postgresql" queries: "query.sql" schema: "schema.sql" gen: go: package: "postgresql" sql_package: "pgx/v5" out: "../internal/gateway/postgresql/" output_files_suffix: .gen.g…

【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 …