プログラミング

プロおよび熱狂的プログラマーのためのQ&A

4
JavaScriptから加速度計/ジャイロスコープデータにアクセスする方法
最近、ラップトップの加速度計またはジャイロスコープにアクセスして、向きや動きの変化を検出しているように見えるいくつかのWebサイトに出会いました。 これはどのように行われますか?windowオブジェクトで何らかのイベントをサブスクライブする必要がありますか? これが機能することがわかっているデバイス(ラップトップ、携帯電話、タブレット) 注意:私は実際にこの質問への回答をすでに知っています(その一部です)。すぐに投稿します。私がここに質問を投稿する理由は、加速度計データが Javascriptで(特定のデバイス上で)利用可能であることを他の人に知らせ、このテーマに関する新しい発見を投稿するようコミュニティに挑戦するためです。現在、これらの機能のドキュメントはほとんどないようです。

18
単一引用符をエスケープし、単一引用符でユーザー入力を囲むことで、SQLインジェクションから保護できますか?
ユーザー入力を含むクエリを作成する場合、パラメーター化されたSQLクエリがユーザー入力をサニタイズするための最適な方法であることを理解していますが、ユーザー入力を取得して一重引用符をエスケープし、文字列全体を一重引用符で囲むと何が問題になるのでしょうか。これがコードです: sSanitizedInput = "'" & Replace(sInput, "'", "''") & "'" ユーザーが入力する一重引用符はすべて二重一重引用符に置き換えられます。これにより、ユーザーは文字列を終了できなくなります。そのため、セミコロンやパーセント記号など、ユーザーが入力する可能性のある他のすべてはすべて文字列の一部となり、コマンドの一部として実際には実行されません。 私たちはMicrosoft SQL Server 2000を使用しています。これは、単一引用符が唯一の文字列区切り文字であり、文字列区切り文字をエスケープする唯一の方法であると私は考えているため、ユーザーが入力するものを実行する方法はありません。 これに対してSQLインジェクション攻撃を仕掛ける方法は見当たらないが、もしこれが私のように弾丸であるとすれば、他の誰かがすでにそれを考えていて、それが一般的な慣行になるだろう。 このコードの何が問題になっていますか?このサニタイズ手法を超えてSQLインジェクション攻撃を取得する方法はありますか?この手法を利用するユーザー入力のサンプルは非常に役立ちます。 更新: このコードに対してSQLインジェクション攻撃を効果的に開始する方法はまだわかりません。一部の人々は、バックスラッシュが1つの単一引用符をエスケープし、もう1つを残して文字列を終了し、残りの文字列がSQLコマンドの一部として実行されるようにすることを提案しました。 MySQLデータベースですが、SQL Server 2000では、単一引用符をエスケープする唯一の方法(私が見つけたもの)は、別の単一引用符を使用することです。バックスラッシュはそれをしません。 また、単一引用符のエスケープを停止する方法がない限り、ユーザー入力の残りの部分はすべて1つの連続した文字列と見なされるため、実行されません。 入力をサニタイズするより良い方法があることを理解していますが、上記で提供した方法が機能しない理由を学ぶことに本当に興味があります。このサニタイズ方法に対するSQLインジェクション攻撃を実装する特定の方法を誰かが知っている場合は、ぜひご覧ください。

1
なぜGitは暗号化ハッシュ関数を使用するのですか?
なぜGit は、より高速な非暗号化ハッシュ関数ではなく、暗号化ハッシュ関数であるSHA-1を使用するのですか? 関連する質問: Stack Overflowの質問Gitがバージョン番号としてSHA-1を使用するのはなぜですか?コミットに連番ではなくGitがSHA-1を使用する理由を尋ねます。
139 git  hash-function 

8
物理ファイルからのMySQLデータベースの復元
物理データベースファイルからMySQLデータベースを復元することは可能ですか?次のファイルタイプのディレクトリがあります。 client.frm client.MYD client.MYI しかし、約20のテーブルが追加されます。 私は通常、mysqldumpまたは同様のツールを使用してすべてを1つのSQLファイルに取得するので、これらのタイプのファイルを処理する方法は何ですか?
139 mysql  backup  restore 

9
Chrome開発ツール:JavaScriptの[VM]ファイル
JavaScriptファイル(jaydata.js)にブレークポイントを追加し、「次の関数呼び出しにステップオーバーする」を押していました。それが次のような行になったとき: }, 「[VM](8312)」というタイトルの別のファイルがポップアップしました。「次の関数呼び出しにステップオーバー」をクリックし続けたところ、画面は次のようになりました。 「[VM](XXXX)」というこれらの奇妙で神秘的なスクリプトは何ですか、またどこから来たのですか?

