タグ付けされた質問 「javascript」

JavaScript(Javaと混同しないでください)は、クライアント側とサーバー側の両方のスクリプトで使用される、高レベルで動的なマルチパラダイムの弱く型付けされた言語です。ECMAScript、JavaScript、JScriptなどの一般的な実装に関する質問には、このタグを使用します。JSは通常、そのECMA従兄弟であるActionScriptを参照しません。

1
PHPとJavascriptを使用して広告システムのクリック詐欺を防止
PHP、MySQL、Javascriptを使用して広告プロジェクトを構築したいと思います。私のようなものについて話している... グーグルアドセンス BuySellAds.com その他の広告プラットフォーム 私の質問は、主に、システムをだます人や私が遭遇する可能性のあるその他の問題を防止するために何に注意する必要があるのですか? 私のデザインコンセプト。広告はデータベース内のレコードであり、ページが読み込まれると、JavaScriptを使用してサーバーを呼び出し、サーバーはPHPスクリプトを使用してデータベースにクエリを実行し、ランダムな広告を取得します。(人口統計やその他の基準に基づいて広告を取得するようなコレを行う場合もあります)PHPスクリプトは、それを呼び出しているサーバー/ウェブサイトに広告を返し、特別なトラッキングを行う画像としてページに表示します。リンク。 私はする必要があります... すべてのインプレッションをカウントする(広告がページに表示されている場合) 広告リンクのすべてのクリックをカウントする 広告リンクのすべてのユニーククリックをカウントする 私の質問は、純粋に広告のクエリと表示にあり、管理側とは何の関係もありません。Adspaceの広告スペースの購入/販売にかかわるお金がある場合、統計は正確であり、人々がシステムを簡単にだまさないようにする必要があります。クリック詐欺を防止する唯一の方法は、IPアドレスの追跡だけですか? 経験のある誰かが私が正しい軌道に乗っていることを明確にしてくれることを望んでいますか?同様に、このようなことをすることについて知っておくべきアドバイス、ヒント、または何か他のものを私に与えますか?
10 php  javascript 

4
JavaScriptマルチスレッド
まあ最近JavaScriptはすべてのWeb開発テクノロジーのメインプレーヤーです。クライアント側では、ユーザーインターフェイスを改善するために、クライアント側のロジックで、一部のWebサーバーではサーバー側のロジックとしても使用されます これに加えて、人々(少なくとも一部の人々)の事実が、Webゲーム開発をフラッシュからJavaScriptおよびHTML5に移行し始めました マルチスレッドをサポートする時ではありませんか?JavaScriptをマルチスレッド化できるブラウザはありますか、それとも標準、HTML5、または将来のバージョンにありますか?

3
プロトタイプ方式のポイントは何ですか?
私はJavascript:The Good Partsを読んでおり、プロトタイプに関するセクションを理解するのに苦労しました。 少しグーグルで調べたところ、オブジェクト宣言の後にオブジェクトにプロパティを追加するという結論に達しました。 w3schoolsからきらめくこのスクリプトを使用して、プロトタイププロパティを追加する行を削除しても効果がないことに気付きました。だからポイントは何ですか? //Prototyping function employee(name,jobtitle,born) { this.name=name; this.jobtitle=jobtitle; this.born=born; } var fred=new employee("Fred Flintstone","Caveman",1970); employee.prototype.salary=null; // <--- try removing this line fred.salary=20000; document.write(fred.salary);

6
パフォーマンスに深刻な影響を与える一般的なJavascriptの間違い?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 私が参加した最近のUI / UX MeetUpで、対話とUIにJavascript(jQuery)を使用するWebサイトにいくつかのフィードバックを与えました。これはかなり単純なアニメーションと操作でしたが、まともなコンピューターでのパフォーマンスはすごかったです。 実際、同じ問題で見た多くのサイトやプログラムを思い出しました。特定のアクションはパフォーマンスを完全に破壊します。これは、JavascriptがFlashの代替としてほとんど機能している(または、少なくとももっと目立つ)状況にあります。これは、はるかに多くのJavascriptと機能を備えているものの、非常にスムーズに実行する、私が使用した一部のWebアプリケーションとはまったく対照的です(IBMのCOGNOSは頭の中で考えられるものです)。 サイトのパフォーマンスを低下させるJSを開発する際に考慮されない一般的な問題をいくつか知りたいです。

