問題タブ [writable]
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.
java - ArrayWritable コンストラクター
2 つのステップで構成される mapreduce チェーンを作成しようとしています。最初の reduce はキーと値のペアを (key, value) として出力します。value はカスタム オブジェクトのリストであり、2 番目のマッパーは最初の reducer の出力を読み取る必要があります。リストはカスタム ArrayWritable です。関連するコードは次のとおりです。
2 番目のマッパー (カスタム arraywritable を値として取得):
2 番目のジョブが開始されると、次のエラーが発生します: Error: java.lang.RuntimeException: java.lang.NoSuchMethodException: Detector$MyArrayWritable.< init >()
どうすれば解決できますか?MyArrayWritable 内にデフォルトのコンストラクターを既に実装しています
javascript - Javascript 書き込み可能記述子はインスタンスの変更を防ぎますか?
回答(以下をお読みください。それぞれの著者が貴重な洞察を提供してくれました):
- 「writable: false」は新しい値の割り当てを防ぎますが、 Object.defineProperty は割り当て操作ではないため、「writable」の値を無視します
- プロパティ属性は継承されるため、1 つのサブクラス (またはサブクラスのインスタンス) が「書き込み可能」の値をそれ自体の true に戻すまで、プロパティはすべてのサブクラス/インスタンスで書き込み不可のままになります。
質問:
プロパティ「書き込み可能」記述子に関する MDN ドキュメントには、次のように記載されています。
書き込み可能 プロパティに関連付けられた値が代入演算子で変更できる場合にのみ true。デフォルトは false です。
公式の ECMA-262 第 6 版は多かれ少なかれ同じことを述べています。意味は明らかですが、私の理解では、元のプロパティ (つまり、その特定のオブジェクトのプロパティ) に限定されていました。
ただし、次の例 ( JSFiddle )を考慮してください。
この例に従うと、プロパティは書き込み可能ではありませんが、予想どおり、サブクラス (test2) のプロトタイプでオーバーロードできることがわかります。
ただし、サブクラスのインスタンス (test4) でメソッドをオーバーロードしようとすると、暗黙のうちに失敗します。test2 と同じように動作することを期待していました。親のインスタンスでプロパティをオーバーロードしようとすると、同じことが起こります。
同じことが NodeJS と JSFiddle の両方で発生し、特定の条件下では、インスタンスでオーバーロードすると、プロパティの読み取り専用の性質に関する TypeError がスローされます。
これが予期された動作であることを確認していただけますか? もしそうなら、説明は何ですか?
windows - VirtueMart で "C:\Windows\TEMP :: Unwriteable" を取り除く方法は?
サーバー上のホストに VirtueMart をインストールしました。すべてうまくいきますが、写真/ファイルをアップロードしています。2 つの問題があります。
TEMP フォルダの設定方法と場所がわかりません。デフォルトの「temp」フォルダは「C:\Windows\TEMP」で、「書き込み不可」です。次のフォルダーのように、プロジェクト内のフォルダーに設定する必要があります。
「\wwwroot\images\stories\virtuemart\typeless\resized\」フォルダを「書き込み不可」にできません。
Arvixe.com の共有 Windows サーバーの Joomla 3.4 に VirtueMart をインストールしたので、「C:\Windows」にアクセスできません。この定義済みのアドレスを何らかの方法で変更する必要がありますが、方法がわかりません!
手を貸していただければ幸いです。ありがとう!
node.js - カスタム書き込み可能ストリーム クラスの終了イベント ハンドラを実装する
customWS
それが書き込み可能なストリームであると仮定します..
_write()
以下のような書き込みを処理するロジックを実装します。
クラスを使用するには、customWS
以下のようにします..
関数のパラメータは何callback
ですか??
いいねを渡してもいいcallback
ですか..
..または修正されていますか??
修正されていない場合、そのようなコールバックをcustomWS
クラスに実装する方法は??
のようなものはありますか..
django - Django Rest Framework を使用した書き込み可能な二重ネストされたシリアライザー
私は 1 つまたは複数の請求書を持っておりproduct_invoice
、中には 1 つになるものproduct_invoice
もありますproduct_order
(したがって、ProductOrder では、productinvoiceid は OneToOne の関係である必要がありますが、私の問題では重要ではありません)。
2 レベルのデータを取得できますが、作成できません。次のエラーがあります。
TypeError: 'orderinfo' は、この関数の無効なキーワード引数です。
しかし、削除するorderinfo
と、ProductInvoiceSerializer
請求書と関連するProduct_Invoice
.
私が間違っていることは何ですか?
ジャンゴ: 1.9.3、DRF: 3.3.3
私のモデル:
私のシリアライザ:
更新 2016-05-11
view.py
java - Apache Giraph/Hadoop: カスタム ArrayWritable による反復処理
これは簡単に実装できると思っていましたが、面倒になり始めています。
次のような ArrayWritable サブクラスがあります。
そして、次のような Writable サブクラス:
私の Giraph 計算関数では、メッセージは VertexDistanceArrayWritable のものです。すべての VertexDistanceWritable すべてのメッセージ (VertexDistanceArrayWritable) を反復処理したい。ここに私の計算機能があります:
コードをコンパイルすると、次のエラーが発生します。
だから今、私は問題を抱えています。arrayWritable サブクラスを繰り返し処理したいと考えています。
私は次のことを試しました:
その行を変更し
for(VertexDistanceWritable distEntry : message.toArray())
て、for-each がオブジェクト型には適用できないことを示します (必須: 配列または java.lang.Iterable、見つかった: オブジェクト)。その行を に変更すると、 --
for(VertexDistanceWritable distEntry : message.get() )
が得られます。 これは最も奇妙な問題です。VertexDistanceWritable は Writable を拡張しますが、これはうまく機能しないのでしょうか?error: incompatible types
required: VertexDistanceWritable, found: Writable
値を VertexDistanceWritable[] として返す VertexDistanceWritable 用の独自のカスタム「get_foo()」関数を作成します。もちろん、値はプライベートであり、すでに問題を抱えている get() 以外のドキュメントによると、ゲッター関数はありません
VertexDistanceArrayWritable クラスを反復処理する方法が必要なだけです。これはHadoopでも可能ですか? そうでなければなりませんよね?配列で作成した一連の要素を反復処理できるはずですよね? かなり基本的なもののようです。
java - Hadoop で SetWritable?
Hadoop で SetWritable を作成しようとしています。これが私の実装です。MapReduce を使い始めたばかりで、これをどのように行うべきか正確にわかりません。以下のコードを書きましたが、うまくいきません。
カスタム書き込み可能 (セットである必要があります):
マッパーコード:
私は基本的にマッパーから値として SetWritable を発行しようとしています。どのような変更が必要かを提案してください。ありがとう!
java - DataInput と DataOutput を直接使用できるのに、なぜ Writable を使用するのでしょうか?
おそらく、実装Writable
するとシリアライズ可能なオブジェクトが表示されるためです。私はバイトストリームを知っていDataInput
てDataOutput
直接扱っていますが、それらから値を直接読み取ってプリミティブ型に格納しても害はありません。
そうは言っても、readFields()
andwrite()
メソッドの使用自体は無駄に思え、モジュール性の観点からのみ使用できます。インスタンス変数のオブジェクトDataInput
とDataOutput
クラスを作成し、入力を直接受け取る (スキャナ ユーティリティ クラスのように使用するDataInput
)DataOutput
ことは非常に簡単に思えます。それらのインターフェイスを作成し、それらの明白なメソッドを実装すること (事前定義されたボックス クラスまたは独自のカスタム クラスのいずれか) は、私が見る限り、構文糖衣のように見えます。
見るべきものがあれば、私がそれを通して見るのを手伝ってください。
UPDATE :クラスはシリアル化されたオブジェクトを生成しますDataInput
! DataOutput
:o
hadoop - Hadoop MapReduce のキーとしての ArrayWritable
外部プロパティ ファイルからディメンションを取得する動的マップ削減アプリケーションを作成しようとしています。主な問題は、変数、つまりキーが合成され、3 つのキーのペア、4 つのキーのペアなど、任意の数になる可能性があるという事実にあります。
マイマッパー:
値は後で適切なロジックになります。
私のStringArrayWritable:
私が得ているエラー:
どんな助けでも大歓迎です。
どうもありがとう。