7
リリースモードの.NETアセンブリのスタックトレースに行番号を表示する
リリースモードでビルド/デプロイされた.NETアセンブリのスタックトレースに行を表示する方法はありますか? 更新: 私のアプリケーションは、3つのクラスライブラリプロジェクトと1つのASP.NET "website"プロジェクトに分かれています。私が追跡しようとしているエラーは、3つのクラスライブラリプロジェクトの1つです。「オブジェクト参照がオブジェクトのインスタンスに設定されていません」エラーを生成しているクラスライブラリプロジェクトのpdbファイルのみをデプロイしました。 行番号はまだスタックトレースに表示されません。スタックトレースの行番号を取得するには、すべてのプロジェクトのpdbファイルをデプロイする必要がありますか? 実用的なソリューション アプリケーションごとにpdbファイルをデプロイすると、行番号の問題が修正されました。

2
RxJS:オブザーバブルを「手動で」どのように更新しますか?
私は心の中でこれがオブザーバブルの最も基本的なケースになるはずなので、私は何かを根本的に誤解しているに違いないと思いますが、私の人生では、ドキュメントからそれを行う方法を理解できません。 基本的に、私はこれを行うことができるようにしたいです: // create a dummy observable, which I would update manually var eventObservable = rx.Observable.create(function(observer){}); var observer = eventObservable.subscribe( function(x){ console.log('next: ' + x); } ... var my_function = function(){ eventObservable.push('foo'); //'push' adds an event to the datastream, the observer gets it and prints // next: foo } しかし、私はのような方法を見つけることができませんでしたpush。私はこれをクリックハンドラーに使用していますが、それらはそれを持っObservable.fromEventていることを知っていますが、Reactで使用しようとしていますが、完全に異なるものを使用するのではなく、コールバックでデータストリームを更新するだけで済みますイベント処理システム。だから基本的にこれが欲しい: …

8
要素がページに追加されたときにどのように通知されますか?
DOM要素がページに追加されたときに実行するように選択した機能が必要です。これはブラウザ拡張機能のコンテキストにあるため、ウェブページは私とは関係なく実行され、ソースを変更することはできません。ここに私のオプションは何ですか? 理論setInterval()的には、要素の存在を継続的に検索し、要素が存在する場合にアクションを実行するために使用できるだけだと思いますが、より良いアプローチが必要です。

2
CMake:単体テストを含むプロジェクト構造
プロダクションソース(srcサブフォルダー内)とテスト(サブフォルダー内)を含めるようにプロジェクトを構成しようとしていtestます。これを構築するためにCMakeを使用しています。最小限の例として、以下のファイルを用意しています。 CMakeLists.txt: cmake_minimum_required (VERSION 2.8) project (TEST) add_subdirectory (src) add_subdirectory (test) src / CMakeLists.txt: add_executable (demo main.cpp sqr.cpp) src / sqr.h #ifndef SQR_H #define SQR_H double sqr(double); #endif // SQR_H src / sqr.cpp #include "sqr.h" double sqr(double x) { return x*x; } src / main.cpp-sqrを使用しますが、問題にはなりません test / CMakeLists.txt: find_package(Boost COMPONENTS …

9
MD5はまだファイルを一意に識別するのに十分ですか?
MD5アルゴリズムの破壊やセキュリティの問題などを考慮すると、MD5ハッシュはファイルを一意に識別するのに十分な方法と見なされていますか?ここでのセキュリティは私の主な関心事ではありませんが、各ファイルを一意に識別することが重要です。 何かご意見は?
139 hash  md5 

