Tech系サービスやガジェットの使い心地、自分の作業環境、資産運用について気が向いたときに記録を残しています。

記事内のAmazonアソシエイト適格販売及び、Google Adsenseでお小遣いを得ています。

Firebase Cloud Functionsと連携してOGPカードを生成するReactコンポーネントを作っていたらいっぱいハマった

タイトルの通りのコンポーネントを作っていたのだが、クライアントサイドからでは他のサイトにリクエストを飛ばしてOGPデータを取得することができないので、バックエンドAPIを利用してOGP情報を毎回生成するCloud functions を作成しました。

コンポーネント自体はReact hooksで簡単に作れたのですが、Firebase側で色々ハマったので備忘録に。 コンポーネントのコードはこちら。

github.com

MDX pluginとしてどのマークダウンファイルからでも呼び出せるように設定してす。

Firebase Cloud Functions環境

  • node.js 12
  • TypeScript

Firebaseハマりどころ

AmazonのPAAPIv5もES Moduleとして使えなかったり、公式npmパッケージだとエラーが出るので、いい感じにラップしたサードパーティパッケージを使ったりと中々にひどかったのですが、Firebaseもドキュメントの狭間に落ちることが多い…

環境変数

dotenvやdirenvで設定するのではなく、firebaseのプロジェクトそのものに設定する必要があります。

ローカル開発ではそれらをファイルにエクスポートして利用、.gitignore必須。

blog.katsubemakito.net

firebase.google.com

リージョン

当然東京リージョンにデプロイしたいのですが、リージョン指定はコンソールでなくコード側で。また、それに伴ってローカルエミュレータの書き方も変える必要あり。

firebase.google.com

USリージョン

Functions

functions.https.onCall((data, context) => {
  // ... 処理
});

呼び出し

//ローカルエミュレータ
if (process.env.NODE_ENV === 'development' ){
  firebase.functions().useEmulator("localhost", 5001);
}

// ...

const function= firebase.functions().httpsCallable('getOgpLinkData');

東京リージョン

Functions

