0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめての Contribute 完了 at Azure SDK for Python

Last updated at Posted at 2025-01-15

背景

バグを発見したので、せっかくなので Contribute しようとしたところ、

  • 非同期処理への水平展開
  • 計算量の少ない方法の逆提案

をされたけど、なんとか Merge まで行きついた記録。目出度い :laughing:

image.png

image.png

はじまりは以下

やったこと

  1. Reviewer の提案の理解
    • 何をすべきか?
      • 提案の取り込み
      • 水平展開
    • どうすればいいのか?
      • Fork 先で、追加編集して commit すれば、pull request に反映されそう
  2. ということで変更
    • 編集。まぁ、これは簡単
    • おそるおそるコミット
    • 無事、Pull Request にて、commit が反映され、自動 task が走り出した。
    • ただ・・squash しておくべきなのかが不安だったので、正直に書いておく
    • あとは、以前と同じく reviewer の反応を待つことする
  3. 失敗と修正
    • commit 内容が test にて format error になっていた。
    • Codespace で使えるか試したらいけそうだったので、black で format して commit
    • これで OK かと思ったら・・
    • Reviewr から 括弧は意味変わっちゃうので要らないよって提案がきた。
      • ってことで、Commit suggestion で提案を受け入れ :laughing:
        image.png
        • 最初の提案も、これで受け入れてればもっと簡単だったのね、と反省 :sweat:
    • Black の format について、version が違うんじゃないか? という突っ込み
    • guidline を読んだ際によくわかってなかったけれど、以下のようにやるって話だったらしい。改めて tox.ini を確認してみたら、black の version も指定してあった。tox について理解不足が恥ずかしい :sweat:

      pip install tox
      tox run -e black -c ../../../eng/tox/tox.ini --root . -- azure

      • 相対アドレスから考えて、以下まで移動してから実行したらいい感じに直った

        cd sdk/identity/azure-identity

    • ってことで、再度 commit して、自動タスク待ち
    • 無事タスクも全部通ったので、再度 review 待つことにする
  4. Reviewer からの反応待ち
    • LGTM ってことで、無事完了

Commit Suggestion は、提案を受け入れて Commit する機能

当初の案と、提案とで、padding がどう変わるか?

確かに、余分な padding を避けるためには、+4 は不要だった :sweat:

途中、括弧つけちゃってたのは、浅はかすぎた・・

len(base64_meta_data) padding_needed = -(len(base64_meta_data) % 4) padding_needed = -len(base64_meta_data) % 4  base
0 0 0 4
1 -1 3 3
2 -2 2 2
3 -3 1 1
4 0 0 4
import pandas as pd

lengths = range(11)  # This will create a range from 0 to 10
results = []
for length in lengths:
    expr1 = -(length % 4)
    expr2 = -length % 4
    results.append((length, expr1, expr2))

df = pd.DataFrame(results, columns=["len(base64_meta_data)", "padding_needed = -(len(base64_meta_data) % 4)", "padding_needed = -len(base64_meta_data) % 4"])
print(df)

あとがき

初めての事ばかりだったが、やっぱりやったことないことをするのは刺激があっていいですね。

悩んだ時は、楽な道を避けるのが一番ですな。 :laughing:

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?