Google Adsのcanaryリリース?
今日、スマートフォンで Gigazine の記事を閲覧している際、Google 広告の上をスクロールすると 「ページを表示」といったボタンが表示されました。 ページ内の他の Google 広告でも、タップするとボタンが表示され、 1段階踏んだ上で遷移するようになっていました。 ただ、後になってもう一度試してみると普通にすぐに遷移するため、 Canary リリースやテストだったのかなと思いました。 スクリーンショット撮っておけばよかったです。
今日、スマートフォンで Gigazine の記事を閲覧している際、Google 広告の上をスクロールすると 「ページを表示」といったボタンが表示されました。 ページ内の他の Google 広告でも、タップするとボタンが表示され、 1段階踏んだ上で遷移するようになっていました。 ただ、後になってもう一度試してみると普通にすぐに遷移するため、 Canary リリースやテストだったのかなと思いました。 スクリーンショット撮っておけばよかったです。
応用情報の合格者の番号が官報に掲載されていました。 普段官報を見ることはほとんどないですが、このような国家試験の結果なんかも 掲載されることがあるんですね。
毎日 AtCoder の ABC から1問は解くようにしているのですが、 気付いたら streak が30を超えていました。 ArchWiki の方も平行して切らさないように頑張っていきたいと思います。
多分想定解っぽい解法で解いて、だいたい合っている実装をしたつもりだったのですが、 どうも double の精度落ちで WA 出てしまっていたような気がしますね……。 計算量も余裕がありますし、Python で解けば通りそうだな……とは思ったのですが、 入出力周り調べるのが面倒になってしまい WA で放置してしまいました。 レートが少し下がってしまい残念ですが……、 他の言語でも素早く回答できるようにしておきたいと思いました。
1回目のワクチン接種を済ませてきました。 筋肉痛のような痛みはありますが、ひとまず問題はなさそうです。 一番副反応が出やすいのは翌日ということなので、 少し気をつけておこうと思っています。
ABCのA問題から埋めていくようにしているのですが、 やっと Rated Point Sum が10000を超えました。 今のレーティングを考えるとこれの4倍くらいは精進しておきたい所です。 典型90問も、コンテスト期間内に解き終えるのは少し厳しくなってきましたが、 終了後でも最後まで解こうと思っています。
Git を使っていて、何らかの理由でコミット履歴を書き換えたいとき、 標準サブコマンドの中でよく使われるのは filter-branch でしょう。 ただ、公式ドキュメント を見てみると、filter-branch を使う代わりに、 filter-repo というサードパーティーの代替などを使うように警告されます。 そこで、filter-repo を使ってみました。 ArchLinux では community/git-filter-repo からインストールできます。 今回やりたいことは (いつも同じで)、個人で使っているこのアカウントが Author/Committer となっているコミットを、仕事で使っている情報に書き換えることです。 (毎回 git config をやり忘れるの、何か対策したいところですが……。) ドキュメントを見てみると、どうもあまりオプションはないようです。 というより、Python のコードをオプションとして渡してあげると、 いい感じに実行してくれるようです。 今回はまだ自分しかコミットしていないリポジトリだったので、 常に同じバイナリ列 (文字列ではダメです) を返すコードを書きます。 ……その前に、バックアップを取っておきます。 filter-repo では、clone したばかりの clean なリポジトリを使うことが推奨されています。 /tmp で git clone /path/to/repository --no-local を実行して、リポジトリを複製します。 次に、実際の書き換えを行っていきます。 --email-callback と --name-callback を使います。 どちらも現在の値を考慮する必要はないため、 "return b'user@example.com'" のような引数を与えればいいです。 そして実行すると……、一瞬で終わりました。 filter-branch では original が残りますが、filter-repo では残らないようです。 軽く見た感じ問題なく完了しているようなので、 git push /path/to/repository branch:branch_new を実行して、 元のリポジトリに書き換えたコミットを push します。 元のブランチと diff を取って、当然何も出ないことを確認したら、 git reset --hard branch_new したり、 git branch -f branch branch_new したりして古いブランチを新しいブランチに移動します。...
JavaScript のフロントエンドフレームワーク (React, Vue など) を使っているとき、 テンプレート内で、値が複数の候補の中のどれかを判定したくなるときがあります。 そういうときに、今まではテンプレート内で愚直に一致するかどうか判定していました。 (よく考えると1つ1つ Boolean を事前計算した方がよかったのですが、 命名も面倒なのでサボっていました……。) 最近 AWS Amplify のソースコードで、String から Boolean への Map を事前に作っておき、 テンプレート内ではその Boolean の値を使うという方法を見て、いい方法だと思いました。 こういった知見を集めた、リアクティブなデザインパターンみたいなものがどこかにまとまっていたら…… と思いました。
GitHub から、コードを自動生成する GitHub Copilot が発表されました。 「AI ペアプログラマー」と書かれていて、普段一人でコーディングをすることが多い私にとってはありがたい機能のように思います。 とりあえず、テクニカルプレビューの waitlist に登録することができるようだったので、 登録してみました。 複数の候補がサジェストされるようで、どのようなコードが生成されるか期待しています。
2021年ももう半分過ぎてしまいました。 ある程度充実した半年だったように思います。 始めの方では、ArchWiki の連続編集記録が途切れたり、 このブログの更新をサボっていたりしてあまりよいスタートではありませんでしたが、 応用情報に合格することができ、ネクストキャンプにも通過していろいろな人と交流しているので、 よい1年になりそうだなと思っています。 ただ、ネクストキャンプも1ヶ月後にせまっており、事前学習が必要だったり、 学校のテストがあったりして、のんびりしている暇はありません。 やりたいことはたくさんあるので、もっと時間が欲しいですね。