生涯未熟

生涯未熟

プログラミングをちょこちょこと。

DropDownButtonのselectedItemBuilderを初めて活かせた話

Flutterにはドロップダウンリストを作るためのDropDownButtonがありますが、このクラスのプロパティの一つである selectedItemBuilder が正直何に使うのか分からなかったけど初めて活かせた話をします。 selectedItemBuilderとは何なのか? こちらを参照 api…

GKEノードの自動アップグレードを監視する

所属しているチームでは様々なイベントを監視し、Slackのモニタリングチャンネルへ通知を飛ばしています。 ※ エラーログではエラーが発生したCloud Loggingのリンクが貼り付けており、詳細を追従しやすくなっています この中で、PodのCreate / Deleteを監視…

Flutterでログイン後に再インストールしたらログイン済みのままなのをどうにかした

相変わらずFlutterやってるおじさんです。 今回はFirebase Authenticateを用いてログイン済みのユーザーが、アプリを再インストールしたらログイン済みのままになっていたのが気持ち悪いのでどうにかしました。 何故そうなったか? iOS, Androidともに裏でバ…

2021年の振り返り

今年もあっという間に過ぎて1年の振り返りをする時期になりました。 振り返ればブログを開始してから12年経過し、干支も一周するくらい続けてきたなぁと我ながら驚いています。 そんなこんなで今年1年やってきたことを振り返ります。 1 ~ 3月 1 ~ 3月は仕…

「開発環境の使用状況分かるくん」を作って冗長コミュニケーションを無くした話

本記事は ミクシィグループ Advent Calendar 2021 の22日目の記事です。 前置き 私が現在所属しているプロジェクトでは「アプリケーション × 4 + 開発環境 × 3」という環境で開発しており、機能開発後のQA作業などのため常に3つある開発環境がどこかしら使…

Google PCAに合格した

「Googleの資格試験代を補助するので受験したい人〜」と社が募集していたので、これ幸いと受けたら合格しました。 何したか 普段業務でGCPをちょろちょろ使っていたので、その知識+Googleのオススメ勉強コースに従って勉強しました。 正直、仕事とプライベ…

GCPプロジェクトが削除されたら何が起こるのかメモ

過去に書いた記事ですが、 Google Cloud Platform Advent Calendar 2021 の13日目の記事としました。 (1日だけ空いてるのが気持ち悪かったので・・・) 概要 開発に使っていたGCPプロジェクトが誤削除される事態があったので、後学のために何が起こるのか…

レビュー待ちのPR列挙くんを作った

GitHub Actionsでレビュー待ちのPR列挙くんを作った。こんな感じのイメージ。 コード 【2021/08/10 追記】 そういえばこの状態だとApprovedのPRも列挙してしまうので、弾きたい場合は各々のPRにrequest飛ばして( github.pulls.get )、response内の mergeab…

Firebase Authenticationの電話番号認証でOTP Autofillを体験したかったけど敗北した

前段 Firebase Authentication、便利ですよね。各種主要な認証をポチポチっと様々なプラットフォームで実現できる、素晴らしい。 ただ、電話番号認証でOTPのAutofillをやる際にはとなったのでメモ書き。 やったこと きっかけとして何がやりたかったかという…

GitHubのREADME.mdにある画像をPurgeするGitHub Actionsを公開したよ

社内でGitHub Actionsを拵えた時に、掲題のGitHub ActionsがMarketPlaceに意外と無かったので作って公開したよ。 github.com それ何? GitHubのREADME.mdに貼った画像はセキュリティの観点やらでOSSのcamoを使ってホスティングされているんですよね。 docs.g…

GitHubのprivate repositoryにあるREADME.mdをHTML形式で取得する

久々に書き留めたいネタが出来たのでメモ。 掲題の通りなのだが、何故こんなことがしたかったかというとprivate repositoryにあるREADME.mdの画像をPURGEしたかったから。 やり方 $ curl -H 'Authorization: token [github token]' -H 'Accept: application/…

重複なし英数字6桁のstringの配列を生成しよう in Ruby

12月に入ってから久々にRubyを書いています。Rubyはあれやこれや色々揃っていて良いですな。 さて、掲題のことをやりたいなとこんなん書きました。 スッキリ書ける。いやーいいですな。

2020年振り返り

blog.unasuke.com 上記記事を読んで今年何やったっけなってのを振り返りたくなったので振り返る。中身のない振り返りをします。 利用した技術 Language Go 主に使っていた。部署としては第一候補の言語として挙がるくらいには根付いた。 Ruby ここ最近使って…

Spannerを本番環境で使ってみたので感想戦

会社で大きめの負荷を捌く案件があり、DBにSpannerを使ってみようかという機運がチーム内で高まり、本番運用まで使ってみました。 その中で色々と知見が得られたのでTipsを細々と書いていく。 hotspotの話 SpannerはNewSQLのカテゴライズに含まれ、RDB + NoS…

Memorystore for redis雑感

雑に作って雑に使えるが乗っかってるCPUが1コアなので、雑にハッシュ型をポイポイ〜と投げるとすぐにCPUが100%に張り付く。 実際に7万qps相当のHSETを投げたが、残念ながらCPUが天井を越えて使い物にならなくなってしまった。 こういうCPU使いまっせっていう…

