週刊ニュース Lv12(2023年2月4日~2023年2月10日)

2 月 4 日(土)

特になし

2 月 5 日(日)

TLS 経由でページをホストしているか調査

  • Stripe 関連でページを TLS 経由でホストしているか調べる必要があったので調査しました。
  • クライアント側から確認する
    • Chrome から調べることができました。
      • 参考:https://www.sukicomi.net/2021/03/chrome_tls_kakunin.html
    • TLS checker でも調べました。
      • 参考:https://scrapbox.io/nwtgck/WebサーバーがSSL%2FTLSのどのバージョンをサポートしているか調べるオンラインサービス
  • サーバー側から確認する
  • 結論として TLS に対応しているようでした。

2 月 6 日(月)

Go 言語で対戦シューティングゲームを作る4

  • new WebSocket の直後に send すると、WebSocket 接続が確立する前に send してしまいエラーになるという事象が発生しました。setInterval を使って WebSocket 接続が確立されるまで試行して、send に成功したら setInterval を停止することで回避しました。
  • このとき初めて Go で dlb を使ってデバッグしてみたのですが、結構手順が多くて慣れるまで大変そうです。
  • 前回、TS を使えるようにしたのですが Go 言語も慣れておらず、TS も慣れていないので実装するために学習するコストが高くつくなーと今更思いましたがせっかくの機会なのでゆっくりやっていこうと思います。

ログイン時にログイン情報を Slack に通知する

  • Web アプリで特定のアカウントでログイン時にできるだけログイン時の情報を IP アドレスなどを含めて通知するということをやったのですが、引き出しが少なくあまり情報を出せませんでした。
  • 後からこのサイトを見つけてこういう情報も出せたら良かったなと思ったので似たような要件のときに参考にしようと思いました。

2 月 7 日(火)

Rails で特定のディレクトリにコントローラーを自動生成する

  • たまにしか使わないので忘れてしまいますが、generate コマンドは便利です。下記はコントローラーとコントローラーのテスト以外の不要なファイルは生成しないというオプションをつけてます。
  • rails g controller api/v1/posts index create --no-assets --no-helper --skip-routes --no-decorator --skip-template-engine
    
  • https://qiita.com/terufumi1122/items/634dac88de01f3f73821

Rails で特定のコントローラーのルーティングを確認する

Go 言語で対戦シューティングゲームを作る5

  • フロントから取得した json を Go の構造体に紐づけるのに json パッケージが便利。
  • 参考:https://www.wakuwakubank.com/posts/794-go-json/
  • melody で接続したクライアントにメッセージを送信するときはs.Write([]byte(message))が使えた。
  • 参考: https://pkg.go.dev/github.com/olahol/melody#Session.Write

2 月 8 日(水)

composables ディレクトリに use なんちゃらを配置する

  • フロントエンドディレクトリに composables というディレクトリがあり、その中に use○○ というファイルが配置されているのですが、改めて何故だっけ?となったので調べてみました。

2 月 9 日(木)

Sidekiq7.x からconfig.log_formatterはエラーになる

  • Sidekiq7.x へのバージョンアップをやっています。
  • そのときにundefined method log_formatter=というエラーが出るようになりました。
  • config.logger.formatterを使うようになったみたいです。
    • 参考:https://github.com/mperham/sidekiq/issues/4218#issuecomment-1420433857
  • 調査したときのメモ
    • 7.x からは config 周りのメソッド等が新クラスの Sidekiq::Config に移されている
      • 6.5.x
        • Sidekiq.configure_server を呼ぶと Sidekiq クラス自身が持っている設定系のメソッドで設定されていた
        • config.log_formatterconfigは Sidekiq クラス自身
      • 7.x
        • Sidekiq.configure_server を呼ぶと default_configuration が呼ばれるようになって、default_configuration では、 Sidekiq::Config を生成するので、Sidekiq::Config のメソッドが呼ばれるようになる
        • config.log_formatterconfigSidekiq::Config になった
        • Sidekiq::Config#log_formatterを持っていないのでエラーになるようになった。
        • 7.x からはSidekiq::Configが Ruby の Logger を継承しているので、最終的には、 Ruby のLogger#formatter=が呼ばれていそう(未検証)

2 月 10 日(金)

Rails の minitest の Controller テストで 2 種類の親クラスが使われていた

  • ActionController::TestCaseActionDispatch::IntegrationTestが2つ使われていて、自動生成ではActionDispatch::IntegrationTestを継承したクラスが生成されていました。
  • 調べてみるとActionController::TestCaseは非推奨で今はActionDispatch::IntegrationTestを使うみたいです。
  • 参考:https://api.rubyonrails.org/classes/ActionController/TestCase.html
Hugo で構築されています。
テーマ StackJimmy によって設計されています。