Posts

Cloud Storage で CORS の設定をする

January 17, 2022

(公式ドキュメントを見るのが早いです。) クロスオリジン リソース シェアリング(CORS)の構成 | Cloud Storage | Google Cloud ウェブでファイルをダウンロードする | ...

Google Cloud Transcoder API を使ってみた記録

January 15, 2022

例えば MP4 形式の動画を HLS 形式に変換する場合、AWS ならば Elemental MediaConvert があります。 では、GCP 上にサービスを構築している場合はどうしましょう? GCP では 2020 年 ...

Google Analytics for Firebase の設定方法(Web)

January 14, 2022

(正直、公式ドキュメント見れば済む話です。) https://firebase.google.com/docs/analytics/get-started 有効化する # 以下の手順で有効化します。 Firebase コンソール > プロジェクト設定 > 統合 > Google Analytics > 有効にする 紐 ...

Next.js で SSR を無効化する方法(next/dynamic)

January 12, 2022

例えば Next.js でこんなコンポーネントを表示しようとしても、 const Component = () => { return <p>This is {window.location.href}</p>; }; ReferenceError: window is not defined になります。 これを回避するには、useEffect の中で ...

React components for overcoming technical debt

January 5, 2022

This article is a translation of a Japanese article I posted earlier. Original article Here is how to write React components, which is currently a best practice in my mind. I believe that the code will convey my intentions, so I will skip the explanation. What to create # The above consists of the following files. pages/index.tsx is the entry point component. ├ pages/ │ ├ index.tsx │ ├ Heading.tsx │ ├ EvenOdd. ...

Flutter を Install する(macOS)

December 31, 2021

公式にわかりやすい手順があります。(以下は macOS のページです。) https://docs.flutter.dev/get-started/install/macos ただし、上記手順では直接インストールしているものを、どうせなら Homebrew 経由でインスト ...

技術的負債に負けないReactコンポーネント

December 25, 2021

補足 本記事は以下の記事を参考にしています。 経年劣化に耐える ReactComponent の書き方 - Qiita Hooks 時代の設計の話 #agrinoteinside - Speaker Deck Parent / Child / Button の3つのコンポーネントからなるペー ...

JavaScriptで実証するモンティ・ホール問題

December 24, 2021

はい!みなさんお待ちかね、プログラミングで遊んでみようのコーナーです! 今回は記念すべき第一回!そして第二回目の予定は無いのでなんと今回が最終 ...

When using "async await", it might be better to simply "catch" rather than "try catch".

December 22, 2021

This article is a translation of a Japanese article I posted earlier. Original article For example, suppose we have the following function. This returns a promise that will either be resolved or rejected after 1 second. Which one it will be is randomly determined with a probability of 50%. const mayReject = () => { return new Promise((resolve, reject) => { const shouldReject = Math.random() >= 0.5; const settle = shouldReject ? ...

ISACA:CISA の CPE を取得する - 2021年版

December 20, 2021

CISA 資格保持者の年末恒例行事といえば CPE 取得ですね。(計画性ないの私だけ?) 備忘録として CPE 取得から登録の流れについて手順を整理します。 確か CISA を取 ...

TypeScriptのコンパイルプロセス / 型の階層構造

December 19, 2021

以下の本より冒頭部分を自己整理。 O’Reilly Japan - プログラミング TypeScript コンパイルプロセス # TypeScript に入る前に JavaScript のコンパイルプロセスは以下。通常のプログラミング言語 ...