emahiro/b.log

Drastically Repeat Yourself !!!!

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

2022 年の振り返り

仕事編 1人のエンジニアに戻った アウトプット 登壇した ブログ継続した 価値観の変化 私生活編 家を買った 車を買った 結婚式をした 新婚旅行をした 筋トレを継続した 英語継続した サッカー観戦した 来年 年の瀬なので今年も振り返りをします。 今年は仕事…

2022 年買ったもの

2022 年買ったもの 家 車 iPhone14 Pro AirPods Pro2 WH-1000X M5 LinkBuds S ダイニングテーブル Dyson Micro SwitchBot Amazon Echo 各種 Anker Eufy ハンディクリーナー FunLogy SOUND3 アイリスプラザ 本棚 ディスプレイラック HUAWEI MateView 28.2イン…

Vue3 で TextArea を入力に応じて可変させる

Overview Sample ハマったところ Overview タイトルのとおりです。 ちゃんとアプリとかにありがちな TextArea の入力量(改行)に応じて、TextArea を拡張させる実装のサンプルを記載します。 結構ありがちな実装だと思いますが、Vue3 のサンプルが少なかった…

Nuxt3 で Custom Navigation を実装する

Overview Usecase Samples Overview Nuxt3 を使って Custom Navigation を実装します。 大まか内容は公式の Pages の https://nuxt.com/docs/guide/directory-structure/pages/#navigation の部分に記載されてる内容です。 Usecase 以下のような Tab の UI …

Nuxt3 で Data Fetching を行う

Overview ハマったところ Data を Refresh するときには関数型で書く Overview Nuxt3 で DataFetching を行う方法について記載します。 大まかには以下のドキュメントに記載されているとおりですが、一部ハマったところがあったので備忘録として追記します。…

wezterm で pane 間の移動をする

