2023年1月25日のブックマーク (3件)

  • テストコード内では条件分岐を書かないようにする

    テストコード内では条件分岐を書かないようにする 2023.01.21 誰でも読める愚直なコードであることの 1 つの目安として、テストコードの中に if 文や三項演算子などの条件分岐が入り込んでいていないことが上げられます。if 文が存在するコードはアンチパターンであるといえます。実際に if 文がテストコードの中に入り込んだ例を見てみましょう。 テストコードは誰でも読める愚直なコードであることが求められます。テストコードにはある種のドキュメントのような、コードの仕様を説明する役割が求められているためです。テストの期待結果が変数になっていて、定義元までジャンプしないと値を確認できないだとか、条件分岐やループが入り込んでいて複雑性が上がっている状態ですと、素直に読みやすいとは言えません。 コードの中では重複排除をするためにさまざまなテクニックを駆使することがありますが、これは単にテストコード

    テストコード内では条件分岐を書かないようにする
    berlysia
    berlysia 2023/01/25
    test.eachを使うときは、そのケースがどういう観点で存在するかも補足するような項目を追加しているかなー。あるいはテーブル自体を分割して観点別にする
  • ニコニコ漫画をRuby3.2.0に更新してYJIT有効化するとパフォーマンス改善された話 - BOOK☆WALKER inside

    はじめに こんにちは。ニコニコ漫画の開発をしているyotaとtukiyoです。 この記事はペアブロギングによって執筆しています。 記事ではニコニコ漫画で利用しているRubyのバージョンを3.2.0へ更新したこととYJITの有効化によるパフォーマンスの変化について紹介します。 ニコニコ漫画のインフラ構成についてにある通り、ニコニコ漫画は4つのプロダクトによって運用されています。 このうち記事の対象となるのは、Rubyを利用している「新バックエンド」と「課金サブシステム」になります。 今回、Rubyのバージョンが3.2.0になったことでYJITが実験段階ではなくなりました。*1 ニコニコ漫画のバックエンドシステム内では複雑な処理も多く、恩恵に与ることを期待して更新を行いました。 結果として大きなパフォーマンスの向上が見られました。 はじめに 更新に関する作業 更新前後のパフォーマンス比較

    ニコニコ漫画をRuby3.2.0に更新してYJIT有効化するとパフォーマンス改善された話 - BOOK☆WALKER inside
    berlysia
    berlysia 2023/01/25
  • ガラス張りの図書館がある「まちなかリビング北千里」について、蔵書の紫外線対策などを吹田市に質問しました|塩谷舞(mai shiotani)

    昨年11月12日、私の故郷でもある大阪府吹田市にあたらしく出来た「まちなかリビング北千里」ついてTwitterで投稿したところ、さまざまな声が届きました。 その際に投稿した写真がこちらです(一部)。 これらの写真や「場所によって飲OK」と書いていたツイートの文言などを受けて、「ガラス張りの図書館は、紫外線によって蔵書が退色してしまうのではないか」「高い場所に飾ってあるを手に取ることが出来ないのではないか」「飲OKの図書館では、に虫害が発生するのではないか」ほか、多くの懸念の声が、引用リツイートなどで見られました。 夢なの?というような理想の図書館が千里に出来てしまった…… 圧倒的な蔵書数、電源Wi-Fi完備でPC作業OK、場所によって飲OK、「図書館なのにそんなに…?!」という夜8時までの開館時間。 なにより、窓の向こうの箕面の山々が美しい……。北千里駅すぐ。22日オープンで、h

    ガラス張りの図書館がある「まちなかリビング北千里」について、蔵書の紫外線対策などを吹田市に質問しました|塩谷舞(mai shiotani)
    berlysia
    berlysia 2023/01/25