7
ビジュアル入力を使用してDiablo 2を再生するように人工ニューラルネットワークをトレーニングする方法
私は現在、ANNにビデオゲームをプレイしてもらうことを目指しています。ここのすばらしいコミュニティから助けを借りたいと思っていました。 私はディアブロ2に落ち着きました。したがって、ゲームのプレイはリアルタイムで、アイソメトリックの観点から、プレーヤーはカメラの中心にある1つのアバターを制御します。 物事を具体的にするために、タスクは、ヘルスを0に落とさずにキャラクターx経験値を取得することです。この場合、経験値はモンスターを倒すことによって獲得されます。これはゲームプレイの例です: 今、私はネットを画面上のピクセルから取得した情報のみに基づいて動作させたいので、効率的に再生するためには非常に豊かな表現を学習する必要があります。ゲームの世界をオブジェクトに分割し、それらと対話する方法。 そして、これらすべての情報はどういうわけかネットに教えられなければなりません。私の人生では、これをどのように訓練するかを考えることはできません。私の唯一のアイデアは、画面からゲームの本質的に良い/悪いもの(健康、ゴールド、経験など)を視覚的に抽出し、その統計を強化学習手順で使用する別のプログラムを用意することです。それは答えの一部になると思いますが、それで十分だとは思いません。生の視覚的入力から目標指向の動作までの抽象化のレベルが多すぎて、私の生涯でネットを訓練するにはそのような限られたフィードバックがありません。 だから、私の質問:このタスクの少なくとも一部を実行するようにネットをトレーニングするには、他にどのような方法が考えられますか?何千ものラベル付けされた例を作成せずに。 もう少し方向付けをします。この設定で有用な情報を抽出するために、強化学習の他のソースや、監視されていない方法を探しています。または、手動でラベル付けする必要なしに、ゲームの世界からラベル付けされたデータを取得する方法を考えることができる場合は、監視付きアルゴリズム。 更新(12/04/27): 不思議なことに、私はまだこれに取り組んでおり、進歩しているようです。ANNコントローラを機能させる最大の秘訣は、タスクに適した最新のANNアーキテクチャを使用することです。したがって、時間差の逆伝播(つまり、標準の強化学習)で微調整する前に、教師なしで(ゲームをプレイしているビデオで)訓練した因数分解された制限付きボルツマンマシンで構成される深い信念ネットを使用してきましたフィードフォワードANN)。 ただし、特にリアルタイムでのアクション選択の問題と、ANN処理用にカラー画像をエンコードする方法について、さらに価値のある入力を探しています:-) 更新(10/21/15): 私がこの質問を過去にしたことを思い出しただけで、これはもうおかしな考えではないことを述べておかなければならないと思いました。前回の更新以降、DeepMindは、ニューラルネットワークで視覚入力からAtariゲームをプレイできるようにするためのネイチャーペーパーを公開しました。確かに、私が彼らのアーキテクチャを使用してDiablo 2の限られたサブセットをプレイするのを妨げている唯一のことは、基礎となるゲームエンジンへのアクセスの欠如です。画面にレンダリングしてからネットワークにリダイレクトするのは、適度な時間でトレーニングするには遅すぎるだけです。したがって、おそらくこのようなボットがディアブロ2をプレイするのはすぐにはわかりませんが、それは、オープンソースまたはレンダリングターゲットへのAPIアクセスで何かをプレイするためです。(おそらく地震?)

4
Github:プライベートリポジトリへの読み取り専用アクセス
私はGithubでいくつかのプライベートプロジェクトを開発しています。githubから最新バージョンを取得するために、毎晩展開ジョブにcronjobを追加したいと思います。私は現在、すべてのデプロイメントサーバーでキーペアを生成し、公開キーをgithubプロジェクトに「デプロイメントキー」として追加することでこれを行っています。 ただし、最近、これらのデプロイメントキーには実際にプロジェクトへの書き込みアクセス権があることがわかりました。したがって、すべてのサーバー管理者が編集を開始する可能性があります。さらに、すべての展開キーを1つのリポジトリにのみ追加できますが、複数のリポジトリを1つの同じ展開サーバーに展開できるようにしたいと考えています。 Github上の選択したユーザーにプライベートリポジトリの読み取り専用アクセスを提供する方法はありますか?

11
要件<package>を満たすバージョンが見つかりませんでした
次のrequirements.txtファイルを使用して、Ubuntu 12.04にいくつかのPythonパッケージをインストールしています。 numpy&gt;=1.8.2,&lt;2.0.0 matplotlib&gt;=1.3.1,&lt;2.0.0 scipy&gt;=0.14.0,&lt;1.0.0 astroML&gt;=0.2,&lt;1.0 scikit-learn&gt;=0.14.1,&lt;1.0.0 rpy2&gt;=2.4.3,&lt;3.0.0 そしてこれら二つのコマンド: $ pip install --download=/tmp -r requirements.txt $ pip install --user --no-index --find-links=/tmp -r requirements.txt (1つ目はパッケージをダウンロードし、2つ目はパッケージをインストールします)。 プロセスは頻繁にエラーで停止します: Could not find a version that satisfies the requirement &lt;package&gt; (from matplotlib&lt;2.0.0,&gt;=1.3.1-&gt;-r requirements.txt (line 2)) (from versions: ) No matching distribution found for &lt;package&gt; (from …

7
divを下から上に重ねる
高さを固定divしてにdivを追加すると、子divは上から下に表示され、上部の境界に固定されます。 ┌─────────────────────────┐ │ Child Div 1 │ │ Child Div 2 │ │ │ │ │ │ │ └─────────────────────────┘ 私は今、このように下から上に表示しようとしています(下の境界にくっついています): ┌─────────────────────────┐ │ │ │ │ │ │ │ Child Div 1 │ │ Child Div 2 │ └─────────────────────────┘ ┌─────────────────────────┐ │ │ │ │ │ Child Div 1 │ │ Child …


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.