2020-09-17: モバイル回線の速度の実測値を調べていた

Webサービスを提供していると、ページの表示速度の改善というのはいつまでもついてまわる仕事だろう。

バックエンドのプログラムのパフォーマンス改善は、サーバーのレスポンス速度を計測することで、本番へのリリース前にある程度の効果を測定することができる。一方で、最近は静的ファイル以外にもCDNを通すことがあり、そういった場合はサーバーのレスポンスタイムを測っても、実際の効果を測定するのが難しくなっていると思う。そうでなくても、レスポンスが大きくなる場合は通信回線の速度がパフォーマンスに与える影響が大きくなるし、事前に効果の目処をつけるのはなかなか難しくなってきているように思う。

今回、サーバーのレスポンスタイムを計測してもうまく効果を測定できない案件があり、通信速度も含めてどの程度効果があるかを予め知りたくなったので、モバイル回線の速度の実測値を調べていた。

調べていくと、数年前は総務省が各キャリアの速度を測定していたようだが、今は総務省の定めた基準にしたがって各キャリアが実測値を公表している。

実効速度計測結果 | 通信・エリア | NTTドコモ 実効速度について | エリア | au 「総務省実効速度調査」計測手法/計測結果 | スマートフォン・携帯電話 | ソフトバンク

これをみると、ドコモは200Mbps超えでほんまかいなという感じだ。ただ、公表されてる数値を信じるしかないのでこれを使って計算してみたが、そのまま使うと当然誤差みたいな差しかでないので困ってしまった。

こういうの良い計算の仕方をしってる人いたらぜひ教えて下さい。

2020-09-15: GitHub CLIに入門した

満遍なくミーティングが入っていたのだけど、その合間にちょっとしたコード書きなどを。

今回の課題は「あるリポジトリのmainブランチへのマージをトリガーとして別のリポジトリにそれを反映したPull Requestを出したい」というもの。ペパボではGitHub Enterpriseをホストしていて、CIはDrone CIのOSS版を構築して使っている都合上、それらに合わせて仕組みを作る必要がある。

最初はGitHubのAPIをコードを書いて叩こうかと思っていたのだけど、GitHub CLIはどんなもんかとみてみたら、大体これでできるじゃんとなったのでシェルスクリプトで済ませてしまった。

ざっくりとした流れはこんな感じ。

GitHub Enterpriseのpersonal access tokenをDroneの秘匿情報を扱う仕組みで環境変数として読み込ませる echo $TOKEN | gh auth login --hostname xxxx --with-tokenなどとして、CI上でGitHub CLIを使えるようにする gh clone yyyyとして適当なディレクトリにPull Requestを出したいリポジトリをcloneしてくる cloneしてきたディレクトリでごにょごにょする gh pr create -t 'pr title' -b 'pr bodyとしてpull requestを出す

gh pr createで複数行のbody(GitHub上ではPull Requestのdescriptionになる)をうまく書けなかったので少しハマってしまったが、HTMLのタグも書けるのを思い出して<br>を入れたらうまくいったのでよかった。

今までGitHub CLIは存在は知っていたが使ったことはなかったのだけど、issueやPRに関する機能は現時点でもかなり充実しているから、手元からシュッと操作するには便利だと思う。また、インストールも簡単なのでCIに組み込むのも楽でいいね。

GitHub ActionsがEnterpriseにもきたらまた別のやり方ができる気がするので、またそのときに仕組みを見直そうと思う。

2020-09-13: 子のピアノとABC 178

午後から子供のピアノの試験があったので、午前中はその仕上げの様子をみていた。自分は義務教育の範囲外で楽器に触れた経験がほぼ0なので、正直よくわからないのだが、小学生でもここまで弾けるものなのだなぁと関心している。

試験の結果の最終的な結果は後日だが、本人としては手応えがあったらしい。終わってからはショッピングモールでおやつを食べながら、ポケモンGoを満喫していた。

その間に、本を読む本の読書ログを書こうとまとめていたのだけど、残念ながら終わらなかった。「本を読む本」には読書の型のようなものが紹介されているので、その通りにまとめ始めたのはよかったが、思いのほか筆が進まなかった。まだ理解できていないところが結構あることがわかったので、来週までに書くくらいの気持ちでいこうと思う。

夜は久しぶりに AtCoder Beginner Contest 178 - AtCoder に出た。割と好きなタイプの問題だったのでいけるかと思ったのだが、DとEのどちらも解けずに終了。Eは図を描いてるうちに解き方が分かったのだが、残り数分になっていたので実装しきれずに終了だった。時間制限もあるので、15分スプリントとかの練習をしてみるといいのかなぁ。次回はやってみよう。

ABCが終わってから日課のリングフィットアドベンチャー。最近は強度MAXで「1日1回はワイドスクワットをやる」という目標を立ててやっている。が、今日はボス戦でワイドスクワットからのスーパー腹筋ガード(ワイドスクワットで腰を下ろした状態を指定時間キープするやつ)という見事な連携がきて、スーパー腹筋ガード後は立ち上がれずにそのまましりもちをついてしまった。ガードのエクササイズは途中休憩ができないのでほんとにしんどい。

2020-09-11: obsidian.mdというノートアプリを使い始めている

給料日後の花金。

午前中から午後までミーティングや相談がまんべんなく入っていたので、夜にちょこっと仕事のコード書き。思ったよりシュッと終わったのと、周辺の調査も終わったのでまずまず。

その後はDuolingoをしたり、リングフィットアドベンチャーをしておしまい。

少し前にTwitterでObsidianというMarkdownノートアプリを知って、9月に入ってから使ってみている。「Scrapboxが好きな人は好きそう」というのを見たのがきっかけで、確かに記法はMarkdownでScrapboxっぽさがあるとてもいいアプリだと思う。

Markdownに[[...]]という記法を追加し、内部リンクを可能にした backlinkがある ドキュメントのつながりをグラフで表示できる テンプレート機能がある

特に、Markdownに内部リンクの記法を追加することで、リンクを一級市民として扱うことができるのが最高(あと、それに伴うバックリンク)。よく勉強している。

自分は、日記のように一つのドキュメントに複数の小トピックを書きたいことがよくある。そういったときに、Scrapboxの「すべてリストでいい」という考え方だけがちょっとしっくり来ていなかった。このアプリはその部分を解決できているのがよいのかもしれない。

とりあえず、昔のMarkdownのメモを全部インポートしてみたので、たまに眺めながら内部リンクのメンテナンスをしていこうと思う。

↑のような考えに共感できる人使ってみるといいと思う。