Spannerで書き込みの速が出なかったお話

Spanner、皆さんどう使ってるでしょう?めちゃくちゃ雑に使っても大概のシステムの要件を満たせるくらいに捌いてくれる良い子なので、利用シーンは色々あるかとおもいます。値段はお高いですが・・・ さて、そんなSpannerで唯一"速" が出なかったパターンを…

grpc-gatewayにおけるHTMLの出力

grpc-gatewayを使って組んでるシステムでJSON以外にHTMLを出力せねばならなかったので調査。 grpc-ecosystem.github.io 結論としては↑の記事を参考にすればOKだった。(これに全然辿り着けなくて苦労した・・・ filterとか挟み込む場合はproto.Messageの名前…

Cloud Runにおける段階的ロールアウトのメモ

Cloud Runの段階的ロールアウトに関して知らなかったことがあったのでメモ。 段階的ロールアウトって? ここを見よう。 cloud.google.com 要するにデプロイ後、最新リビジョンに追従するのではなくトラフィックの管理を行い、段階的にロールアウトしていこう…

Cloud Composerを用いた機械学習における推論パイプラインの構築

ここ最近仕事で作成していた推論パイプラインが完成したので、Cloud Composerを使った場合にどのように構築していくのかサンプルプログラムを書いていこうかと思います。 設計 今回は以下のようなフローを想定して構築していきます。 イメージとしては各種ア…

ghでvimを使いたい

Githubからコマンドラインツールが登場しましたね。 www.publickey1.jp READMEを読むと For many years, hub was the unofficial GitHub CLI tool. とあるように、既にあったhubは非公式ツールだったのね、など驚きがありつつ触ってみました。 今の所、ベー…

勉強会の主催をやりません

Goに関連した勉強会をやっておりましたが、今後主催者として開催はしません。 理由として、勉強会でのいざこざにより心を病んでしまったことと、自分がやらなくてもGoに関する勉強会が増えたので必要無くなったかな?と思ったからです。 元々がもう少し多く…

Telegrafを用いたElastic Beanstalk環境のEC2インスタンスにあるDockerコンテナの監視

5ヶ月ぶりです。人生ですね。 Telegrafを使った監視をやってみたので、備忘録として残しておきます。 What is Telegraf InfluxData社が作成したメトリクス集計、レポーティングツールになります。 github.com 構造として、 インプット:メトリクスの集計先 …

MD650LにKarabinerでアンダースコアを割り当てる

地味に困ったのでメモ代わりに書いておく。 MD650Lを日本語配列で使っているとアンダースコアが打てなくて困ることがありました。 Karabinerで上手いことキー割り当てたらええかーと思ったのですが、どのキーを割り当てたらいいのか分からず・・・ どれやね…

Protocol Buffersにclang-formatをかけるとインデント崩れを起こすパターンがある

Protocol Buffersをシコシコ使ってるんですが、clang-formatをかけると具合の悪くなるパターンを発見したのでメモ。 ちなみに一応書いときますがclang-formatはProtocol Buffersをサポートしてます。 github.com どういうパターン? 例えばこういうパターン…

gRPC GatewayとServerで異なるレスポンスで返す方法

前置き gRPCにはgrpc-gatewayという、gRPC ServerのレスポンスをRestful APIの形にして返すプラグインがあります。 Protocol Buffersに少し記述を足すだけで、簡単にRestful APIの対応が出来るのでとても重宝しているのですが、一つ困ったことが起きました。…

Protocol Buffersが出力するSwaggerのParameter descriptionを記述する方法

Protocol BuffersでSwaggerを吐くことが出来ますが、その際にParametersの個々のfieldにdescriptionをどうやったら付けれるのかよく分からなかったのでメモ。 どういうこと? これを追加したかった。 やり方 至極簡単で、OpenAPIのfieldを使ってゴニョゴニョ…

基礎からわかるElm 読書感想文

基礎からわかるElm読み終わったので読書感想文です。 基礎からわかる Elmposted with amazlet at 19.03.09シーアンドアール研究所 (2019-02-27)売り上げランキング: 3,474Amazon.co.jpで詳細を見る 基礎からわかるElm - Curated tweets by syossan27

Docker ComposeのProject Nameにハイフンを使わない方が良いという話

皆さん、Docker使ってますか?僕は新天地でバリバリDocker使うことになりそうなので慌てて復習していたりします。 さて、そんな中Docker Composeで見事にハマってしまった罠があったので、Project Nameにハイフンは使わないようにしましょうという話をします…

Go 1.12で個人的に気になったところを触ってみた

Go 1.12来ましたね。 色々変更点はあるんですが、個人的にベンチマークの実行回数が指定出来るようになったのがオッとなり触ってみました。 実行コード 簡単なコードで試してみます。 package main func Calc(x, y int) int { return x + y } package main i…

有料note販売のそれから

先日、こんなnoteを販売しました。 note.mu その後、あれよあれよと私の予想を大きく上回って売れてしまい、売り上げがこんな額になってしまいました。 買っていただいた皆様ありがとうございます!そこまで大したことを書いていない内容で数百人の方に買っ…