問題タブ [gdbm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
518 参照

json - GDBM と単純な JSON、INI、または YAML 構成ファイルの比較

GDBMなどのファイル ベースのキー値データベースについて勉強していますが、構成ファイルを使用する場合と比較して、実際の利点がわかりません。どちらのテクノロジーでも、ファイルのキーと値を保存できます。

GDBMの利点はパフォーマンスですか? GDBMはファイルをより高速に解析しますか?

0 投票する
1 に答える
536 参照

php - Driver initialization failed for handler: gdbm で Apache/PHP GDBM が失敗する

PHP を使用して GDBM ファイルを作成し、Apache によって参照されて基本認証を実行するシステムがあります。1999 年以来、企業ポリシーに合わせてアップグレードを行っている今まで、多くのバージョンの apache と PHP で実行されています。

コマンドラインから (適切な php.ini ファイルを指定して) php を実行すると、DBA 機能は正しく動作します。

ただし、PHP から dba_open(...) を呼び出す時点で Apache 内から呼び出されると、次のようになります。

PHP は次のコマンドでビルドされました。

そして、他のコメントに基づいて --enable-dba のみを追加しました。

gdbm_dump が失敗し、次のように報告されていました:

しかし、コマンドラインPHPを使用してGDBMデータファイルを再構築することができたので、正しく動作します-したがって、文字エンコーディングの問題または同様のものがある可能性がある(またはあった)ようです

Apacheの内部では、次のように失敗します:

マシン上のライブラリの不一致に関係していると思いますが、これ以上デバッグする方法は考えられません。どんな助けや提案も大歓迎です。

0 投票する
1 に答える
2195 参照

python-3.x - Python: dbm.gnu 用に gdbm をインストールする方法

Python 3 のドキュメントでは、dbm モジュールがインストールされている場合、gdbm を使用することが記載されています。私のスクリプトではfrom dbm.gnu import open as dbm_open、モジュールを試してインポートするために使用します。それは常に例外を返しますImportError: No module named '_gdbm'。gnu の Web サイトにアクセスし、最新バージョンをダウンロードしました。./configure --enable-libgdbm-compat、を使用し make; make check; make installてインストールしましたが、エラーなしでインストールされました。ライブラリの man ページにはアクセスできますが、それでも Python 3.5.2 (Anaconda) にインポートできません。gdbm の Python モジュールをインストールするにはどうすればよいですか?

0 投票する
0 に答える
647 参照

python - Got gdbm error: (13, 'Permission denied') — posix パーミッションは問題ないように見えますが、

私は計算をキャッシュするためにpython 2.7.6でシェルブを使用していますが、私が作成したシェルブファイルについてHEREで説明されている問題に遭遇し、ファイルをファイルにマージする関数で提案されたソリューションを実装しました:othertarget

2 つのファイルは私が所有し、ローカル ファイル システムに記録され、posix 権限が に設定されている0666か、または同等に-rw-rw-rw-Linux Mint ボックスに設定されているため、明らかなチェックが実行されています

ここで、cacheは 、targetcache.0ファイルotherです。現在の作業ディレクトリは私が所有しており、権限があり、 、 などを使用し0775てファイルを問題なく自由に作成できます。 .touchcpumask00000666-rw-rw-rw-

ドキュメントによると、実際のファイルのアクセス許可を gdbm.open() 呼び出しのアクセス許可と一致させました。しかし、役に立たない。

更新: Python コードをスーパーユーザー権限で実行すると、同じ行sudoでエラーが発生します。ただし、別のメッセージ: ! (一見) 下位レベルのモジュール (とは対照的に) を使用することのまさにポイントが、データベースの種類の検出を正確にバイパスしていたため、これは非常に奇妙です。gdbm error: Bad magic numbergdbmshelve

更新 #2 : ファイルに対して実行すると、 ;python whichdb.pyが返されます。dbhashただし、ロード コードでモジュールを に変更してdbhashも、次のエラーが発生します。

ユーザーとして実行する場合、しかし

sudo で実行する場合。merge-cache.py私のコードの名前です。

この新しいエラーは、python バージョンに関連してここで説明されていますが、(i) 私の python バージョンはその投稿のものとは異なり、(ii) ファイルが作成され、後で同じバージョンの python で読み取られます。

この回答は、大きなセットでは「無駄」になることを示しshelveていますが、私が報告している問題は小さなデータベースでも発生します。

質問: python-2.7.6 を使用してこれらの保留ファイルを開くにはどうすればよいですか? (pythonのアップグレードはオプションではありません)。

0 投票する
1 に答える
296 参照

ruby - dyld: レイジー シンボル バインドに失敗しました: シンボルが見つかりません: GDBM gem での __gdbm_lock_file エラー

Ruby GDBM gemを使用しようとすると、この奇妙なエラーが発生します。ジェムは以前は機能していました。今それを呼び出すと、このエラーが発生します(多くの異なるバージョンのRubyで):

Rbenv から直接実行したり、brew GDBM インストールをインストール/アンインストールしたりして、多数の Ruby バージョンを試しました。私のGDBM Brewインストールは/usr/local/Cellar/gdbm/1.12 、コマンドラインから手動で呼び出すとGDBMが動作します(例gdbm_load)。

唯一変わったと思うのは、OSX El Capitan 10.11.6 で実行していることです。または、このエラーの原因となった可能性のある構成ファイルまたは PATH ファイルに何らかの変更を加えたこと。

これを解決するにはどうすればよいですか?

0 投票する
1 に答える
75 参照

database - Berkley gdbm は通常どのように使用されますか?

Gdbm は単純なキーと値のストレージです。その使用はさまざまなトリックに基づいているのではないかと思います。たとえば、エンドユーザーの観点から、user/project次のように関連付けられているはずの という名前のレコードが必要です。

  • プロトコル、git:// または http://
  • domain like: github.com、bitbucket.com など – github://user/project のような URL を形成
  • 有効/無効
  • 読み込み方法 – 「ネイティブ」、「バイナリ」、「通常」などの 3 つの異なる方法
  • メインファイル – 「main.c」、またはその他
  • ファイルを無視する – 無視するファイル パスを含む「&」で区切られた文字列を言う
  • depth – ダウンロードするコミットの数

これで十分だと思います。私が言いたいのは、現実世界での使用は洗練されており、Gdbm はそれ自体を防御していないように見えるということです。上記のシナリオにその使用を適用する方法はありますか?