Overview wezterm でキーボードショートカットのみで pane 間を移動します。 手順 以下のドキュメントに書いてあるとおりです。 wezfurlong.org 自分は Cntl+[ でどの pane に移動するかの選択画面を開くようにしました。 keys = { { key = '[', mods = 'CTR…

令和の時代にモバゲーアバターに受肉する

Overview TL;DR 手順 Mobage のアカウントを作る スマホでアクセスする アバターを着せ替え 3D 出力を開始する PC からブラウザ でMobage に入って VRM モデルを DL する VRM に対応してるサービスにアップロードする まとめ 余談 Overview sp.mbga.jp モバ…

独自エラーを errors.Is でハンドリングするには Unwrap を実装する必要がある

go

Overview 何度も忘れるので備忘録。 きっとまた忘れて似たようなエントリを書く気もする。 Sample 独自エラーを errors.Is でハンドリングしたいときは以下のように Unwrap を実装する。 type sampleError struct { err error msg string } func (e *sampleE…

firebase.json 内の rewrites.functions に存在しない directory を設定すると 403 になる

Overview 以下のエントリの内容を書くきっかけになった RC のアップデートのタイミングで firebase-functions のバージョンを最新にしたときに、rewrites に存在していた存在しない functions の directory を指定してしまうと 403 Fobidden になりました。 …

nitro: false の時は NITRO_PRESET=firebase はビルド時に指定しなくて良い

Overview タイトルの通りなのですが、いつからか、 Nuxt3 の設定の nuxt.config.js で nitro:false && ssr: false の場合は firebase 向けのビルドをするときに必要だった NITRO_PRESET=firebase が必要なくなっていました。 考えると当たり前で SPA モード…

Nuxt3 の useFetch を勉強する

Overview Refreshing Data Pending SearchParams まとめ Overview Nuxt3 の useFetch API を実際に使ってみたので使った範囲での機能についてまとめます。 useFetch の詳細は以下の Nuxt3 のドキュメントに書いてある通りです。 v3.nuxtjs.org ざっくりいう…

Nuxt3 で nuxtCtx.tryUse is not a function を直す

Overview Nuxt3 の RC8 を使おうとした際に Cannot start nuxt: nuxtCtx.tryUse is not a function というエラーに当たったのでその解消方法についてのメモです。 対処方法 以下の issue に書いてあるがこのエラーの原因は rc6 -> rc7 において互換性がなく…

Nuxt3 × TailWind - Importing directly from a nuxt.config file is not allowed. を直す

Nuxt3 と Tailwind CSS を使っているときに下記のドキュメント通りに Tailwind CSS を設定すると Importing directly from a nuxt.config file is not allowed. というエラーが発生する。 tailwindcss.com これは nuxt の設定ファイルを tailwind を適用する…

Alexa を使ったスマートホーム化の話

Overview 用意したもの 配線図 今使ってるスキル ハマったところ リモコンには型番がある Fire TV と Alexa を接続する やってみて Overview 戸建に住み始めてもう引っ越すことも一生のうちに何度もないだろうっていうくらい住宅の流動性が低くなったので最…

戸建を買った話

Overview なぜ買おうと思ったか なぜ戸建てなのか 選定条件 購入する 戸建購入後の話 住んですぐリフォームが必要 テレビがつかない 引越するなら購入した不動産屋さんに紹介してもらうと良い 賃貸のことには考えられなかった営業がくる まとめ 余談 Overvie…

go.opentelemetry.io で spanID と traceID を取得する

Overview タイトルの通りですが以下の Pull Request にて go.opencensus.io から go.opentelemetry.io に乗り換えたので、乗り換えた際に従来通り span と trace を取れるようにした内容についてまとめます。 github.com そもそも OpenTelemetry とは? new …

wezterm を使い始めてみた

Overview インストール方法 設定 使ってみて Overview iTerm を長年使ってきましたが、ちょっと気分を変えてみようと思って別のターミナルエミュレーターを探してて以下のスクラップを見つけて、Wezterm を使い始めてきました。 zenn.dev 余談ですが、このス…

Nuxt3 で SSG ができるようになっていた

Overview Context SSG やってみた 余談 Functions deploy がこける問題 lint と build が predeploy で強制的にかかってしまう Overview ※ 筆者がたまたま Nuxt3 を弄っていて気づいた話なので最新の動向は GitHub の Discussion を追ってください。 github.…

Nuxt3 で FontAwesome を使う

Overview 導入方法 Install dependencies Setup Plugin How to use まとめ 余談 Nuxt3 の rc がなかなか上がらなかったのは vue-jest 依存のせいだった。 See Also Overview 少し前にポートフォリオサイトを Nuxt2 -> Nuxt3 にアップデートしましたが、この…

squirrel という Go のクエリビルダーが便利

go

Overview 何をしてくれるのか 何をしてくれないのか ハマったこと In が明示的に用意されていない まとめ 余談 カラムを全て取得する 追記 Overview ライブラリの紹介記事です。 squirrel という Go の クエリビルダーが便利だったのでその紹介です。 github…

タイピングを矯正してみている

etc

Overview 全然技術的な話ではないですが、最近自分のタイピングの癖が気になっていたのでタイピングの矯正をしています。 Context 自分は大学生になった時から本格的にパソコンを使い始めていて、その時に独学で覚えたタイピングで今まで生きてきましたが、…

Nuxt2 ⇒ Nuxt3 に上げた話

Overview 準備 Nuxt2 系の最新まで上げる 各種依存ライブラリを最新に上げる Migration to Nuxt3 Nuxt Bridge Named export 'isWindows' not found が発生する Nitro サーバーが起動しない Nuxt3 Nitro を動かすには SSG モードを OFF にする Cannot start n…

リードをやってみる意味について

Overview 少し前に Tech Lead から一人のエンジニアになったエントリを書きましたが、自分の視座の変化として書いた「リードをやってみる意味」についてまとめてみました。 ema-hiro.hatenablog.com 前程 何度か書いてますが、現職における (Tech) Lead のポ…

結婚式をやった話とそのお金について

Overview 方針 実際のコストポイント 感想 余談_1: 結婚式のコスト構造 余談_2: メルカリすごい 余談_3: 体験を買うときはモノを買うより財布の紐が緩くなる Overview 5/28 に結婚式を上げました。 結婚式当日は参加した方にも楽しんでもらえて、僕らもすご…

i/o timeout エラーをハンドリングする

go

Overview HTTP のりクエスをしたときに遭遇する dial tcp $IP: i/o timeout をハンドリングする方法について、そもそもこれがどうして発生するのか?と併せて調べた備忘録です。 http.httpError と net.Error Go で API クライアントを実装する際に遭遇する …

Tech Lead から1人のエンジニアに戻った話

Overview 4月から2年間の Tech Lead の役割を降りて 1 エンジニア(最近だと IC って言うのが正式名称なんですかね)に戻りました。 元々飽き性な人間なので、同じ役割をずっと担っていると慣れとダレが生じてしまってチームに悪影響があったので去年くらい…

MySQL で時刻を時刻型で保存するか Unix Timestamp で保存するかを考えた話

Overview 前提 Unix Timestamp Pros Cons 時刻型(DATETIME) Pros Cons 結局どちらを選んだか? まとめ Overview MySQL でよくある CreatedAt と UpdatedAt を時刻型で保存するのか、Unix Timestamp で保存するかを考えてみたのでその備忘録です。 なお考える…

Go1.18 の Generics を使って Slice の重複削除の処理を書く

go

Overview golang.org/x/exp/slices を使って重複削除の実装を書く ベンチマークしてみる まとめ Overview Go でスライスの重複処理を実装するのに Generics が使えるので実際に実装してみました。 なお、Go1.18 以前の世界ではスライスの重複を削除するには …

Go1.18 の Generics を使ってみた話

go

Overview 実装に入門する サンプル実装 map の key を取り出す スライスのシャッフル処理 その他使えそうなユースケケースについて golang.org/x/exp 配下のパッケージついて まとめ Overview Go 1.18 がリリースされて目玉の機能である Generics について一…

Go の unstable version で gopls を使う

go

以下の設定をする。 # Create an empty go.mod file, only for tracking requirements. cd $(mktemp -d) go mod init gopls-unstable # Use 'go get' to add requirements and to ensure they work together. go get -d golang.org/x/tools/gopls@master gol…