functions
  .region("asia-northeast1")
  .https.onCall(async (data: Props, context) => {
    //...処理
  }

呼び出し

//ローカルエミュレータ
if (process.env.NODE_ENV === 'development' ){
  firebase.app().functions('asia-northeast1').useEmulator("localhost", 5001);
}


// ...

const getOgpData = firebase.app().functions('asia-northeast1').httpsCallable('getOgpLinkData');

node.js 12 functionのDockerレイヤー

GCSバケットにビルド時のDockerコンテナのレイヤーが残るので、これを自動削除するように設定しないと、いつの間にか課金が大変なことになります。

ライフサイクル設定するだけなので作業は一瞬ですが、知らないと間違いなく焦る。

zenn.dev

kenchan0130.github.io

ログ出力

nodeの console.hogehoge を使ってオブジェクトを渡すと、ログ管理画面では行ごとに分割されてしまいます。

import 'firebase-functions/lib/logger/compat' を挿入して、Cloud functions のロガーとして互換性を保つことが可能。

blog.anozon.me

【レビュー】HP Thunderbolt3ドック 120W G2

今まではORICOのハブを使っていたが、ケーブルが短いこともありどうにも綺麗にまとまらないことが気になっていた。

仕事で使うこともあって、会社の「WFH環境」チャンネルで激押しされているHP Thunderbolt3ドック 120W G2を購入してみた。

スペック

コネクタの種類は販売ページに載っているが、規格の詳細がユーザーガイドにも載っていないという超不親切設計なのはいただけない。下記ページのPDFを参照する必要がある。

https://h20195.www2.hp.com/v2/GetDocument.aspx?docname=4AA7-3384ENW

適宜抜粋すると以下の通り。

Out

  • USB Type-C™ ports USB 3.1 Gen2
    • 1x Thunderbolt™ port (back)
    • 1x Alt Mode & Data port (back)
    • 1x data port (front)
  • USB-A ports USB 3.0 Gen1
    • 3x USB-A ports (1 powered)
  • Video Ports 5 x video ports
    • 2 DisplayPort™
    • 1 VGA
    • 1 USB-C™(Thunderbolt™)
    • 1 USB Type-C™(Alt Mode)
  • Video Resolutions Up to DP 1.4 support
    • Dual 4K @ 60 Hz (DP 1.2 systems)
    • Triple 4K @ 60 Hz (DP 1.4 DSC2 systems)

必要なものはほぼすべてそろっていると言っていいだろう。通信規格も今でこそThunderbolt4が発表されて最新ではないが、ほぼ最新の規格で揃えてある。

注意点としては、Thunderbolt3ホストPCが対応しているDisplayPort規格によって出力できる画面構成が異なってくる点。上記のPDFに詳しく書いてある。

システム(Host PC)

  • Compatible with Thunderbolt™ systems and USB Type-C™ systems with power and video
  • Power to system thru USB Type-C™ Up to 100 W (USB Type-C™)

Thunderbolt3と書いてほしい…がまぁおいておく。

狙い

今までの中華ドックは、機能面ではあまり不満はなかったものの、PC接続のケーブルが短かった。

f:id:gensobunya:20200828220042j:plain

そのため、卓上で「ぶら下がっている」状態になってしまっており、その上裏側のケーブルが全て見えてしまう。

レビュー

プライベートのノートPCはLenovoのT14 Gen1 AMD。会社のPCはHP製の某マシン。

www.lenovo.com

ドック電源スイッチ同期でクラムシェル運用

f:id:gensobunya:20210204224622j:plain

Macbookだと、ノートPCを閉じたまま、いわゆるクラムシェル運用をしている人を結構見かけるので、Windowsでも真似てみた。

このドックは天面が電源ボタンになっており、HPの対応ノートパソコンであればドックの電源投入と同時にノートPCの電源ボタンとしての役割を持たせることができる。

よって、ノートPC側の筐体を開け閉めしなくともよくなる。

LenovoのPCは電源同期に対応していなかったが、BIOSPower on with AC attachedのオプションをONにすることで、電源ケーブルをつないだ際に起動する設定に変更できた。めでたく両機ともに、触れることなく電源オンオフができるというわけだ。

2台置ける幅の調整可能なPCスタンドを買って、立てたのが冒頭の写真だ。

セール情報

jp.ext.hp.com

このドック、Thunderbolt3対応製品としては破格の安さとして有名。

HPの法人向けサイトでは常時15000円程度で販売している。納期は1カ月ほどだったが、個人でも購入可能だ。

セットでお勧めされているオーディオプラグイン骨伝導イヤホン(主にAeropexなど)をまだ持っていない在宅勤務の人であればこちらもおすすめらしい。

三井住友カードNL(ナンバーレス)が結構すごいのでキャンペーンの最高効率を目指す動きをまとめてみた

kyashの改悪が記憶に新しい中、日本クレジットカード界の巨人が似たフィールドに殴りこんできた。

もっとも、現在のkyashは送金・決済アプリではなくバンキングアプリを自称しているのでもはや別物という理解が正しいのかもしれないが…

高還元ナンバーレスカード+プリペイド決済可能ポイント決済

まず、このカードの特徴は特定店舗での高還元である。ナンバーレスという点も個人的には刺さるものの、基本的には還元狙いの人が多いだろう。 そして、この還元は非接触決済によってさらにお得な5%という法外な還元率となっている。現時点で期限はない

以下の店舗決済では①原則2.5%(基本0.5%+2.0%)で、は②Visaのタッチ決済・Mastercard®コンタクトレスを利用するとさらに追加で2.5%還元となり、5%のポイントが返ってくる。

①にGooglePay, ApplePayなどが明記されており②では触れられていないところを見ると、②の還元はカードを直接かざす決済方法でないと適用されないと思われる。 2021/5/12現在ではApplePayによる非接触決済も5%還元対象。iDは5%ではない点に注意。

年会費は永年無料なので、とりあえず作っておいても後述のキャンペーンだけで損はないカードだ。

「Vポイント」アプリ

www.smbc-card.com

また、同時に発表されたのが 「Vポイント」アプリだ。

今まで三井住友カード利用時に使っていたVポイントを決済用の残高に移動し、VISAプリペイドカード(バーチャルカード)の残高として利用できる。また、クレジットカードでのチャージと銀行口座からのチャージもできる。

つまり、上記のナンバーレスカードでたまったポイントをクレジットカードの残高として再利用できる仕組みだ。残高を他社に送れるようになったらかなり熱いサービスになるのだが、そこはまだ対応していない。今後に期待。(ナンバーレスカードの請求に充当できたら完璧だがそれは難しいか…)

キャンペーン群・ポイントサイトまとめ

今回の発表に伴って、キャンペーンがキャンペーンが4つ並行しているので、それぞれ条件を確認してみる。最後に最高効率の動き方を出しているので、結論だけ読みたい人は記事末尾へGO。

新規入会 最大11,000円相当プレゼントキャンペーン

www.smbc-card.com

まだ三井住友のプロパーカードを持っていない人が対象。①キャンペーン期間中の利用額20%がキャッシュバックされる点に加え、②全員に1000円分のVポイントがギフトコードで付与される。

①の還元上限が1万円なので、決済は5万円利用すればよい。エントリーは不要。

正確な対象外ルールは2021年2月2日時点で以下の通り。

2021年1月31日時点で対象カード(注)をお持ちの方
2019年3月1日以降、新規で対象カード(注)を発行した履歴がある方
(注)三井住友カード(A、アミティエ、エグゼクティブ、エブリプラス)、三井住友カードVISA(SMBC)、三井住友カードプライムゴールドVISA(SMBC)、三井住友カードゴールドVISA(SMBC)、三井住友銀行キャッシュカード一体型を含む/三井住友カード プラチナプリファードを除く

各種ポイントサイトのポイント付与増額

hapitas.jp

ハピタスをはじめとするポイントサイトで、三井住友カードNLの入会キャンペーンを打っており、9000~10000円の還元を得られる。忘れず経由しよう。

カードの経由ページは下記のリンクの通り。

三井住友カード(NL) | ハピタスなら2,200ptポイント還元 | ポイ活ならポイントサイトのハピタス

Hapitasはこの記事のリンクから登録すると、紹介特典として会員登録時に100p, 登録後7日以内にカード発行手続きをしてが通帳へ500pt以上「判定中」または「有効」と記載されると、キャンペーン特典600ポイント+通常紹介特典400ポイントプレゼントされます。

ポイント増額キャンペーンは随時見直されるようなので、各社要チェック。

まとめ

今見えている情報でお手軽に還元を手に入れる方法は下記のとおりと思われる。

  1. ハピタスの会員を登録をして
  2. 三井住友カードNLを作り
  3. カードが発行されたら1万円はVポイントアプリへ残高チャージ
  4. 4万円の利用を4/30までに行う
  5. たまったVポイントは随時Vポイントアプリの残高へチャージする

セブンイレブン・ローソン・ファミマ・マクドナルドではカードをかざして決済すること

残高送金できるようになってくれればポストkyashとして、ほぼ完全な代替品になるだけに頑張ってほしい。

終了済みキャンペーン

アプリDL&チャージで最大2,000円相当還元!!キャンペーン(終了済)

https://www.smbc-card.com/camp/a191193/index.jspwww.smbc-card.com

キャンペーン期間中のVポイントアプリへの残高チャージ(クレジットカードか三井住友銀行口座)を行うと、チャージ額の20%2000円相当上限で残高に還元される。つまりチャージ額は最大1万円。VJAグループ、SMBCファイナンスサービス発行以外のVisaカード、Mastercardでのお支払いについてはチャージ手数料が204円(税込)発生するので注意。

このチャージで新規入会の5万円のうち1万円はこのキャンペーンで消化できる。

※ポイント還元ではなく残高に還元だったため修正

「Vポイント」アプリへのチャージ20%増量キャンペーン(終了済)

https://www.smbc-card.com/mem/cardinfo/cardinfo7242368.jspwww.smbc-card.com

三井住友カードの共通ポイントであるVポイントをVポイントアプリ残高にチャージすると、ポイントの1.2倍の額面になる。 つまり、ナンバーレスカードで最大還元5%を得たポイントが、Vポイントアプリへチャージすることで実質6%還元になる…のだが、このキャンペーンの期限が3/31なので、ナンバーレスカードの還元分を対象にするのはやや難しい。

Gポイントやちょびリッチなどのポイント変換できるサービスを駆使してVポイントを増やしてチャージするのが最適解か。エントリーは不要。

Vポイント祭 7,777万円相当還元キャンペーン(終了済み)

https://www.smbc-card.com/camp/vpointcp202102/index.htmlwww.smbc-card.com

要エントリー。

三井住友カードの対象カードで5万円以上の決済を1口として抽選で77,770人に1000pt当たるキャンペーン。抽選なのでエントリーだけして忘れよう。

抽選に必要な最低額は、新規入会キャンペーン用の5万円決済でクリアできる。

毎日使う卓上の充電ケーブルを Anker Magnetic Cable Holder ですっきりまとめた

在宅勤務中の私用PCと仕事用PCの切り替えについてはUSB typeCドックの導入でケーブルをひとまとめにして、シンプルに切り替えができるようになった。

しかし、大WFH時代では卓上環境の改善をどうしてもしてくなってしまうもの。PCと反対側にある、充電ケーブルがどうしても美しくないので、手を入れることにした。

商品概要

f:id:gensobunya:20210131094817j:plain
卓上の充電待機ケーブルをスッキリ納める

amzn.to

今回購入したのはAnker Magnetic Cable Holder、その名の通り磁石が内蔵されたケーブルホルダーで、ベースとなる土台を机に接着し、ケーブル側にもマグネット内蔵のシリコンパーツを取り付け、未使用時は磁石の力でベースに整理整頓するという製品だ。

複数口のUSB ACアダプターと組み合わせて頻繁に使うが、いつでも使われているわけではないケーブル類を机の端にストックしておくために導入。

これ一つの製品で5本のケーブルを固定できる。5本あれば大抵の小物同時充電には耐えられるだろう。

これ、高くない?

さて、この手のケーブルホルダーとしてマグネット式はとにかくお高い。とはいえ、値段なりの価値は十分にあると断言できる。

Amazonケーブルホルダーと検索すると分かるように、シリコン製のホルダーに押し込むタイプのケーブルホルダーなら半額か、何なら100円ショップにも売られている。実に15倍以上の価格差だ。

しかし、実際に使用してみるとわかるのだが、ケーブルを押し込んだり、押し込んであるケーブルを取り出すのは意外と力がいるし、ケーブルを痛める方向に力を入れることとなる。 Type-Cケーブルは高価なことも多く、スマートウォッチのケーブルは専用品なのであまり負荷をかけたくなったということもあってマグネット式を使用することにした。

中華製品は車内向けの1本単位マグネットホルダーや、卓上向けでもマグネット3個の製品が多かったため、安心のANKER製品をチョイスした。

すっきり度

改善前の写真を撮り忘れてしまい、縦長画像で恐縮だがビフォーアフターを撮ってみた。

f:id:gensobunya:20210131101832j:plain
before

f:id:gensobunya:20210131094856j:plain
after

Anker PowerPort Atom III Slimスマートフォン・スマートウォッチをメインにキーボードやMicroUSBアクセサリの充電ケーブルを賄ってる。ホルダーの導入に伴い、両面テープで机の裏に移動してもらった。

卓上にはそれらのケーブルが転がっていたのを、見ての通り机の奥で待機させている。もちろん、前述の通りマグネット式ゆえ取り出しの手軽さが活きているのでケーブルを取り出すのは非常に簡単だ。

最近買ったHP Thunderbolt3ドック 120W G2についてはまたレビュー記事を作成する予定。

在宅勤務のために築30年激寒賃貸物件を断熱グッズで改善して優勝した

今年の冬は寒い。関東の海沿いでも寒い。

今年引っ越した自分は、新居の断熱性能の低さに愕然としていた。なんせ 暖房を27度に設定してすべてのドア・窓・シャッターを締め切っても室温は17度前後なのだ

朝にシャワー・ランニング・Zwiftのバーチャル通勤ライドなど工夫したがそもそもの保温力が低すぎる。陽が差し込む真昼はともかく、夕方は拷問だ。夏のあり得ない暑さもおかしいと思っていたが、おかしいのは物件の方だった。

引っ越すことも考えたが、その他の条件があまりにも良すぎるのでホームセンターで色々と睨めっこして自宅の改造に成功した。

なぜ冷えるのか?

熱は「伝導」「対流」「放射」で移動する。部屋の保温に関しては放射はほぼ関係がないので、伝導と対流に的を絞った対策を行う必要がある。

結論から言うと、「伝導=アルミサッシ・窓対策」「対流=隙間対策」の2点が重要になってくる。

窓・アルミサッシ対策

伝導を防ぐためには中間層を設けて熱が伝わることを防ぐ必要がある。ダウンジャケットが暖かい原理と同じで、暖かい空気と寒い空気の間に空間を作ることで、温度差を維持する。

窓・アルミサッシ共にニトムズの製品を利用した。

重要なのは空気の層の厚さだが、あまり野暮ったくなっても嫌なので、適当な厚さのものをチョイス。 やたら高いプチプチについては疑問もあるかもしれないが、賃貸で糊残りしてしまうことは避けたいので、念には念を入れて水張りタイプをチョイスした。

f:id:gensobunya:20210110221917j:plain

当然だが外の景色は見えなくなる。この点は1階の住人としては問題なかった。 触ると冷たいアルミサッシとアルミ窓枠にペタペタとフォームテープを張っていく。

f:id:gensobunya:20210110222004j:plain

とりあえず触っても冷たくはなくなった。 伝導は抑えられているはずなのだが、どうにも実感が湧かない。窓脇にいる際に少し寒くなくなったかな…という程度だ。

隙間対策

これの威力は絶大だった。

窓を閉めた際の隙間にフィットして空気の移動そのものを防いでくれる。

f:id:gensobunya:20210110222330j:plain

写真のように、窓を閉めた際に当たる部分に対し垂直になるように上から下までビッチリとこのモヘアテープを貼る。

f:id:gensobunya:20210110222427j:plain

閉じたときに隙間が埋まる。長さが何種類かあるので、自宅の隙間に合うサイズを選ばないと窓が閉まらなくなり、逆効果になってしまう点には注意が必要。

結果

昼間の室温と夜の室温で、夜の方が高くなるという結果を得た。体感的にも明らかに暖かい。(そもそも寒いだろうというツッコミは禁止)

ちなみに、室温を計っているNatureRemoは顔の高さに設置している。

最後のトドメ

既に暖房の設定温度を下げても未加工の昼間より夜間の方が部屋が暖まっている状態。ここで最後の仕上げとして、足元保温の最強グッズを投入する。

デスク下用のホットカーペットである。 この製品の画期的な点は三面のみならず床にもカーペット部分が存在すること。床の冷たさと足元からの冷気を完全にシャットアウトできるアイデア商品だ。

おまけでブランケットもついてくるので、デスクの下はもはや完全にコタツ

f:id:gensobunya:20210110220740j:plain

物件買うときの学び

  • 樹脂サッシ
  • 床暖房
  • 断熱材の厚み
  • 二重窓

これらは絶対

Logicool ERGO M575 購入当日レビュー&設定例

1カ月前、都合よくM570tがチャタり始めた。

そしてその数日前にはM575発売のニュース。実に10年ぶりの後継機。 ハイエンドに行こうと思ってMX ERGOを試した時期もあったがどうにも感触が違って売り払ってしまった身としては、渡りに船。

そして本日Amazonから届いたので、ファーストインプレッションとWindowsでの設定追い込みについて記載していく。

TLDR

良い点

  • BT対応
  • ホイールの工作精度◎
  • 形状改善(個人的には)

悪い点

  • ユーティリティソフトが貧弱
  • ボタン類の位置が悪い(チリも合っていない)

Unbox

f:id:gensobunya:20201126201041j:plain

パッケージが大幅に小型化した。中身はプラスチック包装がなく、段ボールで仕切られているだけの簡易な放送。プラと配送コストの削減ということだろうか。

f:id:gensobunya:20201126201141j:plain

レビュー

f:id:gensobunya:20201126201205p:plain

USBポートを空けたかったので、Bluetoothで設定。

M575もM570tと同じく電池駆動なので、サンプル電池の絶縁シートを引き抜いたら初回起動する。最初からペアリングモードに移行してくれたので、説明書なしにWindows側から認識してペアリングまで進むことができた。裏側のボタンでUnifyingと切り替えることもできる。

表面加工はほぼ変わらないが、手のひら部分が波打っているため肌触りには差がある。密着して蒸れない分M575の方が自分好み。

全体の形はほぼ変わっていないと思いきや、M575の方がM570tに比べて山が低く感じる。戻る・進むボタンの位置も今の自分のポジションだと少し指の移動が多くなった。ここはややマイナスだが人によって持つポジションが違うと思うので、あくまで自分の場合だと考えてほしい。ボールを触った感じはほぼ変わりない。

クリックホイール進化!!!

圧倒的な進化はセンターのクリックホイール。M570tはすぐスイッチがヘタってしまい押し込まないと反応しなくなるが、M575は非常に軽い力でスイッチを押すことができる。 また、左右ガタもなく明らかに精度が良くなっている。タブを開くときにホイールクリックを多用しているので自分にとっては非常にうれしい。力を込めなくともいいので耐久性も上がりそうだ。

ユーティリティ

f:id:gensobunya:20201126201836p:plain

M575はSetPointではなくLogicool Optionsなるソフトウェアを専用ユーティリティとしてインストールすることになる。SetPointは最近のLogiデバイスだとお役御免の旧ソフトなのだが、見ての通り後継となるLogicool Optionsの機能は非常に少なく、存在してる意味ある?と言いたくなる。(上位機種だとほかのボタンの割り当てを変更できるが、M575には余計なボタンがないので使えない)

何より、愛していたポイント加速度オプションがなくなってしまったので、高精度な動きができなくなってしまった。

遠くに行く際は速く、近くは精密にできるセッティングを追い込めたのだが、現行モデルでは不可能。とはいえ定速では非常に使いづらいので、マウスオプションの階層を掘っていたところ、いくつかのOS設定で完全再現とはいかずとも、満足できる範囲には設定することができた。

Windows設定でSetPointに近づける

SetPointがあるとそちらを使ってしまうが、Windowsのマウス設定は意外と細かかった。

f:id:gensobunya:20201126202219p:plain

「その他のマウスオプション>ポインターオプション」から自分の環境ではOFFになっていた”ポインターの精度を高める”チェックと"自動的に既定のボタン上に移動"をONにすることで、精密動作を改善できた。

完全とはいかないが、一応満足。ボタン上の移動は人によって好き嫌いが分かれそう。

総評

正統進化しているが、いくつかトレードオフがあるのでロジクールには更なるサポートを期待したい。 USBポートを塞がなくなったのは非常にGood。ただUnifyingの低遅延超安定も捨てがたい。

メディア記事によると、スイッチそのものは変わってないらしいので遅かれ早かれチャタリング起こすのは確実なので500円をケチって1年保証モデルを買わないように注意。保証期間内ならサクッと新品交換されるので2年保証は高確率で半額セールだ。

ちなみに、M570tは型落ちとなったので、常にプライムデー価格になっている。確保したい人は今のうちに。3年保証も健在だが、おそらく交換時にはM575と交換することになるだろう。

自分はあまり型落ちを使わずに新しいものを早く試して慣れたい派なので、このままM575と生きていく。

2020独身の日 AliExpress電子製品シリーズ

これまで買った中でまともに稼働したAliExpress購入製品で、独身の日セール対象について再度紹介。

Orico USB-TypeCハブ

s.click.aliexpress.com

ORICOのTypeCハブ。USB PD 100Wに対応しており、USB3.0ポートも4つ、有線LAN対応というちょうどいい製品。 中華製品で唯一T14 AMDといい感じに動作してくれた。詳細は過去記事にて。

gensobunya-tech.hatenablog.com

ORICO M.2 SSDケース

T14のセットアップ時に利用した。Amazonでも売ってる。

amzn.to

s.click.aliexpress.com

Niz Plumキーボード(セール対象ではない)

s.click.aliexpress.com

BT, USB両対応(しかもTypeC)で静電容量無接点式のキーボード。Realforceと比べてそれほど安いわけではないが、コンパクトな形がよくてHHKBの配列では不安がある人にはちょうどいいと思う。