843 Matching Annotations
  1. Dec 2025
    1. 実行環境のCPU数(os.process_cpu_count()が返す値)+4と32

      CPU数(長い文章)+4、と書いてあるのでそれがまとまりだとわかりにくいと思います。

      (os.process_cpu_count()が返す)実行環境のCPU数+4と32のどちらか

      だと読みやすいかな

    2. 未取得結果の最大件数を指定し、指定しない場合はすべての要素が即座にスケジューリングされる

      この表現ちょっとわかりにくいかなと思いました。

      buffersizeが指定されると、その数のプロセスやスレッドなどがスケジュールされ、それ以外は待ちとなる、ということですよね。

      「未取得結果の最大件数」という表現がわかりにくいなと思いました

    1. uv pip list # パッケージ一覧を表示

      ここまでの手順を再実行すると多分この結果は得られないはず。手前で環境作り直すとかした方がいいかも?

    2. 現在インストールされているPython環境の一覧を出力する

      インストール可能な一覧とインストールされていたらその場所を出力している

    3. 現在インストールされているPython環境の一覧を出力する

      インストール可能なPythonの一覧を出力する。が正しいです

      List the available Python installations

    4. uvの主なコマンド

      本書で紹介するuvのコマンド

      でいいかな。主なというよりはこの書籍で紹介するものを列挙していると思うので

    5. アンインストール

      addは追加するだけどremoveはアンインストールするなので表現が揃っていない。 追加/削除 or インストール/アンインストールに揃えて欲しい

    6. この手順よりは、新規にディレクトリ作成、uv init実行した後に、pyproject.toml, uv.lockだけコピーしてuv sync実行するみたいな手順がいいのではと思った。

      実際のユースケースに合わせる

    7. uv pip installした場合はuv addと違ってpyproject.tomlとかuv.lockが更新されないということを書いた方がいいかなぁ

    8. uv.lockの更新があるかを事前に調べる

      pyproject.tomlの設定を見て、今のuv.lockファイルに存在するパッケージのままか新しいバージョンが存在するかを調べる。

      みたいな意味合いだと思います。

      あと、これってどっちかというと hoge>4.0.0 とかかいていて、hogeの最新バージョンがでているか(pip list -O)みたいな使い方がメインかなと思ったんですが、そうではない?

      pyproject.tomlを書き換えたのはここで例として示しているために必要なだけど、本来はpyproject.toml書き換えたらuv syncの方を使うかなと思ったので(uv 素人なのではずしてたらすいません)

    9. 依存関係にある

      依存関係というよりも、「さきほど追加したパッケージが」とかいう説明でよいのではないか

    10. Pythonパッケージがイ

      pipコマンドと同様に、とかあってもいいかも

      PyPIからダウンロードしてインストールされていることとか触れて欲しい。

    11. 依存関係を管理する

      依存関係を管理するってちょっとイメージしにくいかなと思いました。

      プロジェクトで使用するライブラリを管理する、とか?

    12. uv-example

      さっきとは異なるディレクトリに作ったと言うことですかね。手順で mkdir uv-example がないのでちょっと混乱するかも

    13. 「A virtual environment already exists at `.venv`. Do you want to replace it? [y/n]」という

      長いし、トルでも意味は通じるかなと

      確認するメッセージが表示されます。

    14. 仮想環境を有効化した場合は、プロンプトにプロジェクト(ディレクトリ名)が表示されることにも言及して欲しい。

      venvは作成したvenv名がプロンプトで表示されていたので

    15. uv init

      この手前に全体を俯瞰したいので、uvで提供しているコマンド一覧がほしい。

      全部紹介しないなら、そのうち本書ではこれを紹介するよ、とか言ってほしい

    16. 特定のバージョンのuvをインストールする場合は

      これ必要な場合ってありますか?説明しなくてもいいかなと思った

    17. Pythonの標準パッケージマネージャーはpipですが、

      pipはパッケージインストーラーであってマネージャーじゃないかなという意見

      https://pip.pypa.io/en/stable/

      あー、でもpipの方に「パッケージを管理する」って書いてるのか、じゃあこのままでいいかなぁ

    1. 誤差が出てもエラーにはならないため

      これはよくあるエラーなのか?

      よくあるエラーだと上にあるTOMLDecodeErrorが出るから、それを見てちゃんと対処してね、っていう話が適切かなと思いました。

      どっちかというと周辺知識よりかなと思いました

    2. PEP 680においても、パッケージングツールなどでTOMLを読み込むことを目的としていることから、書き込みの必要はないとされています。 その理由としては、以下のようなことがあります。 TOMLのスタイル(インデントや引用符など)にゆらぎがあり、標準化しづらい コメントや書式などのスタイル関連のメタデータを含んだ出力を行うAPIの設計が複雑 現時点では除外する方向として、将来的に再検討する方が安全

      ちょっと読みにくいかなと思いました。

      PEP 680においても、以下の理由によりTOMLの読み込みのみで書き込みには対応しないことと記述してあります。

      • ~~標準化が困難
      • ~~設計が複雑
      • ~~将来的~~安全
    3. 挙げれています。

      挙げられています。

      最後までよんでPEPの話だと思ったので、この文の最初に

      PEP 680中ではtomllibを標準ライブラリとする理由として~~~が挙げられています。

      みたいに書いた方がいいかなと思いました。

    4. パッケージングに選ばれている

      パッケージに関する情報を記述するpyproject.tomlの

      とか?(ちょっと表現がふわっとしている&省略されているかなと思った

    5. サポート

      サポートが連続するので言い換えたい。

      プログラミング言語にTOMLファイルに対応したライブラリがあります。

      とか

    1. Required/NotRequiredの例

      サンプルコードがちょっとわかりにくいかなと思いました。

      基本的には必須で、任意のフィールドがあるときは NotRequired を指定する

      逆に、ほとんど任意で一部必須の場合には、total=Falseを指定して、必須のフィールドにのみRequiredを指定する

      だと思うので、この2つを分けて説明するのがいいと思います。

    2. そのまま維持したままラップしたいとき

      nits: まま、が連続するので冗長かな

      「引数を維持したまま」で意味は通じそう

  2. Nov 2025
    1. 前述の「Pyreflyの使い方」で使ったサンプルコードを対象に

      これだと短すぎるので、なんかのリポジトリをまるっと型チェックとかする方がいいかなと思いました

    2. example.py

      このリンクがわかりにくいので、説明を書いて欲しいかな。

      サンドボックスでexample.pyを◯◯した結果

      みたいな

    3. 動作する

      nits: 体言止めと~~するがまざっているのでどっちかに統一がいかな

      高速に動作 付ける機能

      でよさそう

    4. あとで比較対象にもなっているので、「型チェッカーにはmypy、pyrightなどがありますが、Pyrefryには◯◯な特徴があります」みたいな感じの文章があるといいなと思いました

    1. 次節ではチェック・修正の両方ができるツール

      文章の流れが唐突な感じがする。

      あります。また、チェック、修正の両方ができるツールにRuffがあります。次節ではRuffについて解説します。

      とか?

    2. https://www.sphinx-doc.org/ja/master/usage/restructuredtext/domains.html#info-field-lists

      MUST: リンク先のドキュメントが内容が無いです。変わったっぽいのでURLを変えてください

    1. .gitignoreファイルの内容は以下のとおりです。

      これ、.gitignoreの中が「*」なので、venv以下は全部対象外になる、という説明だけでいいと思います。

      以下のgitの手順はなくていいかなと(情報が多くて逆に読みにくい) 以下だけでいいのでは感

      $ python3.14 -m venv env $ cat env/.gitignore *

    1. もうちょっと説明がほしいかな。 ハッシュがあるから改ざんに対応できるとか、さっきの課題にどう対応しているかの説明があるとうれしい。

      でもそこまで書くとコラムとして書きすぎかなぁ。

    2. PEP 751

      PEP 751だけだとわかりにくいし脚注もリンクだけなので、どういう内容のPEPかを最初に書いて欲しいです。

      ◯◯に関するPEP 751が、みたいな

    3. 複数の環境

      数字の箇条書きであることに意味があるのかが気になった。 優先順位とかがないのであれば、数字なしの箇条書きがいいかなと思います

    4. peppercorn-0.6

      これ、この手順通りにやるとpeppercornはインストール済みなので出力されなそう。ちょっと気になったのでコメントした

    1. 6.2.3 フォーマットの指定方法

      これ、見出しを設定して参照にしてください。(章、節番号変わるかもなので)

      https://ryu22e-chap6.jissen-recipe2.pages.dev/sample/#id18

    2. また、f-stringはネストさせることができるので、書式の内容を変数に入れて出力結果を動的に変えることもできます。

      ちょっとわかりにくいのでもうちょっと説明がほしいかな。

      f-stringをネストしているというよりはf-stringの中の {} を入れ子にできるようになった。

      以下の例では {value} が展開されて数値になって、そのあと :> の部分でフォーマットされている。

      みたいな説明が欲しい。そうすれば逆にコード中のコメントは短くてよくなる

    3. f'{first_name=} {last_name=}' # f'first_name={first_name} last_name={last_name}' と同じ "first_name='Ryuji' last_name='Tsutsui'"

      MAY: わかりやすさのために、通常の出力と=ありの両方があると親切かなと思いました

    4. このコメントは文字列に含まれない

      SHOULD これがあるので、最初の説明に「コメントも書けます」とか書いて欲しいかな

    1. '-3.14'.zfill(7) # 小数点も文字列にカウントされる

      nits: 小数点もって書いてあるけど、別にzfillは先頭の+-以外は特別扱いしないので、そういう説明の方がいいかも

      "abc".zfill(5) '00abc'

  3. Oct 2025
    1. *kwargs引数にTypedDictの型を付

      その手前で、そもそもTypedDictで必須とかオプションとか指定できるようになったので、この話をする必要があるかなと

    1. Python で管理しやすくしなり、Python でコーディングする際に型ヒントの恩恵が得られるという大きなメリットが得られます。

      ここももうちょっと具体的に書きたいですね。

      Pythonで◯◯が管理しやすくなる、Pythonでコーディングする際に◯◯での△△の表示など型ヒントの恩恵が

      みたいな具体的な文章にしてほしい

    2. データ型を以下のように変更します。

      データ型を変更している、と言っていいのかが気になる。

      Annotatedは直訳すると「注釈」なので

    3. のフォーマットは、

      2つのルールに分けた方がよさそう

      • 時間のフォーマットはH:MMとする
      • 時間は30分単位とする
    4. これ、私も意味わかってなかったんですけど ... を指定すると必須だけどデフォルト値がないってこと、ですか?

    5. データ検証

      データ検証を具体的にするんでしょうか?

      私のイメージとしては、データ形式(スキーマ)を具体的にするので、結果としてそのルールでデータ検証されている。というイメージです。

      https://docs.pydantic.dev/latest/concepts/models/ にも以下の様に書いてある One of the primary ways of defining schema in Pydantic is via models. Models are simply classes which inherit from BaseModel and define fields as annotated attributes.

    6. このようにPydanticは全データを検証して全部のデータをわかりやすく出してくれます。

      みたいな文章が欲しい

    7. branch = Branch(**data)

      Branchがどこから来るの? と思っちゃうので、別モジュールにして

      from model import Branch

      とか書いて欲しいかなと思った

    8. import json

      このコードの説明を書いて欲しい。 例外が発生したら errors() メソッドでその詳細を出しているよ

      みたいな

    9. 辞書で定義したものを JSON ファイルとして読み込んで確認をしてみましょう。

      これちょっとわかりにくいなと。

      最初に例示していたときはPythonの辞書で、ここで書いているのはJSONってことですかね。 もうちょっとわかりやすく説明して欲しいです。もしくは最初からJSONということで話を始めた方がよいかと

    10. 要素がリストの中に辞書が入っています

      staffの中には各スタッフを表す辞書がリストの中に入っています。とか?

      要素がリストの中に辞書が入っています。は日本語として意味がわからなかった

    11. branch = {

      コードには全部キャプションを入れて欲しいです

      ```{code-block} python :caption: ここにキャプション

      コード ```

  4. Sep 2025
    1. 以下のサンプルコードを用意しました

      MUST: コードが消えている。以下の部分でpythonのあとの改行が削除されている

      ```{code-block} python :caption: レストランを例にしたタスクのつながりのあるサンプル

      以降も同様

    2. awaitグラフを支える低レベルAPI

      この節で伝えたいことあんまりわからないです。 _ではじまるやつをユーザーが使うことは想定しているのか?

    3. tid task id

      これはなに? ps コマンドでも pstree コマンドでも同じ結果が出る? 違うっぽいな、こっちはpsコマンドの方の実行結果ですよね。

      これ、実際に試すためのサンプルコード sample.py を示して上げた方がいいのでは。(手元で試すために

    4. 以下のようにして実行します。

      主語省略しがち。他の人が読むので福田さんの脳内はわからないです。

      ◯◯は以下の様にして実行します。