type holyshared = Engineer<mixed>

技術的なことなど色々

SOLOVAIRの新しいカラーのブーツ買った

新しく青系のカラーが3色追加されたみたいなので、一足買ってみました。
SOLOVAIRのアストロノーツブーツを一足持っていて、サイズ感はわかっていたので、特に困ることはなかったです。

f:id:holyshared:20210618111638j:plain:w500
SOLOVAIR Neon Blue 8Eye Boot

また、自分は履く靴によってソックスを変えているのですが、アルパカの毛が使用されているソックスが気になったのでそれも一緒に購入しました。

f:id:holyshared:20210618111735j:plain:w500
SOLOVAIR Socks

アルパカのソックスを履いて歩いてみましたが、チクチクしないニットぽい感触で特に不快感もなく過ごせました。 ブーツ履く用に使用して行きたいと思います。

SentryのSDK問題

SentryのjavascriptSDKを6.5.1にアップグレードしたら初期化に失敗するようになった。

options._metadata.sdkがないのでエラーになるようだ。
ただ内部的に付与されるぽいプロパティな感じがするので、何か必須のパラメータがあるのかなと思ったけどそれらしいものはなさそうでした。

一応強制的に指定するようにしたら出なくなり、一応動くようになった。
しかし気持ち悪い。

import * as Sentry from "@sentry/node";
import * as Tracing from "@sentry/tracing";

Sentry.init({
  dsn: 'real dsn',
  _metadata: { sdk: null }, // これを追加した
  integrations: [new Tracing.Integrations.Express()],
});

追記

手元で最小構成で試してみたら再現できなかったので、SentryのSDKの問題ではないことがわかった。
アプリケーションはwebpackでbuildしていたので、buildし直してみたら発生しなくなった。

解決した理由は下記のどれかと思われる。 * typescript周りのパッケージをアップグレード * babel周りのパッケージをアップグレード

一旦応急処置はしたのでパッケージのアップグレードでもするかーとやっていたら直った感じ

Oura Ringのバッテリーの問題

Oura Ringを半年くらい使用していたのだけど、突然充電できなくなりました。 大体10分くらいで充電が終わるのだけど全然できなくて困ってました。

多分故障だろうと思って新しく買わないとダメなのかなと思っていたら、購入から2年以内は交換できるぽかったので、アプリから問い合わせてみました。

サポートから1日ぐらいで連絡が来て、バッテリーの問題ぽいので、注文のIDとか住所を聞かれ、回答したら新しいやつを送ってくれることになりました。

サポートの対応が早くてめちゃくちゃ助かりました。

今日届いて、新しいリングも無事ペアリングでき半日つけてみた感じ、消費カロリーとか記録もトラッキングできてるぽいです。

同じように困っている人がいたら問い合わせてみた方が良いかもしれません、

画像を投稿した後にレポートを出す

投稿後の結果
レポート

自作アプリで写真を投稿後に今の集計値を確認したくてページ遷移することがあり不便だったので投稿後に集計を表示するように変えた

デプロイしてから、数日使って見ている感じストレスが減ったので実装してよかったです。   この前進捗状況を表示するように変えたけど、それも表示したい。

履いた靴の進捗状況を表示するようにした

靴をできるだけ均一に履くようにしていると、どれが今月履いたのかわからなくなるので、ダッシュボードに進捗を表示するように変えてみた。

進捗状況
進捗状況

ダッシュボードには履いてない靴を4件リストに出していたけど、後どのくらい残っているのかはわからなかったので結構不便だった。

なのでリファクタリングのついでに新機能として追加してみだけど、結構便利。

大体毎月2回はループするので、今何周目とかも追加したい。
もしは進捗バーの色変えるとか。

loadable-componentsのheroku対応

loadable-componentsを使用していて、Server side renderingをheroku環境で行う場合ビルドされるloadable-stats.jsonのパスが実行環境と違うため、chunkファイルが読み込めないという問題があります。

これはビルド時は​​­/tmp/build_[id]/​のようなテンポラリディレクトリに成果物が出力されるが、実際のファイルは/appの下に配置されるため、パスが参照できなくなる為です。

この為ローカルでは正常に動いても、heroku環境ではファイルの読み込みエラーが発生します。

import * as path from 'path';
import { ChunkExtractor } from '@loadable/server';

export const statsFile = path.resolve('./dist/loadable-stats.json');

export const nodeExtractor = new ChunkExtractor({
  statsFile
});

これを回避するには、ChunkExtractorのオプションにpublicPathoutputPathを明示的に指定します。
通常この設定はloadable-stats.jsonの指定を参照するのですが、オプションを指定してあげるとそちらを使用します。

import * as path from 'path';
import { ChunkExtractor } from '@loadable/server';

export const statsFile = path.resolve('./dist/loadable-stats.json');

export const nodeExtractor = new ChunkExtractor({
  statsFile,
  publicPath: path.resolve('./dist/'), // statsファイルのpublicPathの代わり
  outputPath: path.resolve('./dist/'), // statsファイルのoutputPathの代わり
});

こうすることで、サーバー側でchunkファイルを読み込めるようになるので、正常にレスポンスを返せるようになります。

アンクルバンド買ってみた

f:id:holyshared:20210315145114j:plain:w600
アンクルバンド

春夏に向けてワイドパンツを買ってみたのだけど、裾が踵の方が長くなるようなデザインでした。
パンツを履くと引き摺りそうになるので、対策としてアンクルバンドを買って見ることにしました。

アンクルバンドは自転車とかに乗るときに裾が邪魔にならないようにするバンドです。

買ったのはHUKUROのアンクルバンド、色は茶色にしてみました。
ゴムで伸縮するのでフィット間は良いです。

試しに6inchブーツで歩いてみましたが特に違和感なく歩けました。

他の色のものも買ってもいいかもしれない。