並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 23 件 / 23件

新着順 人気順

bisectの検索結果1 - 23 件 / 23件

  • Railsのissueに書いてある再現コードを使ってgit bisectする方法 - アジャイルSEの憂鬱

    備忘録。 具体的な例 先日に登録されたissueを例にしてみる。 github.com 再現コードを少し書き換える v5.2.3と6.0.0.rc2でsqlite3の依存周りでエラーが出たので、Gemfileのあたりを少しだけ弄った。 # frozen_string_literal: true require "bundler/inline" gemfile = File.read(File.expand_path("Gemfile", __dir__)).strip version = gemfile.lines.find { |line| line.include?('sqlite3') } .then { |sqlite3_line| sqlite3_line.strip.split(',').last.delete('"') } gemfile(true) do source "h

      Railsのissueに書いてある再現コードを使ってgit bisectする方法 - アジャイルSEの憂鬱
    • バグの混入コミットを発見するGitコマンド:bisect - はんなりと、ゆるやかに

      開発をしているといつの間にかバグが混入することがありますよね。混入タイミングが分からない場合はとりあえず正しく動く時期のコミットを見つけて、バグが発生するまで地道に調べていくと思います。 そんなときに使えるコマンドが git bisect です。 git bisect はコミットログからバグが発生したコミットを見つける手助けをしてくれます。 git-scm.com 今回の検証に使ったgit version は 2.26.2 です。 サンプルコード 検証用にバグが混入しているリポジトリを用意しました。最新のコミットはテストコードが通りません。 github.com 基本的な使い方 バグが混入しているコミットと正しく動いていたコミット間から混入したコミットを見つけます。正しく動いていたコミットは確実に動いていた時期のコミットを指定します(1週間前は確実に動いていたのになーって感じならその時期の

        バグの混入コミットを発見するGitコマンド:bisect - はんなりと、ゆるやかに
      • Visual Studio Code extension bisect utility

        Version 1.88 is now available! Read about the new features and fixes from March. Resolving extension issues with bisect February 16, 2021 by Johannes Rieken, @johannesrieken "Just like git-bisect, but for VS Code extensions." The true power of Visual Studio Code is its extensions: theme extensions add colors and icons, language extensions enable smart code completion (IntelliSense) and navigation,

          Visual Studio Code extension bisect utility
        • Python標準ライブラリ:順序維持のbisect - Qiita

          使い方 実際にbisectの使い方について説明します。bisectには挿入箇所を探索する関数(bisect)と探索と挿入を同時に行う(insort)の主に2つの関数が存在しています。 bisect系は以下の3つの関数が存在しています。 bisect_left bisect_right bisect insort系は以下の3つの関数が存在しています。 insort_left insort_right insort それぞれの関数について説明します。 bisect_left bisect.bisect_left(a, x, lo=0, h=len(a)) 引数は以下になります(他の関数においても同様) a: ソート済みリスト x: 挿入したい値 lo: 探索範囲の下限 hi: 探索範囲の上限 (lo, hiはスライスと同様の指定方法) bisect_leftはソートされたリストaに対して順序を

            Python標準ライブラリ:順序維持のbisect - Qiita
          • pythonのbisectについて色々調べ直したことメモ - Qiita

            pythonのbisectについて 二分探索や、ソートされた順序に保ちつつ挿入する機能をサポートしている。 docs.python.org bisect --- 配列二分法アルゴリズム このモジュールは、挿入の度にリストをソートすることなく、リストをソートされた順序に保つことをサポートします。大量の比較操作を伴うような、アイテムがたくさんあるリストでは、より一般的なアプローチに比べて、パフォーマンスが向上します。動作に基本的な二分法アルゴリズムを使っているので、 bisect と呼ばれています。ソースコードはこのアルゴリズムの実例として一番役に立つかもしれません (境界条件はすでに正しいです!)。 次の関数が用意されています import bisect bisect.bisect_left(a, x) # aのリストに対して値xを二分探索して、左側の挿入点を返す bisect.bisect

              pythonのbisectについて色々調べ直したことメモ - Qiita
            • bisectの基本的な使い方と、自作方法

              はじめに標準ライブラリbisectで配列二分法(リストの二分探索)が実装されています。 今回はbisectの基本的な使い方を説明した後、自前で実装します。 bisectの基本どこに挿入すれば良いか?この節は、基本的な使い方を理解している方はスキップしていただいて問題ありません。 bisectは昇順ソート済みのリストに対してある値を挿入したい時、ソート状態を維持するにはどこに挿入すれば良いかを計算します。

              • git bisect でバグ/仕様変更のコミットを探す

                まとめ git bisect が便利 ansible 2.1.0 -> 2.1.1 で group名に / を入れるとうまく動かないケースが存在する ansible リポジトリでbisect すると対象のコミットは 7287effb5ce241ce645d61e55e981edc73fa382a group名には / を入れないように、 group_vars 以下はフラットな構成にしよう 遭遇した問題 ansible で構成/コンフィグ管理やプロビジョニングをしているのだけど、 複数のリージョンやゾーンにまたがるシステムのため、うまく設定を見やすくするために、 以下のように group_vars 配下にディレクトリ構造を作っていた。 再現環境 ディレクトリ構成 用途やrole, ノードの場所などで、グルーピングして、group_vars 以下のディレクトリを作成する。 . ├── grou

                  git bisect でバグ/仕様変更のコミットを探す
                • git bisectで「いつの間にか壊れていた」を探して直す(Gitの小ネタおれおれAdvent Calendar 2022 – 24日目) | Ginpen.com

                  Gitの小ネタおれおれAdvent Calendar 2022 – 24 日目 長くやって機能が増えてくると「なんか気づいたらアレが動かなくなってた」「知らんうちにバグってた」みたいな経験があると思います。さっさと修正すればいい、それはそうなんですが、どの変更の影響を受けたのかを調べると修正が簡単になることがしばしばあります。(注視すべき箇所がわかるので。) そんなときに便利なのが git bisect というコマンドです。二分探索のようにコミットを前後に飛び回りながら、問題のコミットを探し出すことができます。 ちなみに bisect とは「二等分する」という意味の動詞。(ちなみにちなみに「二分探索」は普通 binary search です。) 英語「bisect」の意味・使い方・読み方 | Weblio英和辞書 先にまとめ Git の履歴を飛び回りながら「大丈夫」「駄目」をマークしてゆく

                    git bisectで「いつの間にか壊れていた」を探して直す(Gitの小ネタおれおれAdvent Calendar 2022 – 24日目) | Ginpen.com
                  • ぬるぽへ on Twitter: "git,数年おきにめっちゃ便利な新知識を仕入れるイベントが起こる 何年もかけてbisect, add -p, worktree, triple dotを知っている..."

                    git,数年おきにめっちゃ便利な新知識を仕入れるイベントが起こる 何年もかけてbisect, add -p, worktree, triple dotを知っている...

                      ぬるぽへ on Twitter: "git,数年おきにめっちゃ便利な新知識を仕入れるイベントが起こる 何年もかけてbisect, add -p, worktree, triple dotを知っている..."
                    • git bisectで「誰だよ!バグコミット仕込んだの!」を解決する - Qiita

                      バグコミットは唐突に仕込まれ、そのコミット(犯人)を特定するのには時間がかかる場合があります。 git bisectは「バグが仕込まれたコミットを特定」を補助してくれるgitの便利機能です。 誰しもみんな↓みたいな経験をしたことがあるでしょう。 「なんかこの機能バグってるよ、いつからバグってんのこれ」 「なんでこんなスタイル崩れちゃってるの、どの修正でおかしくなったんだろう」 エンジニア・デザイナーであれば、何度もこのような場面に出くわしてると思います。今後もたくさん経験するはずです。 バグが仕込まれたコミットを特定できれば、問題の解決は早いでしょう。 その「バグが仕込まれたコミットを特定」する便利なものが「git bisect」です。 普段やりがちな「バグが仕込まれたコミットを特定」する方法 bisectを紹介する前に、バグコミットを特定するために、通常はどのような探し方をしがちなのか見

                        git bisectで「誰だよ!バグコミット仕込んだの!」を解決する - Qiita
                      • 「Pythonのbisect」を調べた。SortedCollectionも - Qiita

                        sortedcollectionを短くなる方法を教えて下さい。 オリジナル Pythonで(1回目) ('tuika',25.1)の追加です。 from bisect import * from operator import itemgetter class SortedCollection(object): def __init__(self, iterable=(), key=None): self._given_key = key key = (lambda x: x) if key is None else key decorated = sorted((key(item), item) for item in iterable) self._keys = [k for k, item in decorated] self._items = [item for k, item i

                          「Pythonのbisect」を調べた。SortedCollectionも - Qiita
                        • Pythonでbisectを用いてリストに対して要素を挿入する位置の発見と挿入

                          Pythonでbisectを用いて、ソート済みのリストに対して要素を挿入する位置を見つけたり、要素を挿入してみます。 今回はbisectを用います。このライブラリ・モジュールはPythonの標準ライブラリですので、事前にインストールする必要はありません。 ■Python 今回のPythonのバージョンは、「3.10.9」を使用しています。(Windows11)(pythonランチャーでの確認) ■ソートされたリスト内での値の挿入と検索 Pythonでbisectを用いてソートされたリスト内での値の挿入と検索するスクリプトを書いていきます。 ■コード import bisect # ソート済みのリストを作成 sorted_list = [1, 3, 5, 7, 9] # 要素を挿入する位置を見つける insert_position = bisect.bisect(sorted_list, 4

                            Pythonでbisectを用いてリストに対して要素を挿入する位置の発見と挿入
                          • [Python]二分探索(bisect) ABC143D - Qiita

                            当内容は、他サイトを参考に自分用に編集したものです。 二分探索の動機 ソートされたリストに対してソート順序を保ったまま値を挿入したいと思う場面は少なくないはずです。そういった場面に 出くわしたときにappendしてsortしているとパフォーマンスはよくないです。Pythonのlistのソートの平均時間計算量は$O(n \log{n})$です。要素数が増えてきたり、毎度ソートしていたりすると実行速度にも影響がでてくると思います。 A = [1, 12, 23, 38, 54, 66, 76, 98] # Aの順序を保ったまま'46'を挿入したい A.append(46) A.sort() print(A) # [1, 12, 23, 38, 46, 54, 66, 76, 98] 今回は、上記の方法よりも効率よく、ソートされたリストに対してソート順序を保ったまま値を挿入する二分探索法のPyt

                              [Python]二分探索(bisect) ABC143D - Qiita
                            • Pythonで二分探索を行うライブラリ「bisect」 - Qiita

                              趣味で競プロをやるようになり、Atcoderの問題を何問か解いているのだが、 やっている内に覚えないといけないこともいくつかあるわけで。 その内の一つに二分探索というアルゴリズムを使うという場面を多く見てきたため、自分が今よく利用しているpythonでいつでも使えるように二分探索を行うスクリプトでも書いておこうかと思った。 しかし取り掛かろうとして調べて見たところ、なんとpythonには二分探索を行うライブラリが最初から用意されているらしい。 それがこの「bisect」というもので、このライブラリについて調べて見た。

                                Pythonで二分探索を行うライブラリ「bisect」 - Qiita
                              • ライブラリbisectによる二分探索【Python】 - ebisukeプログラミング初心者脱出黙示録

                                AtCoderなどの競技プログラミングを行っていると二分探索を使う場面があります。 線形探索と比較して大きなデータに対しても短い時間で処理できることが利点です。 この二分探索を行うライブラリがbisectで、使い方を記事にしたいと思います。 ソート import bisect A = [0, 1, 10] B = [0, 10, 1] num_A = bisect.bisect(A,5) num_B = bisect.bisect(B,5) print(num_A) # -> 2 print(num_B) # -> 1 二分探索を行う対象のリストはソート済みであることが必要です。 誤って未ソートのリストに対して使用した場合は間違った答えを返すので注意してください。 上のコードのようにソート済みのAと未ソートのBではbisectの値が異なり、ソートされていない方の答えnum_Bは間違いです。

                                  ライブラリbisectによる二分探索【Python】 - ebisukeプログラミング初心者脱出黙示録
                                • 降順リストに対するbisectの実装 list.sort(reverse=True)に対する配列二分法 - 学習する天然ニューラルネット

                                  はじめに Pythonにおいて、降順リスト向けの配列二分法アルゴリズムを実装しました。 使用するメリット コピペで標準ライブラリに準拠した動作をします。 標準ライブラリと異なり、降順リストを扱います。 昇順リストに変換し直す計算量と、昇順のidxを降順のidxに変換する思考リソースを削減します 競技プログラミング等ではソートされたリストに対して条件を満たすindexをすばやく返したいことが発生します。 二分探索を用いるとそれをO(logN)で高速に実現できます。 手っ取り早く実装するためにPythonではデフォルトのライブラリでbisectというものが存在します。 docs.python.org しかし、このライブラリは降順にソートされたlistをサポートしていません。 処理の都合上、sorted(list, reverse=True)で返される降順リストをそのまま処理したほうが素直な実装

                                    降順リストに対するbisectの実装 list.sort(reverse=True)に対する配列二分法 - 学習する天然ニューラルネット
                                  • Pythonのbisect_leftとbisect_rightをGo言語でも使いたい - Qiita

                                    Python3にはbisectというモジュールがあり、この中にはbisect_left、bisect_rightという関数が用意されています。bisect_leftはソート済みの配列を二分探索により探索し、挿入点のうちもっとも左側のものを戻り値とします。bisect_rightはその逆で、挿入点のうち、もっとも右側が戻り値となります。 import bisect digits = [111, 222, 333, 333, 333, 444, 555] bisect.bisect_left(digits, 333) #=> 2 bisect.bisect_right(digits, 333) #=> 5 Go言語でbisect_leftやbisect_rightと同じようなことをしたい場合、すなわち、二分探索でもっとも左側の挿入点を探したい、もっとも右側の挿入点を探したい場合、sortパッケ

                                      Pythonのbisect_leftとbisect_rightをGo言語でも使いたい - Qiita
                                    • Python標準ライブラリbisectで二分探索の動作を見る・簡易速度計測 - Qiita

                                      まとめ: 純粋に二分探索の動作、O(logN)回で取得、1万件データ時で0.30us/1回のアクセス速度。 bisectの二分探索の動作を見る (はじめに : bisectを用いる簡易的なテストコード) import bisect, time # bisectの試行 def run__main1(): a = list(range(10)) print(a) # 出力: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] i = bisect.bisect(a, 3.5) print(i) # 出力: 4 # bisectの試行 listへのアクセスを見る def run__main2(): # log2(10) = 3.32... < 4回以下のアクセス回数で要素位置を見つけられる a = list(range(10)) print(a) # 出力: [0, 1, 2, 3,

                                        Python標準ライブラリbisectで二分探索の動作を見る・簡易速度計測 - Qiita
                                      • python 二分探索 bisect.bisect_leftとbisect.bisect_rightを0から実装するのは意外と簡単 - Qiita

                                        arr = [1, 2, 3, 4, 5, 5, 5, 7, 8, 9, 9, 10] # 配列の中にtargetを入れようとして、順序を保つまま、挿入するべきな場所 target = 6 result = bisect.bisect_left(arr, target) print("bisect_left:target not exists") print(result) # 配列にtargetすでにある場合、すでにあるtarget達の一番左側の場所 target = 5 result = bisect.bisect_left(arr, target) print("bisect_left:target exists") print(result)

                                          python 二分探索 bisect.bisect_leftとbisect.bisect_rightを0から実装するのは意外と簡単 - Qiita
                                        • Pythonでbisectを用いてソートされたリスト内での値の挿入と検索

                                          Pythonでbisectを用いてソートされたリスト内での値の挿入と検索を行ってみます。 今回はbisectを用います。このライブラリ・モジュールはPythonの標準ライブラリですので、事前にインストールする必要はありません。 ■Python 今回のPythonのバージョンは、「3.10.9」を使用しています。(Windows11)(pythonランチャーでの確認) ■リストに対して要素を挿入する位置の発見と挿入 Pythonでbisectを用いてリストに対して要素を挿入する位置の発見と挿入するスクリプトを書いていきます。 ■コード import bisect # ソートされたリストの中に要素を挿入する例 def insert_into_sorted_list(sorted_list, value): index = bisect.bisect_left(sorted_list, valu

                                            Pythonでbisectを用いてソートされたリスト内での値の挿入と検索
                                          • Pythonのbisectを用いてリスト内で特定の値の挿入位置を発見、新しい値を適切な位置に挿入

                                            Pythonのbisectを用いてソートされたリスト内で特定の値の挿入位置を見つけたり、新しい値を適切な位置に挿入したりする関数を定義してみます。 今回はbisectを用います。このライブラリ・モジュールはPythonの標準ライブラリですので、事前にインストールする必要はありません。 ■Python 今回のPythonのバージョンは、「3.10.9」を使用しています。(Windows11)(pythonランチャーでの確認) ■bisectを用いてリスト内で特定の値の挿入位置を発見、新しい値を適切な位置に挿入 では、bisectを用いてリスト内で特定の値の挿入位置を発見、新しい値を適切な位置に挿入するスクリプトを書いていきます。 ■コード import bisect # ソートされたリストを作成 sorted_list = [2, 4, 6, 8, 10, 12, 14, 16, 18, 2

                                              Pythonのbisectを用いてリスト内で特定の値の挿入位置を発見、新しい値を適切な位置に挿入
                                            • PythonのBisectモジュールを活用した成績評価プログラム

                                              PythonのBisectモジュールを活用した成績評価プログラムを作ってみます。 今回はbisectを用います。このライブラリ・モジュールはPythonの標準ライブラリですので、事前にインストールする必要はありません。 ■Python 今回のPythonのバージョンは、「3.10.9」を使用しています。(Windows11)(pythonランチャーでの確認) ■Bisectモジュールを活用した成績評価プログラムの作成 では、早速Bisectモジュールを活用した成績評価プログラムを書いていきます。 ■コード import bisect def grade_to_letter(grade): # 成績の閾値と対応するアルファベット成績を定義 grade_thresholds = [60, 70, 80, 90] grade_letters = ['F', 'D', 'C', 'B', 'A']

                                                PythonのBisectモジュールを活用した成績評価プログラム
                                              • python3 bisectの使い方

                                                bisectは下記を実現するモジュールです。 リストに対象の値を挿入した場合に、リストの順序性が保たれる様なインデックスを返す。リストの順序性が保たれる様なインデックスに対象の値を挿入する。 モジュールの各関数で使用するリストは、昇順にソートされている必要があります。 二分法(bisection)アルゴリズムを使用しているため、モジュールはbisectと呼ばれています。 bisectの基本的な使用方法 基本的な使用方法は下記です。 モジュールをインポートする(ソートしていない場合は、)リストを昇順にソートする。bisectの任意の関数を呼び出す。※ここでは、bisect_leftを呼び出しています。 import bisect l = [9, 7, 5, 3, 1] x = 5 l = sorted(l) print (bisect.bisect_left(l, x)) """出力 2 "

                                                  python3 bisectの使い方
                                                1