4
従来のポーリング方法よりも優れた方法
私は現在、AngularJS / JavaScript環境にいます。 現在、ポーリング方式を使用しているアプリケーション(つまり、一定の秒数でサーバーから新しいデータを取得する)。 これはかなりの負担であり、最新の結果をすぐに取得することはできません。サーバーがWebサービス機能にASMXを使用していると仮定します。可能であれば、大幅なオーバーホールを行わずに、アプリケーションの効率を向上させるにはどうすればよいですか? 編集1: 課税とは、サーバーがさまざまなSQLテーブルと関連データなどを取得する必要があることを意味します。つまり、多数の同時ユーザーがいる場合、将来サーバーのパフォーマンスに問題が発生する可能性があるのではないかと心配しています。 現在、アプリケーションは要求/応答httpsタイプの呼び出しを使用しているため、最新のデータは取得されません。 モバイルアプリケーション側でさらに改善できますが、サーバー側ではサーバーのWebサービスファイルを除いて多くを変更することはできません。

2
機能的なJavaScriptコードをどのように_read_できますか?
JavaScriptでの関数型プログラミングの基礎となる基本概念のいくつか/多く/ほとんどを学んだと思います。ただし、私は関数コード、特に自分で作成したコードを明確に読み取ることができず、誰かが役立つヒント、ヒント、ベストプラクティス、用語などを教えてくれるかどうか疑問に思っています。 以下のコードを見てください。私はこのコードを書きました。これは、say {a:1, b:2, c:3, d:3}との間の2つのオブジェクト間のパーセント類似性を割り当てることを目的としてい{a:1, b:1, e:2, f:2, g:3, h:5}ます。Stack Overflowでこの質問に答えてコードを作成しました。ポスターがどの程度の類似性について尋ねているのか正確にはわからなかったため、4つの異なる種類を用意しました。 2番目にある1番目のオブジェクトのキーの割合、 重複を含む、2番目にある1番目のオブジェクトの値のパーセント 重複が許可されていない、2番目に見つかった1番目のオブジェクトの値の割合、および 2番目のオブジェクトにある1番目のオブジェクトの{key:value}ペアの割合。 私は合理的に命令型のコードから始めましたが、これは関数型プログラミングに適した問題であることをすぐに理解しました。特に、私が比較しようとしている機能のタイプ(例えば、キーや値など)を定義する上記の4つの戦略のそれぞれについて関数または3つを抽出できれば、残りのコードを繰り返し可能な単位に減らす(言葉の遊びを許す)ことができます。あなたはそれを乾いた状態に保ちます。そこで関数型プログラミングに切り替えました。結果にはかなり誇りに思っており、それは適度にエレガントだと思います。 ただし、コードを自分で作成し、構築中にコードのすべての部分を理解したとしても、今振り返ると、特定の半行の読み方と読み方の両方に少し戸惑い続けています。コードの特定の半行が実際に行っていることを「グロッ」と言います。私は、すぐにスパゲッティの混乱に分解するさまざまな部分を接続するために精神的な矢を作ることに気づきました。 だから、誰かが私に、コードのより複雑なビットのいくつかを、簡潔で、私が読んでいるものの私の理解に貢献する方法で「読む」方法を教えてもらえますか?私を最も引き付ける部分は、複数の太い矢印が連続している部分、および/または複数の括弧が連続している部分だと思います。繰り返しになりますが、最終的にはロジックを理解することができますが、関数型JavaScriptプログラミングの行をすばやく明確かつ直接「取り込む」ためのより良い方法があります(私はそう思います)。 以下のコード行、または他の例を自由に使用してください。ただし、私からの最初の提案が必要な場合は、以下にいくつか示します。かなりシンプルなものから始めます。コードの終わり近くから、これがパラメーターとして関数に渡されますobj => key => obj[key]。それをどのように読んで理解しますか?より長い例は、最初から近い1つの完全な関数ですconst getXs = (obj, getX) => Object.keys(obj).map(key => getX(obj)(key));。最後のmap部分は特に私を捕まえます。 ノート、この時点で時間に私はしてくださいないなどハスケルやシンボリック抽象記法やカリー化の基礎への参照を探している私は何をしています探しているコードの行を見ながら、私は口を静かにできることを、英語の文章です。具体的にそれについて具体的に言及している参考文献があればすばらしいですが、私はいくつかの基本的な教科書を読みに行くべきだと言う答えも探していません。私はそれを実行し、私は(少なくともかなりの量の)ロジックを取得しました。また、私は完全な答えは必要ありません(そのような試みは歓迎されますが)。そうでなければ面倒なコードの単一の特定の行を読むためのエレガントな方法を提供する短い答えでさえいただければ幸いです。 この質問の一部は次のとおりだと思います:関数コードを左から右へ、上から下へ直線的に読み取ることはできますか?それとも、明らかに線形ではないコードのページにスパゲッティのような配線の精神的な画像を作成することを強いられていますか?それを行う必要がある場合でも、コードを読み取る必要があるので、線形テキストを取得してスパゲッティを配線するにはどうすればよいでしょうか。 任意のヒントをいただければ幸いです。 const obj1 = { a:1, b:2, c:3, d:3 }; const obj2 = { a:1, b:1, …

3
別の関数から値を取得する関数は純粋と見なされますか?
副作用のない関数を作成するときにデフォルトの変数値を処理する方法を理解しようとしていますが、次のようになっています。 function getDefaultSeparator() { return ':'; } function process(input, separator) { var separator = separator || getDefaultSeparator(); // Use separator in some logic return output; } デフォルトのセパレーターは他の関数で使用され、1つの場所でのみ定義したいと思います。 これが純粋な関数である場合、代わりにグローバルDEFAULT_SEPARATOR定数を使用することとの違いは何ですか?

1
Javascriptでの巻き上げ===コンパイル?
最近の就職の面接で面白い視点に出会いました。 JavaScriptでのホイストとは、変数宣言と関数宣言をスクリプトの先頭に移動することです。このフェーズをコンパイルと呼ぶことができますか? Javascriptインタープリターには入力スクリプトに対する2つのパスがあり、最初のパスではホイストし、2番目のパスでは実際にスクリプトを実行するという事実を知っています。JavaScriptがインタプリタ言語であることを知っていたので、この質問は私を少し混乱させました。

3
クロスランゲージテスト駆動開発
短い質問:複数の言語にまたがるプロジェクトでテスト駆動開発をどのようにフォローしますか? 具体的には、JavaScriptとPHPを使用するWebアプリケーションを作成していて、TDDの原則に従いたいのですが、それらを統合する方法がわかりません。JSセクションとPHPセクションで別々のテストスイートを実行し、JSスイートのモックを使用してサーバーの応答をエミュレートしますか?1回の実行で両方のコンポーネントを単体テストする手法はありますか? これは、テスト駆動開発を使用した私の最初の経験なので、困難を少なくする方法について共有できるアドバイスがあればすばらしいでしょう。私がそれを選んだ理由は、プロトタイプが完成するとすぐに要件が変更され、設計を変更せざるを得なくなったためです。最初からやり直すのであれば、最初から組み込みの回帰テストを使ってより拡張可能なコードを書きたいと思っていました。 PHPテストはSimpleTestで、JavaScriptテストはJsTestDriverで作成しています。私はオブジェクト指向のパラダイムに慣れているので、PHPにはいくつかのクラスがあり、JavaScriptではプロトタイプ継承を使用して同様のことをしています。また、PythonでのTDDに関するこの本とJavaScriptでのTDD に関するこの本も読み始めましたが、これらすべては、Seleniumや別のWebドライバーなどを使用する以外のアプリケーションの完全なテストについては説明していません。フロントエンドの受け入れテストを実行するためにTDDはフルスタックの開発者のために切り取られていないだけですか?

2
登録時にパスワードを自動生成するのは良い考えですか?
現在取り組んでいるプロジェクトの登録システムを開発しています。 プロセスが長すぎる場合、ユーザーはサインアップしない傾向があるため、私は(少なくとも最初は)電子メールのみを必要とすると考えました。ここで、自動生成されたパスワードを送信します(これにより、電子メールアドレスを確認することもできます) )。また、登録を迅速に完了するために、弱いパスワードを選択することもできなくなります。 今までのところ、マイナス面は発見されていませんが、このシステムを使用しているサイトを見たことがないので、残念な点がいくつかあります。 それは良い考えですか? PS:もちろんFacebookや他の同様のサービスを介してサインアップも実装し、人々がパスワードを必要とせずにすばやくサインアップできるようにしますが、多くの人は、プライバシーの懸念から、またはそうでないために、クラシックサインアップを選択したいと思うかもしれません。それらのサービスのいずれかを使用します。

2
Phaserなどのステートフルフレームワークのユニットテスト
TL; DRステートフルなフレームワーク内で作業する場合、自動化された単体テストを簡略化するための手法を特定するのに役立ちます。 バックグラウンド: TypeScriptとPhaserフレームワークでゲームを書いています。Phaserは、コードの構造をできるだけ制限しないHTML5ゲームフレームワークとしての地位を占めています。これにはいくつかのトレードオフが伴います。つまり、キャッシュ、物理、ゲームの状態など、すべてにアクセスできるGod-object Phaser.Gameが存在します。 このステートフル性は、私のタイルマップなどの多くの機能をテストすることを本当に困難にします。例を見てみましょう: ここでは、タイルレイヤーを正しくテストして、タイルマップ内の壁と生き物を識別できるかどうかをテストしています。 export class TilemapTest extends tsUnit.TestClass { constructor() { super(); this.map = this.mapLoader.load("maze", this.manifest, this.mazeMapDefinition); this.parameterizeUnitTest(this.isWall, [ [{ x: 0, y: 0 }, true], [{ x: 1, y: 1 }, false], [{ x: 1, y: 0 }, true], [{ x: 0, y: 1 }, …

2
JavaScriptのヘルパー関数に推奨されるアプローチは何ですか?
ヘルパー関数の推奨アプローチは何ですか?1つの手法を選択し、それを実行して新しい「クラス」を作成します。 ここに私が考えたデザインオプションがあります: オプション1:外部スコープのヘルパー関数、インスタンスのコンテキストで呼び出す function createPane (pane) { // logic to create pane var proto = Object.create(this.paneList); $.extend(paneProto, pane); return paneProto; } Panes.prototype.initialize = function (panes) { var _this = this; _.each(panes, function () { _this.panes.push(createPane.call(_this, this)); }); } 長所:単純な構文。createPaneインスタンスで公開されていません。 短所: createPane他のスコープでアクセスできます。 オプション2:クロージャー内のヘルパー関数、インスタンスのコンテキストで呼び出す Panes.prototype.initialize = (function () { function createPane (pane) …

2
JavaScript MVCアプリケーションの設計(キャンバス)
JavascriptのアプローチのようなMVCを使用してキャンバスアプリケーションを構造化/構築する方法を理解するのが困難です。UIはかなり流動的でアニメーション化され、ゲームはかなり単純化されていますが、トゥイーンとアニメーションに重点が置かれています。MVCがどのように機能するかは原則的にわかりますが、実際には機能しません。私はこれからバガリーをグーグルで検索し、ひどいことを読んだので、始めたときと同じように混乱しています。 アプリケーション領域に関するいくつかの詳細: マルチスクリーンゲームフレームワーク-複数のゲームがこのフレームワーク内に配置されます。一般的なUI「スクリーン」には、設定、情報、難易度の選択、メインメニューなどがあります。 複数のインプットメソッド 一部の画面のトップメニューバーなどの一般的なUI要素 異なるレンダリング方法を使用する可能性(キャンバス/ DOM / webGL) 現時点では、AppModel、AppController、AppViewがあります。ここから、各「画面」を追加してAppViewにアタッチすることを計画していました。しかし、トップメニューバーのようなものはどうですか、それらは別のMVCトライアドである必要がありますか?コンポーネントを密結合せずにどこにどのように取り付けますか? 1つのMVCトライアドを別のトライアド内に配置することは受け入れられている慣行ですか?つまり、各「画面」をAppViewに追加できますか?「トライアド」はMVC用語としても受け入れられますか?! 私の心は選択肢の下で溶けています...私はここで基本的な何かを見逃しているように感じます。私はMVCアプローチを使用せずにすでに稼働しているソリューションを持っていますが、結局、密結合されたスープ-ロジックとビューを組み合わせて、現在組み合わせています。アイデアは、それを開いて、ビューを簡単に変更できるようにすることでした(たとえば、キャンバスビューをDOMベースのビューと交換するため)。 現在使用されているライブラリ:require.js、createJS、アンダースコア、GSAP、手動のMVC実装 特に物事の実際のデザイン、および「スクリーン」を適切なM、V、またはCに分割することに関して、ポインタ、例などをいただければ幸いです。 ...またはMVC以外のより適切な方法 [NB、他に2つの誤ったstackexchangeコミュニティで質問したことがある前にこの質問を見た場合...私の脳が機能しなくなった]

3
HTML5とJSアプリがネイティブアプリと同じように機能しないのはなぜですか。
私が理解していることから、 HTMLはマークアップ言語であり、XAML、XIB、Androidが使用するもの、およびその他のネイティブUI開発フレームワークのコンテンツも同様です。 JavaScriptは、イベント処理、クライアント側の検証などのさまざまなフレームワークでC#、Java、Objective-C、またはC ++が行うことを含むクライアント側スクリプトを処理するためにJavaScriptと一緒に使用されるプログラミング言語です。 SenchaやAngularなどのフォームフレームワークで利用可能なMVC / MVVMパターンがあります。 他のフレームワークと同様に、sqliteとキー値ストアの両方の形式のlocalStorageがあり、不足しているほとんどすべてのAPI仕様があります。 ネイティブUIフレームワークがUIをレンダリングする必要がある場合は常に、同様のマークアップを解析してUIをレンダリングする必要があります。 質問の内訳 HTMLとJS自体で同じことをやめるのは何ですか? Webコントロールまたはブラウザーをレイヤーとして使用する代わりに、HTML(CSSと共に)とJSを同じように実行できないのはなぜですか? レイヤーがある場合でも、。++ランタイムとJVMは、C ++、Cが使用されていない他の場合にそうです。 それでは、DalvikのようなAndroidの場合を考えてみてください。なぜ、Chromiumが(dalvikとNDKと共に)別のオプションではないのですか? だから問題は、 現在の実装はそれほど良くない場合でも、理論的には、HTML5ベースのアプリケーションを他のモバイル用のネイティブアプリと同じように機能させることは可能ですか?

2
Arrayの「すべて」または「一部」の副作用は悪いですか?
私は常に、if状態に副作用があることは悪いことだと教えられてきました。つまり、 if (conditionThenHandle()) { // do effectively nothing } ... とは対照的に; if (condition()) { handle(); } ...そして、私はそれを理解しています。私はそれをしなかったので私の同僚は幸せです、そして私たちはすべて金曜日の17:00に家に帰り、誰もが楽しい週末を過ごします。 今、ECMAScript5はto every()やsome()to Arrayなどのメソッドを導入しており、非常に便利だと思います。彼らよりもしているクリーナーfor (;;;)のは、あなたに別のスコープを与え、そして変数によって要素にアクセスできるようにします。 入力を検証するときにしかし、私は自分自身を使用して、より頻繁に--より-ない見つけるevery/をsome使用し、その後、入力を検証する条件にevery/ some 再使用可能なモデルへの入力を変換するために、体内で。 if (input.every(function (that) { return typeof that === "number"; })) { input.every(function (that) { // Model.findById(that); etc } } else { return; } ...私がやりたいことは、 if (!input.every(function …

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